]> git.proxmox.com Git - rustc.git/blame - vendor/winapi/src/um/d3d10shader.rs
New upstream version 1.41.1+dfsg1
[rustc.git] / vendor / winapi / src / um / d3d10shader.rs
CommitLineData
ff7c6d11
XL
1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms
6use shared::minwindef::{BYTE, LPVOID, UINT};
7use um::d3d10::{D3D10_PRIMITIVE_TOPOLOGY, D3D10_SRV_DIMENSION};
8use um::d3dcommon::{
9 D3D_CBUFFER_TYPE, D3D_INCLUDE_TYPE, D3D_NAME, D3D_REGISTER_COMPONENT_TYPE,
10 D3D_RESOURCE_RETURN_TYPE, D3D_SHADER_CBUFFER_FLAGS, D3D_SHADER_INPUT_FLAGS,
11 D3D_SHADER_INPUT_TYPE, D3D_SHADER_MACRO, D3D_SHADER_VARIABLE_CLASS, D3D_SHADER_VARIABLE_FLAGS,
12 D3D_SHADER_VARIABLE_TYPE, ID3DInclude,
13};
14use um::unknwnbase::{IUnknown, IUnknownVtbl};
15use um::winnt::{HRESULT, LPCSTR};
16pub const D3D10_SHADER_DEBUG: UINT = 1 << 0;
17pub const D3D10_SHADER_SKIP_VALIDATION: UINT = 1 << 1;
18pub const D3D10_SHADER_SKIP_OPTIMIZATION: UINT = 1 << 2;
19pub const D3D10_SHADER_PACK_MATRIX_ROW_MAJOR: UINT = 1 << 3;
20pub const D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR: UINT = 1 << 4;
21pub const D3D10_SHADER_PARTIAL_PRECISION: UINT = 1 << 5;
22pub const D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT: UINT = 1 << 6;
23pub const D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT: UINT = 1 << 7;
24pub const D3D10_SHADER_NO_PRESHADER: UINT = 1 << 8;
25pub const D3D10_SHADER_AVOID_FLOW_CONTROL: UINT = 1 << 9;
26pub const D3D10_SHADER_PREFER_FLOW_CONTROL: UINT = 1 << 10;
27pub const D3D10_SHADER_ENABLE_STRICTNESS: UINT = 1 << 11;
28pub const D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY: UINT = 1 << 12;
29pub const D3D10_SHADER_IEEE_STRICTNESS: UINT = 1 << 13;
30pub const D3D10_SHADER_WARNINGS_ARE_ERRORS: UINT = 1 << 18;
31pub const D3D10_SHADER_RESOURCES_MAY_ALIAS: UINT = 1 << 19;
32pub const D3D10_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES: UINT = 1 << 20;
33pub const D3D10_ALL_RESOURCES_BOUND: UINT = 1 << 21;
34pub const D3D10_SHADER_OPTIMIZATION_LEVEL0: UINT = 1 << 14;
35pub const D3D10_SHADER_OPTIMIZATION_LEVEL1: UINT = 0;
36pub const D3D10_SHADER_OPTIMIZATION_LEVEL2: UINT = (1 << 14) | (1 << 15);
37pub const D3D10_SHADER_OPTIMIZATION_LEVEL3: UINT = 1 << 15;
38pub const D3D10_SHADER_FLAGS2_FORCE_ROOT_SIGNATURE_LATEST: UINT = 0;
39pub const D3D10_SHADER_FLAGS2_FORCE_ROOT_SIGNATURE_1_0: UINT = 1 << 4;
40pub const D3D10_SHADER_FLAGS2_FORCE_ROOT_SIGNATURE_1_1: UINT = 1 << 5;
41pub type D3D10_SHADER_MACRO = D3D_SHADER_MACRO;
42pub type LPD3D10_SHADER_MACRO = *mut D3D10_SHADER_MACRO;
43pub type D3D10_SHADER_VARIABLE_CLASS = D3D_SHADER_VARIABLE_CLASS;
44pub type LPD3D10_SHADER_VARIABLE_CLASS = *mut D3D10_SHADER_VARIABLE_CLASS;
45pub type D3D10_SHADER_VARIABLE_FLAGS = D3D_SHADER_VARIABLE_FLAGS;
46pub type LPD3D10_SHADER_VARIABLE_FLAGS = *mut D3D10_SHADER_VARIABLE_FLAGS;
47pub type D3D10_SHADER_VARIABLE_TYPE = D3D_SHADER_VARIABLE_TYPE;
48pub type LPD3D10_SHADER_VARIABLE_TYPE = *mut D3D10_SHADER_VARIABLE_TYPE;
49pub type D3D10_SHADER_INPUT_FLAGS = D3D_SHADER_INPUT_FLAGS;
50pub type LPD3D10_SHADER_INPUT_FLAGS = *mut D3D10_SHADER_INPUT_FLAGS;
51pub type D3D10_SHADER_INPUT_TYPE = D3D_SHADER_INPUT_TYPE;
52pub type LPD3D10_SHADER_INPUT_TYPE = *mut D3D10_SHADER_INPUT_TYPE;
53pub type D3D10_SHADER_CBUFFER_FLAGS = D3D_SHADER_CBUFFER_FLAGS;
54pub type LPD3D10_SHADER_CBUFFER_FLAGS = *mut D3D10_SHADER_CBUFFER_FLAGS;
55pub type D3D10_CBUFFER_TYPE = D3D_CBUFFER_TYPE;
56pub type LPD3D10_CBUFFER_TYPE = *mut D3D10_CBUFFER_TYPE;
57pub type D3D10_NAME = D3D_NAME;
58pub type D3D10_RESOURCE_RETURN_TYPE = D3D_RESOURCE_RETURN_TYPE;
59pub type D3D10_REGISTER_COMPONENT_TYPE = D3D_REGISTER_COMPONENT_TYPE;
60pub type D3D10_INCLUDE_TYPE = D3D_INCLUDE_TYPE;
61pub type ID3D10Include = ID3DInclude;
62pub type LPD3D10INCLUDE = *mut ID3DInclude;
63// const IID_ID3D10Include: IID = IID_ID3DInclude;
64STRUCT!{struct D3D10_SHADER_DESC {
65 Version: UINT,
66 Creator: LPCSTR,
67 Flags: UINT,
68 ConstantBuffers: UINT,
69 BoundResources: UINT,
70 InputParameters: UINT,
71 OutputParameters: UINT,
72 InstructionCount: UINT,
73 TempRegisterCount: UINT,
74 TempArrayCount: UINT,
75 DefCount: UINT,
76 DclCount: UINT,
77 TextureNormalInstructions: UINT,
78 TextureLoadInstructions: UINT,
79 TextureCompInstructions: UINT,
80 TextureBiasInstructions: UINT,
81 TextureGradientInstructions: UINT,
82 FloatInstructionCount: UINT,
83 IntInstructionCount: UINT,
84 UintInstructionCount: UINT,
85 StaticFlowControlCount: UINT,
86 DynamicFlowControlCount: UINT,
87 MacroInstructionCount: UINT,
88 ArrayInstructionCount: UINT,
89 CutInstructionCount: UINT,
90 EmitInstructionCount: UINT,
91 GSOutputTopology: D3D10_PRIMITIVE_TOPOLOGY,
92 GSMaxOutputVertexCount: UINT,
93}}
94STRUCT!{struct D3D10_SHADER_BUFFER_DESC {
95 Name: LPCSTR,
96 Type: D3D10_CBUFFER_TYPE,
97 Variables: UINT,
98 Size: UINT,
99 uFlags: UINT,
100}}
101STRUCT!{struct D3D10_SHADER_VARIABLE_DESC {
102 Name: LPCSTR,
103 StartOffset: UINT,
104 Size: UINT,
105 uFlags: UINT,
106 DefaultValue: LPVOID,
107}}
108STRUCT!{struct D3D10_SHADER_TYPE_DESC {
109 Class: D3D10_SHADER_VARIABLE_CLASS,
110 Type: D3D10_SHADER_VARIABLE_TYPE,
111 Rows: UINT,
112 Columns: UINT,
113 Elements: UINT,
114 Members: UINT,
115 Offset: UINT,
116}}
117STRUCT!{struct D3D10_SHADER_INPUT_BIND_DESC {
118 Name: LPCSTR,
119 Type: D3D10_SHADER_INPUT_TYPE,
120 BindPoint: UINT,
121 BindCount: UINT,
122 uFlags: UINT,
123 ReturnType: D3D10_RESOURCE_RETURN_TYPE,
124 Dimension: D3D10_SRV_DIMENSION,
125 NumSamples: UINT,
126}}
127STRUCT!{struct D3D10_SIGNATURE_PARAMETER_DESC {
128 SemanticName: LPCSTR,
129 SemanticIndex: UINT,
130 Register: UINT,
131 SystemValueType: D3D10_NAME,
132 ComponentType: D3D10_REGISTER_COMPONENT_TYPE,
133 Mask: BYTE,
134 ReadWriteMask: BYTE,
135}}
136pub type LPD3D10SHADERREFLECTIONTYPE = *mut ID3D10ShaderReflectionType;
137DEFINE_GUID!{IID_ID3D10ShaderReflectionType,
138 0xc530ad7d, 0x9b16, 0x4395, 0xa9, 0x79, 0xba, 0x2e, 0xcf, 0xf8, 0x3a, 0xdd}
139RIDL!{#[uuid(0xc530ad7d, 0x9b16, 0x4395, 0xa9, 0x79, 0xba, 0x2e, 0xcf, 0xf8, 0x3a, 0xdd)]
140interface ID3D10ShaderReflectionType(ID3D10ShaderReflectionTypeVtbl) {
141 fn GetDesc(
142 pDesc: *mut D3D10_SHADER_TYPE_DESC,
143 ) -> HRESULT,
144 fn GetMemberTypeByIndex(
145 Index: UINT,
146 ) -> *mut ID3D10ShaderReflectionType,
147 fn GetMemberTypeByName(
148 Name: LPCSTR,
149 ) -> *mut ID3D10ShaderReflectionType,
150 fn GetMemberTypeName(
151 Index: UINT,
152 ) -> LPCSTR,
153}}
154pub type LPD3D10SHADERREFLECTIONVARIABLE = *mut ID3D10ShaderReflectionVariable;
155DEFINE_GUID!{IID_ID3D10ShaderReflectionVariable,
156 0x1bf63c95, 0x2650, 0x405d, 0x99, 0xc1, 0x36, 0x36, 0xbd, 0x1d, 0xa0, 0xa1}
157RIDL!{#[uuid(0x1bf63c95, 0x2650, 0x405d, 0x99, 0xc1, 0x36, 0x36, 0xbd, 0x1d, 0xa0, 0xa1)]
158interface ID3D10ShaderReflectionVariable(ID3D10ShaderReflectionVariableVtbl) {
159 fn GetDesc(
160 pDesc: *mut D3D10_SHADER_VARIABLE_DESC,
161 ) -> HRESULT,
162 fn GetType() -> *mut ID3D10ShaderReflectionType,
163}}
164pub type LPD3D10SHADERREFLECTIONCONSTANTBUFFER = *mut ID3D10ShaderReflectionConstantBuffer;
165DEFINE_GUID!{IID_ID3D10ShaderReflectionConstantBuffer,
166 0x66c66a94, 0xdddd, 0x4b62, 0xa6, 0x6a, 0xf0, 0xda, 0x33, 0xc2, 0xb4, 0xd0}
167RIDL!{#[uuid(0x66c66a94, 0xdddd, 0x4b62, 0xa6, 0x6a, 0xf0, 0xda, 0x33, 0xc2, 0xb4, 0xd0)]
168interface ID3D10ShaderReflectionConstantBuffer(ID3D10ShaderReflectionConstantBufferVtbl) {
169 fn GetDesc(
170 pDesc: *mut D3D10_SHADER_BUFFER_DESC,
171 ) -> HRESULT,
172 fn GetVariableByIndex(
173 Index: UINT,
174 ) -> *mut ID3D10ShaderReflectionVariable,
175 fn GetVariableByName(
176 Name: LPCSTR,
177 ) -> *mut ID3D10ShaderReflectionVariable,
178}}
179pub type LPD3D10SHADERREFLECTION = *mut ID3D10ShaderReflection;
180DEFINE_GUID!{IID_ID3D10ShaderReflection,
181 0xd40e20b6, 0xf8f7, 0x42ad, 0xab, 0x20, 0x4b, 0xaf, 0x8f, 0x15, 0xdf, 0xaa}
182RIDL!{#[uuid(0xd40e20b6, 0xf8f7, 0x42ad, 0xab, 0x20, 0x4b, 0xaf, 0x8f, 0x15, 0xdf, 0xaa)]
183interface ID3D10ShaderReflection(ID3D10ShaderReflectionVtbl): IUnknown(IUnknownVtbl) {
184 fn GetDesc(
185 pDesc: *mut D3D10_SHADER_DESC,
186 ) -> HRESULT,
187 fn GetConstantBufferByIndex(
188 Index: UINT,
189 ) -> *mut ID3D10ShaderReflectionConstantBuffer,
190 fn GetConstantBufferByName(
191 Name: LPCSTR,
192 ) -> *mut ID3D10ShaderReflectionConstantBuffer,
193 fn GetResourceBindingDesc(
194 ResourceIndex: UINT,
195 pDesc: *mut D3D10_SHADER_INPUT_BIND_DESC,
196 ) -> HRESULT,
197 fn GetInputParameterDesc(
198 ParameterIndex: UINT,
199 pDesc: *mut D3D10_SIGNATURE_PARAMETER_DESC,
200 ) -> HRESULT,
201 fn GetOutputParameterDesc(
202 ParameterIndex: UINT,
203 pDesc: *mut D3D10_SIGNATURE_PARAMETER_DESC,
204 ) -> HRESULT,
205}}
206// TODO Some functions