1 /*
2 * Copyright 2007 Andras Kovacs
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 import "oaidl.idl";
20 import "ocidl.idl";
21 import "dxgi.idl";
22
23 cpp_quote("#ifndef _D3D10_CONSTANTS")
24 cpp_quote("#define _D3D10_CONSTANTS")
25 const float D3D10_DEFAULT_BLEND_FACTOR_ALPHA = 1.0;
26 const float D3D10_DEFAULT_BLEND_FACTOR_BLUE = 1.0;
27 const float D3D10_DEFAULT_BLEND_FACTOR_GREEN = 1.0;
28 const float D3D10_DEFAULT_BLEND_FACTOR_RED = 1.0;
29 const float D3D10_DEFAULT_BORDER_COLOR_COMPONENT = 0.0;
30 const float D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0;
31 const float D3D10_DEFAULT_DEPTH_BIAS_CLAMP = 0.0;
32 const float D3D10_DEFAULT_MAX_ANISOTROPY = 16.0;
33 const float D3D10_DEFAULT_MIP_LOD_BIAS = 0.0;
34 const float D3D10_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0;
35 const float D3D10_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0;
36 const float D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6;
37 const float D3D10_FLOAT32_MAX = 3.402823466e+38;
38 const float D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6;
39 const float D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4;
40 const float D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0;
41 const float D3D10_FLOAT_TO_SRGB_OFFSET = 0.055;
42 const float D3D10_FLOAT_TO_SRGB_SCALE_1 = 12.92;
43 const float D3D10_FLOAT_TO_SRGB_SCALE_2 = 1.055;
44 const float D3D10_FLOAT_TO_SRGB_THRESHOLD = 0.0031308;
45 const float D3D10_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999;
46 const float D3D10_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999;
47 const float D3D10_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999;
48 const float D3D10_FTOU_INSTRUCTION_MIN_INPUT = 0.0;
49 const float D3D10_LINEAR_GAMMA = 1.0;
50 const float D3D10_MAX_BORDER_COLOR_COMPONENT = 1.0;
51 const float D3D10_MAX_DEPTH = 1.0;
52 const float D3D10_MAX_POSITION_VALUE = 3.402823466e+34;
53 const float D3D10_MIN_BORDER_COLOR_COMPONENT = 0.0;
54 const float D3D10_MIN_DEPTH = 0.0;
55 const float D3D10_MIP_LOD_BIAS_MAX = 15.99;
56 const float D3D10_MIP_LOD_BIAS_MIN = -16.0;
57 const float D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5;
58 const float D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4;
59 const float D3D10_SRGB_GAMMA = 2.2;
60 const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92;
61 const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055;
62 const float D3D10_SRGB_TO_FLOAT_EXPONENT = 2.4;
63 const float D3D10_SRGB_TO_FLOAT_OFFSET = 0.055;
64 const float D3D10_SRGB_TO_FLOAT_THRESHOLD = 0.04045;
65 const float D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5;
66 const float D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0;
67 const float D3D_SPEC_VERSION = 1.050005;
68 const unsigned int D3D10_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff;
69 const unsigned int D3D10_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff;
70 const unsigned int D3D10_8BIT_INDEX_STRIP_CUT_VALUE = 0xff;
71 const unsigned int D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9;
72 const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_COUNT = 8;
73 const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2;
74 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
75 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
76 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
77 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15;
78 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
79 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
80 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
81 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
82 const unsigned int D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64;
83 const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
84 const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1;
85 const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
86 const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
87 const unsigned int D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32;
88 const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1;
89 const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128;
90 const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1;
91 const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1;
92 const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128;
93 const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1;
94 const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16;
95 const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1;
96 const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1;
97 const unsigned int D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT = 16;
98 const unsigned int D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32;
99 const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4;
100 const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32;
101 const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COUNT = 4096;
102 const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3;
103 const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3;
104 const unsigned int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10;
105 const int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10;
106 const int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8;
107 const unsigned int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7;
108 const unsigned int D3D10_DEFAULT_DEPTH_BIAS = 0;
109 const unsigned int D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
110 const unsigned int D3D10_DEFAULT_SAMPLE_MASK = 0xffffffff;
111 const unsigned int D3D10_DEFAULT_SCISSOR_ENDX = 0;
112 const unsigned int D3D10_DEFAULT_SCISSOR_ENDY = 0;
113 const unsigned int D3D10_DEFAULT_SCISSOR_STARTX = 0;
114 const unsigned int D3D10_DEFAULT_SCISSOR_STARTY = 0;
115 const unsigned int D3D10_DEFAULT_STENCIL_READ_MASK = 0xff;
116 const unsigned int D3D10_DEFAULT_STENCIL_REFERENCE = 0;
117 const unsigned int D3D10_DEFAULT_STENCIL_WRITE_MASK = 0xff;
118 const unsigned int D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
119 const unsigned int D3D10_DEFAULT_VIEWPORT_HEIGHT = 0;
120 const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTX = 0;
121 const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTY = 0;
122 const unsigned int D3D10_DEFAULT_VIEWPORT_WIDTH = 0;
123 const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1;
124 const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32;
125 const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1;
126 const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2;
127 const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1;
128 const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENTS = 4;
129 const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT =32;
130 const unsigned int D3D10_GS_INPUT_REGISTER_COUNT = 16;
131 const unsigned int D3D10_GS_INPUT_REGISTER_READS_PER_INST = 2;
132 const unsigned int D3D10_GS_INPUT_REGISTER_READ_PORTS = 1;
133 const unsigned int D3D10_GS_INPUT_REGISTER_VERTICES = 6;
134 const unsigned int D3D10_GS_OUTPUT_ELEMENTS = 32;
135 const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENTS = 4;
136 const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
137 const unsigned int D3D10_GS_OUTPUT_REGISTER_COUNT = 32;
138 const unsigned int D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0;
139 const unsigned int D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0;
140 const unsigned int D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0;
141 const unsigned int D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1;
142 const unsigned int D3D10_IA_INSTANCE_ID_BIT_COUNT = 32;
143 const unsigned int D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32;
144 const unsigned int D3D10_IA_PRIMITIVE_ID_BIT_COUNT = 32;
145 const unsigned int D3D10_IA_VERTEX_ID_BIT_COUNT = 32;
146 const unsigned int D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 16;
147 const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 64;
148 const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 16;
149 const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff;
150 const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff;
151 const unsigned int D3D10_MAX_MAXANISOTROPY = 16;
152 const unsigned int D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
153 const unsigned int D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17;
154 const unsigned int D3D10_MIN_MAXANISOTROPY = 0;
155 const unsigned int D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT = 6;
156 const unsigned int D3D10_MIP_LOD_RANGE_BIT_COUNT = 8;
157 const unsigned int D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0;
158 const unsigned int D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT = 13;
159 const unsigned int D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15;
160 const unsigned int D3D10_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff;
161 const unsigned int D3D10_PS_FRONTFACING_FALSE_VALUE = 0;
162 const unsigned int D3D10_PS_FRONTFACING_TRUE_VALUE = 0xffffffff;
163 const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENTS = 4;
164 const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
165 const unsigned int D3D10_PS_INPUT_REGISTER_COUNT = 32;
166 const unsigned int D3D10_PS_INPUT_REGISTER_READS_PER_INST = 2;
167 const unsigned int D3D10_PS_INPUT_REGISTER_READ_PORTS = 1;
168 const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1;
169 const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32;
170 const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1;
171 const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENTS = 4;
172 const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
173 const unsigned int D3D10_PS_OUTPUT_REGISTER_COUNT = 8;
174 const unsigned int D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT = 4096;
175 const unsigned int D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27;
176 const unsigned int D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
177 const unsigned int D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT = 4096;
178 const unsigned int D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32;
179 const unsigned int D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32;
180 const unsigned int D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 8192;
181 const unsigned int D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024;
182 const unsigned int D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
183 const unsigned int D3D10_REQ_MAXANISOTROPY = 16;
184 const unsigned int D3D10_REQ_MIP_LEVELS = 14;
185 const unsigned int D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048;
186 const unsigned int D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT = 4096;
187 const unsigned int D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 8192;
188 const unsigned int D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES = 128;
189 const unsigned int D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP = 20;
190 const unsigned int D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT = 4096;
191 const unsigned int D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 512;
192 const unsigned int D3D10_REQ_TEXTURE1D_U_DIMENSION = 8192;
193 const unsigned int D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 512;
194 const unsigned int D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION = 8192;
195 const unsigned int D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048;
196 const unsigned int D3D10_REQ_TEXTURECUBE_DIMENSION = 8192;
197 const unsigned int D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
198 const unsigned int D3D10_SHADER_MAJOR_VERSION = 4;
199 const unsigned int D3D10_SHADER_MINOR_VERSION = 0;
200 const unsigned int D3D10_SHIFT_INSTRUCTION_PAD_VALUE = 0;
201 const unsigned int D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5;
202 const unsigned int D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
203 const unsigned int D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
204 const unsigned int D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256;
205 const unsigned int D3D10_SO_BUFFER_SLOT_COUNT = 4;
206 const unsigned int D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff;
207 const unsigned int D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1;
208 const unsigned int D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64;
209 const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT = 32;
210 const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64;
211 const unsigned int D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4;
212 const unsigned int D3D10_STANDARD_PIXEL_COMPONENT_COUNT = 128;
213 const unsigned int D3D10_STANDARD_PIXEL_ELEMENT_COUNT = 32;
214 const unsigned int D3D10_STANDARD_VECTOR_SIZE = 4;
215 const unsigned int D3D10_STANDARD_VERTEX_ELEMENT_COUNT = 16;
216 const unsigned int D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64;
217 const unsigned int D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8;
218 const unsigned int D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT = 6;
219 const unsigned int D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT = 18;
220 const unsigned int D3D10_UNBOUND_MEMORY_ACCESS_RESULT = 0;
221 const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
222 const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
223 const unsigned int D3D10_VIEWPORT_BOUNDS_MAX = 16383;
224 const int D3D10_VIEWPORT_BOUNDS_MIN = -16384;
225 const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENTS = 4;
226 const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
227 const unsigned int D3D10_VS_INPUT_REGISTER_COUNT = 16;
228 const unsigned int D3D10_VS_INPUT_REGISTER_READS_PER_INST = 2;
229 const unsigned int D3D10_VS_INPUT_REGISTER_READ_PORTS = 1;
230 const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENTS = 4;
231 const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
232 const unsigned int D3D10_VS_OUTPUT_REGISTER_COUNT = 16;
233 const unsigned int D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10;
234 const unsigned int D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25;
235 const unsigned int D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25;
236 const unsigned int D3D_MAJOR_VERSION = 10;
237 const unsigned int D3D_MINOR_VERSION = 0;
238 const unsigned int D3D_SPEC_DATE_DAY = 8;
239 const unsigned int D3D_SPEC_DATE_MONTH = 8;
240 const unsigned int D3D_SPEC_DATE_YEAR = 2006;
241 cpp_quote("#endif")
242
243 const unsigned int D3D10_APPEND_ALIGNED_ELEMENT = 0xffffffff;
244 const unsigned int _FACD3D10 = 0x87;
245 const unsigned int _FACD3D10DEBUG = _FACD3D10 + 1;
246 const unsigned int D3D10_FILTER_TYPE_MASK = 0x3;
247 const unsigned int D3D10_SDK_VERSION = 29;
248
249 cpp_quote("#define MAKE_D3D10_HRESULT(code) MAKE_HRESULT( 1, _FACD3D10, code)")
250 cpp_quote("#define MAKE_D3D10_STATUS(code) MAKE_HRESULT( 0, _FACD3D10, code)")
251 cpp_quote("#define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D10_HRESULT(1)")
252 cpp_quote("#define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)")
253
254 typedef enum D3D10_BLEND {
255 D3D10_BLEND_ZERO = 1,
256 D3D10_BLEND_ONE = 2,
257 D3D10_BLEND_SRC_COLOR = 3,
258 D3D10_BLEND_INV_SRC_COLOR = 4,
259 D3D10_BLEND_SRC_ALPHA = 5,
260 D3D10_BLEND_INV_SRC_ALPHA = 6,
261 D3D10_BLEND_DEST_ALPHA = 7,
262 D3D10_BLEND_INV_DEST_ALPHA = 8,
263 D3D10_BLEND_DEST_COLOR = 9,
264 D3D10_BLEND_INV_DEST_COLOR = 10,
265 D3D10_BLEND_SRC_ALPHA_SAT = 11,
266 D3D10_BLEND_BLEND_FACTOR = 14,
267 D3D10_BLEND_INV_BLEND_FACTOR = 15,
268 D3D10_BLEND_SRC1_COLOR = 16,
269 D3D10_BLEND_INV_SRC1_COLOR = 17,
270 D3D10_BLEND_SRC1_ALPHA = 18,
271 D3D10_BLEND_INV_SRC1_ALPHA = 19
272 } D3D10_BLEND;
273
274 typedef enum D3D10_BLEND_OP {
275 D3D10_BLEND_OP_ADD = 1,
276 D3D10_BLEND_OP_SUBTRACT,
277 D3D10_BLEND_OP_REV_SUBTRACT,
278 D3D10_BLEND_OP_MIN,
279 D3D10_BLEND_OP_MAX,
280 } D3D10_BLEND_OP;
281
282 typedef struct D3D10_BLEND_DESC {
283 BOOL AlphaToCoverageEnable;
284 BOOL BlendEnable[8];
285 D3D10_BLEND SrcBlend;
286 D3D10_BLEND DestBlend;
287 D3D10_BLEND_OP BlendOp;
288 D3D10_BLEND SrcBlendAlpha;
289 D3D10_BLEND DestBlendAlpha;
290 D3D10_BLEND_OP BlendOpAlpha;
291 UINT8 RenderTargetWriteMask[8];
292 } D3D10_BLEND_DESC;
293
294 typedef enum D3D10_DEPTH_WRITE_MASK {
295 D3D10_DEPTH_WRITE_MASK_ZERO,
296 D3D10_DEPTH_WRITE_MASK_ALL,
297 } D3D10_DEPTH_WRITE_MASK;
298
299 typedef enum D3D10_COMPARISON_FUNC {
300 D3D10_COMPARISON_NEVER = 1,
301 D3D10_COMPARISON_LESS,
302 D3D10_COMPARISON_EQUAL,
303 D3D10_COMPARISON_LESS_EQUAL,
304 D3D10_COMPARISON_GREATER,
305 D3D10_COMPARISON_NOT_EQUAL,
306 D3D10_COMPARISON_GREATER_EQUAL,
307 D3D10_COMPARISON_ALWAYS,
308 } D3D10_COMPARISON_FUNC;
309
310 typedef enum D3D10_STENCIL_OP {
311 D3D10_STENCIL_OP_KEEP = 1,
312 D3D10_STENCIL_OP_ZERO,
313 D3D10_STENCIL_OP_REPLACE,
314 D3D10_STENCIL_OP_INCR_SAT,
315 D3D10_STENCIL_OP_DECR_SAT,
316 D3D10_STENCIL_OP_INVERT,
317 D3D10_STENCIL_OP_INCR,
318 D3D10_STENCIL_OP_DECR,
319 } D3D10_STENCIL_OP;
320
321 typedef struct D3D10_DEPTH_STENCILOP_DESC {
322 D3D10_STENCIL_OP StencilFailOp;
323 D3D10_STENCIL_OP StencilDepthFailOp;
324 D3D10_STENCIL_OP StencilPassOp;
325 D3D10_COMPARISON_FUNC StencilFunc;
326 } D3D10_DEPTH_STENCILOP_DESC;
327
328 typedef struct D3D10_DEPTH_STENCIL_DESC {
329 BOOL DepthEnable;
330 D3D10_DEPTH_WRITE_MASK DepthWriteMask;
331 D3D10_COMPARISON_FUNC DepthFunc;
332 BOOL StencilEnable;
333 UINT8 StencilReadMask;
334 UINT8 StencilWriteMask;
335 D3D10_DEPTH_STENCILOP_DESC FrontFace;
336 D3D10_DEPTH_STENCILOP_DESC BackFace;
337 } D3D10_DEPTH_STENCIL_DESC;
338
339 typedef enum D3D10_FILL_MODE {
340 D3D10_FILL_WIREFRAME = 2,
341 D3D10_FILL_SOLID,
342 } D3D10_FILL_MODE;
343
344 typedef enum D3D10_CULL_MODE {
345 D3D10_CULL_NONE = 1,
346 D3D10_CULL_FRONT,
347 D3D10_CULL_BACK,
348 } D3D10_CULL_MODE;
349
350 typedef struct D3D10_RASTERIZER_DESC {
351 D3D10_FILL_MODE FillMode;
352 D3D10_CULL_MODE CullMode;
353 BOOL FrontCounterClockwise;
354 INT DepthBias;
355 FLOAT DepthBiasClamp;
356 FLOAT SlopeScaledDepthBias;
357 BOOL DepthClipEnable;
358 BOOL ScissorEnable;
359 BOOL MultisampleEnable;
360 BOOL AntialiasedLineEnable;
361 } D3D10_RASTERIZER_DESC;
362
363 typedef enum D3D10_FILTER {
364 D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
365 D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
366 D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
367 D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
368 D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
369 D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
370 D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
371 D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
372 D3D10_FILTER_ANISOTROPIC = 0x55,
373 D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
374 D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
375 D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
376 D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
377 D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
378 D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
379 D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
380 D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
381 D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
382 D3D10_FILTER_TEXT_1BIT = 0x80000000
383 } D3D10_FILTER;
384
385 typedef enum D3D10_TEXTURE_ADDRESS_MODE {
386 D3D10_TEXTURE_ADDRESS_WRAP = 1,
387 D3D10_TEXTURE_ADDRESS_MIRROR,
388 D3D10_TEXTURE_ADDRESS_CLAMP,
389 D3D10_TEXTURE_ADDRESS_BORDER,
390 D3D10_TEXTURE_ADDRESS_MIRROR_ONCE,
391 } D3D10_TEXTURE_ADDRESS_MODE;
392
393 typedef struct D3D10_SAMPLER_DESC {
394 D3D10_FILTER Filter;
395 D3D10_TEXTURE_ADDRESS_MODE AddressU;
396 D3D10_TEXTURE_ADDRESS_MODE AddressV;
397 D3D10_TEXTURE_ADDRESS_MODE AddressW;
398 FLOAT MipLODBias;
399 UINT MaxAnisotropy;
400 D3D10_COMPARISON_FUNC ComparisonFunc;
401 FLOAT BorderColor[4];
402 FLOAT MinLOD;
403 FLOAT MaxLOD;
404 } D3D10_SAMPLER_DESC;
405
406 typedef enum D3D10_COUNTER {
407 D3D10_COUNTER_GPU_IDLE,
408 D3D10_COUNTER_VERTEX_PROCESSING,
409 D3D10_COUNTER_GEOMETRY_PROCESSING,
410 D3D10_COUNTER_PIXEL_PROCESSING,
411 D3D10_COUNTER_OTHER_GPU_PROCESSING,
412 D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION,
413 D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION,
414 D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION,
415 D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION,
416 D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION,
417 D3D10_COUNTER_VS_MEMORY_LIMITED,
418 D3D10_COUNTER_VS_COMPUTATION_LIMITED,
419 D3D10_COUNTER_GS_MEMORY_LIMITED,
420 D3D10_COUNTER_GS_COMPUTATION_LIMITED,
421 D3D10_COUNTER_PS_MEMORY_LIMITED,
422 D3D10_COUNTER_PS_COMPUTATION_LIMITED,
423 D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE,
424 D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE,
425 D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
426 } D3D10_COUNTER;
427
428 typedef struct D3D10_COUNTER_DESC {
429 D3D10_COUNTER Counter;
430 UINT MiscFlags;
431 } D3D10_COUNTER_DESC;
432
433 typedef enum D3D10_COUNTER_TYPE {
434 D3D10_COUNTER_TYPE_FLOAT32,
435 D3D10_COUNTER_TYPE_UINT16,
436 D3D10_COUNTER_TYPE_UINT32,
437 D3D10_COUNTER_TYPE_UINT64,
438 } D3D10_COUNTER_TYPE;
439
440 typedef struct D3D10_COUNTER_INFO {
441 D3D10_COUNTER LastDeviceDependentCounter;
442 UINT NumSimultaneousCounters;
443 UINT8 NumDetectableParallelUnits;
444 } D3D10_COUNTER_INFO;
445
446 typedef enum D3D10_RESOURCE_DIMENSION {
447 D3D10_RESOURCE_DIMENSION_UNKNOWN,
448 D3D10_RESOURCE_DIMENSION_BUFFER,
449 D3D10_RESOURCE_DIMENSION_TEXTURE1D,
450 D3D10_RESOURCE_DIMENSION_TEXTURE2D,
451 D3D10_RESOURCE_DIMENSION_TEXTURE3D,
452 } D3D10_RESOURCE_DIMENSION;
453
454 typedef enum D3D10_USAGE {
455 D3D10_USAGE_DEFAULT,
456 D3D10_USAGE_IMMUTABLE,
457 D3D10_USAGE_DYNAMIC,
458 D3D10_USAGE_STAGING,
459 } D3D10_USAGE;
460
461 typedef struct D3D10_BUFFER_DESC {
462 UINT ByteWidth;
463 D3D10_USAGE Usage;
464 UINT BindFlags;
465 UINT CPUAccessFlags;
466 UINT MiscFlags;
467 } D3D10_BUFFER_DESC;
468
469 typedef enum D3D10_MAP {
470 D3D10_MAP_READ = 1,
471 D3D10_MAP_WRITE,
472 D3D10_MAP_READ_WRITE,
473 D3D10_MAP_WRITE_DISCARD,
474 D3D10_MAP_WRITE_NO_OVERWRITE,
475 } D3D10_MAP;
476
477 typedef struct D3D10_TEXTURE1D_DESC {
478 UINT Width;
479 UINT MipLevels;
480 UINT ArraySize;
481 DXGI_FORMAT Format;
482 D3D10_USAGE Usage;
483 UINT BindFlags;
484 UINT CPUAccessFlags;
485 UINT MiscFlags;
486 } D3D10_TEXTURE1D_DESC;
487
488 typedef struct D3D10_TEXTURE2D_DESC {
489 UINT Width;
490 UINT Height;
491 UINT MipLevels;
492 UINT ArraySize;
493 DXGI_FORMAT Format;
494 DXGI_SAMPLE_DESC SampleDesc;
495 D3D10_USAGE Usage;
496 UINT BindFlags;
497 UINT CPUAccessFlags;
498 UINT MiscFlags;
499 } D3D10_TEXTURE2D_DESC;
500
501 typedef struct D3D10_TEXTURE3D_DESC {
502 UINT Width;
503 UINT Height;
504 UINT Depth;
505 UINT MipLevels;
506 DXGI_FORMAT Format;
507 D3D10_USAGE Usage;
508 UINT BindFlags;
509 UINT CPUAccessFlags;
510 UINT MiscFlags;
511 } D3D10_TEXTURE3D_DESC;
512
513 typedef enum D3D10_DSV_DIMENSION
514 {
515 D3D10_DSV_DIMENSION_UNKNOWN,
516 D3D10_DSV_DIMENSION_TEXTURE1D,
517 D3D10_DSV_DIMENSION_TEXTURE1DARRAY,
518 D3D10_DSV_DIMENSION_TEXTURE2D,
519 D3D10_DSV_DIMENSION_TEXTURE2DARRAY,
520 D3D10_DSV_DIMENSION_TEXTURE2DMS,
521 D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY,
522 } D3D10_DSV_DIMENSION;
523
524 typedef struct D3D10_TEX1D_DSV {
525 UINT MipSlice;
526 } D3D10_TEX1D_DSV;
527
528 typedef struct D3D10_TEX1D_ARRAY_DSV {
529 UINT MipSlice;
530 UINT FirstArraySlice;
531 UINT ArraySize;
532 } D3D10_TEX1D_ARRAY_DSV;
533
534 typedef struct D3D10_TEX2D_DSV {
535 UINT MipSlice;
536 } D3D10_TEX2D_DSV;
537
538 typedef struct D3D10_TEX2D_ARRAY_DSV {
539 UINT MipSlice;
540 UINT FirstArraySlice;
541 UINT ArraySize;
542 } D3D10_TEX2D_ARRAY_DSV;
543
544 typedef struct D3D10_TEX2DMS_DSV {
545 UINT UnusedField_NothingToDefine;
546 } D3D10_TEX2DMS_DSV;
547
548 typedef struct D3D10_TEX2DMS_ARRAY_DSV {
549 UINT FirstArraySlice;
550 UINT ArraySize;
551 } D3D10_TEX2DMS_ARRAY_DSV;
552
553 typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
554 DXGI_FORMAT Format;
555 D3D10_DSV_DIMENSION ViewDimension;
556 union {
557 D3D10_TEX1D_DSV Texture1D;
558 D3D10_TEX1D_ARRAY_DSV Texture1DArray;
559 D3D10_TEX2D_DSV Texture2D;
560 D3D10_TEX2D_ARRAY_DSV Texture2DArray;
561 D3D10_TEX2DMS_DSV Texture2DMS;
562 D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
563 };
564 } D3D10_DEPTH_STENCIL_VIEW_DESC;
565
566 typedef enum D3D10_RTV_DIMENSION {
567 D3D10_RTV_DIMENSION_UNKNOWN,
568 D3D10_RTV_DIMENSION_BUFFER,
569 D3D10_RTV_DIMENSION_TEXTURE1D,
570 D3D10_RTV_DIMENSION_TEXTURE1DARRAY,
571 D3D10_RTV_DIMENSION_TEXTURE2D,
572 D3D10_RTV_DIMENSION_TEXTURE2DARRAY,
573 D3D10_RTV_DIMENSION_TEXTURE2DMS,
574 D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY,
575 D3D10_RTV_DIMENSION_TEXTURE3D,
576 } D3D10_RTV_DIMENSION;
577
578 typedef struct D3D10_BUFFER_RTV {
579 UINT ElementOffset;
580 UINT ElementWidth;
581 } D3D10_BUFFER_RTV;
582
583 typedef struct D3D10_TEX1D_RTV {
584 UINT MipSlice;
585 } D3D10_TEX1D_RTV;
586
587 typedef struct D3D10_TEX1D_ARRAY_RTV {
588 UINT MipSlice;
589 UINT FirstArraySlice;
590 UINT ArraySize;
591 } D3D10_TEX1D_ARRAY_RTV;
592
593 typedef struct D3D10_TEX2D_RTV {
594 UINT MipSlice;
595 } D3D10_TEX2D_RTV;
596
597 typedef struct D3D10_TEX2D_ARRAY_RTV {
598 UINT MipSlice;
599 UINT FirstArraySlice;
600 UINT ArraySize;
601 } D3D10_TEX2D_ARRAY_RTV;
602
603 typedef struct D3D10_TEX2DMS_RTV {
604 UINT UnusedField_NothingToDefine;
605 } D3D10_TEX2DMS_RTV;
606
607 typedef struct D3D10_TEX2DMS_ARRAY_RTV {
608 UINT FirstArraySlice;
609 UINT ArraySize;
610 } D3D10_TEX2DMS_ARRAY_RTV;
611
612 typedef struct D3D10_TEX3D_RTV {
613 UINT MipSlice;
614 UINT FirstWSlice;
615 UINT WSize;
616 } D3D10_TEX3D_RTV;
617
618 typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
619 DXGI_FORMAT Format;
620 D3D10_RTV_DIMENSION ViewDimension;
621 union {
622 D3D10_BUFFER_RTV Buffer;
623 D3D10_TEX1D_RTV Texture1D;
624 D3D10_TEX1D_ARRAY_RTV Texture1DArray;
625 D3D10_TEX2D_RTV Texture2D;
626 D3D10_TEX2D_ARRAY_RTV Texture2DArray;
627 D3D10_TEX2DMS_RTV Texture2DMS;
628 D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
629 D3D10_TEX3D_RTV Texture3D;
630 };
631 } D3D10_RENDER_TARGET_VIEW_DESC;
632
633 typedef enum D3D10_SRV_DIMENSION {
634 D3D10_SRV_DIMENSION_UNKNOWN,
635 D3D10_SRV_DIMENSION_BUFFER,
636 D3D10_SRV_DIMENSION_TEXTURE1D,
637 D3D10_SRV_DIMENSION_TEXTURE1DARRAY,
638 D3D10_SRV_DIMENSION_TEXTURE2D,
639 D3D10_SRV_DIMENSION_TEXTURE2DARRAY,
640 D3D10_SRV_DIMENSION_TEXTURE2DMS,
641 D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY,
642 D3D10_SRV_DIMENSION_TEXTURE3D,
643 D3D10_SRV_DIMENSION_TEXTURECUBE,
644 } D3D10_SRV_DIMENSION;
645
646 typedef struct D3D10_BUFFER_SRV {
647 UINT ElementOffset;
648 UINT ElementWidth;
649 } D3D10_BUFFER_SRV;
650
651 typedef struct D3D10_TEX1D_SRV {
652 UINT MostDetailedMip;
653 UINT MipLevels;
654 } D3D10_TEX1D_SRV;
655
656 typedef struct D3D10_TEX1D_ARRAY_SRV {
657 UINT MostDetailedMip;
658 UINT MipLevels;
659 UINT FirstArraySlice;
660 UINT ArraySize;
661 } D3D10_TEX1D_ARRAY_SRV;
662
663 typedef struct D3D10_TEX2D_SRV {
664 UINT MostDetailedMip;
665 UINT MipLevels;
666 } D3D10_TEX2D_SRV;
667
668 typedef struct D3D10_TEX2D_ARRAY_SRV {
669 UINT MostDetailedMip;
670 UINT MipLevels;
671 UINT FirstArraySlice;
672 UINT ArraySize;
673 } D3D10_TEX2D_ARRAY_SRV;
674
675 typedef struct D3D10_TEX2DMS_SRV {
676 UINT UnusedField_NothingToDefine;
677 } D3D10_TEX2DMS_SRV;
678
679 typedef struct D3D10_TEX2DMS_ARRAY_RTV {
680 UINT FirstArraySlice;
681 UINT ArraySize;
682 } D3D10_TEX2DMS_ARRAY_SRV;
683
684 typedef struct D3D10_TEX3D_SRV {
685 UINT MostDetailedMip;
686 UINT MipLevels;
687 } D3D10_TEX3D_SRV;
688
689 typedef struct D3D10_TEXCUBE_SRV {
690 UINT MostDetailedMip;
691 UINT MipLevels;
692 } D3D10_TEXCUBE_SRV;
693
694 typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
695 DXGI_FORMAT Format;
696 D3D10_SRV_DIMENSION ViewDimension;
697 union {
698 D3D10_BUFFER_SRV Buffer;
699 D3D10_TEX1D_SRV Texture1D;
700 D3D10_TEX1D_ARRAY_SRV Texture1DArray;
701 D3D10_TEX2D_SRV Texture2D;
702 D3D10_TEX2D_ARRAY_SRV Texture2DArray;
703 D3D10_TEX2DMS_SRV Texture2DMS;
704 D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
705 D3D10_TEX3D_SRV Texture3D;
706 D3D10_TEXCUBE_SRV TextureCube;
707 };
708 } D3D10_SHADER_RESOURCE_VIEW_DESC;
709
710 typedef struct D3D10_BOX {
711 UINT left;
712 UINT top;
713 UINT front;
714 UINT right;
715 UINT bottom;
716 UINT back;
717 } D3D10_BOX;
718
719 typedef struct D3D10_SUBRESOURCE_DATA {
720 const void *pSysMem;
721 UINT SysMemPitch;
722 UINT SysMemSlicePitch;
723 } D3D10_SUBRESOURCE_DATA;
724
725 typedef struct D3D10_SO_DECLARATION_ENTRY {
726 LPCSTR SemanticName;
727 UINT SemanticIndex;
728 BYTE StartComponent;
729 BYTE ComponentCount;
730 BYTE OutputSlot;
731 } D3D10_SO_DECLARATION_ENTRY;
732
733 typedef enum D3D10_INPUT_CLASSIFICATION {
734 D3D10_INPUT_PER_VERTEX_DATA,
735 D3D10_INPUT_PER_INSTANCE_DATA,
736 } D3D10_INPUT_CLASSIFICATION;
737
738 typedef struct D3D10_INPUT_ELEMENT_DESC {
739 LPCSTR SemanticName;
740 UINT SemanticIndex;
741 DXGI_FORMAT Format;
742 UINT InputSlot;
743 UINT AlignedByteOffset;
744 D3D10_INPUT_CLASSIFICATION InputSlotClass;
745 UINT InstanceDataStepRate;
746 } D3D10_INPUT_ELEMENT_DESC;
747
748 typedef enum D3D10_QUERY {
749 D3D10_QUERY_EVENT,
750 D3D10_QUERY_OCCLUSION,
751 D3D10_QUERY_TIMESTAMP,
752 D3D10_QUERY_TIMESTAMP_DISJOINT,
753 D3D10_QUERY_PIPELINE_STATISTICS,
754 D3D10_QUERY_OCCLUSION_PREDICATE,
755 D3D10_QUERY_SO_STATISTICS,
756 D3D10_QUERY_SO_OVERFLOW_PREDICATE,
757 } D3D10_QUERY;
758
759 typedef struct D3D10_QUERY_DESC {
760 D3D10_QUERY Query;
761 UINT MiscFlags;
762 } D3D10_QUERY_DESC;
763
764 typedef enum D3D10_PRIMITIVE_TOPOLOGY {
765 D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
766 D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
767 D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2,
768 D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
769 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
770 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
771 D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
772 D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
773 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
774 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
775 } D3D10_PRIMITIVE_TOPOLOGY;
776
777 typedef RECT D3D10_RECT;
778
779 typedef struct D3D10_VIEWPORT {
780 INT TopLeftX;
781 INT TopLeftY;
782 UINT Width;
783 UINT Height;
784 FLOAT MinDepth;
785 FLOAT MaxDepth;
786 } D3D10_VIEWPORT;
787
788 typedef struct D3D10_MAPPED_TEXTURE2D {
789 void *pData;
790 UINT RowPitch;
791 } D3D10_MAPPED_TEXTURE2D;
792
793 typedef struct D3D10_MAPPED_TEXTURE3D {
794 void *pData;
795 UINT RowPitch;
796 UINT DepthPitch;
797 } D3D10_MAPPED_TEXTURE3D;
798
799 typedef enum D3D10_BIND_FLAG {
800 D3D10_BIND_VERTEX_BUFFER = 0x1,
801 D3D10_BIND_INDEX_BUFFER = 0x2,
802 D3D10_BIND_CONSTANT_BUFFER = 0x4,
803 D3D10_BIND_SHADER_RESOURCE = 0x8,
804 D3D10_BIND_STREAM_OUTPUT = 0x10,
805 D3D10_BIND_RENDER_TARGET = 0x20,
806 D3D10_BIND_DEPTH_STENCIL = 0x40
807 } D3D10_BIND_FLAG;
808
809 typedef enum D3D10_CPU_ACCESS_FLAG {
810 D3D10_CPU_ACCESS_WRITE = 0x10000,
811 D3D10_CPU_ACCESS_READ = 0x20000
812 } D3D10_CPU_ACCESS_FLAG;
813
814 typedef enum D3D10_RESOURCE_MISC_FLAG {
815 D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x1,
816 D3D10_RESOURCE_MISC_SHARED = 0x2,
817 D3D10_RESOURCE_MISC_TEXTURECUBE = 0x4
818 } D3D10_RESOURCE_MISC_FLAG;
819
820 typedef enum D3D10_MAP_FLAG {
821 D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000,
822 } D3D10_MAP_FLAG;
823
824 typedef enum D3D10_CLEAR_FLAG {
825 D3D10_CLEAR_DEPTH = 0x1,
826 D3D10_CLEAR_STENCIL = 0x2
827 } D3D10_CLEAR_FLAG;
828
829 typedef enum D3D10_COLOR_WRITE_ENABLE {
830 D3D10_COLOR_WRITE_ENABLE_RED = 0x1,
831 D3D10_COLOR_WRITE_ENABLE_GREEN = 0x2,
832 D3D10_COLOR_WRITE_ENABLE_BLUE = 0x4,
833 D3D10_COLOR_WRITE_ENABLE_ALPHA = 0x8,
834 D3D10_COLOR_WRITE_ENABLE_ALL = (D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN |
835 D3D10_COLOR_WRITE_ENABLE_BLUE | D3D10_COLOR_WRITE_ENABLE_ALPHA)
836 } D3D10_COLOR_WRITE_ENABLE;
837
838 typedef enum D3D10_TEXTURECUBE_FACE {
839 D3D10_TEXTURECUBE_FACE_POSITIVE_X,
840 D3D10_TEXTURECUBE_FACE_NEGATIVE_X,
841 D3D10_TEXTURECUBE_FACE_POSITIVE_Y,
842 D3D10_TEXTURECUBE_FACE_NEGATIVE_Y,
843 D3D10_TEXTURECUBE_FACE_POSITIVE_Z,
844 D3D10_TEXTURECUBE_FACE_NEGATIVE_Z,
845 } D3D10_TEXTURECUBE_FACE;
846
847 typedef enum D3D10_ASYNC_GETDATA_FLAG {
848 D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1,
849 } D3D10_ASYNC_GETDATA_FLAG;
850
851 typedef enum D3D10_FILTER_TYPE {
852 D3D10_FILTER_TYPE_POINT,
853 D3D10_FILTER_TYPE_LINEAR
854 } D3D10_FILTER_TYPE;
855
856 typedef enum D3D10_QUERY_MISC_FLAG {
857 D3D10_QUERY_MISC_PREDICATEHINT = 0x1
858 } D3D10_QUERY_MISC_FLAG;
859
860 typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT {
861 UINT64 Frequency;
862 BOOL Disjoint;
863 } D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
864
865 typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS {
866 UINT64 IAVertices;
867 UINT64 IAPrimitives;
868 UINT64 VSInvocations;
869 UINT64 GSInvocations;
870 UINT64 GSPrimitives;
871 UINT64 CInvocations;
872 UINT64 CPrimitives;
873 UINT64 PSInvocations;
874 } D3D10_QUERY_DATA_PIPELINE_STATISTICS;
875
876 typedef struct D3D10_QUERY_DATA_SO_STATISTICS {
877 UINT64 NumPrimitivesWritten;
878 UINT64 PrimitivesStorageNeeded;
879 } D3D10_QUERY_DATA_SO_STATISTICS;
880
881 typedef enum D3D10_CREATE_DEVICE_FLAG {
882 D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
883 D3D10_CREATE_DEVICE_DEBUG = 0x2,
884 D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
885 D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8
886 } D3D10_CREATE_DEVICE_FLAG;
887
888 /* Core */
889
890 interface ID3D10Device;
891
892 [
893 object,
894 local,
895 uuid(9b7e4c00-342c-4106-a19f-4f2704f689f0)
896 ]
897 interface ID3D10DeviceChild : IUnknown
898 {
899 void GetDevice(
900 [out] ID3D10Device **ppDevice);
901 HRESULT GetPrivateData(
902 [in] REFGUID guid,
903 [in, out] UINT *pDataSize,
904 [out] void *pData);
905 HRESULT SetPrivateData(
906 [in] REFGUID guid,
907 [in] UINT DataSize,
908 [in] const void *pData);
909 HRESULT SetPrivateDataInterface(
910 [in] REFGUID guid,
911 [in] const IUnknown *pData);
912 }
913
914 /* Resource */
915
916 [
917 object,
918 local,
919 uuid(9b7e4c01-342c-4106-a19f-4f2704f689f0)
920 ]
921 interface ID3D10Resource : ID3D10DeviceChild
922 {
923 void GetType(
924 [out] D3D10_RESOURCE_DIMENSION *rType);
925 void SetEvictionPriority(
926 [in] UINT EvictionPriority);
927 UINT GetEvictionPriority();
928 }
929
930 [
931 object,
932 local,
933 uuid(9b7e4c02-342c-4106-a19f-4f2704f689f0)
934 ]
935 interface ID3D10Buffer : ID3D10Resource
936 {
937 HRESULT Map(
938 [in] D3D10_MAP MapType,
939 [in] UINT MapFlags,
940 [out] void **ppData);
941 void Unmap();
942 void GetDesc(
943 [out] D3D10_BUFFER_DESC *pDesc);
944 }
945
946 [
947 object,
948 local,
949 uuid(9b7e4c03-342c-4106-a19f-4f2704f689F0)
950 ]
951 interface ID3D10Texture1D : ID3D10Resource
952 {
953 HRESULT Map(
954 [in] UINT Subresource,
955 [in] D3D10_MAP MapType,
956 [in] UINT MapFlags,
957 [out] void **ppData);
958 void Unmap(
959 [in] UINT Subresource);
960 void GetDesc(
961 [out] D3D10_TEXTURE1D_DESC *pDesc);
962 }
963
964 [
965 object,
966 local,
967 uuid(9b7e4c04-342c-4106-a19f-4f2704f689F0)
968 ]
969 interface ID3D10Texture2D : ID3D10Resource
970 {
971 HRESULT Map(
972 [in] UINT Subresource,
973 [in] D3D10_MAP MapType,
974 [in] UINT MapFlags,
975 [out] D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
976 void Unmap(
977 [in] UINT Subresource);
978 void GetDesc(
979 [out] D3D10_TEXTURE2D_DESC *pDesc);
980 }
981
982 [
983 object,
984 local,
985 uuid(9b7e4c05-342c-4106-a19f-4f2704f689F0)
986 ]
987 interface ID3D10Texture3D : ID3D10Resource
988 {
989 HRESULT Map(
990 [in] UINT Subresource,
991 [in] D3D10_MAP MapType,
992 [in] UINT MapFlags,
993 [out] D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
994 void Unmap(
995 [in] UINT Subresource);
996 void GetDesc(
997 [out] D3D10_TEXTURE3D_DESC *pDesc);
998 }
999
1000 [
1001 object,
1002 local,
1003 uuid(c902b03f-60a7-49ba-9936-2a3ab37a7e33)
1004 ]
1005 interface ID3D10View : ID3D10DeviceChild
1006 {
1007 void GetResource(
1008 [out] ID3D10Resource **ppResource);
1009 }
1010
1011 [
1012 object,
1013 local,
1014 uuid(9b7e4c09-342c-4106-a19f-4f2704f689f0)
1015 ]
1016 interface ID3D10DepthStencilView : ID3D10View
1017 {
1018 void GetDesc(
1019 [out] D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
1020 }
1021
1022
1023 [
1024 object,
1025 local,
1026 uuid(9b7e4c08-342c-4106-a19f-4f2704f689f0)
1027 ]
1028 interface ID3D10RenderTargetView : ID3D10View
1029 {
1030 void GetDesc(
1031 [out] D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
1032 }
1033
1034 [
1035 object,
1036 local,
1037 uuid(9b7e4c07-342c-4106-a19f-4f2704f689f0)
1038 ]
1039 interface ID3D10ShaderResourceView : ID3D10View
1040 {
1041 void GetDesc(
1042 [out] D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
1043 }
1044
1045 /* Resource End */
1046
1047 [
1048 object,
1049 local,
1050 uuid(edad8d19-8a35-4d6d-8566-2ea276cde161)
1051 ]
1052 interface ID3D10BlendState : ID3D10DeviceChild
1053 {
1054 void GetDesc(
1055 [out] D3D10_BLEND_DESC *pDesc);
1056 }
1057
1058 [
1059 object,
1060 local,
1061 uuid(2b4b1cc8-a4ad-41f8-8322-ca86fc3ec675)
1062 ]
1063 interface ID3D10DepthStencilState : ID3D10DeviceChild
1064 {
1065 void GetDesc(
1066 [out] D3D10_DEPTH_STENCIL_DESC *pDesc);
1067 }
1068
1069 [
1070 object,
1071 local,
1072 uuid(6316be88-54cd-4040-ab44-20461bc81f68)
1073 ]
1074 interface ID3D10GeometryShader : ID3D10DeviceChild
1075 {
1076 }
1077
1078 [
1079 object,
1080 local,
1081 uuid(9b7e4c0b-342c-4106-a19f-4f2704f689f0)
1082 ]
1083 interface ID3D10InputLayout : ID3D10DeviceChild
1084 {
1085 }
1086
1087 [
1088 object,
1089 local,
1090 uuid(4968b601-9d00-4cde-8346-8e7f675819b6)
1091 ]
1092 interface ID3D10PixelShader : ID3D10DeviceChild
1093 {
1094 }
1095
1096 [
1097 object,
1098 local,
1099 uuid(a2a07292-89af-4345-be2e-c53d9fbb6e9f)
1100 ]
1101 interface ID3D10RasterizerState : ID3D10DeviceChild
1102 {
1103 void GetDesc(
1104 [out] D3D10_RASTERIZER_DESC *pDesc);
1105 }
1106
1107 [
1108 object,
1109 local,
1110 uuid(9b7e4c0c-342c-4106-a19f-4f2704f689f0)
1111 ]
1112 interface ID3D10SamplerState : ID3D10DeviceChild
1113 {
1114 void GetDesc(
1115 [out] D3D10_SAMPLER_DESC *pDesc);
1116 }
1117
1118 [
1119 object,
1120 local,
1121 uuid(9b7e4c0a-342c-4106-a19f-4f2704f689f0)
1122 ]
1123 interface ID3D10VertexShader : ID3D10DeviceChild
1124 {
1125 }
1126
1127 [
1128 object,
1129 local,
1130 uuid(9b7e4c0d-342c-4106-a19f-4f2704f689f0)
1131 ]
1132 interface ID3D10Asynchronous : ID3D10DeviceChild
1133 {
1134 void Begin();
1135 void End();
1136 HRESULT GetData(
1137 [out] void *pData,
1138 [in] UINT DataSize,
1139 [in] UINT GetDataFlags);
1140 UINT GetDataSize();
1141 }
1142
1143 [
1144 object,
1145 local,
1146 uuid(9b7e4c11-342c-4106-a19f-4f2704f689f0)
1147 ]
1148 interface ID3D10Counter : ID3D10Asynchronous
1149 {
1150 void GetDesc(
1151 [out] D3D10_COUNTER_DESC *pDesc);
1152 }
1153
1154 [
1155 object,
1156 local,
1157 uuid(9b7e4C0e-342C-4106-a19f-4f2704f689f0)
1158 ]
1159 interface ID3D10Query : ID3D10Asynchronous
1160 {
1161 void GetDesc(
1162 [out] D3D10_QUERY_DESC *pDesc);
1163 }
1164
1165 [
1166 object,
1167 local,
1168 uuid(9b7e4c10-342c-4106-a19f-4f2704f689f0)
1169 ]
1170 interface ID3D10Predicate : ID3D10Query
1171 {
1172 }
1173
1174 [
1175 object,
1176 local,
1177 uuid(9b7e4c0f-342c-4106-a19f-4f2704f689f0)
1178 ]
1179 interface ID3D10Device : IUnknown
1180 {
1181 void VSSetConstantBuffers(
1182 [in] UINT StartSlot,
1183 [in] UINT NumBuffers,
1184 [in] ID3D10Buffer *const *ppConstantBuffers);
1185 void PSSetShaderResources(
1186 [in] UINT StartSlot,
1187 [in] UINT NumViews,
1188 [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
1189 void PSSetShader(
1190 [in] ID3D10PixelShader *pPixelShader);
1191 void PSSetSamplers(
1192 [in] UINT StartSlot,
1193 [in] UINT NumSamplers,
1194 [in]ID3D10SamplerState *const *ppSamplers);
1195 void VSSetShader(
1196 [in] ID3D10VertexShader *pVertexShader);
1197 void DrawIndexed(
1198 [in] UINT IndexCount,
1199 [in] UINT StartIndexLocation,
1200 [in] INT BaseVertexLocation);
1201 void Draw(
1202 [in] UINT VertexCount,
1203 [in] UINT StartVertexLocation);
1204 void PSSetConstantBuffers(
1205 [in] UINT StartSlot,
1206 [in] UINT NumBuffers,
1207 [in] ID3D10Buffer *const *ppConstantBuffers);
1208 void IASetInputLayout(
1209 [in] ID3D10InputLayout *pInputLayout