2 * Copyright 2007 Andras Kovacs
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.
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.
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
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;
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;
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)")
254 typedef enum D3D10_BLEND {
255 D3D10_BLEND_ZERO = 1,
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
274 typedef enum D3D10_BLEND_OP {
275 D3D10_BLEND_OP_ADD = 1,
276 D3D10_BLEND_OP_SUBTRACT,
277 D3D10_BLEND_OP_REV_SUBTRACT,
282 typedef struct D3D10_BLEND_DESC {
283 BOOL AlphaToCoverageEnable;
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];
294 typedef enum D3D10_DEPTH_WRITE_MASK {
295 D3D10_DEPTH_WRITE_MASK_ZERO,
296 D3D10_DEPTH_WRITE_MASK_ALL,
297 } D3D10_DEPTH_WRITE_MASK;
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;
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,
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;
328 typedef struct D3D10_DEPTH_STENCIL_DESC {
330 D3D10_DEPTH_WRITE_MASK DepthWriteMask;
331 D3D10_COMPARISON_FUNC DepthFunc;
333 UINT8 StencilReadMask;
334 UINT8 StencilWriteMask;
335 D3D10_DEPTH_STENCILOP_DESC FrontFace;
336 D3D10_DEPTH_STENCILOP_DESC BackFace;
337 } D3D10_DEPTH_STENCIL_DESC;
339 typedef enum D3D10_FILL_MODE {
340 D3D10_FILL_WIREFRAME = 2,
344 typedef enum D3D10_CULL_MODE {
350 typedef struct D3D10_RASTERIZER_DESC {
351 D3D10_FILL_MODE FillMode;
352 D3D10_CULL_MODE CullMode;
353 BOOL FrontCounterClockwise;
355 FLOAT DepthBiasClamp;
356 FLOAT SlopeScaledDepthBias;
357 BOOL DepthClipEnable;
359 BOOL MultisampleEnable;
360 BOOL AntialiasedLineEnable;
361 } D3D10_RASTERIZER_DESC;
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
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;
393 typedef struct D3D10_SAMPLER_DESC {
395 D3D10_TEXTURE_ADDRESS_MODE AddressU;
396 D3D10_TEXTURE_ADDRESS_MODE AddressV;
397 D3D10_TEXTURE_ADDRESS_MODE AddressW;
400 D3D10_COMPARISON_FUNC ComparisonFunc;
401 FLOAT BorderColor[4];
404 } D3D10_SAMPLER_DESC;
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
428 typedef struct D3D10_COUNTER_DESC {
429 D3D10_COUNTER Counter;
431 } D3D10_COUNTER_DESC;
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;
440 typedef struct D3D10_COUNTER_INFO {
441 D3D10_COUNTER LastDeviceDependentCounter;
442 UINT NumSimultaneousCounters;
443 UINT8 NumDetectableParallelUnits;
444 } D3D10_COUNTER_INFO;
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;
454 typedef enum D3D10_USAGE {
456 D3D10_USAGE_IMMUTABLE,
461 typedef struct D3D10_BUFFER_DESC {
469 typedef enum D3D10_MAP {
472 D3D10_MAP_READ_WRITE,
473 D3D10_MAP_WRITE_DISCARD,
474 D3D10_MAP_WRITE_NO_OVERWRITE,
477 typedef struct D3D10_TEXTURE1D_DESC {
486 } D3D10_TEXTURE1D_DESC;
488 typedef struct D3D10_TEXTURE2D_DESC {
494 DXGI_SAMPLE_DESC SampleDesc;
499 } D3D10_TEXTURE2D_DESC;
501 typedef struct D3D10_TEXTURE3D_DESC {
511 } D3D10_TEXTURE3D_DESC;
513 typedef enum D3D10_DSV_DIMENSION
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;
524 typedef struct D3D10_TEX1D_DSV {
528 typedef struct D3D10_TEX1D_ARRAY_DSV {
530 UINT FirstArraySlice;
532 } D3D10_TEX1D_ARRAY_DSV;
534 typedef struct D3D10_TEX2D_DSV {
538 typedef struct D3D10_TEX2D_ARRAY_DSV {
540 UINT FirstArraySlice;
542 } D3D10_TEX2D_ARRAY_DSV;
544 typedef struct D3D10_TEX2DMS_DSV {
545 UINT UnusedField_NothingToDefine;
548 typedef struct D3D10_TEX2DMS_ARRAY_DSV {
549 UINT FirstArraySlice;
551 } D3D10_TEX2DMS_ARRAY_DSV;
553 typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
555 D3D10_DSV_DIMENSION ViewDimension;
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;
564 } D3D10_DEPTH_STENCIL_VIEW_DESC;
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;
578 typedef struct D3D10_BUFFER_RTV {
583 typedef struct D3D10_TEX1D_RTV {
587 typedef struct D3D10_TEX1D_ARRAY_RTV {
589 UINT FirstArraySlice;
591 } D3D10_TEX1D_ARRAY_RTV;
593 typedef struct D3D10_TEX2D_RTV {
597 typedef struct D3D10_TEX2D_ARRAY_RTV {
599 UINT FirstArraySlice;
601 } D3D10_TEX2D_ARRAY_RTV;
603 typedef struct D3D10_TEX2DMS_RTV {
604 UINT UnusedField_NothingToDefine;
607 typedef struct D3D10_TEX2DMS_ARRAY_RTV {
608 UINT FirstArraySlice;
610 } D3D10_TEX2DMS_ARRAY_RTV;
612 typedef struct D3D10_TEX3D_RTV {
618 typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
620 D3D10_RTV_DIMENSION ViewDimension;
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;
631 } D3D10_RENDER_TARGET_VIEW_DESC;
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;
646 typedef struct D3D10_BUFFER_SRV {
651 typedef struct D3D10_TEX1D_SRV {
652 UINT MostDetailedMip;
656 typedef struct D3D10_TEX1D_ARRAY_SRV {
657 UINT MostDetailedMip;
659 UINT FirstArraySlice;
661 } D3D10_TEX1D_ARRAY_SRV;
663 typedef struct D3D10_TEX2D_SRV {
664 UINT MostDetailedMip;
668 typedef struct D3D10_TEX2D_ARRAY_SRV {
669 UINT MostDetailedMip;
671 UINT FirstArraySlice;
673 } D3D10_TEX2D_ARRAY_SRV;
675 typedef struct D3D10_TEX2DMS_SRV {
676 UINT UnusedField_NothingToDefine;
679 typedef struct D3D10_TEX2DMS_ARRAY_SRV {
680 UINT FirstArraySlice;
682 } D3D10_TEX2DMS_ARRAY_SRV;
684 typedef struct D3D10_TEX3D_SRV {
685 UINT MostDetailedMip;
689 typedef struct D3D10_TEXCUBE_SRV {
690 UINT MostDetailedMip;
694 typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
696 D3D10_SRV_DIMENSION ViewDimension;
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;
708 } D3D10_SHADER_RESOURCE_VIEW_DESC;
710 typedef struct D3D10_BOX {
719 typedef struct D3D10_SUBRESOURCE_DATA {
722 UINT SysMemSlicePitch;
723 } D3D10_SUBRESOURCE_DATA;
725 typedef struct D3D10_SO_DECLARATION_ENTRY {
731 } D3D10_SO_DECLARATION_ENTRY;
733 typedef enum D3D10_INPUT_CLASSIFICATION {
734 D3D10_INPUT_PER_VERTEX_DATA,
735 D3D10_INPUT_PER_INSTANCE_DATA,
736 } D3D10_INPUT_CLASSIFICATION;
738 typedef struct D3D10_INPUT_ELEMENT_DESC {
743 UINT AlignedByteOffset;
744 D3D10_INPUT_CLASSIFICATION InputSlotClass;
745 UINT InstanceDataStepRate;
746 } D3D10_INPUT_ELEMENT_DESC;
748 typedef enum D3D10_QUERY {
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,
759 typedef struct D3D10_QUERY_DESC {
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;
777 typedef RECT D3D10_RECT;
779 typedef struct D3D10_VIEWPORT {
788 typedef struct D3D10_MAPPED_TEXTURE2D {
791 } D3D10_MAPPED_TEXTURE2D;
793 typedef struct D3D10_MAPPED_TEXTURE3D {
797 } D3D10_MAPPED_TEXTURE3D;
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
809 typedef enum D3D10_CPU_ACCESS_FLAG {
810 D3D10_CPU_ACCESS_WRITE = 0x10000,
811 D3D10_CPU_ACCESS_READ = 0x20000
812 } D3D10_CPU_ACCESS_FLAG;
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;
820 typedef enum D3D10_MAP_FLAG {
821 D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000,
824 typedef enum D3D10_CLEAR_FLAG {
825 D3D10_CLEAR_DEPTH = 0x1,
826 D3D10_CLEAR_STENCIL = 0x2
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;
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;
847 typedef enum D3D10_ASYNC_GETDATA_FLAG {
848 D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1,
849 } D3D10_ASYNC_GETDATA_FLAG;
851 typedef enum D3D10_FILTER_TYPE {
852 D3D10_FILTER_TYPE_POINT,
853 D3D10_FILTER_TYPE_LINEAR
856 typedef enum D3D10_QUERY_MISC_FLAG {
857 D3D10_QUERY_MISC_PREDICATEHINT = 0x1
858 } D3D10_QUERY_MISC_FLAG;
860 typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT {
863 } D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
865 typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS {
868 UINT64 VSInvocations;
869 UINT64 GSInvocations;
873 UINT64 PSInvocations;
874 } D3D10_QUERY_DATA_PIPELINE_STATISTICS;
876 typedef struct D3D10_QUERY_DATA_SO_STATISTICS {
877 UINT64 NumPrimitivesWritten;
878 UINT64 PrimitivesStorageNeeded;
879 } D3D10_QUERY_DATA_SO_STATISTICS;
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;
890 interface ID3D10Device;
895 uuid(9b7e4c00-342c-4106-a19f-4f2704f689f0)
897 interface ID3D10DeviceChild : IUnknown
900 [out] ID3D10Device **ppDevice);
901 HRESULT GetPrivateData(
903 [in, out] UINT *pDataSize,
905 HRESULT SetPrivateData(
908 [in] const void *pData);
909 HRESULT SetPrivateDataInterface(
911 [in] const IUnknown *pData);
919 uuid(9b7e4c01-342c-4106-a19f-4f2704f689f0)
921 interface ID3D10Resource : ID3D10DeviceChild
924 [out] D3D10_RESOURCE_DIMENSION *rType);
925 void SetEvictionPriority(
926 [in] UINT EvictionPriority);
927 UINT GetEvictionPriority();
933 uuid(9b7e4c02-342c-4106-a19f-4f2704f689f0)
935 interface ID3D10Buffer : ID3D10Resource
938 [in] D3D10_MAP MapType,
940 [out] void **ppData);
943 [out] D3D10_BUFFER_DESC *pDesc);
949 uuid(9b7e4c03-342c-4106-a19f-4f2704f689F0)
951 interface ID3D10Texture1D : ID3D10Resource
954 [in] UINT Subresource,
955 [in] D3D10_MAP MapType,
957 [out] void **ppData);
959 [in] UINT Subresource);
961 [out] D3D10_TEXTURE1D_DESC *pDesc);
967 uuid(9b7e4c04-342c-4106-a19f-4f2704f689F0)
969 interface ID3D10Texture2D : ID3D10Resource
972 [in] UINT Subresource,
973 [in] D3D10_MAP MapType,
975 [out] D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
977 [in] UINT Subresource);
979 [out] D3D10_TEXTURE2D_DESC *pDesc);
985 uuid(9b7e4c05-342c-4106-a19f-4f2704f689F0)
987 interface ID3D10Texture3D : ID3D10Resource
990 [in] UINT Subresource,
991 [in] D3D10_MAP MapType,
993 [out] D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
995 [in] UINT Subresource);
997 [out] D3D10_TEXTURE3D_DESC *pDesc);
1003 uuid(c902b03f-60a7-49ba-9936-2a3ab37a7e33)
1005 interface ID3D10View : ID3D10DeviceChild
1008 [out] ID3D10Resource **ppResource);
1014 uuid(9b7e4c09-342c-4106-a19f-4f2704f689f0)
1016 interface ID3D10DepthStencilView : ID3D10View
1019 [out] D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
1026 uuid(9b7e4c08-342c-4106-a19f-4f2704f689f0)
1028 interface ID3D10RenderTargetView : ID3D10View
1031 [out] D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
1037 uuid(9b7e4c07-342c-4106-a19f-4f2704f689f0)
1039 interface ID3D10ShaderResourceView : ID3D10View
1042 [out] D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
1050 uuid(edad8d19-8a35-4d6d-8566-2ea276cde161)
1052 interface ID3D10BlendState : ID3D10DeviceChild
1055 [out] D3D10_BLEND_DESC *pDesc);
1061 uuid(2b4b1cc8-a4ad-41f8-8322-ca86fc3ec675)
1063 interface ID3D10DepthStencilState : ID3D10DeviceChild
1066 [out] D3D10_DEPTH_STENCIL_DESC *pDesc);
1072 uuid(6316be88-54cd-4040-ab44-20461bc81f68)
1074 interface ID3D10GeometryShader : ID3D10DeviceChild
1081 uuid(9b7e4c0b-342c-4106-a19f-4f2704f689f0)
1083 interface ID3D10InputLayout : ID3D10DeviceChild
1090 uuid(4968b601-9d00-4cde-8346-8e7f675819b6)
1092 interface ID3D10PixelShader : ID3D10DeviceChild
1099 uuid(a2a07292-89af-4345-be2e-c53d9fbb6e9f)
1101 interface ID3D10RasterizerState : ID3D10DeviceChild
1104 [out] D3D10_RASTERIZER_DESC *pDesc);
1110 uuid(9b7e4c0c-342c-4106-a19f-4f2704f689f0)
1112 interface ID3D10SamplerState : ID3D10DeviceChild
1115 [out] D3D10_SAMPLER_DESC *pDesc);
1121 uuid(9b7e4c0a-342c-4106-a19f-4f2704f689f0)
1123 interface ID3D10VertexShader : ID3D10DeviceChild
1130 uuid(9b7e4c0d-342c-4106-a19f-4f2704f689f0)
1132 interface ID3D10Asynchronous : ID3D10DeviceChild
1139 [in] UINT GetDataFlags);
1146 uuid(9b7e4c11-342c-4106-a19f-4f2704f689f0)
1148 interface ID3D10Counter : ID3D10Asynchronous
1151 [out] D3D10_COUNTER_DESC *pDesc);
1157 uuid(9b7e4C0e-342C-4106-a19f-4f2704f689f0)
1159 interface ID3D10Query : ID3D10Asynchronous
1162 [out] D3D10_QUERY_DESC *pDesc);
1168 uuid(9b7e4c10-342c-4106-a19f-4f2704f689f0)
1170 interface ID3D10Predicate : ID3D10Query
1177 uuid(9b7e4c0f-342c-4106-a19f-4f2704f689f0)
1179 interface ID3D10Device : IUnknown
1181 void VSSetConstantBuffers(
1182 [in] UINT StartSlot,
1183 [in] UINT NumBuffers,
1184 [in] ID3D10Buffer *const *ppConstantBuffers);
1185 void PSSetShaderResources(
1186 [in] UINT StartSlot,
1188 [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
1190 [in] ID3D10PixelShader *pPixelShader);
1192 [in] UINT StartSlot,
1193 [in] UINT NumSamplers,
1194 [in]ID3D10SamplerState *const *ppSamplers);
1196 [in] ID3D10VertexShader *pVertexShader);
1198 [in] UINT IndexCount,
1199 [in] UINT StartIndexLocation,
1200 [in] INT BaseVertexLocation);
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);
1210 void IASetVertexBuffers(
1211 [in] UINT StartSlot,
1212 [in] UINT NumBuffers,
1213 [in] ID3D10Buffer *const *ppVertexBuffers,
1214 [in] const UINT *pStrides,
1215 [in] const UINT *pOffsets);
1216 void IASetIndexBuffer(
1217 [in] ID3D10Buffer *pIndexBuffer,
1218 [in] DXGI_FORMAT Format,
1220 void DrawIndexedInstanced(
1221 [in] UINT IndexCountPerInstance,
1222 [in] UINT InstanceCount,
1223 [in] UINT StartIndexLocation,
1224 [in] INT BaseVertexLocation,
1225 [in] UINT StartInstanceLocation);
1227 [in] UINT VertexCountPerInstance,
1228 [in] UINT InstanceCount,
1229 [in] UINT StartVertexLocation,
1230 [in] UINT StartInstanceLocation);
1231 void GSSetConstantBuffers(
1232 [in] UINT StartSlot,
1233 [in] UINT NumBuffers,
1234 [in] ID3D10Buffer *const *ppConstantBuffers);
1236 [in] ID3D10GeometryShader *pShader);
1237 void IASetPrimitiveTopology(
1238 [in] D3D10_PRIMITIVE_TOPOLOGY Topology);
1239 void VSSetShaderResources(
1240 [in] UINT StartSlot,
1242 [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
1244 [in] UINT StartSlot,
1245 [in] UINT NumSamplers,
1246 [in] ID3D10SamplerState *const *ppSamplers);
1247 void SetPredication(
1248 [in] ID3D10Predicate *pPredicate,
1249 [in] BOOL PredicateValue);
1250 void GSSetShaderResources(
1251 [in] UINT StartSlot,
1253 [in] ID3D10ShaderResourceView * const *ppShaderResourceViews);
1255 [in] UINT StartSlot,
1256 [in] UINT NumSamplers,
1257 [in] ID3D10SamplerState *const *ppSamplers);
1258 void OMSetRenderTargets(
1260 [in] ID3D10RenderTargetView *const *ppRenderTargetViews,
1261 [in] ID3D10DepthStencilView *pDepthStencilView);
1262 void OMSetBlendState(
1263 [in] ID3D10BlendState *pBlendState,
1264 [in] const FLOAT BlendFactor[4],
1265 [in] UINT SampleMask);
1266 void OMSetDepthStencilState(
1267 [in] ID3D10DepthStencilState *pDepthStencilState,
1268 [in] UINT StencilRef);
1270 [in] UINT NumBuffers,
1271 [in] ID3D10Buffer *const *ppSOTargets,
1272 [in] const UINT *pOffsets);
1275 [in] ID3D10RasterizerState *pRasterizerState);
1276 void RSSetViewports(
1277 [in] UINT NumViewports,
1278 [in] const D3D10_VIEWPORT *pViewports);
1279 void RSSetScissorRects(
1281 [in] const D3D10_RECT *pRects);
1282 void CopySubresourceRegion(
1283 [in] ID3D10Resource *pDstResource,
1284 [in] UINT DstSubresource,
1288 [in] ID3D10Resource *pSrcResource,
1289 [in] UINT SrcSubresource,
1290 [in] const D3D10_BOX *pSrcBox);
1292 [in] ID3D10Resource *pDstResource,
1293 [in] ID3D10Resource *pSrcResource);
1294 void UpdateSubresource(
1295 [in] ID3D10Resource *pDstResource,
1296 [in] UINT DstSubresource,
1297 [in] const D3D10_BOX *pDstBox,
1298 [in] const void *pSrcData,
1299 [in] UINT SrcRowPitch,
1300 [in] UINT SrcDepthPitch);
1301 void ClearRenderTargetView(
1302 [in] ID3D10RenderTargetView *pRenderTargetView,
1303 [in] const FLOAT ColorRGBA[4]);
1304 void ClearDepthStencilView(
1305 [in] ID3D10DepthStencilView *pDepthStencilView,
1306 [in] UINT ClearFlags,
1308 [in] UINT8 Stencil);
1310 [in] ID3D10ShaderResourceView *pShaderResourceView);
1311 void ResolveSubresource(
1312 [in] ID3D10Resource *pDstResource,
1313 [in] UINT DstSubresource,
1314 [in] ID3D10Resource *pSrcResource,
1315 [in] UINT SrcSubresource,
1316 [in] DXGI_FORMAT Format);
1317 void VSGetConstantBuffers(
1318 [in] UINT StartSlot,
1319 [in] UINT NumBuffers,
1320 [out] ID3D10Buffer **ppConstantBuffers);
1321 void PSGetShaderResources(
1322 [in] UINT StartSlot,
1324 [out] ID3D10ShaderResourceView **ppShaderResourceViews);
1326 [out] ID3D10PixelShader **ppPixelShader);
1328 [in] UINT StartSlot,
1329 [in] UINT NumSamplers,
1330 [out] ID3D10SamplerState **ppSamplers);
1332 [out] ID3D10VertexShader **ppVertexShader);
1333 void PSGetConstantBuffers(
1334 [in] UINT StartSlot,
1335 [in] UINT NumBuffers,
1336 [out] ID3D10Buffer **ppConstantBuffers);
1337 void IAGetInputLayout(
1338 [out] ID3D10InputLayout **ppInputLayout);
1339 void IAGetVertexBuffers(
1340 [in] UINT StartSlot,
1341 [in] UINT NumBuffers,
1342 [out] ID3D10Buffer **ppVertexBuffers,
1343 [out] UINT *pStrides,
1344 [out] UINT *pOffsets);
1345 void IAGetIndexBuffer(
1346 [out] ID3D10Buffer **pIndexBuffer,
1347 [out] DXGI_FORMAT *Format,
1348 [out] UINT *Offset);
1349 void GSGetConstantBuffers(
1350 [in] UINT StartSlot,
1351 [in] UINT NumBuffers,
1352 [out] ID3D10Buffer **ppConstantBuffers);
1354 [out] ID3D10GeometryShader **ppGeometryShader);
1355 void IAGetPrimitiveTopology(
1356 [out] D3D10_PRIMITIVE_TOPOLOGY *pTopology);
1357 void VSGetShaderResources(
1358 [in] UINT StartSlot,
1360 [out] ID3D10ShaderResourceView **ppShaderResourceViews);
1362 [in] UINT StartSlot,
1363 [in] UINT NumSamplers,
1364 [out] ID3D10SamplerState **ppSamplers);
1365 void GetPredication(
1366 [out] ID3D10Predicate **ppPredicate,
1367 [out] BOOL *pPredicateValue);
1368 void GSGetShaderResources(
1369 [in] UINT StartSlot,
1371 [out] ID3D10ShaderResourceView **ppShaderResourceViews);
1373 [in] UINT StartSlot,
1374 [in] UINT NumSamplers,
1375 [out] ID3D10SamplerState **ppSamplers);
1376 void OMGetRenderTargets(
1378 [out] ID3D10RenderTargetView **ppRenderTargetViews,
1379 [out] ID3D10DepthStencilView **ppDepthStencilView);
1380 void OMGetBlendState(
1381 [out] ID3D10BlendState **ppBlendState,
1382 [out] FLOAT BlendFactor[4],
1383 [out] UINT *pSampleMask);
1384 void OMGetDepthStencilState(
1385 [out] ID3D10DepthStencilState **ppDepthStencilState,
1386 [out] UINT *pStencilRef);
1388 [in] UINT NumBuffers,
1389 [out] ID3D10Buffer **ppSOTargets,
1390 [out] UINT *pOffsets);
1392 [out] ID3D10RasterizerState **ppRasterizerState);
1393 void RSGetViewports(
1394 [in, out] UINT *NumViewports,
1395 [out] D3D10_VIEWPORT *pViewports);
1396 void RSGetScissorRects(
1397 [in, out] UINT *NumRects,
1398 [out] D3D10_RECT *pRects);
1399 HRESULT GetDeviceRemovedReason();
1400 HRESULT SetExceptionMode(
1401 [in] UINT RaiseFlags);
1402 UINT GetExceptionMode();
1403 HRESULT GetPrivateData(
1405 [in, out] UINT *pDataSize,
1407 HRESULT SetPrivateData(
1410 [in] const void *pData);
1411 HRESULT SetPrivateDataInterface(
1413 [in] const IUnknown *pData);
1416 HRESULT CreateBuffer(
1417 [in] const D3D10_BUFFER_DESC *pDesc,
1418 [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
1419 [out] ID3D10Buffer **ppBuffer);
1420 HRESULT CreateTexture1D(
1421 [in] const D3D10_TEXTURE1D_DESC *pDesc,
1422 [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
1423 [out] ID3D10Texture1D **ppTexture1D);
1424 HRESULT CreateTexture2D(
1425 [in] const D3D10_TEXTURE2D_DESC *pDesc,
1426 [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
1427 [out] ID3D10Texture2D **ppTexture2D);
1428 HRESULT CreateTexture3D(
1429 [in] const D3D10_TEXTURE3D_DESC *pDesc,
1430 [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
1431 [out] ID3D10Texture3D **ppTexture3D);
1432 HRESULT CreateShaderResourceView(
1433 [in] ID3D10Resource *pResource,
1434 [in] const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
1435 [out] ID3D10ShaderResourceView **ppSRView);
1436 HRESULT CreateRenderTargetView(
1437 [in] ID3D10Resource *pResource,
1438 [in] const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
1439 [out] ID3D10RenderTargetView **ppRTView);
1440 HRESULT CreateDepthStencilView(
1441 [in] ID3D10Resource *pResource,
1442 [in] const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
1443 [out] ID3D10DepthStencilView **ppDepthStencilView);
1444 HRESULT CreateInputLayout(
1445 [in] const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
1446 [in] UINT NumElements,
1447 [in] const void *pShaderBytecodeWithInputSignature,
1448 [in] SIZE_T BytecodeLength,
1449 [out] ID3D10InputLayout **ppInputLayout);
1450 HRESULT CreateVertexShader(
1451 [in] const void *pShaderBytecode,
1452 [in] SIZE_T BytecodeLength,
1453 [out] ID3D10VertexShader **ppVertexShader);
1454 HRESULT CreateGeometryShader(
1455 [in] const void *pShaderBytecode,
1456 [in] SIZE_T BytecodeLength,
1457 [out] ID3D10GeometryShader **ppGeometryShader);
1458 HRESULT CreateGeometryShaderWithStreamOutput(
1459 [in] const void *pShaderBytecode,
1460 [in] SIZE_T BytecodeLength,
1461 [in] const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
1462 [in] UINT NumEntries,
1463 [in] UINT OutputStreamStride,
1464 [out] ID3D10GeometryShader **ppGeometryShader);
1465 HRESULT CreatePixelShader(
1466 [in] const void *pShaderBytecode,
1467 [in] SIZE_T BytecodeLength,
1468 [out] ID3D10PixelShader **ppPixelShader);
1469 HRESULT CreateBlendState(
1470 [in] const D3D10_BLEND_DESC *pBlendStateDesc,
1471 [out] ID3D10BlendState **ppBlendState);
1472 HRESULT CreateDepthStencilState(
1473 [in] const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
1474 [out] ID3D10DepthStencilState **ppDepthStencilState);
1475 HRESULT CreateRasterizerState(
1476 [in] const D3D10_RASTERIZER_DESC *pRasterizerDesc,
1477 [out] ID3D10RasterizerState **ppRasterizerState);
1478 HRESULT CreateSamplerState(
1479 [in] const D3D10_SAMPLER_DESC *pSamplerDesc,
1480 [out] ID3D10SamplerState **ppSamplerState);
1481 HRESULT CreateQuery(
1482 [in] const D3D10_QUERY_DESC *pQueryDesc,
1483 [out] ID3D10Query **ppQuery);
1484 HRESULT CreatePredicate(
1485 [in] const D3D10_QUERY_DESC *pPredicateDesc,
1486 [out] ID3D10Predicate **ppPredicate);
1487 HRESULT CreateCounter(
1488 [in] const D3D10_COUNTER_DESC *pCounterDesc,
1489 [out] ID3D10Counter **ppCounter);
1490 HRESULT CheckFormatSupport(
1491 [in] DXGI_FORMAT Format,
1492 [out] UINT *pFormatSupport);
1493 HRESULT CheckMultisampleQualityLevels(
1494 [in] DXGI_FORMAT Format,
1495 [in] UINT SampleCount,
1496 [out] UINT *pNumQualityLevels);
1497 void CheckCounterInfo(
1498 [out] D3D10_COUNTER_INFO *pCounterInfo);
1499 HRESULT CheckCounter(
1500 [in] const D3D10_COUNTER_DESC *pDesc,
1501 [out] D3D10_COUNTER_TYPE *pType,
1502 [out] UINT *pActiveCounters,
1504 [in, out] UINT *pNameLength,
1505 [out] LPSTR szUnits,
1506 [in, out] UINT *pUnitsLength,
1507 [out] LPSTR szDescription,
1508 [in, out] UINT *pDescriptionLength);
1509 UINT GetCreationFlags();
1510 HRESULT OpenSharedResource(
1511 [in] HANDLE hResource,
1512 [in] REFIID ReturnedInterface,
1513 [out] void **ppResource);
1514 void SetTextFilterSize(
1517 void GetTextFilterSize(
1519 [out] UINT *pHeight);
1525 uuid(9b7e4e00-342c-4106-a19f-4f2704f689f0)
1527 interface ID3D10Multithread : IUnknown
1531 BOOL SetMultithreadProtected(
1532 [in] BOOL bMTProtect);
1533 BOOL GetMultithreadProtected();
1536 cpp_quote("#include <d3d10misc.h>")
1537 /* TODO: Include "d310effect.h" as soon as it exists */
1538 /* TODO: Include "d310shader.h" as soon as it exists */
1539 /* TODO: Include "d310sdklayers.h" as soon as it exists */