ReactOS 0.4.17-dev-934-g091855f
d3d11.idl
Go to the documentation of this file.
1/*
2 * Copyright 2010 Rico Schüller
3 * Copyright 2013 Austin English
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 */
19
20import "oaidl.idl";
21import "ocidl.idl";
22import "dxgi.idl";
23import "d3dcommon.idl";
24
29
30interface ID3D11Device;
31interface ID3D11ClassLinkage;
32interface ID3D11Resource;
33interface ID3D11VideoProcessorInputView;
34
35cpp_quote("#ifndef _D3D11_CONSTANTS")
36cpp_quote("#define _D3D11_CONSTANTS")
37
38const UINT D3D11_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff;
39const UINT D3D11_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff;
40const UINT D3D11_8BIT_INDEX_STRIP_CUT_VALUE = 0xff;
41
42const UINT D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9;
43
44const UINT D3D11_CLIP_OR_CULL_DISTANCE_COUNT = 8;
45const UINT D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2;
46
47const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
48const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
49const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
50const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15;
51const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT = 16;
52const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
53const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
54const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
55const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
56const UINT D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64;
57const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
58const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1;
59const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
60const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
61const UINT D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32;
62const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1;
63const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128;
64const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1;
65const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1;
66const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128;
67const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1;
68const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16;
69const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1;
70const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1;
71const UINT D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT = 16;
72const UINT D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32;
73const UINT D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4;
74const UINT D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32;
75const UINT D3D11_COMMONSHADER_TEMP_REGISTER_COUNT = 4096;
76const UINT D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3;
77const UINT D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3;
78const UINT D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10;
79const INT D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10;
80const INT D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8;
81const UINT D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7;
82
83const UINT D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 256;
84const UINT D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP = 64;
85const UINT D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 240;
86const UINT D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP = 68;
87const UINT D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 224;
88const UINT D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP = 72;
89const UINT D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 208;
90const UINT D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP = 76;
91const UINT D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 192;
92const UINT D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP = 84;
93const UINT D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 176;
94const UINT D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP = 92;
95const UINT D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 160;
96const UINT D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP = 100;
97const UINT D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 144;
98const UINT D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP = 112;
99const UINT D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 128;
100const UINT D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP = 128;
101const UINT D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 112;
102const UINT D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP = 144;
103const UINT D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 96;
104const UINT D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP = 168;
105const UINT D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 80;
106const UINT D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP = 204;
107const UINT D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 64;
108const UINT D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP = 256;
109const UINT D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 48;
110const UINT D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP = 340;
111const UINT D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 32;
112const UINT D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP = 512;
113const UINT D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 16;
114const UINT D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP = 768;
115const UINT D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION = 1;
116const UINT D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT = 256;
117const UINT D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP = 768;
118const UINT D3D11_CS_4_X_THREAD_GROUP_MAX_X = 768;
119const UINT D3D11_CS_4_X_THREAD_GROUP_MAX_Y = 768;
120const UINT D3D11_CS_4_X_UAV_REGISTER_COUNT = 1;
121const UINT D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION = 65535;
122const UINT D3D11_CS_TGSM_REGISTER_COUNT = 8192;
123const UINT D3D11_CS_TGSM_REGISTER_READS_PER_INST = 1;
124const UINT D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS = 1;
125const UINT D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS = 1;
126const UINT D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP = 1024;
127const UINT D3D11_CS_THREAD_GROUP_MAX_X = 1024;
128const UINT D3D11_CS_THREAD_GROUP_MAX_Y = 1024;
129const UINT D3D11_CS_THREAD_GROUP_MAX_Z = 64;
130const UINT D3D11_CS_THREAD_GROUP_MIN_X = 1;
131const UINT D3D11_CS_THREAD_GROUP_MIN_Y = 1;
132const UINT D3D11_CS_THREAD_GROUP_MIN_Z = 1;
133const UINT D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL = 16384;
134
135const UINT D3D11_DEFAULT_DEPTH_BIAS = 0;
136cpp_quote("#define D3D11_DEFAULT_DEPTH_BIAS_CLAMP 0.0f")
137const UINT D3D11_DEFAULT_MAX_ANISOTROPY = 16;
138cpp_quote("#define D3D11_DEFAULT_MIP_LOD_BIAS 0.0f")
139const UINT D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
140const UINT D3D11_DEFAULT_SAMPLE_MASK = 0xffffffff;
141const UINT D3D11_DEFAULT_SCISSOR_ENDX = 0;
142const UINT D3D11_DEFAULT_SCISSOR_ENDY = 0;
143const UINT D3D11_DEFAULT_SCISSOR_STARTX = 0;
144const UINT D3D11_DEFAULT_SCISSOR_STARTY = 0;
145cpp_quote("#define D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0f")
146const UINT D3D11_DEFAULT_STENCIL_READ_MASK = 0xff;
147const UINT D3D11_DEFAULT_STENCIL_REFERENCE = 0;
148const UINT D3D11_DEFAULT_STENCIL_WRITE_MASK = 0xff;
149const UINT D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
150const UINT D3D11_DEFAULT_VIEWPORT_HEIGHT = 0;
151cpp_quote("#define D3D11_DEFAULT_VIEWPORT_MAX_DEPTH 0.0f")
152cpp_quote("#define D3D11_DEFAULT_VIEWPORT_MIN_DEPTH 0.0f")
153const UINT D3D11_DEFAULT_VIEWPORT_TOPLEFTX = 0;
154const UINT D3D11_DEFAULT_VIEWPORT_TOPLEFTY = 0;
155const UINT D3D11_DEFAULT_VIEWPORT_WIDTH = 0;
156
157cpp_quote("#define D3D11_FLOAT32_MAX (3.402823466e+38f)")
158
159const UINT D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0;
160const UINT D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0;
161const UINT D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0;
162const UINT D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1;
163const UINT D3D11_IA_INSTANCE_ID_BIT_COUNT = 32;
164const UINT D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32;
165const UINT D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT = 32;
166const UINT D3D11_IA_PRIMITIVE_ID_BIT_COUNT = 32;
167const UINT D3D11_IA_VERTEX_ID_BIT_COUNT = 32;
168const UINT D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32;
169const UINT D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 128;
170const UINT D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 32;
171
172const unsigned int D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
173
174const UINT D3D11_MAX_MAXANISOTROPY = 16;
175const UINT D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
176const UINT D3D11_VIEWPORT_BOUNDS_MAX = 32767;
177const INT D3D11_VIEWPORT_BOUNDS_MIN = -32768;
178const UINT D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
179const UINT D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
180
181const UINT D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL = 0xffffffff;
182const UINT D3D11_KEEP_UNORDERED_ACCESS_VIEWS = 0xffffffff;
183
184const UINT D3D11_SHADER_MAJOR_VERSION = 5;
185const UINT D3D11_SHADER_MAX_INSTANCES = 65535;
186const UINT D3D11_SHADER_MAX_INTERFACES = 253;
187const UINT D3D11_SHADER_MAX_INTERFACE_CALL_SITES = 4096;
188const UINT D3D11_SHADER_MAX_TYPES = 65535;
189const UINT D3D11_SHADER_MINOR_VERSION = 0;
190const UINT D3D11_VS_OUTPUT_REGISTER_COUNT = 32;
191
192const UINT D3D11_OMAC_SIZE = 16;
193
194const UINT D3D11_PS_CS_UAV_REGISTER_COMPONENTS = 1;
195const UINT D3D11_PS_CS_UAV_REGISTER_COUNT = 8;
196const UINT D3D11_PS_CS_UAV_REGISTER_READS_PER_INST = 1;
197const UINT D3D11_PS_CS_UAV_REGISTER_READ_PORTS = 1;
198const UINT D3D11_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff;
199const UINT D3D11_PS_FRONTFACING_FALSE_VALUE = 0;
200const UINT D3D11_PS_FRONTFACING_TRUE_VALUE = 0xffffffff;
201const UINT D3D11_PS_INPUT_REGISTER_COMPONENTS = 4;
202const UINT D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
203const UINT D3D11_PS_INPUT_REGISTER_COUNT = 32;
204const UINT D3D11_PS_INPUT_REGISTER_READS_PER_INST = 2;
205const UINT D3D11_PS_INPUT_REGISTER_READ_PORTS = 1;
206cpp_quote("#define D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.0f)")
207const UINT D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1;
208const UINT D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32;
209const UINT D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1;
210const UINT D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS = 1;
211const UINT D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = 32;
212const UINT D3D11_PS_OUTPUT_MASK_REGISTER_COUNT = 1;
213const UINT D3D11_PS_OUTPUT_REGISTER_COMPONENTS = 4;
214const UINT D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
215const UINT D3D11_PS_OUTPUT_REGISTER_COUNT = 8;
216cpp_quote("#define D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.5f)")
217
218const UINT D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT = 16;
219
220const UINT D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE = 4096;
221const UINT D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27;
222const UINT D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
223const UINT D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE = 4096;
224const UINT D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32;
225const UINT D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32;
226const UINT D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 16384;
227const UINT D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024;
228const UINT D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
229const UINT D3D11_REQ_MAXANISOTROPY = 16;
230const UINT D3D11_REQ_MIP_LEVELS = 15;
231const UINT D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048;
232const UINT D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE = 4096;
233const UINT D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 16384;
234const UINT D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM = 128;
235cpp_quote("#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f)")
236const UINT D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM = 2048;
237const UINT D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP = 20;
238const UINT D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE = 4096;
239const UINT D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 2048;
240const UINT D3D11_REQ_TEXTURE1D_U_DIMENSION = 16384;
241const UINT D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 2048;
242const UINT D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION = 16384;
243const UINT D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048;
244const UINT D3D11_REQ_TEXTURECUBE_DIMENSION = 16384;
245
246const UINT D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
247
248const UINT D3D11_SHIFT_INSTRUCTION_PAD_VALUE = 0;
249const UINT D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5;
250
251const UINT D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
252const UINT D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 512;
253const UINT D3D11_SO_BUFFER_SLOT_COUNT = 4;
254const UINT D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff;
255const UINT D3D11_SO_NO_RASTERIZED_STREAM = 0xffffffff;
256const UINT D3D11_SO_OUTPUT_COMPONENT_COUNT = 128;
257const UINT D3D11_SO_STREAM_COUNT = 4;
258
259const UINT D3D11_SPEC_DATE_DAY = 16;
260const UINT D3D11_SPEC_DATE_MONTH = 05;
261const UINT D3D11_SPEC_DATE_YEAR = 2011;
262
263cpp_quote("#define D3D11_SPEC_VERSION (1.07)")
264cpp_quote("#define D3D11_SRGB_GAMMA (2.2f)")
265cpp_quote("#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 (12.92f)")
266cpp_quote("#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 (1.055f)")
267cpp_quote("#define D3D11_SRGB_TO_FLOAT_EXPONENT (2.4f)")
268cpp_quote("#define D3D11_SRGB_TO_FLOAT_OFFSET (0.055f)")
269cpp_quote("#define D3D11_SRGB_TO_FLOAT_THRESHOLD (0.04045f)")
270cpp_quote("#define D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP (0.5f)")
271
272const UINT D3D11_STANDARD_COMPONENT_BIT_COUNT = 32;
273const UINT D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64;
274const UINT D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4;
275const UINT D3D11_STANDARD_PIXEL_COMPONENT_COUNT = 128;
276const UINT D3D11_STANDARD_PIXEL_ELEMENT_COUNT = 32;
277const UINT D3D11_STANDARD_VECTOR_SIZE = 4;
278const UINT D3D11_STANDARD_VERTEX_ELEMENT_COUNT = 32;
279const UINT D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64;
280
281cpp_quote("#endif")
282
283cpp_quote("#ifndef _D3D11_1_CONSTANTS")
284cpp_quote("#define _D3D11_1_CONSTANTS")
285const UINT D3D11_1_UAV_SLOT_COUNT = 64;
286cpp_quote("#endif")
287
288cpp_quote("#ifndef _D3D11_2_CONSTANTS")
289cpp_quote("#define _D3D11_2_CONSTANTS")
290const UINT D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES = 0x10000;
291cpp_quote("#endif")
292
293cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
294cpp_quote("struct CD3D11_DEFAULT {};")
295cpp_quote("extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;")
296cpp_quote("#endif")
297
298typedef enum D3D11_BLEND
299{
300 D3D11_BLEND_ZERO = 1,
301 D3D11_BLEND_ONE = 2,
302 D3D11_BLEND_SRC_COLOR = 3,
303 D3D11_BLEND_INV_SRC_COLOR = 4,
304 D3D11_BLEND_SRC_ALPHA = 5,
305 D3D11_BLEND_INV_SRC_ALPHA = 6,
306 D3D11_BLEND_DEST_ALPHA = 7,
307 D3D11_BLEND_INV_DEST_ALPHA = 8,
308 D3D11_BLEND_DEST_COLOR = 9,
309 D3D11_BLEND_INV_DEST_COLOR = 10,
310 D3D11_BLEND_SRC_ALPHA_SAT = 11,
311 D3D11_BLEND_BLEND_FACTOR = 14,
312 D3D11_BLEND_INV_BLEND_FACTOR = 15,
313 D3D11_BLEND_SRC1_COLOR = 16,
314 D3D11_BLEND_INV_SRC1_COLOR = 17,
315 D3D11_BLEND_SRC1_ALPHA = 18,
316 D3D11_BLEND_INV_SRC1_ALPHA = 19,
317} D3D11_BLEND;
318
319typedef enum D3D11_BLEND_OP
320{
321 D3D11_BLEND_OP_ADD = 1,
322 D3D11_BLEND_OP_SUBTRACT,
323 D3D11_BLEND_OP_REV_SUBTRACT,
324 D3D11_BLEND_OP_MIN,
325 D3D11_BLEND_OP_MAX
326} D3D11_BLEND_OP;
327
328typedef enum D3D11_VIDEO_DECODER_BUFFER_TYPE
329{
330 D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS = 0,
331 D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL = 1,
332 D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE = 2,
333 D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL = 3,
334 D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX = 4,
335 D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL = 5,
336 D3D11_VIDEO_DECODER_BUFFER_BITSTREAM = 6,
337 D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR = 7,
338 D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN = 8,
339} D3D11_VIDEO_DECODER_BUFFER_TYPE;
340
341typedef enum D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE
342{
343 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE = 0,
344 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND = 1,
345 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION = 2,
346 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM = 3,
347} D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE;
348
349typedef enum D3D11_VIDEO_PROCESSOR_OUTPUT_RATE
350{
351 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL = 0,
352 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF = 1,
353 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM = 2,
354} D3D11_VIDEO_PROCESSOR_OUTPUT_RATE;
355
356typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT
357{
358 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO = 0,
359 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL = 1,
360 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL = 2,
361 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE = 3,
362 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET = 4,
363 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5,
364 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED = 6,
365 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD = 7,
366} D3D11_VIDEO_PROCESSOR_STEREO_FORMAT;
367
368typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE
369{
370 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE = 0,
371 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 = 1,
372 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 = 2,
373} D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE;
374
375typedef enum D3D11_VIDEO_PROCESSOR_ROTATION
376{
377 D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY = 0,
378 D3D11_VIDEO_PROCESSOR_ROTATION_90 = 1,
379 D3D11_VIDEO_PROCESSOR_ROTATION_180 = 2,
380 D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3,
381} D3D11_VIDEO_PROCESSOR_ROTATION;
382
383typedef enum D3D11_VIDEO_PROCESSOR_DEVICE_CAPS
384{
385 D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE = 0x00000001,
386 D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC = 0x00000002,
387 D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x00000004,
388 D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x00000008,
389 D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE = 0x00000010,
390} D3D11_VIDEO_PROCESSOR_DEVICE_CAPS;
391
392typedef enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS
393{
394 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL = 0x00000001,
395 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION = 0x00000002,
396 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY = 0x00000004,
397 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE = 0x00000008,
398 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY = 0x00000010,
399 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO = 0x00000020,
400 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION = 0x00000040,
401 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x00000080,
402 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x00000100,
403 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x00000200,
404 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x00000400,
405 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10 = 0x00000800,
406} D3D11_VIDEO_PROCESSOR_FEATURE_CAPS;
407
408typedef enum D3D11_VIDEO_PROCESSOR_FILTER_CAPS
409{
410 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS = 0x00000001,
411 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST = 0x00000002,
412 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE = 0x00000004,
413 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION = 0x00000008,
414 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION = 0x00000010,
415 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT = 0x00000020,
416 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING = 0x00000040,
417 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT = 0x00000080,
418} D3D11_VIDEO_PROCESSOR_FILTER_CAPS;
419
420typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_CAPS
421{
422 D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED = 0x00000001,
423 D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP = 0x00000002,
424 D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY = 0x00000004,
425 D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED = 0x00000008,
426} D3D11_VIDEO_PROCESSOR_FORMAT_CAPS;
427
428typedef enum D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS
429{
430 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE = 0x00000001,
431 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING = 0x00000002,
432 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT = 0x00000004,
433 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION = 0x00000008,
434 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING = 0x00000010,
435 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION = 0x00000020,
436 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION = 0x00000040,
437 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING = 0x00000080,
438} D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS;
439
440typedef enum D3D11_VIDEO_PROCESSOR_STEREO_CAPS
441{
442 D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET = 0x00000001,
443 D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED = 0x00000002,
444 D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED = 0x00000004,
445 D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD = 0x00000008,
446 D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE = 0x00000010,
447} D3D11_VIDEO_PROCESSOR_STEREO_CAPS;
448
449typedef enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS
450{
451 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x01,
452 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x02,
453 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x04,
454 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x08,
455 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10,
456 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20,
457} D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS;
458
459typedef enum D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS
460{
461 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32 = 0x00000001,
462 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22 = 0x00000002,
463 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224 = 0x00000004,
464 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332 = 0x00000008,
465 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322 = 0x00000010,
466 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55 = 0x00000020,
467 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64 = 0x00000040,
468 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87 = 0x00000080,
469 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223 = 0x00000100,
470 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER = 0x80000000,
471} D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS;
472
473typedef enum D3D11_CONTENT_PROTECTION_CAPS
474{
475 D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE = 0x00000001,
476 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE = 0x00000002,
477 D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON = 0x00000004,
478 D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION = 0x00000008,
479 D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY = 0x00000010,
480 D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY = 0x00000020,
481 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK = 0x00000040,
482 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY = 0x00000080,
483 D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV = 0x00000100,
484 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY = 0x00000200,
485 D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT = 0x00000400,
486 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED = 0x00000800,
487 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE = 0x00001000,
488 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN = 0x00002000,
489 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION = 0x00004000,
490} D3D11_CONTENT_PROTECTION_CAPS;
491
492typedef enum D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE
493{
494 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED = 0x00000000,
495 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 = 0x00000001,
496 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255 = 0x00000002,
497} D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE;
498
499typedef enum D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE
500{
501 D3D11_PROCESSIDTYPE_UNKNOWN = 0x00000000,
502 D3D11_PROCESSIDTYPE_DWM = 0x00000001,
503 D3D11_PROCESSIDTYPE_HANDLE = 0x00000002,
504} D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE;
505
506typedef enum D3D11_BUS_TYPE
507{
508 D3D11_BUS_TYPE_OTHER = 0x00000000,
509 D3D11_BUS_TYPE_PCI = 0x00000001,
510 D3D11_BUS_TYPE_PCIX = 0x00000002,
511 D3D11_BUS_TYPE_PCIEXPRESS = 0x00000003,
512 D3D11_BUS_TYPE_AGP = 0x00000004,
513 D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET = 0x00010000,
514 D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x00020000,
515 D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x00030000,
516 D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x00040000,
517 D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x00050000,
518 D3D11_BUS_IMPL_MODIFIER_NON_STANDARD = 0x80000000,
519} D3D11_BUS_TYPE;
520
521typedef struct D3D11_BOX
522{
523 UINT left;
524 UINT top;
525 UINT front;
526 UINT right;
527 UINT bottom;
528 UINT back;
529} D3D11_BOX;
530
531typedef struct D3D11_BUFFER_RTV
532{
533 union
534 {
535 UINT FirstElement;
536 UINT ElementOffset;
537 };
538 union
539 {
540 UINT NumElements;
541 UINT ElementWidth;
542 };
543} D3D11_BUFFER_RTV;
544
545typedef struct D3D11_BUFFER_SRV
546{
547 union
548 {
549 UINT FirstElement;
550 UINT ElementOffset;
551 };
552 union
553 {
554 UINT NumElements;
555 UINT ElementWidth;
556 };
557} D3D11_BUFFER_SRV;
558
559typedef struct D3D11_BUFFER_UAV
560{
561 UINT FirstElement;
562 UINT NumElements;
563 UINT Flags;
564} D3D11_BUFFER_UAV;
565
566typedef struct D3D11_BUFFEREX_SRV
567{
568 UINT FirstElement;
569 UINT NumElements;
570 UINT Flags;
571} D3D11_BUFFEREX_SRV;
572
573typedef struct D3D11_CLASS_INSTANCE_DESC
574{
575 UINT InstanceId;
576 UINT InstanceIndex;
577 UINT TypeId;
578 UINT ConstantBuffer;
579 UINT BaseConstantBufferOffset;
580 UINT BaseTexture;
581 UINT BaseSampler;
582 BOOL Created;
583} D3D11_CLASS_INSTANCE_DESC;
584
585typedef enum D3D11_COMPARISON_FUNC
586{
587 D3D11_COMPARISON_NEVER = 1,
588 D3D11_COMPARISON_LESS,
589 D3D11_COMPARISON_EQUAL,
590 D3D11_COMPARISON_LESS_EQUAL,
591 D3D11_COMPARISON_GREATER,
592 D3D11_COMPARISON_NOT_EQUAL,
593 D3D11_COMPARISON_GREATER_EQUAL,
594 D3D11_COMPARISON_ALWAYS
595} D3D11_COMPARISON_FUNC;
596
597typedef enum D3D11_COUNTER
598{
599 D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000,
600} D3D11_COUNTER;
601
602typedef struct D3D11_COUNTER_DESC
603{
604 D3D11_COUNTER Counter;
605 UINT MiscFlags;
606} D3D11_COUNTER_DESC;
607
608typedef struct D3D11_COUNTER_INFO
609{
610 D3D11_COUNTER LastDeviceDependentCounter;
611 UINT NumSimultaneousCounters;
612 UINT8 NumDetectableParallelUnits;
613} D3D11_COUNTER_INFO;
614
615typedef enum D3D11_COUNTER_TYPE
616{
617 D3D11_COUNTER_TYPE_FLOAT32,
618 D3D11_COUNTER_TYPE_UINT16,
619 D3D11_COUNTER_TYPE_UINT32,
620 D3D11_COUNTER_TYPE_UINT64,
621} D3D11_COUNTER_TYPE;
622
623typedef enum D3D11_CULL_MODE
624{
625 D3D11_CULL_NONE = 1,
626 D3D11_CULL_FRONT,
627 D3D11_CULL_BACK
628} D3D11_CULL_MODE;
629
630typedef enum D3D11_DEPTH_WRITE_MASK
631{
632 D3D11_DEPTH_WRITE_MASK_ZERO,
633 D3D11_DEPTH_WRITE_MASK_ALL,
634} D3D11_DEPTH_WRITE_MASK;
635
636typedef enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS
637{
638 D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff,
639 D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe,
640} D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS;
641
642typedef enum D3D11_DEVICE_CONTEXT_TYPE
643{
644 D3D11_DEVICE_CONTEXT_IMMEDIATE,
645 D3D11_DEVICE_CONTEXT_DEFERRED,
646} D3D11_DEVICE_CONTEXT_TYPE;
647
648typedef enum D3D11_DSV_DIMENSION
649{
650 D3D11_DSV_DIMENSION_UNKNOWN,
651 D3D11_DSV_DIMENSION_TEXTURE1D,
652 D3D11_DSV_DIMENSION_TEXTURE1DARRAY,
653 D3D11_DSV_DIMENSION_TEXTURE2D,
654 D3D11_DSV_DIMENSION_TEXTURE2DARRAY,
655 D3D11_DSV_DIMENSION_TEXTURE2DMS,
656 D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY,
657} D3D11_DSV_DIMENSION;
658
659typedef enum D3D11_FEATURE
660{
661 D3D11_FEATURE_THREADING,
662 D3D11_FEATURE_DOUBLES,
663 D3D11_FEATURE_FORMAT_SUPPORT,
664 D3D11_FEATURE_FORMAT_SUPPORT2,
665 D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS,
666 D3D11_FEATURE_D3D11_OPTIONS,
667 D3D11_FEATURE_ARCHITECTURE_INFO,
668 D3D11_FEATURE_D3D9_OPTIONS,
669 D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT,
670 D3D11_FEATURE_D3D9_SHADOW_SUPPORT,
671 D3D11_FEATURE_D3D11_OPTIONS1,
672 D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT,
673 D3D11_FEATURE_MARKER_SUPPORT,
674 D3D11_FEATURE_D3D9_OPTIONS1,
675 D3D11_FEATURE_D3D11_OPTIONS2,
676 D3D11_FEATURE_D3D11_OPTIONS3,
677 D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT,
678 D3D11_FEATURE_D3D11_OPTIONS4,
679 D3D11_FEATURE_SHADER_CACHE,
680 D3D11_FEATURE_D3D11_OPTIONS5,
681} D3D11_FEATURE;
682
683typedef struct D3D11_FEATURE_DATA_THREADING
684{
685 BOOL DriverConcurrentCreates;
686 BOOL DriverCommandLists;
687} D3D11_FEATURE_DATA_THREADING;
688
689typedef struct D3D11_FEATURE_DATA_DOUBLES
690{
691 BOOL DoublePrecisionFloatShaderOps;
692} D3D11_FEATURE_DATA_DOUBLES;
693
694typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT
695{
696 DXGI_FORMAT InFormat;
697 UINT OutFormatSupport;
698} D3D11_FEATURE_DATA_FORMAT_SUPPORT;
699
700typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2
701{
702 DXGI_FORMAT InFormat;
703 UINT OutFormatSupport2;
704} D3D11_FEATURE_DATA_FORMAT_SUPPORT2;
705
706typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS
707{
708 BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x;
709} D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS;
710
711typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS
712{
713 BOOL OutputMergerLogicOp;
714 BOOL UAVOnlyRenderingForcedSampleCount;
715 BOOL DiscardAPIsSeenByDriver;
716 BOOL FlagsForUpdateAndCopySeenByDriver;
717 BOOL ClearView;
718 BOOL CopyWithOverlap;
719 BOOL ConstantBufferPartialUpdate;
720 BOOL ConstantBufferOffsetting;
721 BOOL MapNoOverwriteOnDynamicConstantBuffer;
722 BOOL MapNoOverwriteOnDynamicBufferSRV;
723 BOOL MultisampleRTVWithForcedSampleCountOne;
724 BOOL SAD4ShaderInstructions;
725 BOOL ExtendedDoublesShaderInstructions;
726 BOOL ExtendedResourceSharing;
727} D3D11_FEATURE_DATA_D3D11_OPTIONS;
728
729typedef struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO
730{
731 BOOL TileBasedDeferredRenderer;
732} D3D11_FEATURE_DATA_ARCHITECTURE_INFO;
733
734typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS
735{
736 BOOL FullNonPow2TextureSupport;
737} D3D11_FEATURE_DATA_D3D9_OPTIONS;
738
739typedef struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT
740{
741 BOOL SupportsDepthAsTextureWithLessEqualComparisonFilter;
742} D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT;
743
744typedef enum D3D11_SHADER_MIN_PRECISION_SUPPORT
745{
746 D3D11_SHADER_MIN_PRECISION_10_BIT = 0x1,
747 D3D11_SHADER_MIN_PRECISION_16_BIT = 0x2,
748} D3D11_SHADER_MIN_PRECISION_SUPPORT;
749
750typedef struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT
751{
752 UINT PixelShaderMinPrecision;
753 UINT AllOtherShaderStagesMinPrecision;
754} D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT;
755
756typedef enum D3D11_TILED_RESOURCES_TIER
757{
758 D3D11_TILED_RESOURCES_NOT_SUPPORTED = 0x0,
759 D3D11_TILED_RESOURCES_TIER_1 = 0x1,
760 D3D11_TILED_RESOURCES_TIER_2 = 0x2,
761 D3D11_TILED_RESOURCES_TIER_3 = 0x3,
762} D3D11_TILED_RESOURCES_TIER;
763
764typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS1
765{
766 D3D11_TILED_RESOURCES_TIER TiledResourcesTier;
767 BOOL MinMaxFiltering;
768 BOOL ClearViewAlsoSupportsDepthOnlyFormats;
769 BOOL MapOnDefaultBuffers;
770} D3D11_FEATURE_DATA_D3D11_OPTIONS1;
771
772typedef struct D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT
773{
774 BOOL SimpleInstancingSupported;
775} D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT;
776
777typedef struct D3D11_FEATURE_DATA_MARKER_SUPPORT
778{
779 BOOL Profile;
780} D3D11_FEATURE_DATA_MARKER_SUPPORT;
781
782typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS1
783{
784 BOOL FullNonPow2TextureSupported;
785 BOOL DepthAsTextureWithLessEqualComparisonFilterSupported;
786 BOOL SimpleInstancingSupported;
787 BOOL TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported;
788} D3D11_FEATURE_DATA_D3D9_OPTIONS1;
789
790typedef enum D3D11_CONSERVATIVE_RASTERIZATION_TIER
791{
792 D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED = 0x0,
793 D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 = 0x1,
794 D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 = 0x2,
795 D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 = 0x3,
796} D3D11_CONSERVATIVE_RASTERIZATION_TIER;
797
798typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS2
799{
800 BOOL PSSpecifiedStencilRefSupported;
801 BOOL TypedUAVLoadAdditionalFormats;
802 BOOL ROVsSupported;
803 D3D11_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
804 D3D11_TILED_RESOURCES_TIER TiledResourcesTier;
805 BOOL MapOnDefaultTextures;
806 BOOL StandardSwizzle;
807 BOOL UnifiedMemoryArchitecture;
808} D3D11_FEATURE_DATA_D3D11_OPTIONS2;
809
810typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS3
811{
812 BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizer;
813} D3D11_FEATURE_DATA_D3D11_OPTIONS3;
814
815typedef struct D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT
816{
817 UINT MaxGPUVirtualAddressBitsPerResource;
818 UINT MaxGPUVirtualAddressBitsPerProcess;
819} D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT;
820
821typedef enum D3D11_SHADER_CACHE_SUPPORT_FLAGS
822{
823 D3D11_SHADER_CACHE_SUPPORT_NONE = 0x0,
824 D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x1,
825 D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x2,
826} D3D11_SHADER_CACHE_SUPPORT_FLAGS;
827
828typedef struct D3D11_FEATURE_DATA_SHADER_CACHE
829{
830 UINT SupportFlags;
831} D3D11_FEATURE_DATA_SHADER_CACHE;
832
833typedef enum D3D11_SHARED_RESOURCE_TIER
834{
835 D3D11_SHARED_RESOURCE_TIER_0,
836 D3D11_SHARED_RESOURCE_TIER_1,
837 D3D11_SHARED_RESOURCE_TIER_2,
838 D3D11_SHARED_RESOURCE_TIER_3,
839} D3D11_SHARED_RESOURCE_TIER;
840
841typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS5
842{
843 D3D11_SHARED_RESOURCE_TIER SharedResourceTier;
844} D3D11_FEATURE_DATA_D3D11_OPTIONS5;
845
846typedef enum D3D11_FILL_MODE
847{
848 D3D11_FILL_WIREFRAME = 2,
849 D3D11_FILL_SOLID
850} D3D11_FILL_MODE;
851
852typedef enum D3D11_FILTER_TYPE
853{
854 D3D11_FILTER_TYPE_POINT = 0,
855 D3D11_FILTER_TYPE_LINEAR = 1
856} D3D11_FILTER_TYPE;
857
858const UINT D3D11_MIN_FILTER_SHIFT = 4;
859const UINT D3D11_MAG_FILTER_SHIFT = 2;
860const UINT D3D11_MIP_FILTER_SHIFT = 0;
861const UINT D3D11_FILTER_TYPE_MASK = 0x00000003;
862const UINT D3D11_COMPARISON_FILTERING_BIT = 0x00000080;
863const UINT D3D11_ANISOTROPIC_FILTERING_BIT = 0x00000040;
864
865cpp_quote("#define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, bComparison) \\")
866cpp_quote(" ((D3D11_FILTER)(((bComparison) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) | \\")
867cpp_quote(" (((min)&D3D11_FILTER_TYPE_MASK) << D3D11_MIN_FILTER_SHIFT) | \\")
868cpp_quote(" (((mag)&D3D11_FILTER_TYPE_MASK) << D3D11_MAG_FILTER_SHIFT) | \\")
869cpp_quote(" (((mip)&D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT)))")
870
871cpp_quote("#define D3D11_ENCODE_ANISOTROPIC_FILTER(bComparison) \\")
872cpp_quote(" ((D3D11_FILTER)(D3D11_ANISOTROPIC_FILTERING_BIT | \\" )
873cpp_quote(" D3D11_ENCODE_BASIC_FILTER(D3D11_FILTER_TYPE_LINEAR,D3D11_FILTER_TYPE_LINEAR, \\" )
874cpp_quote(" D3D11_FILTER_TYPE_LINEAR,bComparison)))" )
875
876cpp_quote("#define D3D11_DECODE_MIN_FILTER(d3d11Filter) \\")
877cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIN_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))")
878
879cpp_quote("#define D3D11_DECODE_MAG_FILTER(d3d11Filter) \\")
880cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MAG_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))")
881
882cpp_quote("#define D3D11_DECODE_MIP_FILTER(d3d11Filter) \\")
883cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIP_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))")
884
885cpp_quote("#define D3D11_DECODE_IS_COMPARISON_FILTER(d3d11Filter) ((d3d11Filter) & D3D11_COMPARISON_FILTERING_BIT)")
886
887cpp_quote("#define D3D11_DECODE_IS_ANISOTROPIC_FILTER(d3d11Filter) \\")
888cpp_quote(" (((d3d11Filter) & D3D11_ANISOTROPIC_FILTERING_BIT ) \\" )
889cpp_quote(" && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIN_FILTER(d3d11Filter)) \\" )
890cpp_quote(" && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MAG_FILTER(d3d11Filter)) \\" )
891cpp_quote(" && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIP_FILTER(d3d11Filter)))")
892
893typedef enum D3D11_FILTER
894{
895 D3D11_FILTER_MIN_MAG_MIP_POINT = 0x00,
896 D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x01,
897 D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x04,
898 D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x05,
899 D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
900 D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
901 D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
902 D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
903 D3D11_FILTER_ANISOTROPIC = 0x55,
904 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
905 D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
906 D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
907 D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
908 D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
909 D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
910 D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
911 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
912 D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
913 D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
914 D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
915 D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
916 D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
917 D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
918 D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
919 D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
920 D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
921 D3D11_FILTER_MINIMUM_ANISOTROPIC = 0x155,
922 D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
923 D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
924 D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
925 D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
926 D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
927 D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
928 D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
929 D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
930 D3D11_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
931} D3D11_FILTER;
932
933typedef enum D3D11_DSV_FLAG
934{
935 D3D11_DSV_READ_ONLY_DEPTH = 0x1,
936 D3D11_DSV_READ_ONLY_STENCIL = 0x2,
937} D3D11_DSV_FLAG;
938
939typedef enum D3D11_BUFFEREX_SRV_FLAG
940{
941 D3D11_BUFFEREX_SRV_FLAG_RAW = 0x1,
942} D3D11_BUFFEREX_SRV_FLAG;
943
944typedef enum D3D11_UAV_FLAG
945{
946 D3D11_BUFFER_UAV_FLAG_RAW = 0x1,
947 D3D11_BUFFER_UAV_FLAG_APPEND = 0x2,
948 D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4,
949} D3D11_UAV_FLAG;
950
951typedef enum D3D11_INPUT_CLASSIFICATION
952{
953 D3D11_INPUT_PER_VERTEX_DATA,
954 D3D11_INPUT_PER_INSTANCE_DATA,
955} D3D11_INPUT_CLASSIFICATION;
956
957const UINT D3D11_APPEND_ALIGNED_ELEMENT = 0xffffffff;
958
959typedef struct D3D11_INPUT_ELEMENT_DESC
960{
961 LPCSTR SemanticName;
962 UINT SemanticIndex;
963 DXGI_FORMAT Format;
964 UINT InputSlot;
965 UINT AlignedByteOffset;
966 D3D11_INPUT_CLASSIFICATION InputSlotClass;
967 UINT InstanceDataStepRate;
968} D3D11_INPUT_ELEMENT_DESC;
969
970typedef enum D3D11_MAP
971{
972 D3D11_MAP_READ = 1,
973 D3D11_MAP_WRITE,
974 D3D11_MAP_READ_WRITE,
975 D3D11_MAP_WRITE_DISCARD,
976 D3D11_MAP_WRITE_NO_OVERWRITE
977} D3D11_MAP;
978
979typedef enum D3D11_MAP_FLAG
980{
981 D3D11_MAP_FLAG_DO_NOT_WAIT = 0x00100000
982} D3D11_MAP_FLAG;
983
984typedef enum D3D11_RAISE_FLAG
985{
986 D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1,
987} D3D11_RAISE_FLAG;
988
989typedef struct D3D11_QUERY_DATA_SO_STATISTICS
990{
991 UINT64 NumPrimitivesWritten;
992 UINT64 PrimitivesStorageNeeded;
993} D3D11_QUERY_DATA_SO_STATISTICS;
994
995typedef struct D3D11_MAPPED_SUBRESOURCE
996{
997 void *pData;
998 UINT RowPitch;
999 UINT DepthPitch;
1000} D3D11_MAPPED_SUBRESOURCE;
1001
1002typedef enum D3D11_QUERY
1003{
1004 D3D11_QUERY_EVENT,
1005 D3D11_QUERY_OCCLUSION,
1006 D3D11_QUERY_TIMESTAMP,
1007 D3D11_QUERY_TIMESTAMP_DISJOINT,
1008 D3D11_QUERY_PIPELINE_STATISTICS,
1009 D3D11_QUERY_OCCLUSION_PREDICATE,
1010 D3D11_QUERY_SO_STATISTICS,
1011 D3D11_QUERY_SO_OVERFLOW_PREDICATE,
1012 D3D11_QUERY_SO_STATISTICS_STREAM0,
1013 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0,
1014 D3D11_QUERY_SO_STATISTICS_STREAM1,
1015 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1,
1016 D3D11_QUERY_SO_STATISTICS_STREAM2,
1017 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2,
1018 D3D11_QUERY_SO_STATISTICS_STREAM3,
1019 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3,
1020} D3D11_QUERY;
1021
1022typedef enum D3D11_QUERY_MISC_FLAG
1023{
1024 D3D11_QUERY_MISC_PREDICATEHINT = 0x1,
1025} D3D11_QUERY_MISC_FLAG;
1026
1027typedef enum D3D11_ASYNC_GETDATA_FLAG
1028{
1029 D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x0001,
1030} D3D11_ASYNC_GETDATA_FLAG;
1031
1032typedef enum D3D11_RESOURCE_MISC_FLAG
1033{
1034 D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x00000001L,
1035 D3D11_RESOURCE_MISC_SHARED = 0x00000002L,
1036 D3D11_RESOURCE_MISC_TEXTURECUBE = 0x00000004L,
1037 D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x00000010L,
1038 D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x00000020L,
1039 D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x00000040L,
1040 D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x00000080L,
1041 D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x00000100L,
1042 D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x00000200L,
1043 D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x00000800L,
1044 D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x00001000L,
1045 D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x00002000L,
1046 D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x00004000L,
1047 D3D11_RESOURCE_MISC_GUARDED = 0x00008000L,
1048 D3D11_RESOURCE_MISC_TILE_POOL = 0x00020000L,
1049 D3D11_RESOURCE_MISC_TILED = 0x00040000L,
1050 D3D11_RESOURCE_MISC_HW_PROTECTED = 0x00080000L,
1051 D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE = 0x00100000L,
1052 D3D11_RESOURCE_MISC_SHARED_EXCLUSIVE_WRITER = 0x00200000L
1053} D3D11_RESOURCE_MISC_FLAG;
1054
1055typedef struct D3D11_QUERY_DESC
1056{
1057 D3D11_QUERY Query;
1058 UINT MiscFlags;
1059} D3D11_QUERY_DESC;
1060
1061cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
1062cpp_quote("struct CD3D11_QUERY_DESC : public D3D11_QUERY_DESC {")
1063cpp_quote(" CD3D11_QUERY_DESC() {}")
1064cpp_quote(" ~CD3D11_QUERY_DESC() {}")
1065cpp_quote(" explicit CD3D11_QUERY_DESC(const D3D11_QUERY_DESC &other) : D3D11_QUERY_DESC(other) {}")
1066cpp_quote(" explicit CD3D11_QUERY_DESC(D3D11_QUERY query, UINT misc_flags = 0) {")
1067cpp_quote(" Query = query;")
1068cpp_quote(" MiscFlags = misc_flags;")
1069cpp_quote(" }")
1070cpp_quote(" operator const D3D11_QUERY_DESC&() const {")
1071cpp_quote(" return *this;")
1072cpp_quote(" }")
1073cpp_quote("};")
1074cpp_quote("#endif")
1075
1076typedef struct D3D11_RASTERIZER_DESC
1077{
1078 D3D11_FILL_MODE FillMode;
1079 D3D11_CULL_MODE CullMode;
1080 BOOL FrontCounterClockwise;
1081 INT DepthBias;
1082 FLOAT DepthBiasClamp;
1083 FLOAT SlopeScaledDepthBias;
1084 BOOL DepthClipEnable;
1085 BOOL ScissorEnable;
1086 BOOL MultisampleEnable;
1087 BOOL AntialiasedLineEnable;
1088} D3D11_RASTERIZER_DESC;
1089
1090cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
1091cpp_quote("struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC {")
1092cpp_quote(" CD3D11_RASTERIZER_DESC() {}")
1093cpp_quote(" explicit CD3D11_RASTERIZER_DESC(const D3D11_RASTERIZER_DESC &o) : D3D11_RASTERIZER_DESC(o) {}")
1094cpp_quote(" explicit CD3D11_RASTERIZER_DESC(CD3D11_DEFAULT) {")
1095cpp_quote(" FillMode = D3D11_FILL_SOLID;")
1096cpp_quote(" CullMode = D3D11_CULL_BACK;")
1097cpp_quote(" FrontCounterClockwise = FALSE;")
1098cpp_quote(" DepthBias = D3D11_DEFAULT_DEPTH_BIAS;")
1099cpp_quote(" DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP;")
1100cpp_quote(" SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;")
1101cpp_quote(" DepthClipEnable = TRUE;")
1102cpp_quote(" ScissorEnable = FALSE;")
1103cpp_quote(" MultisampleEnable = FALSE;")
1104cpp_quote(" AntialiasedLineEnable = FALSE;")
1105cpp_quote(" }")
1106cpp_quote(" explicit CD3D11_RASTERIZER_DESC(D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode," )
1107cpp_quote(" BOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias,")
1108cpp_quote(" BOOL depthClipEnable, BOOL scissorEnable, BOOL multisampleEnable, BOOL antialiasedLineEnable) {")
1109cpp_quote(" FillMode = fillMode;")
1110cpp_quote(" CullMode = cullMode;")
1111cpp_quote(" FrontCounterClockwise = frontCounterClockwise;")
1112cpp_quote(" DepthBias = depthBias;")
1113cpp_quote(" DepthBiasClamp = depthBiasClamp;")
1114cpp_quote(" SlopeScaledDepthBias = slopeScaledDepthBias;")
1115cpp_quote(" DepthClipEnable = depthClipEnable;")
1116cpp_quote(" ScissorEnable = scissorEnable;")
1117cpp_quote(" MultisampleEnable = multisampleEnable;")
1118cpp_quote(" AntialiasedLineEnable = antialiasedLineEnable;")
1119cpp_quote(" }")
1120cpp_quote(" ~CD3D11_RASTERIZER_DESC() {}")
1121cpp_quote(" operator const D3D11_RASTERIZER_DESC&() const { return *this; }")
1122cpp_quote("};")
1123cpp_quote("#endif")
1124
1125typedef enum D3D11_RESOURCE_DIMENSION
1126{
1127 D3D11_RESOURCE_DIMENSION_UNKNOWN,
1128 D3D11_RESOURCE_DIMENSION_BUFFER,
1129 D3D11_RESOURCE_DIMENSION_TEXTURE1D,
1130 D3D11_RESOURCE_DIMENSION_TEXTURE2D,
1131 D3D11_RESOURCE_DIMENSION_TEXTURE3D,
1132} D3D11_RESOURCE_DIMENSION;
1133
1134typedef enum D3D11_RTV_DIMENSION
1135{
1136 D3D11_RTV_DIMENSION_UNKNOWN,
1137 D3D11_RTV_DIMENSION_BUFFER,
1138 D3D11_RTV_DIMENSION_TEXTURE1D,
1139 D3D11_RTV_DIMENSION_TEXTURE1DARRAY,
1140 D3D11_RTV_DIMENSION_TEXTURE2D,
1141 D3D11_RTV_DIMENSION_TEXTURE2DARRAY,
1142 D3D11_RTV_DIMENSION_TEXTURE2DMS,
1143 D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY,
1144 D3D11_RTV_DIMENSION_TEXTURE3D,
1145} D3D11_RTV_DIMENSION;
1146
1147typedef struct D3D11_SO_DECLARATION_ENTRY
1148{
1149 UINT Stream;
1150 LPCSTR SemanticName;
1151 UINT SemanticIndex;
1152 BYTE StartComponent;
1153 BYTE ComponentCount;
1154 BYTE OutputSlot;
1155} D3D11_SO_DECLARATION_ENTRY;
1156
1157typedef enum D3D11_STENCIL_OP
1158{
1159 D3D11_STENCIL_OP_KEEP = 1,
1160 D3D11_STENCIL_OP_ZERO,
1161 D3D11_STENCIL_OP_REPLACE,
1162 D3D11_STENCIL_OP_INCR_SAT,
1163 D3D11_STENCIL_OP_DECR_SAT,
1164 D3D11_STENCIL_OP_INVERT,
1165 D3D11_STENCIL_OP_INCR,
1166 D3D11_STENCIL_OP_DECR
1167} D3D11_STENCIL_OP;
1168
1169cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
1170cpp_quote("}")
1171cpp_quote("inline UINT D3D11CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT MipLevels) {")
1172cpp_quote(" return MipSlice + ArraySlice * MipLevels;")
1173cpp_quote("}")
1174cpp_quote("extern \"C\"{")
1175cpp_quote("#endif")
1176
1177typedef struct D3D11_SUBRESOURCE_DATA
1178{
1179 const void *pSysMem;
1180 UINT SysMemPitch;
1181 UINT SysMemSlicePitch;
1182} D3D11_SUBRESOURCE_DATA;
1183
1184typedef struct D3D11_TEX1D_ARRAY_DSV
1185{
1186 UINT MipSlice;
1187 UINT FirstArraySlice;
1188 UINT ArraySize;
1189} D3D11_TEX1D_ARRAY_DSV;
1190
1191typedef struct D3D11_TEX1D_ARRAY_RTV
1192{
1193 UINT MipSlice;
1194 UINT FirstArraySlice;
1195 UINT ArraySize;
1196} D3D11_TEX1D_ARRAY_RTV;
1197
1198typedef struct D3D11_TEX1D_ARRAY_SRV
1199{
1200 UINT MostDetailedMip;
1202 UINT FirstArraySlice;
1203 UINT ArraySize;
1204} D3D11_TEX1D_ARRAY_SRV;
1205
1206typedef struct D3D11_TEX1D_ARRAY_UAV
1207{
1208 UINT MipSlice;
1209 UINT FirstArraySlice;
1210 UINT ArraySize;
1211} D3D11_TEX1D_ARRAY_UAV;
1212
1213typedef struct D3D11_TEX1D_DSV
1214{
1215 UINT MipSlice;
1216} D3D11_TEX1D_DSV;
1217
1218typedef struct D3D11_TEX1D_RTV
1219{
1220 UINT MipSlice;
1221} D3D11_TEX1D_RTV;
1222
1223typedef struct D3D11_TEX1D_SRV
1224{
1225 UINT MostDetailedMip;
1227 } D3D11_TEX1D_SRV;
1228
1229typedef struct D3D11_TEX1D_UAV
1230{
1231 UINT MipSlice;
1232} D3D11_TEX1D_UAV;
1233
1234typedef struct D3D11_TEX2D_ARRAY_DSV
1235{
1236 UINT MipSlice;
1237 UINT FirstArraySlice;
1238 UINT ArraySize;
1239} D3D11_TEX2D_ARRAY_DSV;
1240
1241typedef struct D3D11_TEX2D_ARRAY_RTV
1242{
1243 UINT MipSlice;
1244 UINT FirstArraySlice;
1245 UINT ArraySize;
1246} D3D11_TEX2D_ARRAY_RTV;
1247
1248typedef struct D3D11_TEX2D_ARRAY_SRV
1249{
1250 UINT MostDetailedMip;
1252 UINT FirstArraySlice;
1253 UINT ArraySize;
1254} D3D11_TEX2D_ARRAY_SRV;
1255
1256typedef struct D3D11_TEX2D_ARRAY_UAV
1257{
1258 UINT MipSlice;
1259 UINT FirstArraySlice;
1260 UINT ArraySize;
1261} D3D11_TEX2D_ARRAY_UAV;
1262
1263typedef struct D3D11_TEX2D_DSV
1264{
1265 UINT MipSlice;
1266} D3D11_TEX2D_DSV;
1267
1268typedef struct D3D11_TEX2D_RTV
1269{
1270 UINT MipSlice;
1271} D3D11_TEX2D_RTV;
1272
1273typedef struct D3D11_TEX2D_SRV
1274{
1275 UINT MostDetailedMip;
1277} D3D11_TEX2D_SRV;
1278
1279typedef struct D3D11_TEX2D_UAV
1280{
1281 UINT MipSlice;
1282} D3D11_TEX2D_UAV;
1283
1284typedef struct D3D11_TEX2DMS_ARRAY_DSV
1285{
1286 UINT FirstArraySlice;
1287 UINT ArraySize;
1288} D3D11_TEX2DMS_ARRAY_DSV;
1289
1290typedef struct D3D11_TEX2DMS_ARRAY_RTV
1291{
1292 UINT FirstArraySlice;
1293 UINT ArraySize;
1294} D3D11_TEX2DMS_ARRAY_RTV;
1295
1296typedef struct D3D11_TEX2DMS_ARRAY_SRV
1297{
1298 UINT FirstArraySlice;
1299 UINT ArraySize;
1300} D3D11_TEX2DMS_ARRAY_SRV;
1301
1302typedef struct D3D11_TEX2DMS_DSV
1303{
1304 UINT UnusedField_NothingToDefine;
1305} D3D11_TEX2DMS_DSV;
1306
1307typedef struct D3D11_TEX2DMS_RTV
1308{
1309 UINT UnusedField_NothingToDefine;
1310} D3D11_TEX2DMS_RTV;
1311
1312typedef struct D3D11_TEX2DMS_SRV
1313{
1314 UINT UnusedField_NothingToDefine;
1315} D3D11_TEX2DMS_SRV;
1316
1317typedef struct D3D11_TEX3D_RTV
1318{
1319 UINT MipSlice;
1320 UINT FirstWSlice;
1321 UINT WSize;
1322} D3D11_TEX3D_RTV;
1323
1324typedef struct D3D11_TEX3D_SRV
1325{
1326 UINT MostDetailedMip;
1328} D3D11_TEX3D_SRV;
1329
1330typedef struct D3D11_TEX3D_UAV
1331{
1332 UINT MipSlice;
1333 UINT FirstWSlice;
1334 UINT WSize;
1335} D3D11_TEX3D_UAV;
1336
1337typedef struct D3D11_TEXCUBE_ARRAY_SRV
1338{
1339 UINT MostDetailedMip;
1342 UINT NumCubes;
1343} D3D11_TEXCUBE_ARRAY_SRV;
1344
1345typedef struct D3D11_TEXCUBE_SRV
1346{
1347 UINT MostDetailedMip;
1349} D3D11_TEXCUBE_SRV;
1350
1351typedef enum D3D11_TEXTURE_ADDRESS_MODE
1352{
1353 D3D11_TEXTURE_ADDRESS_WRAP = 1,
1354 D3D11_TEXTURE_ADDRESS_MIRROR,
1355 D3D11_TEXTURE_ADDRESS_CLAMP,
1356 D3D11_TEXTURE_ADDRESS_BORDER,
1357 D3D11_TEXTURE_ADDRESS_MIRROR_ONCE
1358} D3D11_TEXTURE_ADDRESS_MODE;
1359
1360typedef enum D3D11_UAV_DIMENSION
1361{
1362 D3D11_UAV_DIMENSION_UNKNOWN,
1363 D3D11_UAV_DIMENSION_BUFFER,
1364 D3D11_UAV_DIMENSION_TEXTURE1D,
1365 D3D11_UAV_DIMENSION_TEXTURE1DARRAY,
1366 D3D11_UAV_DIMENSION_TEXTURE2D,
1367 D3D11_UAV_DIMENSION_TEXTURE2DARRAY,
1368 D3D11_UAV_DIMENSION_TEXTURE3D = 8,
1369} D3D11_UAV_DIMENSION;
1370
1371typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC
1372{
1374 D3D11_UAV_DIMENSION ViewDimension;
1375
1376 union
1377 {
1379 D3D11_TEX1D_UAV Texture1D;
1380 D3D11_TEX1D_ARRAY_UAV Texture1DArray;
1381 D3D11_TEX2D_UAV Texture2D;
1382 D3D11_TEX2D_ARRAY_UAV Texture2DArray;
1383 D3D11_TEX3D_UAV Texture3D;
1384 };
1385} D3D11_UNORDERED_ACCESS_VIEW_DESC;
1386
1387typedef enum D3D11_USAGE
1388{
1389 D3D11_USAGE_DEFAULT,
1390 D3D11_USAGE_IMMUTABLE,
1391 D3D11_USAGE_DYNAMIC,
1392 D3D11_USAGE_STAGING,
1393} D3D11_USAGE;
1394
1395typedef enum D3D11_BIND_FLAG
1396{
1397 D3D11_BIND_VERTEX_BUFFER = 0x0001,
1398 D3D11_BIND_INDEX_BUFFER = 0x0002,
1399 D3D11_BIND_CONSTANT_BUFFER = 0x0004,
1400 D3D11_BIND_SHADER_RESOURCE = 0x0008,
1401 D3D11_BIND_STREAM_OUTPUT = 0x0010,
1402 D3D11_BIND_RENDER_TARGET = 0x0020,
1403 D3D11_BIND_DEPTH_STENCIL = 0x0040,
1404 D3D11_BIND_UNORDERED_ACCESS = 0x0080,
1405 D3D11_BIND_DECODER = 0x0200,
1406 D3D11_BIND_VIDEO_ENCODER = 0x0400
1407} D3D11_BIND_FLAG;
1408
1409typedef enum D3D11_CPU_ACCESS_FLAG
1410{
1411 D3D11_CPU_ACCESS_WRITE = 0x00010000,
1412 D3D11_CPU_ACCESS_READ = 0x00020000
1413} D3D11_CPU_ACCESS_FLAG;
1414
1415typedef struct D3D11_VIEWPORT
1416{
1417 FLOAT TopLeftX;
1418 FLOAT TopLeftY;
1419 FLOAT Width;
1420 FLOAT Height;
1421 FLOAT MinDepth;
1423} D3D11_VIEWPORT;
1424
1425typedef enum D3D11_COLOR_WRITE_ENABLE
1426{
1427 D3D11_COLOR_WRITE_ENABLE_RED = 1,
1428 D3D11_COLOR_WRITE_ENABLE_GREEN = 2,
1429 D3D11_COLOR_WRITE_ENABLE_BLUE = 4,
1430 D3D11_COLOR_WRITE_ENABLE_ALPHA = 8,
1431 D3D11_COLOR_WRITE_ENABLE_ALL =
1432 (D3D11_COLOR_WRITE_ENABLE_RED|D3D11_COLOR_WRITE_ENABLE_GREEN|D3D11_COLOR_WRITE_ENABLE_BLUE|D3D11_COLOR_WRITE_ENABLE_ALPHA)
1433} D3D11_COLOR_WRITE_ENABLE;
1434
1435typedef enum D3D11_FORMAT_SUPPORT
1436{
1437 D3D11_FORMAT_SUPPORT_BUFFER = 0x00000001,
1438 D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x00000002,
1439 D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x00000004,
1440 D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x00000008,
1441 D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x00000010,
1442 D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x00000020,
1443 D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x00000040,
1444 D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x00000080,
1445 D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x00000100,
1446 D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x00000200,
1447 D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x00000400,
1448 D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x00000800,
1449 D3D11_FORMAT_SUPPORT_MIP = 0x00001000,
1450 D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x00002000,
1451 D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x00004000,
1452 D3D11_FORMAT_SUPPORT_BLENDABLE = 0x00008000,
1453 D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x00010000,
1454 D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x00020000,
1455 D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x00040000,
1456 D3D11_FORMAT_SUPPORT_DISPLAY = 0x00080000,
1457 D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x00100000,
1458 D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x00200000,
1459 D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x00400000,
1460 D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x00800000,
1461 D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x01000000,
1462 D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x02000000,
1463 D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x04000000,
1464 D3D11_FORMAT_SUPPORT_DECODER_OUTPUT = 0x08000000,
1465 D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT = 0x10000000,
1466 D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT = 0x20000000,
1467 D3D11_FORMAT_SUPPORT_VIDEO_ENCODER = 0x40000000,
1468} D3D11_FORMAT_SUPPORT;
1469
1470typedef enum D3D11_FORMAT_SUPPORT2
1471{
1472 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x00000001,
1473 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x00000002,
1474 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x00000004,
1475 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x00000008,
1476 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x00000010,
1477 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x00000020,
1478 D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x00000040,
1479 D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x00000080,
1480 D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x00000100,
1481 D3D11_FORMAT_SUPPORT2_TILED = 0x00000200,
1482 D3D11_FORMAT_SUPPORT2_SHAREABLE = 0x00000400,
1483 D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x00004000,
1484} D3D11_FORMAT_SUPPORT2;
1485
1486typedef enum D3D11_CLEAR_FLAG
1487{
1488 D3D11_CLEAR_DEPTH = 0x0001L,
1489 D3D11_CLEAR_STENCIL = 0x0002L
1490} D3D11_CLEAR_FLAG;
1491
1492typedef struct D3D11_RENDER_TARGET_BLEND_DESC
1493{
1494 BOOL BlendEnable;
1495 D3D11_BLEND SrcBlend;
1496 D3D11_BLEND DestBlend;
1497 D3D11_BLEND_OP BlendOp;
1498 D3D11_BLEND SrcBlendAlpha;
1499 D3D11_BLEND DestBlendAlpha;
1500 D3D11_BLEND_OP BlendOpAlpha;
1501 UINT8 RenderTargetWriteMask;
1502} D3D11_RENDER_TARGET_BLEND_DESC;
1503
1504typedef struct D3D11_BLEND_DESC
1505{
1506 BOOL AlphaToCoverageEnable;
1507 BOOL IndependentBlendEnable;
1508 D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT];
1509} D3D11_BLEND_DESC;
1510
1511cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
1512cpp_quote("struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC {")
1513cpp_quote(" CD3D11_BLEND_DESC() {}")
1514cpp_quote(" explicit CD3D11_BLEND_DESC(const D3D11_BLEND_DESC &o) : D3D11_BLEND_DESC(o) {}")
1515cpp_quote(" explicit CD3D11_BLEND_DESC(CD3D11_DEFAULT) {")
1516cpp_quote(" AlphaToCoverageEnable = FALSE;")
1517cpp_quote(" IndependentBlendEnable = FALSE;")
1518cpp_quote(" for(D3D11_RENDER_TARGET_BLEND_DESC *target = RenderTarget;")
1519cpp_quote(" target < RenderTarget + D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT;")
1520cpp_quote(" target++) {")
1521cpp_quote(" target->BlendEnable = FALSE;")
1522cpp_quote(" target->SrcBlend = target->SrcBlendAlpha = D3D11_BLEND_ONE;")
1523cpp_quote(" target->DestBlend = target->DestBlendAlpha = D3D11_BLEND_ZERO;")
1524cpp_quote(" target->BlendOp = target->BlendOpAlpha = D3D11_BLEND_OP_ADD;")
1525cpp_quote(" target->RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;")
1526cpp_quote(" }")
1527cpp_quote(" }")
1528cpp_quote(" ~CD3D11_BLEND_DESC() {}")
1529cpp_quote(" operator const D3D11_BLEND_DESC&() const { return *this; }")
1530cpp_quote("};" )
1531cpp_quote("#endif" )
1532
1533typedef struct D3D11_BUFFER_DESC
1534{
1535 UINT ByteWidth;
1536 D3D11_USAGE Usage;
1537 UINT BindFlags;
1538 UINT CPUAccessFlags;
1539 UINT MiscFlags;
1540 UINT StructureByteStride;
1541} D3D11_BUFFER_DESC;
1542
1543cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
1544cpp_quote("struct CD3D11_BUFFER_DESC : public D3D11_BUFFER_DESC {")
1545cpp_quote(" CD3D11_BUFFER_DESC() {}" )
1546cpp_quote(" explicit CD3D11_BUFFER_DESC(const D3D11_BUFFER_DESC &o) : D3D11_BUFFER_DESC(o) {}")
1547cpp_quote(" explicit CD3D11_BUFFER_DESC(UINT byteWidth,UINT bindFlags,")
1548cpp_quote(" D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0,")
1549cpp_quote(" UINT miscFlags = 0, UINT structureByteStride = 0 ) {")
1550cpp_quote(" ByteWidth = byteWidth;")
1551cpp_quote(" Usage = usage;")
1552cpp_quote(" BindFlags = bindFlags;")
1553cpp_quote(" CPUAccessFlags = cpuaccessFlags;")
1554cpp_quote(" MiscFlags = miscFlags;" )
1555cpp_quote(" StructureByteStride = structureByteStride;")
1556cpp_quote(" }")
1557cpp_quote(" ~CD3D11_BUFFER_DESC() {}")
1558cpp_quote(" operator const D3D11_BUFFER_DESC&() const { return *this; }")
1559cpp_quote("};" )
1560cpp_quote("#endif" )
1561
1562typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC
1563{
1564 DXGI_FORMAT Format;
1565 D3D11_DSV_DIMENSION ViewDimension;
1566 UINT Flags;
1567
1568 union
1569 {
1570 D3D11_TEX1D_DSV Texture1D;
1571 D3D11_TEX1D_ARRAY_DSV Texture1DArray;
1572 D3D11_TEX2D_DSV Texture2D;
1573 D3D11_TEX2D_ARRAY_DSV Texture2DArray;
1574 D3D11_TEX2DMS_DSV Texture2DMS;
1575 D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray;
1576 };
1577} D3D11_DEPTH_STENCIL_VIEW_DESC;
1578
1579typedef struct D3D11_DEPTH_STENCILOP_DESC
1580{
1581 D3D11_STENCIL_OP StencilFailOp;
1582 D3D11_STENCIL_OP StencilDepthFailOp;
1583 D3D11_STENCIL_OP StencilPassOp;
1584 D3D11_COMPARISON_FUNC StencilFunc;
1585} D3D11_DEPTH_STENCILOP_DESC;
1586
1587typedef struct D3D11_DEPTH_STENCIL_DESC
1588{
1589 BOOL DepthEnable;
1590 D3D11_DEPTH_WRITE_MASK DepthWriteMask;
1591 D3D11_COMPARISON_FUNC DepthFunc;
1592 BOOL StencilEnable;
1593 UINT8 StencilReadMask;
1594 UINT8 StencilWriteMask;
1595 D3D11_DEPTH_STENCILOP_DESC FrontFace;
1596 D3D11_DEPTH_STENCILOP_DESC BackFace;
1597} D3D11_DEPTH_STENCIL_DESC;
1598
1599cpp_quote("#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )")
1600cpp_quote("struct CD3D11_DEPTH_STENCIL_DESC : public D3D11_DEPTH_STENCIL_DESC {")
1601cpp_quote(" CD3D11_DEPTH_STENCIL_DESC() {}")
1602cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(const D3D11_DEPTH_STENCIL_DESC &other) : D3D11_DEPTH_STENCIL_DESC(other) {}")
1603cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(CD3D11_DEFAULT) {")
1604cpp_quote(" const D3D11_DEPTH_STENCILOP_DESC default_op =")
1605cpp_quote(" {D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_COMPARISON_ALWAYS};")
1606cpp_quote(" DepthEnable = TRUE;")
1607cpp_quote(" DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;")
1608cpp_quote(" DepthFunc = D3D11_COMPARISON_LESS;")
1609cpp_quote(" StencilEnable = FALSE;")
1610cpp_quote(" StencilReadMask = D3D11_DEFAULT_STENCIL_READ_MASK;")
1611cpp_quote(" StencilWriteMask = D3D11_DEFAULT_STENCIL_WRITE_MASK;")
1612cpp_quote(" FrontFace = default_op;")
1613cpp_quote(" BackFace = default_op;")
1614cpp_quote(" }")
1615cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(")
1616cpp_quote(" BOOL depth_enable,")
1617cpp_quote(" D3D11_DEPTH_WRITE_MASK depth_write_mask,")
1618cpp_quote(" D3D11_COMPARISON_FUNC depth_func,")
1619cpp_quote(" BOOL stencil_enable,")
1620cpp_quote(" UINT8 stencil_read_mask,")
1621cpp_quote(" UINT8 stencil_write_mask,")
1622cpp_quote(" D3D11_STENCIL_OP front_stencil_fail_op,")
1623cpp_quote(" D3D11_STENCIL_OP front_stencil_depth_fail_op,")
1624cpp_quote(" D3D11_STENCIL_OP front_stencil_pass_op,")
1625cpp_quote(" D3D11_COMPARISON_FUNC front_stencil_func,")
1626cpp_quote(" D3D11_STENCIL_OP back_stencil_fail_op,")
1627cpp_quote(" D3D11_STENCIL_OP back_stencil_depth_fail_op,")
1628cpp_quote(" D3D11_STENCIL_OP back_stencil_pass_op,")
1629cpp_quote(" D3D11_COMPARISON_FUNC back_stencil_func) {")
1630cpp_quote(" DepthEnable = depth_enable;")
1631cpp_quote(" DepthWriteMask = depth_write_mask;")
1632cpp_quote(" DepthFunc = depth_func;")
1633cpp_quote(" StencilEnable = stencil_enable;")
1634cpp_quote(" StencilReadMask = stencil_read_mask;")
1635cpp_quote(" StencilWriteMask = stencil_write_mask;")
1636cpp_quote(" FrontFace.StencilFailOp = front_stencil_fail_op;")
1637cpp_quote(" FrontFace.StencilDepthFailOp = front_stencil_depth_fail_op;")
1638cpp_quote(" FrontFace.StencilPassOp = front_stencil_pass_op;")
1639cpp_quote(" FrontFace.StencilFunc = front_stencil_func;")
1640cpp_quote(" BackFace.StencilFailOp = back_stencil_fail_op;")
1641cpp_quote(" BackFace.StencilDepthFailOp = back_stencil_depth_fail_op;")
1642cpp_quote(" BackFace.StencilPassOp = back_stencil_pass_op;")
1643cpp_quote(" BackFace.StencilFunc = back_stencil_func;")
1644cpp_quote(" }")
1645cpp_quote(" ~CD3D11_DEPTH_STENCIL_DESC() {}")
1646cpp_quote(" operator const D3D11_DEPTH_STENCIL_DESC&() const { return *this; }")
1647cpp_quote("};")
1648cpp_quote("#endif")
1649
1650typedef struct D3D11_RENDER_TARGET_VIEW_DESC
1651{
1652 DXGI_FORMAT Format;
1653 D3D11_RTV_DIMENSION ViewDimension;
1654
1655 union
1656 {
1657 D3D11_BUFFER_RTV Buffer;
1658 D3D11_TEX1D_RTV Texture1D;
1659 D3D11_TEX1D_ARRAY_RTV Texture1DArray;
1660 D3D11_TEX2D_RTV Texture2D;
1661 D3D11_TEX2D_ARRAY_RTV Texture2DArray;
1662 D3D11_TEX2DMS_RTV Texture2DMS;
1663 D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray;
1664 D3D11_TEX3D_RTV Texture3D;
1665 };
1666} D3D11_RENDER_TARGET_VIEW_DESC;
1667
1668cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
1669cpp_quote("struct CD3D11_RENDER_TARGET_VIEW_DESC : public D3D11_RENDER_TARGET_VIEW_DESC {")
1670cpp_quote(" CD3D11_RENDER_TARGET_VIEW_DESC() {}")
1671cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(D3D11_RTV_DIMENSION dim, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,")
1672cpp_quote(" UINT mip_slice = 0, UINT first_slice = 0, UINT array_size = -1) {")
1673cpp_quote(" Format = format;")
1674cpp_quote(" ViewDimension = dim;")
1675cpp_quote(" switch(dim) {")
1676cpp_quote(" case D3D11_RTV_DIMENSION_BUFFER:")
1677cpp_quote(" Buffer.FirstElement = mip_slice;")
1678cpp_quote(" Buffer.NumElements = first_slice;")
1679cpp_quote(" break;")
1680cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE1D:")
1681cpp_quote(" Texture1D.MipSlice = mip_slice;")
1682cpp_quote(" break;")
1683cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:")
1684cpp_quote(" Texture1DArray.MipSlice = mip_slice;")
1685cpp_quote(" Texture1DArray.FirstArraySlice = first_slice;")
1686cpp_quote(" Texture1DArray.ArraySize = array_size;")
1687cpp_quote(" break;")
1688cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2D:")
1689cpp_quote(" Texture2D.MipSlice = mip_slice;")
1690cpp_quote(" break;")
1691cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:")
1692cpp_quote(" Texture2DArray.MipSlice = mip_slice;")
1693cpp_quote(" Texture2DArray.FirstArraySlice = first_slice;")
1694cpp_quote(" Texture2DArray.ArraySize = array_size;")
1695cpp_quote(" break;")
1696cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:")
1697cpp_quote(" Texture2DMSArray.FirstArraySlice = first_slice;")
1698cpp_quote(" Texture2DMSArray.ArraySize = array_size;")
1699cpp_quote(" break;")
1700cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE3D:")
1701cpp_quote(" Texture3D.MipSlice = mip_slice;")
1702cpp_quote(" Texture3D.FirstWSlice = first_slice;")
1703cpp_quote(" Texture3D.WSize = array_size;")
1704cpp_quote(" break;")
1705cpp_quote(" default:")
1706cpp_quote(" break;")
1707cpp_quote(" }")
1708cpp_quote(" }")
1709cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,")
1710cpp_quote(" UINT elem_cnt) {")
1711cpp_quote(" Format = format;")
1712cpp_quote(" ViewDimension = D3D11_RTV_DIMENSION_BUFFER;")
1713cpp_quote(" Buffer.FirstElement = first_elem;")
1714cpp_quote(" Buffer.NumElements = elem_cnt;")
1715cpp_quote(" }")
1716cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture1D *texture, D3D11_RTV_DIMENSION dim,")
1717cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,")
1718cpp_quote(" UINT array_size = -1);") /* FIXME: implement */
1719cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture2D *texture, D3D11_RTV_DIMENSION dim,")
1720cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,")
1721cpp_quote(" UINT array_size = -1);") /* FIXME: implement */
1722cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,")
1723cpp_quote(" UINT mip_slice = 0, UINT first_w_slice = 0, UINT w_slice = -1 );") /* FIXME: implement */
1724cpp_quote(" ~CD3D11_RENDER_TARGET_VIEW_DESC() {}")
1725cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(const D3D11_RENDER_TARGET_VIEW_DESC &other)")
1726cpp_quote(" : D3D11_RENDER_TARGET_VIEW_DESC(other) {}")
1727cpp_quote(" operator const D3D11_RENDER_TARGET_VIEW_DESC&() const {")
1728cpp_quote(" return *this;")
1729cpp_quote(" }")
1730cpp_quote("};")
1731cpp_quote("#endif")
1732
1733
1734typedef struct D3D11_SAMPLER_DESC
1735{
1736 D3D11_FILTER Filter;
1737 D3D11_TEXTURE_ADDRESS_MODE AddressU;
1738 D3D11_TEXTURE_ADDRESS_MODE AddressV;
1739 D3D11_TEXTURE_ADDRESS_MODE AddressW;
1740 FLOAT MipLODBias;
1741 UINT MaxAnisotropy;
1742 D3D11_COMPARISON_FUNC ComparisonFunc;
1743 FLOAT BorderColor[4];
1744 FLOAT MinLOD;
1745 FLOAT MaxLOD;
1746} D3D11_SAMPLER_DESC;
1747
1748cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
1749cpp_quote("struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC {")
1750cpp_quote(" CD3D11_SAMPLER_DESC() {}")
1751cpp_quote(" explicit CD3D11_SAMPLER_DESC(const D3D11_SAMPLER_DESC &o) : D3D11_SAMPLER_DESC(o) {}")
1752cpp_quote(" explicit CD3D11_SAMPLER_DESC(CD3D11_DEFAULT) {" )
1754cpp_quote(" AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;")
1755cpp_quote(" AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;")
1756cpp_quote(" AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;")
1757cpp_quote(" MipLODBias = 0;")
1758cpp_quote(" MaxAnisotropy = 1;")
1759cpp_quote(" ComparisonFunc = D3D11_COMPARISON_NEVER;")
1760cpp_quote(" BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;")
1761cpp_quote(" MinLOD = -3.402823466e+38f;")
1762cpp_quote(" MaxLOD = 3.402823466e+38f;")
1763cpp_quote(" }")
1764cpp_quote(" explicit CD3D11_SAMPLER_DESC(D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE addressU,")
1765cpp_quote(" D3D11_TEXTURE_ADDRESS_MODE addressV, D3D11_TEXTURE_ADDRESS_MODE addressW,")
1766cpp_quote(" FLOAT mipLODBias, UINT maxAnisotropy, D3D11_COMPARISON_FUNC comparisonFunc,")
1767cpp_quote(" const FLOAT *borderColor, FLOAT minLOD, FLOAT maxLOD) {" )
1768cpp_quote(" Filter = filter;")
1769cpp_quote(" AddressU = addressU;")
1770cpp_quote(" AddressV = addressV;")
1771cpp_quote(" AddressW = addressW;")
1772cpp_quote(" MipLODBias = mipLODBias;")
1773cpp_quote(" MaxAnisotropy = maxAnisotropy;")
1774cpp_quote(" ComparisonFunc = comparisonFunc;")
1775cpp_quote(" if(borderColor) {")
1776cpp_quote(" BorderColor[0] = borderColor[0];")
1777cpp_quote(" BorderColor[1] = borderColor[1];")
1778cpp_quote(" BorderColor[2] = borderColor[2];")
1779cpp_quote(" BorderColor[3] = borderColor[3];")
1780cpp_quote(" }else {")
1781cpp_quote(" BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;")
1782cpp_quote(" }")
1783cpp_quote(" MinLOD = minLOD;")
1784cpp_quote(" MaxLOD = maxLOD;")
1785cpp_quote(" }")
1786cpp_quote(" ~CD3D11_SAMPLER_DESC() {}")
1787cpp_quote(" operator const D3D11_SAMPLER_DESC&() const { return *this; }")
1788cpp_quote("};")
1789cpp_quote("#endif")
1790
1791typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC
1792{
1793 DXGI_FORMAT Format;
1794 D3D11_SRV_DIMENSION ViewDimension;
1795
1796 union
1797 {
1798 D3D11_BUFFER_SRV Buffer;
1799 D3D11_TEX1D_SRV Texture1D;
1800 D3D11_TEX1D_ARRAY_SRV Texture1DArray;
1801 D3D11_TEX2D_SRV Texture2D;
1802 D3D11_TEX2D_ARRAY_SRV Texture2DArray;
1803 D3D11_TEX2DMS_SRV Texture2DMS;
1804 D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
1805 D3D11_TEX3D_SRV Texture3D;
1806 D3D11_TEXCUBE_SRV TextureCube;
1807 D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
1808 D3D11_BUFFEREX_SRV BufferEx;
1809 };
1810} D3D11_SHADER_RESOURCE_VIEW_DESC;
1811
1812cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined( __cplusplus )")
1813cpp_quote("struct CD3D11_SHADER_RESOURCE_VIEW_DESC : public D3D11_SHADER_RESOURCE_VIEW_DESC {")
1814cpp_quote(" CD3D11_SHADER_RESOURCE_VIEW_DESC() {}")
1815cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(D3D11_SRV_DIMENSION dim,")
1816cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0,")
1817cpp_quote(" UINT mip_levels = -1, UINT first_slice = 0, UINT array_size = -1, UINT flags = 0) {")
1818cpp_quote(" Format = format;")
1819cpp_quote(" ViewDimension = dim;")
1820cpp_quote(" switch(ViewDimension) {")
1821cpp_quote(" case D3D11_SRV_DIMENSION_BUFFER:")
1822cpp_quote(" Buffer.FirstElement = most_detailed_mip;")
1823cpp_quote(" Buffer.NumElements = mip_levels;")
1824cpp_quote(" break;")
1825cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE1D:")
1826cpp_quote(" Texture1D.MostDetailedMip = most_detailed_mip;")
1827cpp_quote(" Texture1D.MipLevels = mip_levels;")
1828cpp_quote(" break;")
1829cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE1DARRAY:")
1830cpp_quote(" Texture1DArray.MostDetailedMip = most_detailed_mip;")
1831cpp_quote(" Texture1DArray.MipLevels = mip_levels;")
1832cpp_quote(" Texture1DArray.FirstArraySlice = first_slice;")
1833cpp_quote(" Texture1DArray.ArraySize = array_size;")
1834cpp_quote(" break;")
1835cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2D:")
1836cpp_quote(" Texture2D.MostDetailedMip = most_detailed_mip;")
1837cpp_quote(" Texture2D.MipLevels = mip_levels;")
1838cpp_quote(" break;")
1839cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:")
1840cpp_quote(" Texture2DArray.MostDetailedMip = most_detailed_mip;")
1841cpp_quote(" Texture2DArray.MipLevels = mip_levels;")
1842cpp_quote(" Texture2DArray.FirstArraySlice = first_slice;")
1843cpp_quote(" Texture2DArray.ArraySize = array_size;")
1844cpp_quote(" break;")
1845cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY:")
1846cpp_quote(" Texture2DMSArray.FirstArraySlice = first_slice;")
1847cpp_quote(" Texture2DMSArray.ArraySize = array_size;")
1848cpp_quote(" break;")
1849cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE3D:")
1850cpp_quote(" Texture3D.MostDetailedMip = most_detailed_mip;")
1851cpp_quote(" Texture3D.MipLevels = mip_levels;")
1852cpp_quote(" break;")
1853cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURECUBE:")
1854cpp_quote(" TextureCube.MostDetailedMip = most_detailed_mip;")
1855cpp_quote(" TextureCube.MipLevels = mip_levels;")
1856cpp_quote(" break;")
1857cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURECUBEARRAY:")
1858cpp_quote(" TextureCubeArray.MostDetailedMip = most_detailed_mip;")
1859cpp_quote(" TextureCubeArray.MipLevels = mip_levels;")
1860cpp_quote(" TextureCubeArray.First2DArrayFace = first_slice;")
1861cpp_quote(" TextureCubeArray.NumCubes = array_size;")
1862cpp_quote(" break;")
1863cpp_quote(" case D3D11_SRV_DIMENSION_BUFFEREX:")
1864cpp_quote(" BufferEx.FirstElement = most_detailed_mip;")
1865cpp_quote(" BufferEx.NumElements = mip_levels;")
1866cpp_quote(" BufferEx.Flags = flags;")
1867cpp_quote(" break;")
1868cpp_quote(" default:")
1869cpp_quote(" break;")
1870cpp_quote(" }")
1871cpp_quote(" }")
1872cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,")
1873cpp_quote(" UINT elem_cnt, UINT flags = 0);") /* FIXME: implement */
1874cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture1D *texture, D3D11_SRV_DIMENSION dim,")
1875cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,")
1876cpp_quote(" UINT first_slice = 0, UINT array_size = -1 );") /* FIXME: implement */
1877cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture2D *texture, D3D11_SRV_DIMENSION dim,")
1878cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,")
1879cpp_quote(" UINT first_slice = 0, UINT array_size = -1 );") /* FIXME: implement */
1880cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,")
1881cpp_quote(" UINT most_detailed_mip = 0, UINT mip_levels = -1 );")
1882cpp_quote(" ~CD3D11_SHADER_RESOURCE_VIEW_DESC() {}")
1883cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(const D3D11_SHADER_RESOURCE_VIEW_DESC &other)")
1884cpp_quote(" : D3D11_SHADER_RESOURCE_VIEW_DESC(other) {}")
1885cpp_quote(" operator const D3D11_SHADER_RESOURCE_VIEW_DESC&() const {")
1886cpp_quote(" return *this;")
1887cpp_quote(" }")
1888cpp_quote("};")
1889cpp_quote("#endif")
1890
1891typedef struct D3D11_TEXTURE1D_DESC
1892{
1893 UINT Width;
1894 UINT MipLevels;
1895 UINT ArraySize;
1896 DXGI_FORMAT Format;
1897 D3D11_USAGE Usage;
1898 UINT BindFlags;
1899 UINT CPUAccessFlags;
1900 UINT MiscFlags;
1901} D3D11_TEXTURE1D_DESC;
1902
1903typedef struct D3D11_TEXTURE2D_DESC
1904{
1905 UINT Width;
1906 UINT Height;
1907 UINT MipLevels;
1908 UINT ArraySize;
1909 DXGI_FORMAT Format;
1910 DXGI_SAMPLE_DESC SampleDesc;
1911 D3D11_USAGE Usage;
1912 UINT BindFlags;
1913 UINT CPUAccessFlags;
1914 UINT MiscFlags;
1915} D3D11_TEXTURE2D_DESC;
1916
1917cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
1918cpp_quote("struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC {")
1919cpp_quote(" CD3D11_TEXTURE2D_DESC() {}")
1920cpp_quote(" explicit CD3D11_TEXTURE2D_DESC(const D3D11_TEXTURE2D_DESC &o) : D3D11_TEXTURE2D_DESC(o) {}")
1921cpp_quote(" explicit CD3D11_TEXTURE2D_DESC(DXGI_FORMAT format, UINT width, UINT height, UINT arraySize = 1,")
1922cpp_quote(" UINT mipLevels = 0, UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,")
1923cpp_quote(" D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0, UINT sampleCount = 1," )
1924cpp_quote(" UINT sampleQuality = 0, UINT miscFlags = 0) {")
1925cpp_quote(" Width = width;")
1926cpp_quote(" Height = height;")
1927cpp_quote(" MipLevels = mipLevels;")
1928cpp_quote(" ArraySize = arraySize;")
1929cpp_quote(" Format = format;")
1930cpp_quote(" SampleDesc.Count = sampleCount;")
1931cpp_quote(" SampleDesc.Quality = sampleQuality;")
1932cpp_quote(" Usage = usage;")
1933cpp_quote(" BindFlags = bindFlags;")
1934cpp_quote(" CPUAccessFlags = cpuaccessFlags;")
1935cpp_quote(" MiscFlags = miscFlags;")
1936cpp_quote(" }" )
1937cpp_quote(" ~CD3D11_TEXTURE2D_DESC() {}")
1938cpp_quote(" operator const D3D11_TEXTURE2D_DESC&() const { return *this; }")
1939cpp_quote("};")
1940cpp_quote("#endif")
1941
1942typedef struct D3D11_TEXTURE3D_DESC
1943{
1944 UINT Width;
1945 UINT Height;
1946 UINT Depth;
1947 UINT MipLevels;
1948 DXGI_FORMAT Format;
1949 D3D11_USAGE Usage;
1950 UINT BindFlags;
1951 UINT CPUAccessFlags;
1952 UINT MiscFlags;
1953} D3D11_TEXTURE3D_DESC;
1954
1955/*
1956 *
1957 * D3D11 video decoder profiles
1958 *
1959 */
1960
1961/* MPEG1 & MPEG2 */
1962cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_MOCOMP, 0xe6a9f44b,0x61b0,0x4563,0x9e,0xa4,0x63,0xd2,0xa3,0xc6,0xfe,0x66);")
1963cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_IDCT, 0xbf22ad00,0x03ea,0x4690,0x80,0x77,0x47,0x33,0x46,0x20,0x9b,0x7e);")
1964cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_VLD, 0xee27417f,0x5e28,0x4e65,0xbe,0xea,0x1d,0x26,0xb5,0x08,0xad,0xc9);")
1965cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG1_VLD, 0x6f3ec719,0x3735,0x42cc,0x80,0x63,0x65,0xcc,0x3c,0xb3,0x66,0x16);")
1966cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2and1_VLD, 0x86695f12,0x340e,0x4f04,0x9f,0xd3,0x92,0x53,0xdd,0x32,0x74,0x60);")
1967
1968/* H264 */
1969cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT, 0x1b81be64,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1970cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_MOCOMP_FGT, 0x1b81be65,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1971cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_IDCT_NOFGT, 0x1b81be66,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1972cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_IDCT_FGT, 0x1b81be67,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1973cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_NOFGT, 0x1b81be68,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1974cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_FGT, 0x1b81be69,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1975cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT, 0xd5f04ff9,0x3418,0x45d8,0x95,0x61,0x32,0xa7,0x6a,0xae,0x2d,0xdd);")
1976cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT, 0xd79be8da,0x0cf1,0x4c81,0xb8,0x2a,0x69,0xa4,0xe2,0x36,0xf4,0x3d);")
1977cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT, 0xf9aaccbb,0xc2b6,0x4cfc,0x87,0x79,0x57,0x07,0xb1,0x76,0x05,0x52);")
1978cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_MULTIVIEW_NOFGT, 0x705b9d82,0x76cf,0x49d6,0xb7,0xe6,0xac,0x88,0x72,0xdb,0x01,0x3c);")
1979
1980/* WMV8 */
1981cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_WMV8_POSTPROC, 0x1b81be80,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1982cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_WMV8_MOCOMP, 0x1b81be81,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1983
1984/* WMV9 */
1985cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_POSTPROC, 0x1b81be90,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1986cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_MOCOMP, 0x1b81be91,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1987cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_IDCT, 0x1b81be94,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1988
1989/* VC1 */
1990cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_POSTPROC, 0x1b81beA0,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1991cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_MOCOMP, 0x1b81beA1,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1992cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_IDCT, 0x1b81beA2,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1993cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_VLD, 0x1b81beA3,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1994cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_D2010, 0x1b81beA4,0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);")
1995
1996/* MPEG4 */
1997cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE, 0xefd64d74,0xc9e8,0x41d7,0xa5,0xe9,0xe9,0xb0,0xe3,0x9f,0xa3,0x19);")
1998cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC, 0xed418a9f,0x010d,0x4eda,0x9a,0xe3,0x9a,0x65,0x35,0x8d,0x8d,0x2e);")
1999cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC, 0xab998b5b,0x4258,0x44a9,0x9f,0xeb,0x94,0xe5,0x97,0xa6,0xba,0xae);")
2000
2001/* HVEC */
2002cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN, 0x5b11d51b,0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);")
2003cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10, 0x107af0e0,0xef1a,0x4d19,0xab,0xa8,0x67,0xa1,0x63,0x07,0x3d,0x13);")
2004
2005/* VP9 */
2006cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VP9_VLD_PROFILE0, 0x463707f8,0xa1d0,0x4585,0x87,0x6d,0x83,0xaa,0x6d,0x60,0xb8,0x9e);")
2007cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VP9_VLD_10BIT_PROFILE2, 0xa4c749ef,0x6ecf,0x48aa,0x84,0x48,0x50,0xa7,0xa1,0x16,0x5f,0xf7);")
2008cpp_quote("DEFINE_GUID(D3D11_DECODER_PROFILE_VP8_VLD, 0x90b899ea,0x3a62,0x4705,0x88,0xb3,0x8d,0xf0,0x4b,0x27,0x44,0xe7);")
2009
2010typedef struct D3D11_VIDEO_DECODER_DESC
2011{
2012 GUID Guid;
2013 UINT SampleWidth;
2014 UINT SampleHeight;
2015 DXGI_FORMAT OutputFormat;
2016} D3D11_VIDEO_DECODER_DESC;
2017
2018typedef struct D3D11_VIDEO_DECODER_CONFIG
2019{
2020 GUID guidConfigBitstreamEncryption;
2021 GUID guidConfigMBcontrolEncryption;
2022 GUID guidConfigResidDiffEncryption;
2023 UINT ConfigBitstreamRaw;
2024 UINT ConfigMBcontrolRasterOrder;
2025 UINT ConfigResidDiffHost;
2026 UINT ConfigSpatialResid8;
2027 UINT ConfigResid8Subtraction;
2028 UINT ConfigSpatialHost8or9Clipping;
2029 UINT ConfigSpatialResidInterleaved;
2030 UINT ConfigIntraResidUnsigned;
2031 UINT ConfigResidDiffAccelerator;
2032 UINT ConfigHostInverseScan;
2033 UINT ConfigSpecificIDCT;
2034 UINT Config4GroupedCoefs;
2035 USHORT ConfigMinRenderTargetBuffCount;
2036 USHORT ConfigDecoderSpecific;
2037} D3D11_VIDEO_DECODER_CONFIG;
2038
2039typedef enum D3D11_VIDEO_FRAME_FORMAT
2040{
2041 D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE = 0,
2042 D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1,
2043 D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2
2044} D3D11_VIDEO_FRAME_FORMAT;
2045
2046typedef enum D3D11_VIDEO_USAGE
2047{
2048 D3D11_VIDEO_USAGE_PLAYBACK_NORMAL = 0,
2049 D3D11_VIDEO_USAGE_OPTIMAL_SPEED = 1,
2050 D3D11_VIDEO_USAGE_OPTIMAL_QUALITY = 2
2051} D3D11_VIDEO_USAGE;
2052
2053typedef struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC
2054{
2055 D3D11_VIDEO_FRAME_FORMAT InputFrameFormat;
2056 DXGI_RATIONAL InputFrameRate;
2057 UINT InputWidth;
2058 UINT InputHeight;
2059 DXGI_RATIONAL OutputFrameRate;
2060 UINT OutputWidth;
2061 UINT OutputHeight;
2062 D3D11_VIDEO_USAGE Usage;
2063} D3D11_VIDEO_PROCESSOR_CONTENT_DESC;
2064
2065typedef struct D3D11_VIDEO_PROCESSOR_CAPS
2066{
2067 UINT DeviceCaps;
2068 UINT FeatureCaps;
2069 UINT FilterCaps;
2070 UINT InputFormatCaps;
2071 UINT AutoStreamCaps;
2072 UINT StereoCaps;
2073 UINT RateConversionCapsCount;
2074 UINT MaxInputStreams;
2075 UINT MaxStreamStates;
2076} D3D11_VIDEO_PROCESSOR_CAPS;
2077
2078typedef struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS
2079{
2080 UINT PastFrames;
2081 UINT FutureFrames;
2082 UINT ProcessorCaps;
2083 UINT ITelecineCaps;
2084 UINT CustomRateCount;
2085} D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS;
2086
2087typedef struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE
2088{
2089 DXGI_RATIONAL CustomRate;
2090 UINT OutputFrames;
2091 BOOL InputInterlaced;
2092 UINT InputFramesOrFields;
2093} D3D11_VIDEO_PROCESSOR_CUSTOM_RATE;
2094
2095typedef enum D3D11_VIDEO_PROCESSOR_FILTER
2096{
2097 D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS = 0,
2098 D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST = 1,
2099 D3D11_VIDEO_PROCESSOR_FILTER_HUE = 2,
2100 D3D11_VIDEO_PROCESSOR_FILTER_SATURATION = 3,
2101 D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION = 4,
2102 D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT = 5,
2103 D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING = 6,
2104 D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT = 7
2105} D3D11_VIDEO_PROCESSOR_FILTER;
2106
2107typedef struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE
2108{
2109 int Minimum;
2110 int Maximum;
2111 int Default;
2112 float Multiplier;
2113} D3D11_VIDEO_PROCESSOR_FILTER_RANGE;
2114
2115typedef enum D3D11_AUTHENTICATED_CHANNEL_TYPE
2116{
2117 D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1,
2118 D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2,
2119 D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3
2120} D3D11_AUTHENTICATED_CHANNEL_TYPE;
2121
2122typedef enum D3D11_VDOV_DIMENSION
2123{
2124 D3D11_VDOV_DIMENSION_UNKNOWN = 0,
2125 D3D11_VDOV_DIMENSION_TEXTURE2D = 1
2126} D3D11_VDOV_DIMENSION;
2127
2128typedef struct D3D11_TEX2D_VDOV
2129{
2130 UINT ArraySlice;
2131} D3D11_TEX2D_VDOV;
2132
2133typedef struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC
2134{
2135 GUID DecodeProfile;
2136 D3D11_VDOV_DIMENSION ViewDimension;
2137 union {
2138 D3D11_TEX2D_VDOV Texture2D;
2139 };
2140} D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC;
2141
2142typedef enum D3D11_VPIV_DIMENSION
2143{
2144 D3D11_VPIV_DIMENSION_UNKNOWN = 0,
2145 D3D11_VPIV_DIMENSION_TEXTURE2D = 1
2146} D3D11_VPIV_DIMENSION;
2147
2148typedef struct D3D11_TEX2D_VPIV
2149{
2150 UINT MipSlice;
2151 UINT ArraySlice;
2152} D3D11_TEX2D_VPIV;
2153
2154typedef struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC
2155{
2156 UINT FourCC;
2157 D3D11_VPIV_DIMENSION ViewDimension;
2158 union {
2159 D3D11_TEX2D_VPIV Texture2D;
2160 };
2161} D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC;
2162
2163typedef enum D3D11_VPOV_DIMENSION
2164{
2165 D3D11_VPOV_DIMENSION_UNKNOWN = 0,
2166 D3D11_VPOV_DIMENSION_TEXTURE2D = 1,
2167 D3D11_VPOV_DIMENSION_TEXTURE2DARRAY = 2
2168} D3D11_VPOV_DIMENSION;
2169
2170typedef struct D3D11_TEX2D_VPOV
2171{
2172 UINT MipSlice;
2173} D3D11_TEX2D_VPOV;
2174
2175typedef struct D3D11_TEX2D_ARRAY_VPOV
2176{
2177 UINT MipSlice;
2178 UINT FirstArraySlice;
2179 UINT ArraySize;
2180} D3D11_TEX2D_ARRAY_VPOV;
2181
2182typedef struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC
2183{
2184 D3D11_VPOV_DIMENSION ViewDimension;
2185 union {
2186 D3D11_TEX2D_VPOV Texture2D;
2187 D3D11_TEX2D_ARRAY_VPOV Texture2DArray;
2188 };
2189} D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC;
2190
2191typedef struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS
2192{
2193 UINT Caps;
2194 UINT KeyExchangeTypeCount;
2195 UINT BlockAlignmentSize;
2196 ULONGLONG ProtectedMemorySize;
2197} D3D11_VIDEO_CONTENT_PROTECTION_CAPS;
2198
2199typedef struct D3D11_ENCRYPTED_BLOCK_INFO
2200{
2201 UINT NumEncryptedBytesAtBeginning;
2202 UINT NumBytesInSkipPattern;
2203 UINT NumBytesInEncryptPattern;
2204} D3D11_ENCRYPTED_BLOCK_INFO;
2205
2206typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC
2207{
2208 D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType;
2209 UINT BufferIndex;
2210 UINT DataOffset;
2211 UINT DataSize;
2212 UINT FirstMBaddress;
2213 UINT NumMBsInBuffer;
2214 UINT Width;
2215 UINT Height;
2216 UINT Stride;
2217 UINT ReservedBits;
2218 void *pIV;
2219 UINT IVSize;
2220 BOOL PartialEncryption;
2221 D3D11_ENCRYPTED_BLOCK_INFO EncryptedBlockInfo;
2222} D3D11_VIDEO_DECODER_BUFFER_DESC;
2223
2224typedef struct D3D11_VIDEO_DECODER_EXTENSION
2225{
2226 UINT Function;
2227 void *pPrivateInputData;
2228 UINT PrivateInputDataSize;
2229 void *pPrivateOutputData;
2230 UINT PrivateOutputDataSize;
2231 UINT ResourceCount;
2232 ID3D11Resource **ppResourceList;
2233} D3D11_VIDEO_DECODER_EXTENSION;
2234
2235typedef struct D3D11_VIDEO_COLOR_YCbCrA
2236{
2237 float Y;
2238 float Cb;
2239 float Cr;
2240 float A;
2241} D3D11_VIDEO_COLOR_YCbCrA;
2242
2243typedef struct D3D11_VIDEO_COLOR_RGBA
2244{
2245 float R;
2246 float G;
2247 float B;
2248 float A;
2249} D3D11_VIDEO_COLOR_RGBA;
2250
2251typedef struct D3D11_VIDEO_COLOR
2252{
2253 union
2254 {
2255 D3D11_VIDEO_COLOR_YCbCrA YCbCr;
2256 D3D11_VIDEO_COLOR_RGBA RGBA;
2257 };
2258} D3D11_VIDEO_COLOR;
2259
2260typedef struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE
2261{
2262 UINT Usage : 1;
2263 UINT RGB_Range : 1;
2264 UINT YCbCr_Matrix : 1;
2265 UINT YCbCr_xvYCC : 1;
2266 UINT Nominal_Range : 2;
2267 UINT Reserved : 26;
2268} D3D11_VIDEO_PROCESSOR_COLOR_SPACE;
2269
2270typedef struct D3D11_VIDEO_PROCESSOR_STREAM
2271{
2272 BOOL Enable;
2273 UINT OutputIndex;
2274 UINT InputFrameOrField;
2275 UINT PastFrames;
2276 UINT FutureFrames;
2277 ID3D11VideoProcessorInputView **ppPastSurfaces;
2278 ID3D11VideoProcessorInputView *pInputSurface;
2279 ID3D11VideoProcessorInputView **ppFutureSurfaces;
2280 ID3D11VideoProcessorInputView **ppPastSurfacesRight;
2281 ID3D11VideoProcessorInputView *pInputSurfaceRight;
2282 ID3D11VideoProcessorInputView **ppFutureSurfacesRight;
2283} D3D11_VIDEO_PROCESSOR_STREAM;
2284
2285typedef struct D3D11_OMAC
2286{
2287 BYTE Omac[D3D11_OMAC_SIZE];
2288} D3D11_OMAC;
2289
2290typedef struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT
2291{
2292 D3D11_OMAC omac;
2293 GUID ConfigureType;
2294 HANDLE hChannel;
2295 UINT SequenceNumber;
2296 HRESULT ReturnCode;
2297} D3D11_AUTHENTICATED_CONFIGURE_OUTPUT;
2298
2299typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT
2300{
2301 UINT64 Frequency;
2302 BOOL Disjoint;
2303} D3D11_QUERY_DATA_TIMESTAMP_DISJOINT;
2304
2305typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS
2306{
2307 UINT64 IAVertices;
2308 UINT64 IAPrimitives;
2309 UINT64 VSInvocations;
2310 UINT64 GSInvocations;
2311 UINT64 GSPrimitives;
2312 UINT64 CInvocations;
2313 UINT64 CPrimitives;
2314 UINT64 PSInvocations;
2315 UINT64 HSInvocations;
2316 UINT64 DSInvocations;
2317 UINT64 CSInvocations;
2318} D3D11_QUERY_DATA_PIPELINE_STATISTICS;
2319
2320typedef struct D3D11_DRAW_INSTANCED_INDIRECT_ARGS
2321{
2322 UINT VertexCountPerInstance;
2323 UINT InstanceCount;
2324 UINT StartVertexLocation;
2325 UINT StartInstanceLocation;
2326} D3D11_DRAW_INSTANCED_INDIRECT_ARGS;
2327
2328typedef struct D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS
2329{
2330 UINT IndexCountPerInstance;
2331 UINT InstanceCount;
2332 UINT StartIndexLocation;
2333 INT BaseVertexLocation;
2334 UINT StartInstanceLocation;
2335} D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS;
2336
2337typedef struct D3D11_AUTHENTICATED_CONFIGURE_INPUT
2338{
2339 D3D11_OMAC omac;
2340 GUID ConfigureType;
2341 HANDLE hChannel;
2342 UINT SequenceNumber;
2343} D3D11_AUTHENTICATED_CONFIGURE_INPUT;
2344
2345typedef struct D3D11_AUTHENTICATED_QUERY_INPUT
2346{
2347 GUID QueryType;
2348 HANDLE hChannel;
2349 UINT SequenceNumber;
2350} D3D11_AUTHENTICATED_QUERY_INPUT;
2351
2352typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT
2353{
2354 D3D11_OMAC omac;
2355 GUID QueryType;
2356 HANDLE hChannel;
2357 UINT SequenceNumber;
2358 HRESULT ReturnCode;
2359} D3D11_AUTHENTICATED_QUERY_OUTPUT;
2360
2361typedef union D3D11_AUTHENTICATED_PROTECTION_FLAGS
2362{
2363 struct
2364 {
2365 UINT ProtectionEnabled : 1;
2366 UINT OverlayOrFullscreenRequired : 1;
2367 UINT Reserved : 30;
2368 } Flags;
2369 UINT Value;
2370} D3D11_AUTHENTICATED_PROTECTION_FLAGS;
2371
2372typedef struct D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT
2373{
2374 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2375 D3D11_AUTHENTICATED_PROTECTION_FLAGS ProtectionFlags;
2376} D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT;
2377
2378typedef struct D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT
2379{
2380 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2381 D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType;
2382} D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT;
2383
2384typedef struct D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT
2385{
2386 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2387 HANDLE DeviceHandle;
2388} D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT;
2389
2390typedef struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT
2391{
2392 D3D11_AUTHENTICATED_QUERY_INPUT Input;
2393 HANDLE DecoderHandle;
2394} D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT;
2395
2396typedef struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT
2397{
2398 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2399 HANDLE DecoderHandle;
2400 HANDLE CryptoSessionHandle;
2401 HANDLE DeviceHandle;
2402} D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT;
2403
2404typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT
2405{
2406 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2407 UINT RestrictedSharedResourceProcessCount;
2408} D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT;
2409
2410typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT
2411{
2412 D3D11_AUTHENTICATED_QUERY_INPUT Input;
2413 UINT ProcessIndex;
2414} D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT;
2415
2416typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT
2417{
2418 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2419 UINT ProcessIndex;
2420 D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessIdentifier;
2421 HANDLE ProcessHandle;
2422} D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT;
2423
2424typedef struct D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT
2425{
2426 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2427 UINT UnrestrictedProtectedSharedResourceCount;
2428} D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT;
2429
2430typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT
2431{
2432 D3D11_AUTHENTICATED_QUERY_INPUT Input;
2433 HANDLE DeviceHandle;
2434 HANDLE CryptoSessionHandle;
2435} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT;
2436
2437typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT
2438{
2439 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2440 HANDLE DeviceHandle;
2441 HANDLE CryptoSessionHandle;
2442 UINT OutputIDCount;
2443} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT;
2444
2445typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT
2446{
2447 D3D11_AUTHENTICATED_QUERY_INPUT Input;
2448 HANDLE DeviceHandle;
2449 HANDLE CryptoSessionHandle;
2450 UINT OutputIDIndex;
2451} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT;
2452
2453typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT
2454{
2455 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2456 HANDLE DeviceHandle;
2457 HANDLE CryptoSessionHandle;
2458 UINT OutputIDIndex;
2459 UINT64 OutputID;
2460} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT;
2461
2462typedef struct D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT
2463{
2464 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2465 D3D11_BUS_TYPE BusType;
2466 BOOL AccessibleInContiguousBlocks;
2467 BOOL AccessibleInNonContiguousBlocks;
2468} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT;
2469
2470typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT
2471{
2472 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2473 UINT EncryptionGuidCount;
2474} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT;
2475
2476typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT
2477{
2478 D3D11_AUTHENTICATED_QUERY_INPUT Input;
2479 UINT EncryptionGuidIndex;
2480} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT;
2481
2482typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT
2483{
2484 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2485 UINT EncryptionGuidIndex;
2486 GUID EncryptionGuid;
2487} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT;
2488
2489typedef struct D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT
2490{
2491 D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
2492 GUID EncryptionGuid;
2493} D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT;
2494
2495typedef struct D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT
2496{
2497 D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
2498 UINT StartSequenceQuery;
2499 UINT StartSequenceConfigure;
2500} D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT;
2501
2502typedef struct D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT
2503{
2504 D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
2505 D3D11_AUTHENTICATED_PROTECTION_FLAGS Protections;
2506} D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT;
2507
2508typedef struct D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT
2509{
2510 D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
2511 HANDLE DecoderHandle;
2512 HANDLE CryptoSessionHandle;
2513 HANDLE DeviceHandle;
2514} D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT;
2515
2516typedef struct D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT
2517{
2518 D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
2519 D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessType;
2520 HANDLE ProcessHandle;
2521 BOOL AllowAccess;
2522} D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT;
2523
2524typedef struct D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT
2525{
2526 D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
2527 GUID EncryptionGuid;
2528} D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT;
2529
2530[
2531 object,
2532 local,
2533 uuid(1841e5c8-16b0-489b-bcc8-44cfb0d5deae)
2534]
2535interface ID3D11DeviceChild : IUnknown
2536{
2537 void GetDevice(
2538 [out] ID3D11Device **ppDevice);
2539 HRESULT GetPrivateData(
2540 [in] REFGUID guid,
2541 [in, out] UINT *pDataSize,
2542 [out] void *pData);
2543 HRESULT SetPrivateData(
2544 [in] REFGUID guid,
2545 [in] UINT DataSize,
2546 [in] const void *pData);
2547 HRESULT SetPrivateDataInterface(
2548 [in] REFGUID guid,
2549 [in] const IUnknown *pData);
2550}
2551
2552[
2553 object,
2554 local,
2555 uuid(4b35d0cd-1e15-4258-9c98-1b1333f6dd3b)
2556]
2557interface ID3D11Asynchronous : ID3D11DeviceChild
2558{
2559 UINT GetDataSize();
2560}
2561
2562[
2563 object,
2564 local,
2565 uuid(d6c00747-87b7-425e-b84d-44d108560afd)
2566]
2567interface ID3D11Query : ID3D11Asynchronous
2568{
2569 void GetDesc(
2570 [out] D3D11_QUERY_DESC *pDesc);
2571}
2572
2573[
2574 object,
2575 local,
2576 uuid(dc8e63f3-d12b-4952-b47b-5e45026a862d)
2577]
2578interface ID3D11Resource : ID3D11DeviceChild
2579{
2580 void GetType(
2581 [out] D3D11_RESOURCE_DIMENSION *pResourceDimension);
2582 void SetEvictionPriority(
2583 [in] UINT EvictionPriority);
2584 UINT GetEvictionPriority();
2585}
2586
2587[
2588 object,
2589 local,
2590 uuid(839d1216-bb2e-412b-b7f4-a9dbebe08ed1)
2591]
2592interface ID3D11View : ID3D11DeviceChild
2593{
2594 void GetResource(
2595 [out] ID3D11Resource **ppResource);
2596}
2597
2598[
2599 object,
2600 local,
2601 uuid(75b68faa-347d-4159-8f45-a0640f01cd9a)
2602]
2603interface ID3D11BlendState : ID3D11DeviceChild
2604{
2605 void GetDesc(
2606 [out] D3D11_BLEND_DESC *pDesc);
2607}
2608
2609[
2610 object,
2611 local,
2612 uuid(48570b85-d1ee-4fcd-a250-eb350722b037)
2613]
2614interface ID3D11Buffer : ID3D11Resource
2615{
2616 void GetDesc(
2617 [out] D3D11_BUFFER_DESC *pDesc);
2618}
2619
2620[
2621 object,
2622 local,
2623 uuid(a6cd7faa-b0b7-4a2f-9436-8662a65797cb)
2624]
2625interface ID3D11ClassInstance : ID3D11DeviceChild
2626{
2627 void GetClassLinkage(
2628 [out] ID3D11ClassLinkage **ppLinkage);
2629 void GetDesc(
2630 [out] D3D11_CLASS_INSTANCE_DESC *pDesc);
2631 void GetInstanceName(
2632 [out] LPSTR pInstanceName,
2633 [in, out] SIZE_T *pBufferLength);
2634 void GetTypeName(
2635 [out] LPSTR pTypeName,
2636 [in, out] SIZE_T *pBufferLength);
2637}
2638
2639[
2640 object,
2641 local,
2642 uuid(ddf57cba-9543-46e4-a12b-f207a0fe7fed)
2643]
2644interface ID3D11ClassLinkage : ID3D11DeviceChild
2645{
2646 HRESULT GetClassInstance(
2647 [in] LPCSTR pClassInstanceName,
2648 [in] UINT InstanceIndex,
2649 [out] ID3D11ClassInstance **ppInstance);
2650 HRESULT CreateClassInstance(
2651 [in] LPCSTR pClassTypeName,
2652 [in] UINT ConstantBufferOffset,
2653 [in] UINT ConstantVectorOffset,
2654 [in] UINT TextureOffset,
2655 [in] UINT SamplerOffset,
2656 [out] ID3D11ClassInstance **ppInstance);
2657}
2658
2659[
2660 object,
2661 local,
2662 uuid(a24bc4d1-769e-43f7-8013-98ff566c18e2)
2663]
2664interface ID3D11CommandList : ID3D11DeviceChild
2665{
2666 UINT GetContextFlags();
2667}
2668
2669[
2670 object,
2671 local,
2672 uuid(4f5b196e-c2bd-495e-bd01-1fded38e4969)
2673]
2674interface ID3D11ComputeShader : ID3D11DeviceChild
2675{
2676}
2677
2678[
2679 object,
2680 local,
2681 uuid(6e8c49fb-a371-4770-b440-29086022b741)
2682]
2683interface ID3D11Counter : ID3D11Asynchronous
2684{
2685 void GetDesc(
2686 [out] D3D11_COUNTER_DESC *pDesc);
2687}
2688
2689[
2690 object,
2691 local,
2692 uuid(03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1)
2693]
2694interface ID3D11DepthStencilState : ID3D11DeviceChild
2695{
2696 void GetDesc(
2697 [out] D3D11_DEPTH_STENCIL_DESC *pDesc);
2698}
2699
2700[
2701 object,
2702 local,
2703 uuid(9fdac92a-1876-48c3-afad-25b94f84a9b6)
2704]
2705interface ID3D11DepthStencilView : ID3D11View
2706{
2707 void GetDesc(
2708 [out] D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc);
2709}
2710
2711[
2712 object,
2713 local,
2714 uuid(f582c508-0f36-490c-9977-31eece268cfa)
2715]
2716interface ID3D11DomainShader : ID3D11DeviceChild
2717{
2718}
2719
2720[
2721 object,
2722 local,
2723 uuid(38325b96-effb-4022-ba02-2e795b70275c)
2724]
2725interface ID3D11GeometryShader : ID3D11DeviceChild
2726{
2727}
2728
2729[
2730 object,
2731 local,
2732 uuid(8e5c6061-628a-4c8e-8264-bbe45cb3d5dd)
2733]
2734interface ID3D11HullShader : ID3D11DeviceChild
2735{
2736}
2737
2738[
2739 object,
2740 local,
2741 uuid(e4819ddc-4cf0-4025-bd26-5de82a3e07b7)
2742]
2743interface ID3D11InputLayout : ID3D11DeviceChild
2744{
2745}
2746
2747[
2748 object,
2749 local,
2750 uuid(ea82e40d-51dc-4f33-93d4-db7c9125ae8c)
2751]
2752interface ID3D11PixelShader : ID3D11DeviceChild
2753{
2754}
2755
2756[
2757 object,
2758 local,
2759 uuid(9eb576dd-9f77-4d86-81aa-8bab5fe490e2)
2760]
2761interface ID3D11Predicate : ID3D11Query
2762{
2763}
2764
2765[
2766 object,
2767 local,
2768 uuid(9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7)
2769]
2770interface ID3D11RasterizerState : ID3D11DeviceChild
2771{
2772 void GetDesc(
2773 [out] D3D11_RASTERIZER_DESC *pDesc);
2774}
2775
2776[
2777 object,
2778 local,
2779 uuid(dfdba067-0b8d-4865-875b-d7b4516cc164)
2780]
2781interface ID3D11RenderTargetView : ID3D11View
2782{
2783 void GetDesc(
2784 [out] D3D11_RENDER_TARGET_VIEW_DESC *pDesc);
2785}
2786
2787[
2788 object,
2789 local,
2790 uuid(da6fea51-564c-4487-9810-f0d0f9b4e3a5)
2791]
2792interface ID3D11SamplerState : ID3D11DeviceChild
2793{
2794 void GetDesc(
2795 [out] D3D11_SAMPLER_DESC *pDesc);
2796}
2797
2798[
2799 object,
2800 local,
2801 uuid(b0e06fe0-8192-4e1a-b1ca-36d7414710b2)
2802]
2803interface ID3D11ShaderResourceView : ID3D11View
2804{
2805 void GetDesc(
2806 [out] D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc);
2807}
2808
2809[
2810 object,
2811 local,
2812 uuid(f8fb5c27-c6b3-4f75-a4c8-439af2ef564c),
2813]
2814interface ID3D11Texture1D : ID3D11Resource
2815{
2816 void GetDesc(
2817 [out] D3D11_TEXTURE1D_DESC *pDesc);
2818}
2819
2820[
2821 object,
2822 local,
2823 uuid(6f15aaf2-d208-4e89-9ab4-489535d34f9c)
2824]
2825interface ID3D11Texture2D : ID3D11Resource
2826{
2827 void GetDesc(
2828 [out] D3D11_TEXTURE2D_DESC *pDesc);
2829}
2830
2831[
2832 object,
2833 local,
2834 uuid(037e866e-f56d-4357-a8af-9dabbe6e250e)
2835]
2836interface ID3D11Texture3D : ID3D11Resource
2837{
2838 void GetDesc(
2839 [out] D3D11_TEXTURE3D_DESC *pDesc);
2840}
2841
2842[
2843 object,
2844 local,
2845 uuid(28acf509-7f5c-48f6-8611-f316010a6380)
2846]
2847interface ID3D11UnorderedAccessView : ID3D11View
2848{
2849 void GetDesc(
2850 [out] D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc);
2851}
2852
2853[
2854 object,
2855 local,
2856 uuid(3b301d64-d678-4289-8897-22f8928b72f3)
2857]
2858interface ID3D11VertexShader : ID3D11DeviceChild
2859{
2860}
2861
2862[
2863 object,
2864 local,
2865 uuid(c0bfa96c-e089-44fb-8eaf-26f8796190da)
2866]
2867interface ID3D11DeviceContext : ID3D11DeviceChild
2868{
2869 void VSSetConstantBuffers(
2870 [in] UINT StartSlot,
2871 [in] UINT NumBuffers,
2872 [in] ID3D11Buffer *const *ppConstantBuffers);
2873 void PSSetShaderResources(
2874 [in] UINT StartSlot,
2875 [in] UINT NumViews,
2876 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
2877 void PSSetShader(
2878 [in] ID3D11PixelShader *pPixelShader,
2879 [in] ID3D11ClassInstance *const *ppClassInstances,
2880 UINT NumClassInstances);
2881 void PSSetSamplers(
2882 [in] UINT StartSlot,
2883 [in] UINT NumSamplers,
2884 [in] ID3D11SamplerState *const *ppSamplers);
2885 void VSSetShader(
2886 [in] ID3D11VertexShader *pVertexShader,
2887 [in] ID3D11ClassInstance *const *ppClassInstances,
2888 UINT NumClassInstances);
2889 void DrawIndexed(
2890 [in] UINT IndexCount,
2891 [in] UINT StartIndexLocation,
2892 [in] INT BaseVertexLocation);
2893 void Draw(
2894 [in] UINT VertexCount,
2895 [in] UINT StartVertexLocation);
2896 HRESULT Map(
2897 [in] ID3D11Resource *pResource,
2898 [in] UINT Subresource,
2899 [in] D3D11_MAP MapType,
2900 [in] UINT MapFlags,
2901 [out] D3D11_MAPPED_SUBRESOURCE *pMappedResource);
2902 void Unmap(
2903 [in] ID3D11Resource *pResource,
2904 [in] UINT Subresource);
2905 void PSSetConstantBuffers(
2906 [in] UINT StartSlot,
2907 [in] UINT NumBuffers,
2908 [in] ID3D11Buffer *const *ppConstantBuffers);
2909 void IASetInputLayout(
2910 [in] ID3D11InputLayout *pInputLayout);
2911 void IASetVertexBuffers(
2912 [in] UINT StartSlot,
2913 [in] UINT NumBuffers,
2914 [in] ID3D11Buffer *const *ppVertexBuffers,
2915 [in] const UINT *pStrides,
2916 [in] const UINT *pOffsets);
2917 void IASetIndexBuffer(
2918 [in] ID3D11Buffer *pIndexBuffer,
2919 [in] DXGI_FORMAT Format,
2920 [in] UINT Offset);
2921 void DrawIndexedInstanced(
2922 [in] UINT IndexCountPerInstance,
2923 [in] UINT InstanceCount,
2924 [in] UINT StartIndexLocation,
2925 [in] INT BaseVertexLocation,
2926 [in] UINT StartInstanceLocation);
2927 void DrawInstanced(
2928 [in] UINT VertexCountPerInstance,
2929 [in] UINT InstanceCount,
2930 [in] UINT StartVertexLocation,
2931 [in] UINT StartInstanceLocation);
2932 void GSSetConstantBuffers(
2933 [in] UINT StartSlot,
2934 [in] UINT NumBuffers,
2935 [in] ID3D11Buffer *const *ppConstantBuffers);
2936 void GSSetShader(
2937 [in] ID3D11GeometryShader *pShader,
2938 [in] ID3D11ClassInstance *const *ppClassInstances,
2939 UINT NumClassInstances);
2940 void IASetPrimitiveTopology(
2941 [in] D3D11_PRIMITIVE_TOPOLOGY Topology);
2942 void VSSetShaderResources(
2943 [in] UINT StartSlot,
2944 [in] UINT NumViews,
2945 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
2946 void VSSetSamplers(
2947 [in] UINT StartSlot,
2948 [in] UINT NumSamplers,
2949 [in] ID3D11SamplerState *const *ppSamplers);
2950 void Begin(
2951 [in] ID3D11Asynchronous *pAsync);
2952 void End(
2953 [in] ID3D11Asynchronous *pAsync);
2954 HRESULT GetData(
2955 [in] ID3D11Asynchronous *pAsync,
2956 [in] void *pData,
2957 [in] UINT DataSize,
2958 [in] UINT GetDataFlags);
2959 void SetPredication(
2960 [in] ID3D11Predicate *pPredicate,
2961 [in] BOOL PredicateValue);
2962 void GSSetShaderResources(
2963 [in] UINT StartSlot,
2964 [in] UINT NumViews,
2965 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
2966 void GSSetSamplers(
2967 [in] UINT StartSlot,
2968 [in] UINT NumSamplers,
2969 [in] ID3D11SamplerState *const *ppSamplers);
2970 void OMSetRenderTargets(
2971 [in] UINT NumViews,
2972 [in] ID3D11RenderTargetView *const *ppRenderTargetViews,
2973 [in] ID3D11DepthStencilView *pDepthStencilView);
2974 void OMSetRenderTargetsAndUnorderedAccessViews(
2975 [in] UINT NumRTVs,
2976 [in] ID3D11RenderTargetView *const *ppRenderTargetViews,
2977 [in] ID3D11DepthStencilView *pDepthStencilView,
2978 [in] UINT UAVStartSlot,
2979 [in] UINT NumUAVs,
2980 [in] ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
2981 [in] const UINT *pUAVInitialCounts);
2982 void OMSetBlendState(
2983 [in] ID3D11BlendState *pBlendState,
2984 [in] const FLOAT BlendFactor[4],
2985 [in] UINT SampleMask);
2986 void OMSetDepthStencilState(
2987 [in] ID3D11DepthStencilState *pDepthStencilState,
2988 [in] UINT StencilRef);
2989 void SOSetTargets(
2990 [in] UINT NumBuffers,
2991 [in] ID3D11Buffer *const *ppSOTargets,
2992 [in] const UINT *pOffsets);
2993 void DrawAuto();
2994 void DrawIndexedInstancedIndirect(
2995 [in] ID3D11Buffer *pBufferForArgs,
2996 [in] UINT AlignedByteOffsetForArgs);
2997 void DrawInstancedIndirect(
2998 [in] ID3D11Buffer *pBufferForArgs,
2999 [in] UINT AlignedByteOffsetForArgs);
3000 void Dispatch(
3001 [in] UINT ThreadGroupCountX,
3002 [in] UINT ThreadGroupCountY,
3003 [in] UINT ThreadGroupCountZ);
3004 void DispatchIndirect(
3005 [in] ID3D11Buffer *pBufferForArgs,
3006 [in] UINT AlignedByteOffsetForArgs);
3007 void RSSetState(
3008 [in] ID3D11RasterizerState *pRasterizerState);
3009 void RSSetViewports(
3010 [in] UINT NumViewports,
3011 [in] const D3D11_VIEWPORT *pViewports);
3012 void RSSetScissorRects(
3013 [in] UINT NumRects,
3014 [in] const D3D11_RECT *pRects);
3015 void CopySubresourceRegion(
3016 [in] ID3D11Resource *pDstResource,
3017 [in] UINT DstSubresource,
3018 [in] UINT DstX,
3019 [in] UINT DstY,
3020 [in] UINT DstZ,
3021 [in] ID3D11Resource *pSrcResource,
3022 [in] UINT SrcSubresource,
3023 [in] const D3D11_BOX *pSrcBox);
3024 void CopyResource(
3025 [in] ID3D11Resource *pDstResource,
3026 [in] ID3D11Resource *pSrcResource);
3027 void UpdateSubresource(
3028 [in] ID3D11Resource *pDstResource,
3029 [in] UINT DstSubresource,
3030 [in] const D3D11_BOX *pDstBox,
3031 [in] const void *pSrcData,
3032 [in] UINT SrcRowPitch,
3033 [in] UINT SrcDepthPitch);
3034 void CopyStructureCount(
3035 [in] ID3D11Buffer *pDstBuffer,
3036 [in] UINT DstAlignedByteOffset,
3037 [in] ID3D11UnorderedAccessView *pSrcView);
3038 void ClearRenderTargetView(
3039 [in] ID3D11RenderTargetView *pRenderTargetView,
3040 [in] const FLOAT ColorRGBA[4]);
3041 void ClearUnorderedAccessViewUint(
3042 [in] ID3D11UnorderedAccessView *pUnorderedAccessView,
3043 [in] const UINT Values[4]);
3044 void ClearUnorderedAccessViewFloat(
3045 [in] ID3D11UnorderedAccessView *pUnorderedAccessView,
3046 [in] const FLOAT Values[4]);
3047 void ClearDepthStencilView(
3048 [in] ID3D11DepthStencilView *pDepthStencilView,
3049 [in] UINT ClearFlags,
3050 [in] FLOAT Depth,
3051 [in] UINT8 Stencil);
3052 void GenerateMips(
3053 [in] ID3D11ShaderResourceView *pShaderResourceView);
3054 void SetResourceMinLOD(
3055 [in] ID3D11Resource *pResource, FLOAT MinLOD);
3056 FLOAT GetResourceMinLOD(
3057 [in] ID3D11Resource *pResource);
3058 void ResolveSubresource(
3059 [in] ID3D11Resource *pDstResource,
3060 [in] UINT DstSubresource,
3061 [in] ID3D11Resource *pSrcResource,
3062 [in] UINT SrcSubresource,
3063 [in] DXGI_FORMAT Format);
3064 void ExecuteCommandList(
3065 [in] ID3D11CommandList *pCommandList,
3066 BOOL RestoreContextState);
3067 void HSSetShaderResources(
3068 [in] UINT StartSlot,
3069 [in] UINT NumViews,
3070 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
3071 void HSSetShader(
3072 [in] ID3D11HullShader *pHullShader,
3073 [in] ID3D11ClassInstance *const *ppClassInstances,
3074 UINT NumClassInstances);
3075 void HSSetSamplers(
3076 [in] UINT StartSlot,
3077 [in] UINT NumSamplers,
3078 [in] ID3D11SamplerState *const *ppSamplers);
3079 void HSSetConstantBuffers(
3080 [in] UINT StartSlot,
3081 [in] UINT NumBuffers,
3082 [in] ID3D11Buffer *const *ppConstantBuffers);
3083 void DSSetShaderResources(
3084 [in] UINT StartSlot,
3085 [in] UINT NumViews,
3086 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
3087 void DSSetShader(
3088 [in] ID3D11DomainShader *pDomainShader,
3089 [in] ID3D11ClassInstance *const *ppClassInstances,
3090 UINT NumClassInstances);
3091 void DSSetSamplers(
3092 [in] UINT StartSlot,
3093 [in] UINT NumSamplers,
3094 [in] ID3D11SamplerState *const *ppSamplers);
3095 void DSSetConstantBuffers(
3096 [in] UINT StartSlot,
3097 [in] UINT NumBuffers,
3098 [in] ID3D11Buffer *const *ppConstantBuffers);
3099 void CSSetShaderResources(
3100 [in] UINT StartSlot,
3101 [in] UINT NumViews,
3102 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
3103 void CSSetUnorderedAccessViews(
3104 [in] UINT StartSlot,
3105 [in] UINT NumUAVs,
3106 [in] ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
3107 [in] const UINT *pUAVInitialCounts);
3108 void CSSetShader(
3109 [in] ID3D11ComputeShader *pComputeShader,
3110 [in] ID3D11ClassInstance *const *ppClassInstances,
3111 UINT NumClassInstances);
3112 void CSSetSamplers(
3113 [in] UINT StartSlot,
3114 [in] UINT NumSamplers,
3115 [in] ID3D11SamplerState *const *ppSamplers);
3116 void CSSetConstantBuffers(
3117 [in] UINT StartSlot,
3118 [in] UINT NumBuffers,
3119 [in] ID3D11Buffer *const *ppConstantBuffers);
3120 void VSGetConstantBuffers(
3121 [in] UINT StartSlot,
3122 [in] UINT NumBuffers,
3123 [out] ID3D11Buffer **ppConstantBuffers);
3124 void PSGetShaderResources(
3125 [in] UINT StartSlot,
3126 [in] UINT NumViews,
3127 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
3128 void PSGetShader(
3129 [out] ID3D11PixelShader **ppPixelShader,
3130 [out] ID3D11ClassInstance **ppClassInstances,
3131 [in, out] UINT *pNumClassInstances);
3132 void PSGetSamplers(
3133 [in] UINT StartSlot,
3134 [in] UINT NumSamplers,
3135 [out] ID3D11SamplerState **ppSamplers);
3136 void VSGetShader(
3137 [out] ID3D11VertexShader **ppVertexShader,
3138 [out] ID3D11ClassInstance **ppClassInstances,
3139 [in, out] UINT *pNumClassInstances);
3140 void PSGetConstantBuffers(
3141 [in] UINT StartSlot,
3142 [in] UINT NumBuffers,
3143 [out] ID3D11Buffer **ppConstantBuffers);
3144 void IAGetInputLayout(
3145 [out] ID3D11InputLayout **ppInputLayout);
3146 void IAGetVertexBuffers(
3147 [in] UINT StartSlot,
3148 [in] UINT NumBuffers,
3149 [out] ID3D11Buffer **ppVertexBuffers,
3150 [out] UINT *pStrides,
3151 [out] UINT *pOffsets);
3152 void IAGetIndexBuffer(
3153 [out] ID3D11Buffer **pIndexBuffer,
3154 [out] DXGI_FORMAT* Format,
3155 [out] UINT* Offset);
3156 void GSGetConstantBuffers(
3157 [in] UINT StartSlot,
3158 [in] UINT NumBuffers,
3159 [out] ID3D11Buffer **ppConstantBuffers);
3160 void GSGetShader(
3161 [out] ID3D11GeometryShader **ppGeometryShader,
3162 [out] ID3D11ClassInstance **ppClassInstances,
3163 [in, out] UINT *pNumClassInstances);
3164 void IAGetPrimitiveTopology(
3165 [out] D3D11_PRIMITIVE_TOPOLOGY *pTopology);
3166 void VSGetShaderResources(
3167 [in] UINT StartSlot,
3168 [in] UINT NumViews,
3169 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
3170 void VSGetSamplers(
3171 [in] UINT StartSlot,
3172 [in] UINT NumSamplers,
3173 [out] ID3D11SamplerState **ppSamplers);
3174 void GetPredication(
3175 [out] ID3D11Predicate **ppPredicate,
3176 [out] BOOL *pPredicateValue);
3177 void GSGetShaderResources(
3178 [in] UINT StartSlot,
3179 [in] UINT NumViews,
3180 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
3181 void GSGetSamplers(
3182 [in] UINT StartSlot,
3183 [in] UINT NumSamplers,
3184 [out] ID3D11SamplerState **ppSamplers);
3185 void OMGetRenderTargets(
3186 [in] UINT NumViews,
3187 [out] ID3D11RenderTargetView **ppRenderTargetViews,
3188 [out] ID3D11DepthStencilView **ppDepthStencilView);
3189 void OMGetRenderTargetsAndUnorderedAccessViews(
3190 [in] UINT NumRTVs,
3191 [out] ID3D11RenderTargetView **ppRenderTargetViews,
3192 [out] ID3D11DepthStencilView **ppDepthStencilView,
3193 [in] UINT UAVStartSlot,
3194 [in] UINT NumUAVs,
3195 [out] ID3D11UnorderedAccessView **ppUnorderedAccessViews);
3196 void OMGetBlendState(
3197 [out] ID3D11BlendState **ppBlendState,
3198 [out] FLOAT BlendFactor[4],
3199 [out] UINT *pSampleMask);
3200 void OMGetDepthStencilState(
3201 [out] ID3D11DepthStencilState **ppDepthStencilState,
3202 [out] UINT *pStencilRef);
3203 void SOGetTargets(
3204 [in] UINT NumBuffers,
3205 [out] ID3D11Buffer **ppSOTargets);
3206 void RSGetState(
3207 [out] ID3D11RasterizerState **ppRasterizerState);
3208 void RSGetViewports(
3209 [in, out] UINT *pNumViewports,
3210 [out] D3D11_VIEWPORT *pViewports);
3211 void RSGetScissorRects(
3212 [in, out] UINT *pNumRects,
3213 [out] D3D11_RECT *pRects);
3214 void HSGetShaderResources(
3215 [in] UINT StartSlot,
3216 [in] UINT NumViews,
3217 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
3218 void HSGetShader(
3219 [out] ID3D11HullShader **ppHullShader,
3220 [out] ID3D11ClassInstance **ppClassInstances,
3221 [in, out] UINT *pNumClassInstances);
3222 void HSGetSamplers(
3223 [in] UINT StartSlot,
3224 [in] UINT NumSamplers,
3225 [out] ID3D11SamplerState **ppSamplers);
3226 void HSGetConstantBuffers(
3227 [in] UINT StartSlot,
3228 [in] UINT NumBuffers,
3229 [out] ID3D11Buffer **ppConstantBuffers);
3230 void DSGetShaderResources(
3231 [in] UINT StartSlot,
3232 [in] UINT NumViews,
3233 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
3234 void DSGetShader(
3235 [out] ID3D11DomainShader **ppDomainShader,
3236 [out] ID3D11ClassInstance **ppClassInstances,
3237 [in, out] UINT *pNumClassInstances);
3238 void DSGetSamplers(
3239 [in] UINT StartSlot,
3240 [in] UINT NumSamplers,
3241 [out] ID3D11SamplerState **ppSamplers);
3242 void DSGetConstantBuffers(
3243 [in] UINT StartSlot,
3244 [in] UINT NumBuffers,
3245 [out] ID3D11Buffer **ppConstantBuffers);
3246 void CSGetShaderResources(
3247 [in] UINT StartSlot,
3248 [in] UINT NumViews,
3249 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
3250 void CSGetUnorderedAccessViews(
3251 [in] UINT StartSlot,
3252 [in] UINT NumUAVs,
3253 [out] ID3D11UnorderedAccessView **ppUnorderedAccessViews);
3254 void CSGetShader(
3255 [out] ID3D11ComputeShader **ppComputeShader,
3256 [out] ID3D11ClassInstance **ppClassInstances,
3257 [in, out] UINT *pNumClassInstances);
3258 void CSGetSamplers(
3259 [in] UINT StartSlot,
3260 [in] UINT NumSamplers,
3261 [out] ID3D11SamplerState **ppSamplers);
3262 void CSGetConstantBuffers(
3263 [in] UINT StartSlot,
3264 [in] UINT NumBuffers,
3265 [out] ID3D11Buffer **ppConstantBuffers);
3266 void ClearState();
3267 void Flush();
3268 D3D11_DEVICE_CONTEXT_TYPE GetType();
3269 UINT GetContextFlags();
3270 HRESULT FinishCommandList(
3271 BOOL RestoreDeferredContextState,
3272 [out] ID3D11CommandList **ppCommandList);
3273}
3274
3275[
3276 object,
3277 uuid(3015a308-dcbd-47aa-a747-192486d14d4a),
3278 local,
3279 pointer_default(unique)
3280]
3281interface ID3D11AuthenticatedChannel : ID3D11DeviceChild
3282{
3283 HRESULT GetCertificateSize(
3284 UINT *pCertificateSize);
3285 HRESULT GetCertificate(
3286 UINT CertificateSize,
3287 BYTE *pCertificate);
3288 void GetChannelHandle(
3289 HANDLE *pChannelHandle);
3290}
3291
3292[
3293 object,
3294 uuid(9b32f9ad-bdcc-40a6-a39d-d5c865845720),
3295 local,
3296 pointer_default(unique)
3297]
3298interface ID3D11CryptoSession : ID3D11DeviceChild
3299{
3300 void GetCryptoType(
3301 GUID *pCryptoType);
3302 void GetDecoderProfile(
3303 GUID *pDecoderProfile);
3304 HRESULT GetCertificateSize(
3305 UINT *pCertificateSize);
3306 HRESULT GetCertificate(
3307 UINT CertificateSize,
3308 BYTE *pCertificate);
3309 void GetCryptoSessionHandle(
3310 HANDLE *pCryptoSessionHandle);
3311}
3312
3313[
3314 object,
3315 uuid(3c9c5b51-995d-48d1-9b8d-fa5caeded65c),
3316 local,
3317 pointer_default(unique)
3318]
3319interface ID3D11VideoDecoder : ID3D11DeviceChild
3320{
3321 HRESULT GetCreationParameters(
3322 D3D11_VIDEO_DECODER_DESC *pVideoDesc,
3323 D3D11_VIDEO_DECODER_CONFIG *pConfig);
3324 HRESULT GetDriverHandle(
3325 HANDLE *pDriverHandle);
3326}
3327
3328[
3329 object,
3330 uuid(31627037-53ab-4200-9061-05faa9ab45f9),
3331 local,
3332 pointer_default(unique)
3333]
3334interface ID3D11VideoProcessorEnumerator : ID3D11DeviceChild
3335{
3336 HRESULT GetVideoProcessorContentDesc(
3337 D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc);
3338 HRESULT CheckVideoProcessorFormat(
3339 DXGI_FORMAT Format,
3340 UINT *pFlags);
3341 HRESULT GetVideoProcessorCaps(
3342 D3D11_VIDEO_PROCESSOR_CAPS *pCaps);
3343 HRESULT GetVideoProcessorRateConversionCaps(
3344 UINT TypeIndex,
3345 D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
3346 HRESULT GetVideoProcessorCustomRate(
3347 UINT TypeIndex,
3348 UINT CustomRateIndex,
3349 D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate);
3350 HRESULT GetVideoProcessorFilterRange(
3351 D3D11_VIDEO_PROCESSOR_FILTER Filter,
3352 D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange);
3353}
3354
3355[
3356 object,
3357 uuid(1d7b0652-185f-41c6-85ce-0c5be3d4ae6c),
3358 local,
3359 pointer_default(unique)
3360]
3361interface ID3D11VideoProcessor : ID3D11DeviceChild
3362{
3363 void GetContentDesc(
3364 D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc);
3365 void GetRateConversionCaps(
3366 D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
3367}
3368
3369[
3370 object,
3371 uuid(c2931aea-2a85-4f20-860f-fba1fd256e18),
3372 local,
3373 pointer_default(unique)
3374]
3375interface ID3D11VideoDecoderOutputView : ID3D11View
3376{
3377 void GetDesc(
3378 D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc);
3379}
3380
3381[
3382 object,
3383 uuid(11ec5a5f-51dc-4945-ab34-6e8c21300ea5),
3384 local,
3385 pointer_default(unique)
3386]
3387interface ID3D11VideoProcessorInputView : ID3D11View
3388{
3389 void GetDesc(
3390 D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc);
3391}
3392
3393[
3394 object,
3395 uuid(a048285e-25a9-4527-bd93-d68b68c44254),
3396 local,
3397 pointer_default(unique)
3398]
3399interface ID3D11VideoProcessorOutputView : ID3D11View
3400{
3401 void GetDesc(
3402 D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc);
3403}
3404
3405[
3406 object,
3407 uuid(10ec4d5b-975a-4689-b9e4-d0aac30fe333),
3408 local,
3409 pointer_default(unique)
3410]
3411interface ID3D11VideoDevice : IUnknown
3412{
3413 HRESULT CreateVideoDecoder(
3414 const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
3415 const D3D11_VIDEO_DECODER_CONFIG *pConfig,
3416 ID3D11VideoDecoder **ppDecoder);
3417 HRESULT CreateVideoProcessor(
3418 ID3D11VideoProcessorEnumerator *pEnum,
3419 UINT RateConversionIndex,
3420 ID3D11VideoProcessor **ppVideoProcessor);
3421 HRESULT CreateAuthenticatedChannel(
3422 D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
3423 ID3D11AuthenticatedChannel **ppAuthenticatedChannel);
3424 HRESULT CreateCryptoSession(
3425 const GUID *pCryptoType,
3426 const GUID *pDecoderProfile,
3427 const GUID *pKeyExchangeType,
3428 ID3D11CryptoSession **ppCryptoSession);
3429 HRESULT CreateVideoDecoderOutputView(
3430 ID3D11Resource *pResource,
3431 const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
3432 ID3D11VideoDecoderOutputView **ppVDOVView);
3433 HRESULT CreateVideoProcessorInputView(
3434 ID3D11Resource *pResource,
3435 ID3D11VideoProcessorEnumerator *pEnum,
3436 const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,
3437 ID3D11VideoProcessorInputView **ppVPIView);
3438 HRESULT CreateVideoProcessorOutputView(
3439 ID3D11Resource *pResource,
3440 ID3D11VideoProcessorEnumerator *pEnum,
3441 const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,
3442 ID3D11VideoProcessorOutputView **ppVPOView);
3443 HRESULT CreateVideoProcessorEnumerator(
3444 const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,
3445 ID3D11VideoProcessorEnumerator **ppEnum);
3446 UINT GetVideoDecoderProfileCount();
3447 HRESULT GetVideoDecoderProfile(
3448 UINT Index,
3449 GUID *pDecoderProfile);
3450 HRESULT CheckVideoDecoderFormat(
3451 const GUID *pDecoderProfile,
3452 DXGI_FORMAT Format,
3453 BOOL *pSupported);
3454 HRESULT GetVideoDecoderConfigCount(
3455 const D3D11_VIDEO_DECODER_DESC *pDesc,
3456 UINT *pCount);
3457 HRESULT GetVideoDecoderConfig(
3458 const D3D11_VIDEO_DECODER_DESC *pDesc,
3459 UINT Index,
3460 D3D11_VIDEO_DECODER_CONFIG *pConfig);
3461 HRESULT GetContentProtectionCaps(
3462 const GUID *pCryptoType,
3463 const GUID *pDecoderProfile,
3464 D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps);
3465 HRESULT CheckCryptoKeyExchange(
3466 const GUID *pCryptoType,
3467 const GUID *pDecoderProfile,
3468 UINT Index,
3469 GUID *pKeyExchangeType);
3470 HRESULT SetPrivateData(
3471 REFGUID guid,
3472 UINT DataSize,
3473 const void *pData);
3474 HRESULT SetPrivateDataInterface(
3475 REFGUID guid,
3476 const IUnknown *pData);
3477}
3478
3479[
3480 object,
3481 uuid(61f21c45-3c0e-4a74-9cea-67100d9ad5e4),
3482 local,
3483 pointer_default(unique)
3484]
3485interface ID3D11VideoContext : ID3D11DeviceChild
3486{
3487 HRESULT GetDecoderBuffer(
3488 [in] ID3D11VideoDecoder *decoder,
3489 [in] D3D11_VIDEO_DECODER_BUFFER_TYPE type,
3490 [out] UINT *buffer_size,
3491 [out] void **buffer
3492 );
3493 HRESULT ReleaseDecoderBuffer(
3494 [in] ID3D11VideoDecoder *decoder,
3495 [in] D3D11_VIDEO_DECODER_BUFFER_TYPE type
3496 );
3497 HRESULT DecoderBeginFrame(
3498 [in] ID3D11VideoDecoder *decoder,
3499 [in] ID3D11VideoDecoderOutputView *view,
3500 [in] UINT key_size,
3501 [in] const void *key
3502 );
3503 HRESULT DecoderEndFrame(
3504 [in] ID3D11VideoDecoder *decoder
3505 );
3506 HRESULT SubmitDecoderBuffers(
3507 [in] ID3D11VideoDecoder *decoder,
3508 [in] UINT buffers_count,
3509 [in] const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc
3510 );
3511 HRESULT DecoderExtension(
3512 [in] ID3D11VideoDecoder *decoder,
3513 [in] const D3D11_VIDEO_DECODER_EXTENSION *extension
3514 );
3515 void VideoProcessorSetOutputTargetRect(
3516 [in] ID3D11VideoProcessor *processor,
3517 [in] BOOL enable,
3518 [in] const RECT *rect
3519 );
3520 void VideoProcessorSetOutputBackgroundColor(
3521 [in] ID3D11VideoProcessor *processor,
3522 [in] BOOL y_cb_cr,
3523 [in] const D3D11_VIDEO_COLOR *color
3524 );
3525 void VideoProcessorSetOutputColorSpace(
3526 [in] ID3D11VideoProcessor *processor,
3527 [in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
3528 );
3529 void VideoProcessorSetOutputAlphaFillMode(
3530 [in] ID3D11VideoProcessor *processor,
3531 [in] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,
3532 [in] UINT stream_idx
3533 );
3534 void VideoProcessorSetOutputConstriction(
3535 [in] ID3D11VideoProcessor *processor,
3536 [in] BOOL enable,
3537 [in] SIZE size
3538 );
3539 void VideoProcessorSetOutputStereoMode(
3540 [in] ID3D11VideoProcessor *processor,
3541 [in] BOOL enable
3542 );
3543 HRESULT VideoProcessorSetOutputExtension(
3544 [in] ID3D11VideoProcessor *processor,
3545 [in] const GUID *guid,
3546 [in] UINT data_size,
3547 [in] void *data
3548 );
3549 void VideoProcessorGetOutputTargetRect(
3550 [in] ID3D11VideoProcessor *processor,
3551 [out] BOOL *enabled,
3552 [out] RECT *rect
3553 );
3554 void VideoProcessorGetOutputBackgroundColor(
3555 [in] ID3D11VideoProcessor *processor,
3556 [out] BOOL *y_cb_cr,
3557 [out] D3D11_VIDEO_COLOR *color
3558 );
3559 void VideoProcessorGetOutputColorSpace(
3560 [in] ID3D11VideoProcessor *processor,
3561 [out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
3562 );
3563 void VideoProcessorGetOutputAlphaFillMode(
3564 [in] ID3D11VideoProcessor *processor,
3565 [out] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,
3566 [out] UINT *stream_idx
3567 );
3568 void VideoProcessorGetOutputConstriction(
3569 [in] ID3D11VideoProcessor *processor,
3570 [out] BOOL *enabled,
3571 [out] SIZE *size
3572 );
3573 void VideoProcessorGetOutputStereoMode(
3574 [in] ID3D11VideoProcessor *processor,
3575 [out] BOOL *enabled
3576 );
3577 HRESULT VideoProcessorGetOutputExtension(
3578 [in] ID3D11VideoProcessor *processor,
3579 [in] const GUID *guid,
3580 [in] UINT data_size,
3581 [out] void *data
3582 );
3583 void VideoProcessorSetStreamFrameFormat(
3584 [in] ID3D11VideoProcessor *processor,
3585 [in] UINT stream_idx,
3586 [in] D3D11_VIDEO_FRAME_FORMAT format
3587 );
3588 void VideoProcessorSetStreamColorSpace(
3589 [in] ID3D11VideoProcessor *processor,
3590 [in] UINT stream_idx,
3591 [in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
3592 );
3593 void VideoProcessorSetStreamOutputRate(
3594 [in] ID3D11VideoProcessor *processor,
3595 [in] UINT stream_idx,
3596 [in] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,
3597 [in] BOOL repeat,
3598 [in] const DXGI_RATIONAL *custom_rate
3599 );
3600 void VideoProcessorSetStreamSourceRect(
3601 [in] ID3D11VideoProcessor *processor,
3602 [in] UINT stream_idx,
3603 [in] BOOL enable,
3604 [in] const RECT *rect
3605 );
3606 void VideoProcessorSetStreamDestRect(
3607 [in] ID3D11VideoProcessor *processor,
3608 [in] UINT stream_idx,
3609 [in] BOOL enable,
3610 [in] const RECT *rect
3611 );
3612 void VideoProcessorSetStreamAlpha(
3613 [in] ID3D11VideoProcessor *processor,
3614 [in] UINT stream_idx,
3615 [in] BOOL enable,
3616 [in] float alpha
3617 );
3618 void VideoProcessorSetStreamPalette(
3619 [in] ID3D11VideoProcessor *processor,
3620 [in] UINT stream_idx,
3621 [in] UINT entry_count,
3622 [in] const UINT *entries
3623 );
3624 void VideoProcessorSetStreamPixelAspectRatio(
3625 [in] ID3D11VideoProcessor *processor,
3626 [in] UINT stream_idx,
3627 [in] BOOL enable,
3628 [in] const DXGI_RATIONAL *src_aspect_ratio,
3629 [in] const DXGI_RATIONAL *dst_aspect_ratio
3630 );
3631 void VideoProcessorSetStreamLumaKey(
3632 [in] ID3D11VideoProcessor *processor,
3633 [in] UINT stream_idx,
3634 [in] BOOL enable,
3635 [in] float lower,
3636 [in] float upper
3637 );
3638 void VideoProcessorSetStreamStereoFormat(
3639 [in] ID3D11VideoProcessor *processor,
3640 [in] UINT stream_idx,
3641 [in] BOOL enable,
3642 [in] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,
3643 [in] BOOL left_view_frame0,
3644 [in] BOOL base_view_frame0,
3645 [in] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,
3646 [in] int mono_offset
3647 );
3648 void VideoProcessorSetStreamAutoProcessingMode(
3649 [in] ID3D11VideoProcessor *processor,
3650 [in] UINT stream_idx,
3651 [in] BOOL enable
3652 );
3653 void VideoProcessorSetStreamFilter(
3654 [in] ID3D11VideoProcessor *processor,
3655 [in] UINT stream_idx,
3656 [in] D3D11_VIDEO_PROCESSOR_FILTER filter,
3657 [in] BOOL enable,
3658 [in] int level
3659 );
3660 HRESULT VideoProcessorSetStreamExtension(
3661 [in] ID3D11VideoProcessor *processor,
3662 [in] UINT stream_idx,
3663 [in] const GUID *guid,
3664 [in] UINT data_size,
3665 [in] void *data
3666 );
3667 void VideoProcessorGetStreamFrameFormat(
3668 [in] ID3D11VideoProcessor *processor,
3669 [in] UINT stream_idx,
3670 [out] D3D11_VIDEO_FRAME_FORMAT *format
3671 );
3672 void VideoProcessorGetStreamColorSpace(
3673 [in] ID3D11VideoProcessor *processor,
3674 [in] UINT stream_idx,
3675 [out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
3676 );
3677 void VideoProcessorGetStreamOutputRate(
3678 [in] ID3D11VideoProcessor *processor,
3679 [in] UINT stream_idx,
3680 [out] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,
3681 [out] BOOL *repeat,
3682 [out] DXGI_RATIONAL *custom_rate
3683 );
3684 void VideoProcessorGetStreamSourceRect(
3685 [in] ID3D11VideoProcessor *processor,
3686 [in] UINT stream_idx,
3687 [out] BOOL *enabled,
3688 [out] RECT *rect
3689 );
3690 void VideoProcessorGetStreamDestRect(
3691 [in] ID3D11VideoProcessor *processor,
3692 [in] UINT stream_idx,
3693 [out] BOOL *enabled,
3694 [out] RECT *rect
3695 );
3696 void VideoProcessorGetStreamAlpha(
3697 [in] ID3D11VideoProcessor *processor,
3698 [in] UINT stream_idx,
3699 [out] BOOL *enabled,
3700 [out] float *alpha
3701 );
3702 void VideoProcessorGetStreamPalette(
3703 [in] ID3D11VideoProcessor *processor,
3704 [in] UINT stream_idx,
3705 [in] UINT entry_count,
3706 [out] UINT *entries
3707 );
3708 void VideoProcessorGetStreamPixelAspectRatio(
3709 [in] ID3D11VideoProcessor *processor,
3710 [in] UINT stream_idx,
3711 [out] BOOL *enabled,
3712 [out] DXGI_RATIONAL *src_aspect_ratio,
3713 [out] DXGI_RATIONAL *dst_aspect_ratio
3714 );
3715 void VideoProcessorGetStreamLumaKey(
3716 [in] ID3D11VideoProcessor *processor,
3717 [in] UINT stream_idx,
3718 [out] BOOL *enabled,
3719 [out] float *lower,
3720 [out] float *upper
3721 );
3722 void VideoProcessorGetStreamStereoFormat(
3723 [in] ID3D11VideoProcessor *processor,
3724 [in] UINT stream_idx,
3725 [out] BOOL *enabled,
3726 [out] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,
3727 [out] BOOL *left_view_frame0,
3728 [out] BOOL *base_view_frame0,
3729 [out] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,
3730 [out] int *mono_offset
3731 );
3732 void VideoProcessorGetStreamAutoProcessingMode(
3733 [in] ID3D11VideoProcessor *processor,
3734 [in] UINT stream_idx,
3735 [out] BOOL *enabled
3736 );
3737 void VideoProcessorGetStreamFilter(
3738 [in] ID3D11VideoProcessor *processor,
3739 [in] UINT stream_idx,
3740 [in] D3D11_VIDEO_PROCESSOR_FILTER filter,
3741 [out] BOOL *enabled,
3742 [out] int *level
3743 );
3744 HRESULT VideoProcessorGetStreamExtension(
3745 [in] ID3D11VideoProcessor *processor,
3746 [in] UINT stream_idx,
3747 [in] const GUID *guid,
3748 [in] UINT data_size,
3749 [out] void *data
3750 );
3751 HRESULT VideoProcessorBlt(
3752 [in] ID3D11VideoProcessor *processor,
3753 [in] ID3D11VideoProcessorOutputView *view,
3754 [in] UINT frame_idx,
3755 [in] UINT stream_count,
3756 [in] const D3D11_VIDEO_PROCESSOR_STREAM *streams
3757 );
3758 HRESULT NegotiateCryptoSessionKeyExchange(
3759 [in] ID3D11CryptoSession *session,
3760 [in] UINT data_size,
3761 [in, out] void *data
3762 );
3763 void EncryptionBlt(
3764 [in] ID3D11CryptoSession *session,
3765 [in] ID3D11Texture2D *src_surface,
3766 [in] ID3D11Texture2D *dst_surface,
3767 [in] UINT iv_size,
3768 [in, out] void *iv
3769 );
3770 void DecryptionBlt(
3771 [in] ID3D11CryptoSession *session,
3772 [in] ID3D11Texture2D *src_surface,
3773 [in] ID3D11Texture2D *dst_surface,
3774 [in] D3D11_ENCRYPTED_BLOCK_INFO *block_info,
3775 [in] UINT key_size,
3776 [in] const void *key,
3777 [in] UINT iv_size,
3778 [in, out] void *iv
3779 );
3780 void StartSessionKeyRefresh(
3781 [in] ID3D11CryptoSession *session,
3782 [in] UINT random_number_size,
3783 [out] void *random_number
3784 );
3785 void FinishSessionKeyRefresh(
3786 [in] ID3D11CryptoSession *session
3787 );
3788 HRESULT GetEncryptionBltKey(
3789 [in] ID3D11CryptoSession *session,
3790 [in] UINT key_size,
3791 [out] void *key
3792 );
3793 HRESULT NegotiateAuthenticatedChannelKeyExchange(
3794 [in] ID3D11AuthenticatedChannel *channel,
3795 [in] UINT data_size,
3796 [in, out] void *data
3797 );
3798 HRESULT QueryAuthenticatedChannel(
3799 [in] ID3D11AuthenticatedChannel *channel,
3800 [in] UINT input_size,
3801 [in] const void *input,
3802 [in] UINT output_size,
3803 [out] void *output
3804 );
3805 HRESULT ConfigureAuthenticatedChannel(
3806 [in] ID3D11AuthenticatedChannel *channel,
3807 [in] UINT input_size,
3808 [in] const void *input,
3809 [out] D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output
3810 );
3811 void VideoProcessorSetStreamRotation(
3812 [in] ID3D11VideoProcessor *processor,
3813 [in] UINT stream_idx,
3814 [in] BOOL enable,
3815 [in] D3D11_VIDEO_PROCESSOR_ROTATION rotation
3816 );
3817 void VideoProcessorGetStreamRotation(
3818 [in] ID3D11VideoProcessor *processor,
3819 [in] UINT stream_idx,
3820 [out] BOOL *enable,
3821 [out] D3D11_VIDEO_PROCESSOR_ROTATION *rotation
3822 );
3823}
3824
3825[
3826 object,
3827 local,
3828 uuid(db6f6ddb-ac77-4e88-8253-819df9bbf140)
3829]
3830interface ID3D11Device : IUnknown
3831{
3832 HRESULT CreateBuffer(
3833 [in] const D3D11_BUFFER_DESC *pDesc,
3834 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
3835 [out] ID3D11Buffer **ppBuffer);
3836 HRESULT CreateTexture1D(
3837 [in] const D3D11_TEXTURE1D_DESC *pDesc,
3838 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
3839 [out] ID3D11Texture1D **ppTexture1D);
3840 HRESULT CreateTexture2D(
3841 [in] const D3D11_TEXTURE2D_DESC *pDesc,
3842 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
3843 [out] ID3D11Texture2D **ppTexture2D);
3844 HRESULT CreateTexture3D(
3845 [in] const D3D11_TEXTURE3D_DESC *pDesc,
3846 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
3847 [out] ID3D11Texture3D **ppTexture3D);
3848 HRESULT CreateShaderResourceView(
3849 [in] ID3D11Resource *pResource,
3850 [in] const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
3851 [out] ID3D11ShaderResourceView **ppSRView);
3852 HRESULT CreateUnorderedAccessView(
3853 [in] ID3D11Resource *pResource,
3854 [in] const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
3855 [out] ID3D11UnorderedAccessView **ppUAView);
3856 HRESULT CreateRenderTargetView(
3857 [in] ID3D11Resource *pResource,
3858 [in] const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
3859 [out] ID3D11RenderTargetView **ppRTView);
3860 HRESULT CreateDepthStencilView(
3861 [in] ID3D11Resource *pResource,
3862 [in] const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
3863 [out] ID3D11DepthStencilView **ppDepthStencilView);
3864 HRESULT CreateInputLayout(
3865 [in] const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
3866 [in] UINT NumElements,
3867 [in] const void *pShaderBytecodeWithInputSignature,
3868 [in] SIZE_T BytecodeLength,
3869 [out] ID3D11InputLayout **ppInputLayout);
3870 HRESULT CreateVertexShader(
3871 [in] const void *pShaderBytecode,
3872 [in] SIZE_T BytecodeLength,
3873 [in] ID3D11ClassLinkage *pClassLinkage,
3874 [out] ID3D11VertexShader **ppVertexShader);
3875 HRESULT CreateGeometryShader(
3876 [in] const void *pShaderBytecode,
3877 [in] SIZE_T BytecodeLength,
3878 [in] ID3D11ClassLinkage *pClassLinkage,
3879 [out] ID3D11GeometryShader **ppGeometryShader);
3880 HRESULT CreateGeometryShaderWithStreamOutput(
3881 [in] const void *pShaderBytecode,
3882 [in] SIZE_T BytecodeLength,
3883 [in] const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
3884 [in] UINT NumEntries,
3885 [in] const UINT *pBufferStrides,
3886 [in] UINT NumStrides,
3887 [in] UINT RasterizedStream,
3888 [in] ID3D11ClassLinkage *pClassLinkage,
3889 [out] ID3D11GeometryShader **ppGeometryShader);
3890 HRESULT CreatePixelShader(
3891 [in] const void *pShaderBytecode,
3892 [in] SIZE_T BytecodeLength,
3893 [in] ID3D11ClassLinkage *pClassLinkage,
3894 [out] ID3D11PixelShader **ppPixelShader);
3895 HRESULT CreateHullShader(
3896 [in] const void *pShaderBytecode,
3897 [in] SIZE_T BytecodeLength,
3898 [in] ID3D11ClassLinkage *pClassLinkage,
3899 [out] ID3D11HullShader **ppHullShader);
3900 HRESULT CreateDomainShader(
3901 [in] const void *pShaderBytecode,
3902 [in] SIZE_T BytecodeLength,
3903 [in] ID3D11ClassLinkage *pClassLinkage,
3904 [out] ID3D11DomainShader **ppDomainShader);
3905 HRESULT CreateComputeShader(
3906 [in] const void *pShaderBytecode,
3907 [in] SIZE_T BytecodeLength,
3908 [in] ID3D11ClassLinkage *pClassLinkage,
3909 [out] ID3D11ComputeShader **ppComputeShader);
3910 HRESULT CreateClassLinkage(
3911 [out] ID3D11ClassLinkage **ppLinkage);
3912 HRESULT CreateBlendState(
3913 [in] const D3D11_BLEND_DESC *pBlendStateDesc,
3914 [out] ID3D11BlendState **ppBlendState);
3915 HRESULT CreateDepthStencilState(
3916 [in] const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
3917 [out] ID3D11DepthStencilState **ppDepthStencilState);
3918 HRESULT CreateRasterizerState(
3919 [in] const D3D11_RASTERIZER_DESC *pRasterizerDesc,
3920 [out] ID3D11RasterizerState **ppRasterizerState);
3921 HRESULT CreateSamplerState(
3922 [in] const D3D11_SAMPLER_DESC *pSamplerDesc,
3923 [out] ID3D11SamplerState **ppSamplerState);
3924 HRESULT CreateQuery(
3925 [in] const D3D11_QUERY_DESC *pQueryDesc,
3926 [out] ID3D11Query **ppQuery);
3927 HRESULT CreatePredicate(
3928 [in] const D3D11_QUERY_DESC *pPredicateDesc,
3929 [out] ID3D11Predicate **ppPredicate);
3930 HRESULT CreateCounter(
3931 [in] const D3D11_COUNTER_DESC *pCounterDesc,
3932 [out] ID3D11Counter **ppCounter);
3933 HRESULT CreateDeferredContext(
3934 UINT ContextFlags,
3935 [out] ID3D11DeviceContext **ppDeferredContext);
3936 HRESULT OpenSharedResource(
3937 [in] HANDLE hResource,
3938 [in] REFIID ReturnedInterface,
3939 [out] void **ppResource);
3940 HRESULT CheckFormatSupport(
3941 [in] DXGI_FORMAT Format,
3942 [out] UINT *pFormatSupport);
3943 HRESULT CheckMultisampleQualityLevels(
3944 [in] DXGI_FORMAT Format,
3945 [in] UINT SampleCount,
3946 [out] UINT *pNumQualityLevels);
3947 void CheckCounterInfo(
3948 [out] D3D11_COUNTER_INFO *pCounterInfo);
3949 HRESULT CheckCounter(
3950 [in] const D3D11_COUNTER_DESC *pDesc,
3951 [out] D3D11_COUNTER_TYPE *pType,
3952 [out] UINT *pActiveCounters,
3953 [out] LPSTR szName,
3954 [in, out] UINT *pNameLength,
3955 [out] LPSTR szUnits,
3956 [in, out] UINT *pUnitsLength,
3957 [out] LPSTR szDescription,
3958 [in, out] UINT *pDescriptionLength);
3959 HRESULT CheckFeatureSupport(
3960 D3D11_FEATURE Feature,
3961 [out] void *pFeatureSupportData,
3962 UINT FeatureSupportDataSize);
3963 HRESULT GetPrivateData(
3964 [in] REFGUID guid,
3965 [in, out] UINT *pDataSize,
3966 [out] void *pData);
3967 HRESULT SetPrivateData(
3968 [in] REFGUID guid,
3969 [in] UINT DataSize,
3970 [in] const void *pData);
3971 HRESULT SetPrivateDataInterface(
3972 [in] REFGUID guid,
3973 [in] const IUnknown *pData);
3974 D3D_FEATURE_LEVEL GetFeatureLevel();
3975 UINT GetCreationFlags();
3976 HRESULT GetDeviceRemovedReason();
3977 void GetImmediateContext(
3978 [out] ID3D11DeviceContext **ppImmediateContext);
3979 HRESULT SetExceptionMode(UINT RaiseFlags);
3980 UINT GetExceptionMode();
3981}
3982
3983typedef enum D3D11_CREATE_DEVICE_FLAG {
3984 D3D11_CREATE_DEVICE_SINGLETHREADED = 0x0001,
3985 D3D11_CREATE_DEVICE_DEBUG = 0x0002,
3986 D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x0004,
3987 D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x0008,
3988 D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x0020,
3989 D3D11_CREATE_DEVICE_DEBUGGABLE = 0x0040,
3990 D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x0080,
3991 D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x0100,
3992 D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x0800
3993} D3D11_CREATE_DEVICE_FLAG;
3994
3995typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT
3996{
3997 D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT = 0x0001,
3998 D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT = 0x0002,
3999} D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT;
4000
4001const UINT D3D11_SDK_VERSION = 7;
4002
4003cpp_quote("#include <d3d10_1.h>")
4004cpp_quote("#ifndef D3D11_IGNORE_SDK_LAYERS")
4005cpp_quote("# include <d3d11sdklayers.h>")
4006cpp_quote("#endif")
4007cpp_quote("#include <d3d10misc.h>")
4008cpp_quote("#include <d3d10shader.h>")
4009cpp_quote("#include <d3d10effect.h>")
4010cpp_quote("#include <d3d10_1shader.h>")
4011
4012const UINT _FACD3D11 = 0x87c;
4013cpp_quote("#define MAKE_D3D11_HRESULT(code) MAKE_HRESULT(SEVERITY_ERROR, _FACD3D11, code)")
4014
4015cpp_quote("typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,")
4016cpp_quote(" const D3D_FEATURE_LEVEL*,UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);")
4017
4019cpp_quote(" UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);")
4020
4021cpp_quote("typedef HRESULT (WINAPI *PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,")
4022cpp_quote(" const D3D_FEATURE_LEVEL*,UINT,UINT,const DXGI_SWAP_CHAIN_DESC*,IDXGISwapChain**,ID3D11Device**,")
4023cpp_quote(" D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);")
4024
4025[local] HRESULT __stdcall D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver_type,
4026 HMODULE swrast, UINT flags, const D3D_FEATURE_LEVEL *feature_levels, UINT levels, UINT sdk_version,
4027 const DXGI_SWAP_CHAIN_DESC *swapchain_desc, IDXGISwapChain **swapchain, ID3D11Device **device,
4028 D3D_FEATURE_LEVEL *obtained_feature_level, ID3D11DeviceContext **immediate_context);
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 MaxDepth
Definition: acpixf.h:640
unsigned char UINT8
Definition: actypes.h:128
Definition: bufpool.h:45
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
Definition: d3d10.idl:496
UINT MipLevels
Definition: d3d10_1.idl:94
UINT First2DArrayFace
Definition: d3d10_1.idl:95
UINT NumCubes
Definition: d3d10_1.idl:96
D3D_PRIMITIVE D3D11_PRIMITIVE
Definition: d3d11.idl:25
D3D11_FILTER
Definition: d3d11.idl:894
@ D3D11_FILTER_MIN_MAG_MIP_LINEAR
Definition: d3d11.idl:902
const UINT D3D11_DEFAULT_STENCIL_READ_MASK
Definition: d3d11.idl:146
D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY
Definition: d3d11.idl:26
D3D11_BLEND
Definition: d3d11.idl:299
@ D3D11_BLEND_ONE
Definition: d3d11.idl:301
@ D3D11_BLEND_ZERO
Definition: d3d11.idl:300
const unsigned int D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT
Definition: d3d11.idl:172
D3D11_COMPARISON_FUNC
Definition: d3d11.idl:586
@ D3D11_COMPARISON_NEVER
Definition: d3d11.idl:587
@ D3D11_COMPARISON_ALWAYS
Definition: d3d11.idl:594
@ D3D11_COMPARISON_LESS
Definition: d3d11.idl:588
D3D11_BLEND_OP
Definition: d3d11.idl:320
@ D3D11_BLEND_OP_ADD
Definition: d3d11.idl:321
RECT D3D11_RECT
Definition: d3d11.idl:28
D3D11_DEPTH_WRITE_MASK
Definition: d3d11.idl:631
@ D3D11_DEPTH_WRITE_MASK_ALL
Definition: d3d11.idl:633
const UINT D3D11_DEFAULT_STENCIL_WRITE_MASK
Definition: d3d11.idl:148
D3D_SRV_DIMENSION D3D11_SRV_DIMENSION
Definition: d3d11.idl:27
HRESULT WINAPI D3D11CreateDevice(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver_type, HMODULE swrast, UINT flags, const D3D_FEATURE_LEVEL *feature_levels, UINT levels, UINT sdk_version, ID3D11Device **device_out, D3D_FEATURE_LEVEL *obtained_feature_level, ID3D11DeviceContext **immediate_context)
Definition: d3d11_main.c:286
D3D_FEATURE_LEVEL
Definition: d3dcommon.idl:102
D3D_DRIVER_TYPE
Definition: d3dcommon.idl:92
D3D_SRV_DIMENSION
Definition: d3dcommon.idl:548
@ D3D11_SRV_DIMENSION_TEXTURE1D
Definition: d3dcommon.idl:584
@ D3D11_SRV_DIMENSION_TEXTURECUBE
Definition: d3dcommon.idl:591
@ D3D11_SRV_DIMENSION_TEXTURE2DARRAY
Definition: d3dcommon.idl:587
@ D3D11_SRV_DIMENSION_BUFFER
Definition: d3dcommon.idl:583
@ D3D11_SRV_DIMENSION_TEXTURE1DARRAY
Definition: d3dcommon.idl:585
@ D3D11_SRV_DIMENSION_BUFFEREX
Definition: d3dcommon.idl:593
@ D3D11_SRV_DIMENSION_TEXTURE3D
Definition: d3dcommon.idl:590
@ D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY
Definition: d3dcommon.idl:589
@ D3D11_SRV_DIMENSION_TEXTURE2D
Definition: d3dcommon.idl:586
@ D3D11_SRV_DIMENSION_TEXTURECUBEARRAY
Definition: d3dcommon.idl:592
D3D_PRIMITIVE
Definition: d3dcommon.idl:298
D3D_PRIMITIVE_TOPOLOGY
Definition: d3dcommon.idl:384
static SIZE_T const char const D3D_SHADER_MACRO ID3DInclude * include
Definition: asm.c:31
_Check_return_ _In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ PDXGKARG_SYSTEM_DISPLAY_ENABLE_FLAGS _Out_ UINT _Out_ UINT * Height
Definition: dispmprt.h:1445
_Check_return_ _In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ PDXGKARG_SYSTEM_DISPLAY_ENABLE_FLAGS _Out_ UINT * Width
Definition: dispmprt.h:1444
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define MAKE_HRESULT(sev, fac, code)
Definition: dmerror.h:29
#define L(x)
Definition: resources.c:13
DXGI_FORMAT
Definition: dxgiformat.idl:22
@ DXGI_FORMAT_UNKNOWN
Definition: dxgiformat.idl:23
unsigned int BOOL
Definition: ntddk_ex.h:94
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLint GLint GLsizei width
Definition: gl.h:1546
GLenum GLuint texture
Definition: glext.h:6295
GLbitfield flags
Definition: glext.h:7161
GLsizeiptr const GLvoid GLenum usage
Definition: glext.h:5919
unsigned int UINT
Definition: sysinfo.c:13
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE Usage
Definition: hidpi.h:384
#define f
Definition: ke_i.h:83
static int double int int double int int double int int double int int double int int double int int x13
Definition: server.c:83
static int double int int double int int double int int double int int double int int double int int double int int double int x16
Definition: server.c:83
int other
Definition: msacm.c:1376
static UINT array_size
Definition: msctf.cpp:39
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
#define UINT
Definition: utils.c:29
Definition: dcommon.idl:28
Definition: inflate.c:139
Definition: wpp.c:50
Definition: filter.c:165
Definition: tools.h:99
float FLOAT
Definition: typedefs.h:69
HANDLE HMODULE
Definition: typedefs.h:77
#define HRESULT
Definition: msvc.h:7
#define WINAPI
Definition: msvc.h:6
#define SEVERITY_ERROR
Definition: winerror.h:178