[PSDK]
[reactos.git] / reactos / include / psdk / d3d10.idl
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 import "d3dcommon.idl";
23
24 cpp_quote("#ifndef _D3D10_CONSTANTS")
25 cpp_quote("#define _D3D10_CONSTANTS")
26 const float D3D10_DEFAULT_BLEND_FACTOR_ALPHA = 1.0;
27 const float D3D10_DEFAULT_BLEND_FACTOR_BLUE = 1.0;
28 const float D3D10_DEFAULT_BLEND_FACTOR_GREEN = 1.0;
29 const float D3D10_DEFAULT_BLEND_FACTOR_RED = 1.0;
30 const float D3D10_DEFAULT_BORDER_COLOR_COMPONENT = 0.0;
31 const float D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0;
32 const float D3D10_DEFAULT_DEPTH_BIAS_CLAMP = 0.0;
33 const float D3D10_DEFAULT_MAX_ANISOTROPY = 16.0;
34 const float D3D10_DEFAULT_MIP_LOD_BIAS = 0.0;
35 const float D3D10_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0;
36 const float D3D10_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0;
37 const float D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6;
38 const float D3D10_FLOAT32_MAX = 3.402823466e+38;
39 const float D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6;
40 const float D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4;
41 const float D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0;
42 const float D3D10_FLOAT_TO_SRGB_OFFSET = 0.055;
43 const float D3D10_FLOAT_TO_SRGB_SCALE_1 = 12.92;
44 const float D3D10_FLOAT_TO_SRGB_SCALE_2 = 1.055;
45 const float D3D10_FLOAT_TO_SRGB_THRESHOLD = 0.0031308;
46 const float D3D10_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999;
47 const float D3D10_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999;
48 const float D3D10_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999;
49 const float D3D10_FTOU_INSTRUCTION_MIN_INPUT = 0.0;
50 const float D3D10_LINEAR_GAMMA = 1.0;
51 const float D3D10_MAX_BORDER_COLOR_COMPONENT = 1.0;
52 const float D3D10_MAX_DEPTH = 1.0;
53 const float D3D10_MAX_POSITION_VALUE = 3.402823466e+34;
54 const float D3D10_MIN_BORDER_COLOR_COMPONENT = 0.0;
55 const float D3D10_MIN_DEPTH = 0.0;
56 const float D3D10_MIP_LOD_BIAS_MAX = 15.99;
57 const float D3D10_MIP_LOD_BIAS_MIN = -16.0;
58 const float D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5;
59 const float D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4;
60 const float D3D10_SRGB_GAMMA = 2.2;
61 const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92;
62 const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055;
63 const float D3D10_SRGB_TO_FLOAT_EXPONENT = 2.4;
64 const float D3D10_SRGB_TO_FLOAT_OFFSET = 0.055;
65 const float D3D10_SRGB_TO_FLOAT_THRESHOLD = 0.04045;
66 const float D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5;
67 const float D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0;
68 const float D3D_SPEC_VERSION = 1.050005;
69 const unsigned int D3D10_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff;
70 const unsigned int D3D10_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff;
71 const unsigned int D3D10_8BIT_INDEX_STRIP_CUT_VALUE = 0xff;
72 const unsigned int D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9;
73 const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_COUNT = 8;
74 const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2;
75 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
76 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
77 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
78 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15;
79 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
80 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
81 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
82 const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
83 const unsigned int D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64;
84 const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
85 const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1;
86 const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
87 const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
88 const unsigned int D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32;
89 const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1;
90 const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128;
91 const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1;
92 const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1;
93 const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128;
94 const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1;
95 const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16;
96 const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1;
97 const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1;
98 const unsigned int D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT = 16;
99 const unsigned int D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32;
100 const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4;
101 const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32;
102 const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COUNT = 4096;
103 const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3;
104 const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3;
105 const unsigned int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10;
106 const int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10;
107 const int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8;
108 const unsigned int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7;
109 const unsigned int D3D10_DEFAULT_DEPTH_BIAS = 0;
110 const unsigned int D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
111 const unsigned int D3D10_DEFAULT_SAMPLE_MASK = 0xffffffff;
112 const unsigned int D3D10_DEFAULT_SCISSOR_ENDX = 0;
113 const unsigned int D3D10_DEFAULT_SCISSOR_ENDY = 0;
114 const unsigned int D3D10_DEFAULT_SCISSOR_STARTX = 0;
115 const unsigned int D3D10_DEFAULT_SCISSOR_STARTY = 0;
116 const unsigned int D3D10_DEFAULT_STENCIL_READ_MASK = 0xff;
117 const unsigned int D3D10_DEFAULT_STENCIL_REFERENCE = 0;
118 const unsigned int D3D10_DEFAULT_STENCIL_WRITE_MASK = 0xff;
119 const unsigned int D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
120 const unsigned int D3D10_DEFAULT_VIEWPORT_HEIGHT = 0;
121 const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTX = 0;
122 const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTY = 0;
123 const unsigned int D3D10_DEFAULT_VIEWPORT_WIDTH = 0;
124 const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1;
125 const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32;
126 const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1;
127 const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2;
128 const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1;
129 const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENTS = 4;
130 const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT =32;
131 const unsigned int D3D10_GS_INPUT_REGISTER_COUNT = 16;
132 const unsigned int D3D10_GS_INPUT_REGISTER_READS_PER_INST = 2;
133 const unsigned int D3D10_GS_INPUT_REGISTER_READ_PORTS = 1;
134 const unsigned int D3D10_GS_INPUT_REGISTER_VERTICES = 6;
135 const unsigned int D3D10_GS_OUTPUT_ELEMENTS = 32;
136 const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENTS = 4;
137 const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
138 const unsigned int D3D10_GS_OUTPUT_REGISTER_COUNT = 32;
139 const unsigned int D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0;
140 const unsigned int D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0;
141 const unsigned int D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0;
142 const unsigned int D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1;
143 const unsigned int D3D10_IA_INSTANCE_ID_BIT_COUNT = 32;
144 const unsigned int D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32;
145 const unsigned int D3D10_IA_PRIMITIVE_ID_BIT_COUNT = 32;
146 const unsigned int D3D10_IA_VERTEX_ID_BIT_COUNT = 32;
147 const unsigned int D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 16;
148 const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 64;
149 const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 16;
150 const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff;
151 const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff;
152 const unsigned int D3D10_MAX_MAXANISOTROPY = 16;
153 const unsigned int D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
154 const unsigned int D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17;
155 const unsigned int D3D10_MIN_MAXANISOTROPY = 0;
156 const unsigned int D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT = 6;
157 const unsigned int D3D10_MIP_LOD_RANGE_BIT_COUNT = 8;
158 const unsigned int D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0;
159 const unsigned int D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT = 13;
160 const unsigned int D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15;
161 const unsigned int D3D10_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff;
162 const unsigned int D3D10_PS_FRONTFACING_FALSE_VALUE = 0;
163 const unsigned int D3D10_PS_FRONTFACING_TRUE_VALUE = 0xffffffff;
164 const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENTS = 4;
165 const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
166 const unsigned int D3D10_PS_INPUT_REGISTER_COUNT = 32;
167 const unsigned int D3D10_PS_INPUT_REGISTER_READS_PER_INST = 2;
168 const unsigned int D3D10_PS_INPUT_REGISTER_READ_PORTS = 1;
169 const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1;
170 const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32;
171 const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1;
172 const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENTS = 4;
173 const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
174 const unsigned int D3D10_PS_OUTPUT_REGISTER_COUNT = 8;
175 const unsigned int D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT = 4096;
176 const unsigned int D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27;
177 const unsigned int D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
178 const unsigned int D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT = 4096;
179 const unsigned int D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32;
180 const unsigned int D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32;
181 const unsigned int D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 8192;
182 const unsigned int D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024;
183 const unsigned int D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
184 const unsigned int D3D10_REQ_MAXANISOTROPY = 16;
185 const unsigned int D3D10_REQ_MIP_LEVELS = 14;
186 const unsigned int D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048;
187 const unsigned int D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT = 4096;
188 const unsigned int D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 8192;
189 const unsigned int D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES = 128;
190 const unsigned int D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP = 20;
191 const unsigned int D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT = 4096;
192 const unsigned int D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 512;
193 const unsigned int D3D10_REQ_TEXTURE1D_U_DIMENSION = 8192;
194 const unsigned int D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 512;
195 const unsigned int D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION = 8192;
196 const unsigned int D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048;
197 const unsigned int D3D10_REQ_TEXTURECUBE_DIMENSION = 8192;
198 const unsigned int D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
199 const unsigned int D3D10_SHADER_MAJOR_VERSION = 4;
200 const unsigned int D3D10_SHADER_MINOR_VERSION = 0;
201 const unsigned int D3D10_SHIFT_INSTRUCTION_PAD_VALUE = 0;
202 const unsigned int D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5;
203 const unsigned int D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
204 const unsigned int D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
205 const unsigned int D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256;
206 const unsigned int D3D10_SO_BUFFER_SLOT_COUNT = 4;
207 const unsigned int D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff;
208 const unsigned int D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1;
209 const unsigned int D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64;
210 const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT = 32;
211 const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64;
212 const unsigned int D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4;
213 const unsigned int D3D10_STANDARD_PIXEL_COMPONENT_COUNT = 128;
214 const unsigned int D3D10_STANDARD_PIXEL_ELEMENT_COUNT = 32;
215 const unsigned int D3D10_STANDARD_VECTOR_SIZE = 4;
216 const unsigned int D3D10_STANDARD_VERTEX_ELEMENT_COUNT = 16;
217 const unsigned int D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64;
218 const unsigned int D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8;
219 const unsigned int D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT = 6;
220 const unsigned int D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT = 18;
221 const unsigned int D3D10_UNBOUND_MEMORY_ACCESS_RESULT = 0;
222 const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
223 const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
224 const unsigned int D3D10_VIEWPORT_BOUNDS_MAX = 16383;
225 const int D3D10_VIEWPORT_BOUNDS_MIN = -16384;
226 const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENTS = 4;
227 const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
228 const unsigned int D3D10_VS_INPUT_REGISTER_COUNT = 16;
229 const unsigned int D3D10_VS_INPUT_REGISTER_READS_PER_INST = 2;
230 const unsigned int D3D10_VS_INPUT_REGISTER_READ_PORTS = 1;
231 const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENTS = 4;
232 const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
233 const unsigned int D3D10_VS_OUTPUT_REGISTER_COUNT = 16;
234 const unsigned int D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10;
235 const unsigned int D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25;
236 const unsigned int D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25;
237 const unsigned int D3D_MAJOR_VERSION = 10;
238 const unsigned int D3D_MINOR_VERSION = 0;
239 const unsigned int D3D_SPEC_DATE_DAY = 8;
240 const unsigned int D3D_SPEC_DATE_MONTH = 8;
241 const unsigned int D3D_SPEC_DATE_YEAR = 2006;
242 cpp_quote("#endif")
243
244 const unsigned int D3D10_APPEND_ALIGNED_ELEMENT = 0xffffffff;
245 const unsigned int _FACD3D10 = 0x87;
246 const unsigned int _FACD3D10DEBUG = _FACD3D10 + 1;
247 const unsigned int D3D10_FILTER_TYPE_MASK = 0x3;
248 const unsigned int D3D10_SDK_VERSION = 29;
249
250 cpp_quote("#define MAKE_D3D10_HRESULT(code) MAKE_HRESULT( 1, _FACD3D10, code)")
251 cpp_quote("#define MAKE_D3D10_STATUS(code) MAKE_HRESULT( 0, _FACD3D10, code)")
252 cpp_quote("#define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D10_HRESULT(1)")
253 cpp_quote("#define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)")
254
255 typedef enum D3D10_BLEND {
256 D3D10_BLEND_ZERO = 1,
257 D3D10_BLEND_ONE = 2,
258 D3D10_BLEND_SRC_COLOR = 3,
259 D3D10_BLEND_INV_SRC_COLOR = 4,
260 D3D10_BLEND_SRC_ALPHA = 5,
261 D3D10_BLEND_INV_SRC_ALPHA = 6,
262 D3D10_BLEND_DEST_ALPHA = 7,
263 D3D10_BLEND_INV_DEST_ALPHA = 8,
264 D3D10_BLEND_DEST_COLOR = 9,
265 D3D10_BLEND_INV_DEST_COLOR = 10,
266 D3D10_BLEND_SRC_ALPHA_SAT = 11,
267 D3D10_BLEND_BLEND_FACTOR = 14,
268 D3D10_BLEND_INV_BLEND_FACTOR = 15,
269 D3D10_BLEND_SRC1_COLOR = 16,
270 D3D10_BLEND_INV_SRC1_COLOR = 17,
271 D3D10_BLEND_SRC1_ALPHA = 18,
272 D3D10_BLEND_INV_SRC1_ALPHA = 19
273 } D3D10_BLEND;
274
275 typedef enum D3D10_BLEND_OP {
276 D3D10_BLEND_OP_ADD = 1,
277 D3D10_BLEND_OP_SUBTRACT,
278 D3D10_BLEND_OP_REV_SUBTRACT,
279 D3D10_BLEND_OP_MIN,
280 D3D10_BLEND_OP_MAX,
281 } D3D10_BLEND_OP;
282
283 typedef struct D3D10_BLEND_DESC {
284 BOOL AlphaToCoverageEnable;
285 BOOL BlendEnable[8];
286 D3D10_BLEND SrcBlend;
287 D3D10_BLEND DestBlend;
288 D3D10_BLEND_OP BlendOp;
289 D3D10_BLEND SrcBlendAlpha;
290 D3D10_BLEND DestBlendAlpha;
291 D3D10_BLEND_OP BlendOpAlpha;
292 UINT8 RenderTargetWriteMask[8];
293 } D3D10_BLEND_DESC;
294
295 typedef enum D3D10_DEPTH_WRITE_MASK {
296 D3D10_DEPTH_WRITE_MASK_ZERO,
297 D3D10_DEPTH_WRITE_MASK_ALL,
298 } D3D10_DEPTH_WRITE_MASK;
299
300 typedef enum D3D10_COMPARISON_FUNC {
301 D3D10_COMPARISON_NEVER = 1,
302 D3D10_COMPARISON_LESS,
303 D3D10_COMPARISON_EQUAL,
304 D3D10_COMPARISON_LESS_EQUAL,
305 D3D10_COMPARISON_GREATER,
306 D3D10_COMPARISON_NOT_EQUAL,
307 D3D10_COMPARISON_GREATER_EQUAL,
308 D3D10_COMPARISON_ALWAYS,
309 } D3D10_COMPARISON_FUNC;
310
311 typedef enum D3D10_STENCIL_OP {
312 D3D10_STENCIL_OP_KEEP = 1,
313 D3D10_STENCIL_OP_ZERO,
314 D3D10_STENCIL_OP_REPLACE,
315 D3D10_STENCIL_OP_INCR_SAT,
316 D3D10_STENCIL_OP_DECR_SAT,
317 D3D10_STENCIL_OP_INVERT,
318 D3D10_STENCIL_OP_INCR,
319 D3D10_STENCIL_OP_DECR,
320 } D3D10_STENCIL_OP;
321
322 typedef struct D3D10_DEPTH_STENCILOP_DESC {
323 D3D10_STENCIL_OP StencilFailOp;
324 D3D10_STENCIL_OP StencilDepthFailOp;
325 D3D10_STENCIL_OP StencilPassOp;
326 D3D10_COMPARISON_FUNC StencilFunc;
327 } D3D10_DEPTH_STENCILOP_DESC;
328
329 typedef struct D3D10_DEPTH_STENCIL_DESC {
330 BOOL DepthEnable;
331 D3D10_DEPTH_WRITE_MASK DepthWriteMask;
332 D3D10_COMPARISON_FUNC DepthFunc;
333 BOOL StencilEnable;
334 UINT8 StencilReadMask;
335 UINT8 StencilWriteMask;
336 D3D10_DEPTH_STENCILOP_DESC FrontFace;
337 D3D10_DEPTH_STENCILOP_DESC BackFace;
338 } D3D10_DEPTH_STENCIL_DESC;
339
340 typedef enum D3D10_FILL_MODE {
341 D3D10_FILL_WIREFRAME = 2,
342 D3D10_FILL_SOLID,
343 } D3D10_FILL_MODE;
344
345 typedef enum D3D10_CULL_MODE {
346 D3D10_CULL_NONE = 1,
347 D3D10_CULL_FRONT,
348 D3D10_CULL_BACK,
349 } D3D10_CULL_MODE;
350
351 typedef struct D3D10_RASTERIZER_DESC {
352 D3D10_FILL_MODE FillMode;
353 D3D10_CULL_MODE CullMode;
354 BOOL FrontCounterClockwise;
355 INT DepthBias;
356 FLOAT DepthBiasClamp;
357 FLOAT SlopeScaledDepthBias;
358 BOOL DepthClipEnable;
359 BOOL ScissorEnable;
360 BOOL MultisampleEnable;
361 BOOL AntialiasedLineEnable;
362 } D3D10_RASTERIZER_DESC;
363
364 typedef enum D3D10_FILTER {
365 D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
366 D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
367 D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
368 D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
369 D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
370 D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
371 D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
372 D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
373 D3D10_FILTER_ANISOTROPIC = 0x55,
374 D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
375 D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
376 D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
377 D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
378 D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
379 D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
380 D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
381 D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
382 D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
383 D3D10_FILTER_TEXT_1BIT = 0x80000000
384 } D3D10_FILTER;
385
386 typedef enum D3D10_TEXTURE_ADDRESS_MODE {
387 D3D10_TEXTURE_ADDRESS_WRAP = 1,
388 D3D10_TEXTURE_ADDRESS_MIRROR,
389 D3D10_TEXTURE_ADDRESS_CLAMP,
390 D3D10_TEXTURE_ADDRESS_BORDER,
391 D3D10_TEXTURE_ADDRESS_MIRROR_ONCE,
392 } D3D10_TEXTURE_ADDRESS_MODE;
393
394 typedef struct D3D10_SAMPLER_DESC {
395 D3D10_FILTER Filter;
396 D3D10_TEXTURE_ADDRESS_MODE AddressU;
397 D3D10_TEXTURE_ADDRESS_MODE AddressV;
398 D3D10_TEXTURE_ADDRESS_MODE AddressW;
399 FLOAT MipLODBias;
400 UINT MaxAnisotropy;
401 D3D10_COMPARISON_FUNC ComparisonFunc;
402 FLOAT BorderColor[4];
403 FLOAT MinLOD;
404 FLOAT MaxLOD;
405 } D3D10_SAMPLER_DESC;
406
407 typedef enum D3D10_COUNTER {
408 D3D10_COUNTER_GPU_IDLE,
409 D3D10_COUNTER_VERTEX_PROCESSING,
410 D3D10_COUNTER_GEOMETRY_PROCESSING,
411 D3D10_COUNTER_PIXEL_PROCESSING,
412 D3D10_COUNTER_OTHER_GPU_PROCESSING,
413 D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION,
414 D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION,
415 D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION,
416 D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION,
417 D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION,
418 D3D10_COUNTER_VS_MEMORY_LIMITED,
419 D3D10_COUNTER_VS_COMPUTATION_LIMITED,
420 D3D10_COUNTER_GS_MEMORY_LIMITED,
421 D3D10_COUNTER_GS_COMPUTATION_LIMITED,
422 D3D10_COUNTER_PS_MEMORY_LIMITED,
423 D3D10_COUNTER_PS_COMPUTATION_LIMITED,
424 D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE,
425 D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE,
426 D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
427 } D3D10_COUNTER;
428
429 typedef struct D3D10_COUNTER_DESC {
430 D3D10_COUNTER Counter;
431 UINT MiscFlags;
432 } D3D10_COUNTER_DESC;
433
434 typedef enum D3D10_COUNTER_TYPE {
435 D3D10_COUNTER_TYPE_FLOAT32,
436 D3D10_COUNTER_TYPE_UINT16,
437 D3D10_COUNTER_TYPE_UINT32,
438 D3D10_COUNTER_TYPE_UINT64,
439 } D3D10_COUNTER_TYPE;
440
441 typedef struct D3D10_COUNTER_INFO {
442 D3D10_COUNTER LastDeviceDependentCounter;
443 UINT NumSimultaneousCounters;
444 UINT8 NumDetectableParallelUnits;
445 } D3D10_COUNTER_INFO;
446
447 typedef enum D3D10_RESOURCE_DIMENSION {
448 D3D10_RESOURCE_DIMENSION_UNKNOWN,
449 D3D10_RESOURCE_DIMENSION_BUFFER,
450 D3D10_RESOURCE_DIMENSION_TEXTURE1D,
451 D3D10_RESOURCE_DIMENSION_TEXTURE2D,
452 D3D10_RESOURCE_DIMENSION_TEXTURE3D,
453 } D3D10_RESOURCE_DIMENSION;
454
455 typedef enum D3D10_USAGE {
456 D3D10_USAGE_DEFAULT,
457 D3D10_USAGE_IMMUTABLE,
458 D3D10_USAGE_DYNAMIC,
459 D3D10_USAGE_STAGING,
460 } D3D10_USAGE;
461
462 typedef enum D3D10_BIND_FLAG {
463 D3D10_BIND_VERTEX_BUFFER = 0x1,
464 D3D10_BIND_INDEX_BUFFER = 0x2,
465 D3D10_BIND_CONSTANT_BUFFER = 0x4,
466 D3D10_BIND_SHADER_RESOURCE = 0x8,
467 D3D10_BIND_STREAM_OUTPUT = 0x10,
468 D3D10_BIND_RENDER_TARGET = 0x20,
469 D3D10_BIND_DEPTH_STENCIL = 0x40
470 } D3D10_BIND_FLAG;
471
472 typedef struct D3D10_BUFFER_DESC {
473 UINT ByteWidth;
474 D3D10_USAGE Usage;
475 UINT BindFlags;
476 UINT CPUAccessFlags;
477 UINT MiscFlags;
478 } D3D10_BUFFER_DESC;
479
480 cpp_quote("#if !defined(D3D10_NO_HELPERS) && defined(__cplusplus)")
481 cpp_quote("struct CD3D10_BUFFER_DESC : public D3D10_BUFFER_DESC {")
482 cpp_quote(" CD3D10_BUFFER_DESC() {}" )
483 cpp_quote(" explicit CD3D10_BUFFER_DESC(const D3D10_BUFFER_DESC &o) : D3D10_BUFFER_DESC(o) {}")
484 cpp_quote(" explicit CD3D10_BUFFER_DESC(UINT byteWidth, UINT bindFlags, D3D10_USAGE usage = D3D10_USAGE_DEFAULT, UINT cpuaccessFlags = 0, UINT miscFlags = 0 ) {")
485 cpp_quote(" ByteWidth = byteWidth;")
486 cpp_quote(" Usage = usage;")
487 cpp_quote(" BindFlags = bindFlags;")
488 cpp_quote(" CPUAccessFlags = cpuaccessFlags;")
489 cpp_quote(" MiscFlags = miscFlags;")
490 cpp_quote(" }")
491 cpp_quote(" ~CD3D10_BUFFER_DESC() {}")
492 cpp_quote(" operator const D3D10_BUFFER_DESC&() const {")
493 cpp_quote(" return *this;")
494 cpp_quote(" }")
495 cpp_quote("};")
496 cpp_quote("#endif")
497
498 typedef enum D3D10_MAP {
499 D3D10_MAP_READ = 1,
500 D3D10_MAP_WRITE,
501 D3D10_MAP_READ_WRITE,
502 D3D10_MAP_WRITE_DISCARD,
503 D3D10_MAP_WRITE_NO_OVERWRITE,
504 } D3D10_MAP;
505
506 typedef struct D3D10_TEXTURE1D_DESC {
507 UINT Width;
508 UINT MipLevels;
509 UINT ArraySize;
510 DXGI_FORMAT Format;
511 D3D10_USAGE Usage;
512 UINT BindFlags;
513 UINT CPUAccessFlags;
514 UINT MiscFlags;
515 } D3D10_TEXTURE1D_DESC;
516
517 cpp_quote("#if !defined(D3D10_NO_HELPERS) && defined(__cplusplus)")
518 cpp_quote("struct CD3D10_TEXTURE1D_DESC : public D3D10_TEXTURE1D_DESC {")
519 cpp_quote(" CD3D10_TEXTURE1D_DESC() {}")
520 cpp_quote(" explicit CD3D10_TEXTURE1D_DESC(const D3D10_TEXTURE1D_DESC &o) : D3D10_TEXTURE1D_DESC(o) {}")
521 cpp_quote(" explicit CD3D10_TEXTURE1D_DESC(DXGI_FORMAT format, UINT width, UINT arraySize = 1, UINT mipLevels = 0,")
522 cpp_quote(" UINT bindFlags = D3D10_BIND_SHADER_RESOURCE, D3D10_USAGE usage = D3D10_USAGE_DEFAULT, UINT cpuaccessFlags = 0,")
523 cpp_quote(" UINT miscFlags = 0) {")
524 cpp_quote(" Width = width;")
525 cpp_quote(" MipLevels = mipLevels;")
526 cpp_quote(" ArraySize = arraySize;")
527 cpp_quote(" Format = format;")
528 cpp_quote(" Usage = usage;")
529 cpp_quote(" BindFlags = bindFlags;")
530 cpp_quote(" CPUAccessFlags = cpuaccessFlags;")
531 cpp_quote(" MiscFlags = miscFlags;")
532 cpp_quote(" }")
533 cpp_quote(" ~CD3D10_TEXTURE1D_DESC() {}")
534 cpp_quote(" operator const D3D10_TEXTURE1D_DESC&() const {")
535 cpp_quote(" return *this;")
536 cpp_quote(" }")
537 cpp_quote("};")
538 cpp_quote("#endif")
539
540 typedef struct D3D10_TEXTURE2D_DESC {
541 UINT Width;
542 UINT Height;
543 UINT MipLevels;
544 UINT ArraySize;
545 DXGI_FORMAT Format;
546 DXGI_SAMPLE_DESC SampleDesc;
547 D3D10_USAGE Usage;
548 UINT BindFlags;
549 UINT CPUAccessFlags;
550 UINT MiscFlags;
551 } D3D10_TEXTURE2D_DESC;
552
553 cpp_quote("#if !defined(D3D10_NO_HELPERS) && defined(__cplusplus)")
554 cpp_quote("struct CD3D10_TEXTURE2D_DESC : public D3D10_TEXTURE2D_DESC {")
555 cpp_quote(" CD3D10_TEXTURE2D_DESC() {}" )
556 cpp_quote(" explicit CD3D10_TEXTURE2D_DESC(const D3D10_TEXTURE2D_DESC &o) : D3D10_TEXTURE2D_DESC(o) {}")
557 cpp_quote(" explicit CD3D10_TEXTURE2D_DESC(DXGI_FORMAT format, UINT width, UINT height,")
558 cpp_quote(" UINT arraySize = 1,")
559 cpp_quote(" UINT mipLevels = 0,")
560 cpp_quote(" UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,")
561 cpp_quote(" D3D10_USAGE usage = D3D10_USAGE_DEFAULT,")
562 cpp_quote(" UINT cpuaccessFlags = 0,")
563 cpp_quote(" UINT sampleCount = 1,")
564 cpp_quote(" UINT sampleQuality = 0,")
565 cpp_quote(" UINT miscFlags = 0) {")
566 cpp_quote(" Width = width;" )
567 cpp_quote(" Height = height;" )
568 cpp_quote(" MipLevels = mipLevels;" )
569 cpp_quote(" ArraySize = arraySize;" )
570 cpp_quote(" Format = format;" )
571 cpp_quote(" SampleDesc.Count = sampleCount;" )
572 cpp_quote(" SampleDesc.Quality = sampleQuality;" )
573 cpp_quote(" Usage = usage;" )
574 cpp_quote(" BindFlags = bindFlags;" )
575 cpp_quote(" CPUAccessFlags = cpuaccessFlags;" )
576 cpp_quote(" MiscFlags = miscFlags;" )
577 cpp_quote(" }")
578 cpp_quote(" ~CD3D10_TEXTURE2D_DESC() {}")
579 cpp_quote(" operator const D3D10_TEXTURE2D_DESC&() const {")
580 cpp_quote(" return *this;")
581 cpp_quote(" }")
582 cpp_quote("};")
583 cpp_quote("#endif")
584
585 typedef struct D3D10_TEXTURE3D_DESC {
586 UINT Width;
587 UINT Height;
588 UINT Depth;
589 UINT MipLevels;
590 DXGI_FORMAT Format;
591 D3D10_USAGE Usage;
592 UINT BindFlags;
593 UINT CPUAccessFlags;
594 UINT MiscFlags;
595 } D3D10_TEXTURE3D_DESC;
596
597 typedef enum D3D10_DSV_DIMENSION
598 {
599 D3D10_DSV_DIMENSION_UNKNOWN,
600 D3D10_DSV_DIMENSION_TEXTURE1D,
601 D3D10_DSV_DIMENSION_TEXTURE1DARRAY,
602 D3D10_DSV_DIMENSION_TEXTURE2D,
603 D3D10_DSV_DIMENSION_TEXTURE2DARRAY,
604 D3D10_DSV_DIMENSION_TEXTURE2DMS,
605 D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY,
606 } D3D10_DSV_DIMENSION;
607
608 typedef struct D3D10_TEX1D_DSV {
609 UINT MipSlice;
610 } D3D10_TEX1D_DSV;
611
612 typedef struct D3D10_TEX1D_ARRAY_DSV {
613 UINT MipSlice;
614 UINT FirstArraySlice;
615 UINT ArraySize;
616 } D3D10_TEX1D_ARRAY_DSV;
617
618 typedef struct D3D10_TEX2D_DSV {
619 UINT MipSlice;
620 } D3D10_TEX2D_DSV;
621
622 typedef struct D3D10_TEX2D_ARRAY_DSV {
623 UINT MipSlice;
624 UINT FirstArraySlice;
625 UINT ArraySize;
626 } D3D10_TEX2D_ARRAY_DSV;
627
628 typedef struct D3D10_TEX2DMS_DSV {
629 UINT UnusedField_NothingToDefine;
630 } D3D10_TEX2DMS_DSV;
631
632 typedef struct D3D10_TEX2DMS_ARRAY_DSV {
633 UINT FirstArraySlice;
634 UINT ArraySize;
635 } D3D10_TEX2DMS_ARRAY_DSV;
636
637 typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
638 DXGI_FORMAT Format;
639 D3D10_DSV_DIMENSION ViewDimension;
640 union {
641 D3D10_TEX1D_DSV Texture1D;
642 D3D10_TEX1D_ARRAY_DSV Texture1DArray;
643 D3D10_TEX2D_DSV Texture2D;
644 D3D10_TEX2D_ARRAY_DSV Texture2DArray;
645 D3D10_TEX2DMS_DSV Texture2DMS;
646 D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
647 };
648 } D3D10_DEPTH_STENCIL_VIEW_DESC;
649
650 typedef enum D3D10_RTV_DIMENSION {
651 D3D10_RTV_DIMENSION_UNKNOWN,
652 D3D10_RTV_DIMENSION_BUFFER,
653 D3D10_RTV_DIMENSION_TEXTURE1D,
654 D3D10_RTV_DIMENSION_TEXTURE1DARRAY,
655 D3D10_RTV_DIMENSION_TEXTURE2D,
656 D3D10_RTV_DIMENSION_TEXTURE2DARRAY,
657 D3D10_RTV_DIMENSION_TEXTURE2DMS,
658 D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY,
659 D3D10_RTV_DIMENSION_TEXTURE3D,
660 } D3D10_RTV_DIMENSION;
661
662 typedef struct D3D10_BUFFER_RTV {
663 UINT ElementOffset;
664 UINT ElementWidth;
665 } D3D10_BUFFER_RTV;
666
667 typedef struct D3D10_TEX1D_RTV {
668 UINT MipSlice;
669 } D3D10_TEX1D_RTV;
670
671 typedef struct D3D10_TEX1D_ARRAY_RTV {
672 UINT MipSlice;
673 UINT FirstArraySlice;
674 UINT ArraySize;
675 } D3D10_TEX1D_ARRAY_RTV;
676
677 typedef struct D3D10_TEX2D_RTV {
678 UINT MipSlice;
679 } D3D10_TEX2D_RTV;
680
681 typedef struct D3D10_TEX2D_ARRAY_RTV {
682 UINT MipSlice;
683 UINT FirstArraySlice;
684 UINT ArraySize;
685 } D3D10_TEX2D_ARRAY_RTV;
686
687 typedef struct D3D10_TEX2DMS_RTV {
688 UINT UnusedField_NothingToDefine;
689 } D3D10_TEX2DMS_RTV;
690
691 typedef struct D3D10_TEX2DMS_ARRAY_RTV {
692 UINT FirstArraySlice;
693 UINT ArraySize;
694 } D3D10_TEX2DMS_ARRAY_RTV;
695
696 typedef struct D3D10_TEX3D_RTV {
697 UINT MipSlice;
698 UINT FirstWSlice;
699 UINT WSize;
700 } D3D10_TEX3D_RTV;
701
702 typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
703 DXGI_FORMAT Format;
704 D3D10_RTV_DIMENSION ViewDimension;
705 union {
706 D3D10_BUFFER_RTV Buffer;
707 D3D10_TEX1D_RTV Texture1D;
708 D3D10_TEX1D_ARRAY_RTV Texture1DArray;
709 D3D10_TEX2D_RTV Texture2D;
710 D3D10_TEX2D_ARRAY_RTV Texture2DArray;
711 D3D10_TEX2DMS_RTV Texture2DMS;
712 D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
713 D3D10_TEX3D_RTV Texture3D;
714 };
715 } D3D10_RENDER_TARGET_VIEW_DESC;
716
717 typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION;
718
719 typedef struct D3D10_BUFFER_SRV {
720 UINT ElementOffset;
721 UINT ElementWidth;
722 } D3D10_BUFFER_SRV;
723
724 typedef struct D3D10_TEX1D_SRV {
725 UINT MostDetailedMip;
726 UINT MipLevels;
727 } D3D10_TEX1D_SRV;
728
729 typedef struct D3D10_TEX1D_ARRAY_SRV {
730 UINT MostDetailedMip;
731 UINT MipLevels;
732 UINT FirstArraySlice;
733 UINT ArraySize;
734 } D3D10_TEX1D_ARRAY_SRV;
735
736 typedef struct D3D10_TEX2D_SRV {
737 UINT MostDetailedMip;
738 UINT MipLevels;
739 } D3D10_TEX2D_SRV;
740
741 typedef struct D3D10_TEX2D_ARRAY_SRV {
742 UINT MostDetailedMip;
743 UINT MipLevels;
744 UINT FirstArraySlice;
745 UINT ArraySize;
746 } D3D10_TEX2D_ARRAY_SRV;
747
748 typedef struct D3D10_TEX2DMS_SRV {
749 UINT UnusedField_NothingToDefine;
750 } D3D10_TEX2DMS_SRV;
751
752 typedef struct D3D10_TEX2DMS_ARRAY_SRV {
753 UINT FirstArraySlice;
754 UINT ArraySize;
755 } D3D10_TEX2DMS_ARRAY_SRV;
756
757 typedef struct D3D10_TEX3D_SRV {
758 UINT MostDetailedMip;
759 UINT MipLevels;
760 } D3D10_TEX3D_SRV;
761
762 typedef struct D3D10_TEXCUBE_SRV {
763 UINT MostDetailedMip;
764 UINT MipLevels;
765 } D3D10_TEXCUBE_SRV;
766
767 typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
768 DXGI_FORMAT Format;
769 D3D10_SRV_DIMENSION ViewDimension;
770 union {
771 D3D10_BUFFER_SRV Buffer;
772 D3D10_TEX1D_SRV Texture1D;
773 D3D10_TEX1D_ARRAY_SRV Texture1DArray;
774 D3D10_TEX2D_SRV Texture2D;
775 D3D10_TEX2D_ARRAY_SRV Texture2DArray;
776 D3D10_TEX2DMS_SRV Texture2DMS;
777 D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
778 D3D10_TEX3D_SRV Texture3D;
779 D3D10_TEXCUBE_SRV TextureCube;
780 };
781 } D3D10_SHADER_RESOURCE_VIEW_DESC;
782
783 typedef struct D3D10_BOX {
784 UINT left;
785 UINT top;
786 UINT front;
787 UINT right;
788 UINT bottom;
789 UINT back;
790 } D3D10_BOX;
791
792 typedef struct D3D10_SUBRESOURCE_DATA {
793 const void *pSysMem;
794 UINT SysMemPitch;
795 UINT SysMemSlicePitch;
796 } D3D10_SUBRESOURCE_DATA;
797
798 typedef struct D3D10_SO_DECLARATION_ENTRY {
799 LPCSTR SemanticName;
800 UINT SemanticIndex;
801 BYTE StartComponent;
802 BYTE ComponentCount;
803 BYTE OutputSlot;
804 } D3D10_SO_DECLARATION_ENTRY;
805
806 typedef enum D3D10_INPUT_CLASSIFICATION {
807 D3D10_INPUT_PER_VERTEX_DATA,
808 D3D10_INPUT_PER_INSTANCE_DATA,
809 } D3D10_INPUT_CLASSIFICATION;
810
811 typedef struct D3D10_INPUT_ELEMENT_DESC {
812 LPCSTR SemanticName;
813 UINT SemanticIndex;
814 DXGI_FORMAT Format;
815 UINT InputSlot;
816 UINT AlignedByteOffset;
817 D3D10_INPUT_CLASSIFICATION InputSlotClass;
818 UINT InstanceDataStepRate;
819 } D3D10_INPUT_ELEMENT_DESC;
820
821 typedef enum D3D10_QUERY {
822 D3D10_QUERY_EVENT,
823 D3D10_QUERY_OCCLUSION,
824 D3D10_QUERY_TIMESTAMP,
825 D3D10_QUERY_TIMESTAMP_DISJOINT,
826 D3D10_QUERY_PIPELINE_STATISTICS,
827 D3D10_QUERY_OCCLUSION_PREDICATE,
828 D3D10_QUERY_SO_STATISTICS,
829 D3D10_QUERY_SO_OVERFLOW_PREDICATE,
830 } D3D10_QUERY;
831
832 typedef struct D3D10_QUERY_DESC {
833 D3D10_QUERY Query;
834 UINT MiscFlags;
835 } D3D10_QUERY_DESC;
836
837 typedef D3D_PRIMITIVE_TOPOLOGY D3D10_PRIMITIVE_TOPOLOGY;
838
839 typedef D3D_PRIMITIVE D3D10_PRIMITIVE;
840
841 typedef RECT D3D10_RECT;
842
843 typedef struct D3D10_VIEWPORT {
844 INT TopLeftX;
845 INT TopLeftY;
846 UINT Width;
847 UINT Height;
848 FLOAT MinDepth;
849 FLOAT MaxDepth;
850 } D3D10_VIEWPORT;
851
852 typedef struct D3D10_MAPPED_TEXTURE2D {
853 void *pData;
854 UINT RowPitch;
855 } D3D10_MAPPED_TEXTURE2D;
856
857 typedef struct D3D10_MAPPED_TEXTURE3D {
858 void *pData;
859 UINT RowPitch;
860 UINT DepthPitch;
861 } D3D10_MAPPED_TEXTURE3D;
862
863 typedef enum D3D10_CPU_ACCESS_FLAG {
864 D3D10_CPU_ACCESS_WRITE = 0x10000,
865 D3D10_CPU_ACCESS_READ = 0x20000
866 } D3D10_CPU_ACCESS_FLAG;
867
868 typedef enum D3D10_RESOURCE_MISC_FLAG {
869 D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x0001,
870 D3D10_RESOURCE_MISC_SHARED = 0x0002,
871 D3D10_RESOURCE_MISC_TEXTURECUBE = 0x0004,
872 D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x0010,
873 D3D10_RESOURCE_MISC_GDI_COMPATIBLE = 0x0020
874 } D3D10_RESOURCE_MISC_FLAG;
875
876 typedef enum D3D10_MAP_FLAG {
877 D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000,
878 } D3D10_MAP_FLAG;
879
880 typedef enum D3D10_CLEAR_FLAG {
881 D3D10_CLEAR_DEPTH = 0x1,
882 D3D10_CLEAR_STENCIL = 0x2
883 } D3D10_CLEAR_FLAG;
884
885 typedef enum D3D10_COLOR_WRITE_ENABLE {
886 D3D10_COLOR_WRITE_ENABLE_RED = 0x1,
887 D3D10_COLOR_WRITE_ENABLE_GREEN = 0x2,
888 D3D10_COLOR_WRITE_ENABLE_BLUE = 0x4,
889 D3D10_COLOR_WRITE_ENABLE_ALPHA = 0x8,
890 D3D10_COLOR_WRITE_ENABLE_ALL = (D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN |
891 D3D10_COLOR_WRITE_ENABLE_BLUE | D3D10_COLOR_WRITE_ENABLE_ALPHA)
892 } D3D10_COLOR_WRITE_ENABLE;
893
894 typedef enum D3D10_TEXTURECUBE_FACE {
895 D3D10_TEXTURECUBE_FACE_POSITIVE_X,
896 D3D10_TEXTURECUBE_FACE_NEGATIVE_X,
897 D3D10_TEXTURECUBE_FACE_POSITIVE_Y,
898 D3D10_TEXTURECUBE_FACE_NEGATIVE_Y,
899 D3D10_TEXTURECUBE_FACE_POSITIVE_Z,
900 D3D10_TEXTURECUBE_FACE_NEGATIVE_Z,
901 } D3D10_TEXTURECUBE_FACE;
902
903 typedef enum D3D10_ASYNC_GETDATA_FLAG {
904 D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1,
905 } D3D10_ASYNC_GETDATA_FLAG;
906
907 typedef enum D3D10_FILTER_TYPE {
908 D3D10_FILTER_TYPE_POINT,
909 D3D10_FILTER_TYPE_LINEAR
910 } D3D10_FILTER_TYPE;
911
912 typedef enum D3D10_QUERY_MISC_FLAG {
913 D3D10_QUERY_MISC_PREDICATEHINT = 0x1
914 } D3D10_QUERY_MISC_FLAG;
915
916 typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT {
917 UINT64 Frequency;
918 BOOL Disjoint;
919 } D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
920
921 typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS {
922 UINT64 IAVertices;
923 UINT64 IAPrimitives;
924 UINT64 VSInvocations;
925 UINT64 GSInvocations;
926 UINT64 GSPrimitives;
927 UINT64 CInvocations;
928 UINT64 CPrimitives;
929 UINT64 PSInvocations;
930 } D3D10_QUERY_DATA_PIPELINE_STATISTICS;
931
932 typedef struct D3D10_QUERY_DATA_SO_STATISTICS {
933 UINT64 NumPrimitivesWritten;
934 UINT64 PrimitivesStorageNeeded;
935 } D3D10_QUERY_DATA_SO_STATISTICS;
936
937 typedef enum D3D10_CREATE_DEVICE_FLAG {
938 D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
939 D3D10_CREATE_DEVICE_DEBUG = 0x2,
940 D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
941 D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
942 D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 0x10,
943 D3D10_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
944 D3D10_CREATE_DEVICE_STRICT_VALIDATION = 0x0200
945 } D3D10_CREATE_DEVICE_FLAG;
946
947 /* Core */
948
949 interface ID3D10Device;
950
951 [
952 object,
953 local,
954 uuid(9b7e4c00-342c-4106-a19f-4f2704f689f0)
955 ]
956 interface ID3D10DeviceChild : IUnknown
957 {
958 void GetDevice(
959 [out] ID3D10Device **ppDevice);
960 HRESULT GetPrivateData(
961 [in] REFGUID guid,
962 [in, out] UINT *pDataSize,
963 [out] void *pData);
964 HRESULT SetPrivateData(
965 [in] REFGUID guid,
966 [in] UINT DataSize,
967 [in] const void *pData);
968 HRESULT SetPrivateDataInterface(
969 [in] REFGUID guid,
970 [in] const IUnknown *pData);
971 }
972
973 /* Resource */
974
975 [
976 object,
977 local,
978 uuid(9b7e4c01-342c-4106-a19f-4f2704f689f0)
979 ]
980 interface ID3D10Resource : ID3D10DeviceChild
981 {
982 void GetType(
983 [out] D3D10_RESOURCE_DIMENSION *rType);
984 void SetEvictionPriority(
985 [in] UINT EvictionPriority);
986 UINT GetEvictionPriority();
987 }
988
989 [
990 object,
991 local,
992 uuid(9b7e4c02-342c-4106-a19f-4f2704f689f0)
993 ]
994 interface ID3D10Buffer : ID3D10Resource
995 {
996 HRESULT Map(
997 [in] D3D10_MAP MapType,
998 [in] UINT MapFlags,
999 [out] void **ppData);
1000 void Unmap();
1001 void GetDesc(
1002 [out] D3D10_BUFFER_DESC *pDesc);
1003 }
1004
1005 [
1006 object,
1007 local,
1008 uuid(9b7e4c03-342c-4106-a19f-4f2704f689F0)
1009 ]
1010 interface ID3D10Texture1D : ID3D10Resource
1011 {
1012 HRESULT Map(
1013 [in] UINT Subresource,
1014 [in] D3D10_MAP MapType,
1015 [in] UINT MapFlags,
1016 [out] void **ppData);
1017 void Unmap(
1018 [in] UINT Subresource);
1019 void GetDesc(
1020 [out] D3D10_TEXTURE1D_DESC *pDesc);
1021 }
1022
1023 [
1024 object,
1025 local,
1026 uuid(9b7e4c04-342c-4106-a19f-4f2704f689F0)
1027 ]
1028 interface ID3D10Texture2D : ID3D10Resource
1029 {
1030 HRESULT Map(
1031 [in] UINT Subresource,
1032 [in] D3D10_MAP MapType,
1033 [in] UINT MapFlags,
1034 [out] D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
1035 void Unmap(
1036 [in] UINT Subresource);
1037 void GetDesc(
1038 [out] D3D10_TEXTURE2D_DESC *pDesc);
1039 }
1040
1041 [
1042 object,
1043 local,
1044 uuid(9b7e4c05-342c-4106-a19f-4f2704f689F0)
1045 ]
1046 interface ID3D10Texture3D : ID3D10Resource
1047 {
1048 HRESULT Map(
1049 [in] UINT Subresource,
1050 [in] D3D10_MAP MapType,
1051 [in] UINT MapFlags,
1052 [out] D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
1053 void Unmap(
1054 [in] UINT Subresource);
1055 void GetDesc(
1056 [out] D3D10_TEXTURE3D_DESC *pDesc);
1057 }
1058
1059 [
1060 object,
1061 local,
1062 uuid(c902b03f-60a7-49ba-9936-2a3ab37a7e33)
1063 ]
1064 interface ID3D10View : ID3D10DeviceChild
1065 {
1066 void GetResource(
1067 [out] ID3D10Resource **ppResource);
1068 }
1069
1070 [
1071 object,
1072 local,
1073 uuid(9b7e4c09-342c-4106-a19f-4f2704f689f0)
1074 ]
1075 interface ID3D10DepthStencilView : ID3D10View
1076 {
1077 void GetDesc(
1078 [out] D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
1079 }
1080
1081
1082 [
1083 object,
1084 local,
1085 uuid(9b7e4c08-342c-4106-a19f-4f2704f689f0)
1086 ]
1087 interface ID3D10RenderTargetView : ID3D10View
1088 {
1089 void GetDesc(
1090 [out] D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
1091 }
1092
1093 [
1094 object,
1095 local,
1096 uuid(9b7e4c07-342c-4106-a19f-4f2704f689f0)
1097 ]
1098 interface ID3D10ShaderResourceView : ID3D10View
1099 {
1100 void GetDesc(
1101 [out] D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
1102 }
1103
1104 /* Resource End */
1105
1106 [
1107 object,
1108 local,
1109 uuid(edad8d19-8a35-4d6d-8566-2ea276cde161)
1110 ]
1111 interface ID3D10BlendState : ID3D10DeviceChild
1112 {
1113 void GetDesc(
1114 [out] D3D10_BLEND_DESC *pDesc);
1115 }
1116
1117 [
1118 object,
1119 local,
1120 uuid(2b4b1cc8-a4ad-41f8-8322-ca86fc3ec675)
1121 ]
1122 interface ID3D10DepthStencilState : ID3D10DeviceChild
1123 {
1124 void GetDesc(
1125 [out] D3D10_DEPTH_STENCIL_DESC *pDesc);
1126 }
1127
1128 [
1129 object,
1130 local,
1131 uuid(6316be88-54cd-4040-ab44-20461bc81f68)
1132 ]
1133 interface ID3D10GeometryShader : ID3D10DeviceChild
1134 {
1135 }
1136
1137 [
1138 object,
1139 local,
1140 uuid(9b7e4c0b-342c-4106-a19f-4f2704f689f0)
1141 ]
1142 interface ID3D10InputLayout : ID3D10DeviceChild
1143 {
1144 }
1145
1146 [
1147 object,
1148 local,
1149 uuid(4968b601-9d00-4cde-8346-8e7f675819b6)
1150 ]
1151 interface ID3D10PixelShader : ID3D10DeviceChild
1152 {
1153 }
1154
1155 [
1156 object,
1157 local,
1158 uuid(a2a07292-89af-4345-be2e-c53d9fbb6e9f)
1159 ]
1160 interface ID3D10RasterizerState : ID3D10DeviceChild
1161 {
1162 void GetDesc(
1163 [out] D3D10_RASTERIZER_DESC *pDesc);
1164 }
1165
1166 [
1167 object,
1168 local,
1169 uuid(9b7e4c0c-342c-4106-a19f-4f2704f689f0)
1170 ]
1171 interface ID3D10SamplerState : ID3D10DeviceChild
1172 {
1173 void GetDesc(
1174 [out] D3D10_SAMPLER_DESC *pDesc);
1175 }
1176
1177 [
1178 object,
1179 local,
1180 uuid(9b7e4c0a-342c-4106-a19f-4f2704f689f0)
1181 ]
1182 interface ID3D10VertexShader : ID3D10DeviceChild
1183 {
1184 }
1185
1186 [
1187 object,
1188 local,
1189 uuid(9b7e4c0d-342c-4106-a19f-4f2704f689f0)
1190 ]
1191 interface ID3D10Asynchronous : ID3D10DeviceChild
1192 {
1193 void Begin();
1194 void End();
1195 HRESULT GetData(
1196 [out] void *pData,
1197 [in] UINT DataSize,
1198 [in] UINT GetDataFlags);
1199 UINT GetDataSize();
1200 }
1201
1202 [
1203 object,
1204 local,
1205 uuid(9b7e4c11-342c-4106-a19f-4f2704f689f0)
1206 ]
1207 interface ID3D10Counter : ID3D10Asynchronous
1208 {
1209 void GetDesc(
1210 [out] D3D10_COUNTER_DESC *pDesc);
1211 }
1212
1213 [
1214 object,
1215 local,
1216 uuid(9b7e4C0e-342C-4106-a19f-4f2704f689f0)
1217 ]
1218 interface ID3D10Query : ID3D10Asynchronous
1219 {
1220 void GetDesc(
1221 [out] D3D10_QUERY_DESC *pDesc);
1222 }
1223
1224 [
1225 object,
1226 local,
1227 uuid(9b7e4c10-342c-4106-a19f-4f2704f689f0)
1228 ]
1229 interface ID3D10Predicate : ID3D10Query
1230 {
1231 }
1232
1233 [
1234 object,
1235 local,
1236 uuid(9b7e4c0f-342c-4106-a19f-4f2704f689f0)
1237 ]
1238 interface ID3D10Device : IUnknown
1239 {
1240 void VSSetConstantBuffers(
1241 [in] UINT StartSlot,
1242 [in] UINT NumBuffers,
1243 [in] ID3D10Buffer *const *ppConstantBuffers);
1244 void PSSetShaderResources(
1245 [in] UINT StartSlot,
1246 [in] UINT NumViews,
1247 [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
1248 void PSSetShader(
1249 [in] ID3D10PixelShader *pPixelShader);
1250 void PSSetSamplers(
1251 [in] UINT StartSlot,
1252 [in] UINT NumSamplers,
1253 [in]ID3D10SamplerState *const *ppSamplers);
1254 void VSSetShader(
1255 [in] ID3D10VertexShader *pVertexShader);
1256 void DrawIndexed(
1257 [in] UINT IndexCount,
1258 [in] UINT StartIndexLocation,
1259 [in] INT BaseVertexLocation);
1260 void Draw(
1261 [in] UINT VertexCount,
1262 [in] UINT StartVertexLocation);
1263 void PSSetConstantBuffers(
1264 [in] UINT StartSlot,
1265 [in] UINT NumBuffers,
1266 [in] ID3D10Buffer *const *ppConstantBuffers);
1267 void IASetInputLayout(
1268 [in] ID3D10InputLayout *pInputLayout);
1269 void IASetVertexBuffers(
1270 [in] UINT StartSlot,
1271 [in] UINT NumBuffers,
1272 [in] ID3D10Buffer *const *ppVertexBuffers,
1273 [in] const UINT *pStrides,
1274 [in] const UINT *pOffsets);
1275 void IASetIndexBuffer(
1276 [in] ID3D10Buffer *pIndexBuffer,
1277 [in] DXGI_FORMAT Format,
1278 [in] UINT Offset);
1279 void DrawIndexedInstanced(
1280 [in] UINT IndexCountPerInstance,
1281 [in] UINT InstanceCount,
1282 [in] UINT StartIndexLocation,
1283 [in] INT BaseVertexLocation,
1284 [in] UINT StartInstanceLocation);
1285 void DrawInstanced(
1286 [in] UINT VertexCountPerInstance,
1287 [in] UINT InstanceCount,
1288 [in] UINT StartVertexLocation,
1289 [in] UINT StartInstanceLocation);
1290 void GSSetConstantBuffers(
1291 [in] UINT StartSlot,
1292 [in] UINT NumBuffers,
1293 [in] ID3D10Buffer *const *ppConstantBuffers);
1294 void GSSetShader(
1295 [in] ID3D10GeometryShader *pShader);
1296 void IASetPrimitiveTopology(
1297 [in] D3D10_PRIMITIVE_TOPOLOGY Topology);
1298 void VSSetShaderResources(
1299 [in] UINT StartSlot,
1300 [in] UINT NumViews,
1301 [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
1302 void VSSetSamplers(
1303 [in] UINT StartSlot,
1304 [in] UINT NumSamplers,
1305 [in] ID3D10SamplerState *const *ppSamplers);
1306 void SetPredication(
1307 [in] ID3D10Predicate *pPredicate,
1308 [in] BOOL PredicateValue);
1309 void GSSetShaderResources(
1310 [in] UINT StartSlot,
1311 [in] UINT NumViews,
1312 [in] ID3D10ShaderResourceView * const *ppShaderResourceViews);
1313 void GSSetSamplers(
1314 [in] UINT StartSlot,
1315 [in] UINT NumSamplers,
1316 [in] ID3D10SamplerState *const *ppSamplers);
1317 void OMSetRenderTargets(
1318 [in] UINT NumViews,
1319 [in] ID3D10RenderTargetView *const *ppRenderTargetViews,
1320 [in] ID3D10DepthStencilView *pDepthStencilView);
1321 void OMSetBlendState(
1322 [in] ID3D10BlendState *pBlendState,
1323 [in] const FLOAT BlendFactor[4],
1324 [in] UINT SampleMask);
1325 void OMSetDepthStencilState(
1326 [in] ID3D10DepthStencilState *pDepthStencilState,
1327 [in] UINT StencilRef);
1328 void SOSetTargets(
1329 [in] UINT NumBuffers,
1330 [in] ID3D10Buffer *const *ppSOTargets,
1331 [in] const UINT *pOffsets);
1332 void DrawAuto();
1333 void RSSetState(
1334 [in] ID3D10RasterizerState *pRasterizerState);
1335 void RSSetViewports(
1336 [in] UINT NumViewports,
1337 [in] const D3D10_VIEWPORT *pViewports);
1338 void RSSetScissorRects(
1339 [in] UINT NumRects,
1340 [in] const D3D10_RECT *pRects);
1341 void CopySubresourceRegion(
1342 [in] ID3D10Resource *pDstResource,
1343 [in] UINT DstSubresource,
1344 [in] UINT DstX,
1345 [in] UINT DstY,
1346 [in] UINT DstZ,
1347 [in] ID3D10Resource *pSrcResource,
1348 [in] UINT SrcSubresource,
1349 [in] const D3D10_BOX *pSrcBox);
1350 void CopyResource(
1351 [in] ID3D10Resource *pDstResource,
1352 [in] ID3D10Resource *pSrcResource);
1353 void UpdateSubresource(
1354 [in] ID3D10Resource *pDstResource,
1355 [in] UINT DstSubresource,
1356 [in] const D3D10_BOX *pDstBox,
1357 [in] const void *pSrcData,
1358 [in] UINT SrcRowPitch,
1359 [in] UINT SrcDepthPitch);
1360 void ClearRenderTargetView(
1361 [in] ID3D10RenderTargetView *pRenderTargetView,
1362 [in] const FLOAT ColorRGBA[4]);
1363 void ClearDepthStencilView(
1364 [in] ID3D10DepthStencilView *pDepthStencilView,
1365 [in] UINT ClearFlags,
1366 [in] FLOAT Depth,
1367 [in] UINT8 Stencil);
1368 void GenerateMips(
1369 [in] ID3D10ShaderResourceView *pShaderResourceView);
1370 void ResolveSubresource(
1371 [in] ID3D10Resource *pDstResource,
1372 [in] UINT DstSubresource,
1373 [in] ID3D10Resource *pSrcResource,
1374 [in] UINT SrcSubresource,
1375 [in] DXGI_FORMAT Format);
1376 void VSGetConstantBuffers(
1377 [in] UINT StartSlot,
1378 [in] UINT NumBuffers,
1379 [out] ID3D10Buffer **ppConstantBuffers);
1380 void PSGetShaderResources(
1381 [in] UINT StartSlot,
1382 [in] UINT NumViews,
1383 [out] ID3D10ShaderResourceView **ppShaderResourceViews);
1384 void PSGetShader(
1385 [out] ID3D10PixelShader **ppPixelShader);
1386 void PSGetSamplers(
1387 [in] UINT StartSlot,
1388 [in] UINT NumSamplers,
1389 [out] ID3D10SamplerState **ppSamplers);
1390 void VSGetShader(
1391 [out] ID3D10VertexShader **ppVertexShader);
1392 void PSGetConstantBuffers(
1393 [in] UINT StartSlot,
1394 [in] UINT NumBuffers,
1395 [out] ID3D10Buffer **ppConstantBuffers);
1396 void IAGetInputLayout(
1397 [out] ID3D10InputLayout **ppInputLayout);
1398 void IAGetVertexBuffers(
1399 [in] UINT StartSlot,
1400 [in] UINT NumBuffers,
1401 [out] ID3D10Buffer **ppVertexBuffers,
1402 [out] UINT *pStrides,
1403 [out] UINT *pOffsets);
1404 void IAGetIndexBuffer(
1405 [out] ID3D10Buffer **pIndexBuffer,
1406 [out] DXGI_FORMAT *Format,
1407 [out] UINT *Offset);
1408 void GSGetConstantBuffers(
1409 [in] UINT StartSlot,
1410 [in] UINT NumBuffers,
1411 [out] ID3D10Buffer **ppConstantBuffers);
1412 void GSGetShader(
1413 [out] ID3D10GeometryShader **ppGeometryShader);
1414 void IAGetPrimitiveTopology(
1415 [out] D3D10_PRIMITIVE_TOPOLOGY *pTopology);
1416 void VSGetShaderResources(
1417 [in] UINT StartSlot,
1418 [in] UINT NumViews,
1419 [out] ID3D10ShaderResourceView **ppShaderResourceViews);
1420 void VSGetSamplers(
1421 [in] UINT StartSlot,
1422 [in] UINT NumSamplers,
1423 [out] ID3D10SamplerState **ppSamplers);
1424 void GetPredication(
1425 [out] ID3D10Predicate **ppPredicate,
1426 [out] BOOL *pPredicateValue);
1427 void GSGetShaderResources(
1428 [in] UINT StartSlot,
1429 [in] UINT NumViews,
1430 [out] ID3D10ShaderResourceView **ppShaderResourceViews);
1431 void GSGetSamplers(
1432 [in] UINT StartSlot,
1433 [in] UINT NumSamplers,
1434 [out] ID3D10SamplerState **ppSamplers);
1435 void OMGetRenderTargets(
1436 [in] UINT NumViews,
1437 [out] ID3D10RenderTargetView **ppRenderTargetViews,
1438 [out] ID3D10DepthStencilView **ppDepthStencilView);
1439 void OMGetBlendState(
1440 [out] ID3D10BlendState **ppBlendState,
1441 [out] FLOAT BlendFactor[4],
1442 [out] UINT *pSampleMask);
1443 void OMGetDepthStencilState(
1444 [out] ID3D10DepthStencilState **ppDepthStencilState,
1445 [out] UINT *pStencilRef);
1446 void SOGetTargets(
1447 [in] UINT NumBuffers,
1448 [out] ID3D10Buffer **ppSOTargets,
1449 [out] UINT *pOffsets);
1450 void RSGetState(
1451 [out] ID3D10RasterizerState **ppRasterizerState);
1452 void RSGetViewports(
1453 [in, out] UINT *NumViewports,
1454 [out] D3D10_VIEWPORT *pViewports);
1455 void RSGetScissorRects(
1456 [in, out] UINT *NumRects,
1457 [out] D3D10_RECT *pRects);
1458 HRESULT GetDeviceRemovedReason();
1459 HRESULT SetExceptionMode(
1460 [in] UINT RaiseFlags);
1461 UINT GetExceptionMode();
1462 HRESULT GetPrivateData(
1463 [in] REFGUID guid,
1464 [in, out] UINT *pDataSize,
1465 [out] void *pData);
1466 HRESULT SetPrivateData(
1467 [in] REFGUID guid,
1468 [in] UINT DataSize,
1469 [in] const void *pData);
1470 HRESULT SetPrivateDataInterface(
1471 [in] REFGUID guid,
1472 [in] const IUnknown *pData);
1473 void ClearState();
1474 void Flush();
1475 HRESULT CreateBuffer(
1476 [in] const D3D10_BUFFER_DESC *pDesc,
1477 [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
1478 [out] ID3D10Buffer **ppBuffer);
1479 HRESULT CreateTexture1D(
1480 [in] const D3D10_TEXTURE1D_DESC *pDesc,
1481 [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
1482 [out] ID3D10Texture1D **ppTexture1D);
1483 HRESULT CreateTexture2D(
1484 [in] const D3D10_TEXTURE2D_DESC *pDesc,
1485 [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
1486 [out] ID3D10Texture2D **ppTexture2D);
1487 HRESULT CreateTexture3D(
1488 [in] const D3D10_TEXTURE3D_DESC *pDesc,
1489 [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
1490 [out] ID3D10Texture3D **ppTexture3D);
1491 HRESULT CreateShaderResourceView(
1492 [in] ID3D10Resource *pResource,
1493 [in] const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
1494 [out] ID3D10ShaderResourceView **ppSRView);
1495 HRESULT CreateRenderTargetView(
1496 [in] ID3D10Resource *pResource,
1497 [in] const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
1498 [out] ID3D10RenderTargetView **ppRTView);
1499 HRESULT CreateDepthStencilView(
1500 [in] ID3D10Resource *pResource,
1501 [in] const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
1502 [out] ID3D10DepthStencilView **ppDepthStencilView);
1503 HRESULT CreateInputLayout(
1504 [in] const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
1505 [in] UINT NumElements,
1506 [in] const void *pShaderBytecodeWithInputSignature,
1507 [in] SIZE_T BytecodeLength,
1508 [out] ID3D10InputLayout **ppInputLayout);
1509 HRESULT CreateVertexShader(
1510 [in] const void *pShaderBytecode,
1511 [in] SIZE_T BytecodeLength,
1512 [out] ID3D10VertexShader **ppVertexShader);
1513 HRESULT CreateGeometryShader(
1514 [in] const void *pShaderBytecode,
1515 [in] SIZE_T BytecodeLength,
1516 [out] ID3D10GeometryShader **ppGeometryShader);
1517 HRESULT CreateGeometryShaderWithStreamOutput(
1518 [in] const void *pShaderBytecode,
1519 [in] SIZE_T BytecodeLength,
1520 [in] const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
1521 [in] UINT NumEntries,
1522 [in] UINT OutputStreamStride,
1523 [out] ID3D10GeometryShader **ppGeometryShader);
1524 HRESULT CreatePixelShader(
1525 [in] const void *pShaderBytecode,
1526 [in] SIZE_T BytecodeLength,
1527 [out] ID3D10PixelShader **ppPixelShader);
1528 HRESULT CreateBlendState(
1529 [in] const D3D10_BLEND_DESC *pBlendStateDesc,
1530 [out] ID3D10BlendState **ppBlendState);
1531 HRESULT CreateDepthStencilState(
1532 [in] const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
1533 [out] ID3D10DepthStencilState **ppDepthStencilState);
1534 HRESULT CreateRasterizerState(
1535 [in] const D3D10_RASTERIZER_DESC *pRasterizerDesc,
1536 [out] ID3D10RasterizerState **ppRasterizerState);
1537 HRESULT CreateSamplerState(
1538 [in] const D3D10_SAMPLER_DESC *pSamplerDesc,
1539 [out] ID3D10SamplerState **ppSamplerState);
1540 HRESULT CreateQuery(
1541 [in] const D3D10_QUERY_DESC *pQueryDesc,
1542 [out] ID3D10Query **ppQuery);
1543 HRESULT CreatePredicate(
1544 [in] const D3D10_QUERY_DESC *pPredicateDesc,
1545 [out] ID3D10Predicate **ppPredicate);
1546 HRESULT CreateCounter(
1547 [in] const D3D10_COUNTER_DESC *pCounterDesc,
1548 [out] ID3D10Counter **ppCounter);
1549 HRESULT CheckFormatSupport(
1550 [in] DXGI_FORMAT Format,
1551 [out] UINT *pFormatSupport);
1552 HRESULT CheckMultisampleQualityLevels(
1553 [in] DXGI_FORMAT Format,
1554 [in] UINT SampleCount,
1555 [out] UINT *pNumQualityLevels);
1556 void CheckCounterInfo(
1557 [out] D3D10_COUNTER_INFO *pCounterInfo);
1558 HRESULT CheckCounter(
1559 [in] const D3D10_COUNTER_DESC *pDesc,
1560 [out] D3D10_COUNTER_TYPE *pType,
1561 [out] UINT *pActiveCounters,
1562 [out] LPSTR szName,
1563 [in, out] UINT *pNameLength,
1564 [out] LPSTR szUnits,
1565 [in, out] UINT *pUnitsLength,
1566 [out] LPSTR szDescription,
1567 [in, out] UINT *pDescriptionLength);
1568 UINT GetCreationFlags();
1569 HRESULT OpenSharedResource(
1570 [in] HANDLE hResource,
1571 [in] REFIID ReturnedInterface,
1572 [out] void **ppResource);
1573 void SetTextFilterSize(
1574 [in] UINT Width,
1575 [in] UINT Height);
1576 void GetTextFilterSize(
1577 [out] UINT *pWidth,
1578 [out] UINT *pHeight);
1579 }
1580
1581 [
1582 object,
1583 local,
1584 uuid(9b7e4e00-342c-4106-a19f-4f2704f689f0)
1585 ]
1586 interface ID3D10Multithread : IUnknown
1587 {
1588 void Enter();
1589 void Leave();
1590 BOOL SetMultithreadProtected(
1591 [in] BOOL bMTProtect);
1592 BOOL GetMultithreadProtected();
1593 }
1594
1595 cpp_quote("#ifndef D3D10_IGNORE_SDK_LAYERS")
1596 cpp_quote("/* FIXME: # include <d3d10sdklayers.h> */")
1597 cpp_quote("#endif")
1598 cpp_quote("#include \"d3d10misc.h\"")
1599 cpp_quote("#include \"d3d10shader.h\"")
1600 cpp_quote("#include \"d3d10effect.h\"")