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