ieframe: Use IOleObject::DoVerb if IHlink interface is not available.
[wine.git] / include / d3d11.idl
blob105f7073b1c04be3e2335f2c767427b62a4540e8
1 /*
2 * Copyright 2010 Rico Schüller
3 * Copyright 2013 Austin English
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.
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.
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
20 import "oaidl.idl";
21 import "ocidl.idl";
22 import "dxgi.idl";
23 import "d3dcommon.idl";
25 typedef D3D_PRIMITIVE D3D11_PRIMITIVE;
26 typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY;
27 typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION;
28 typedef RECT D3D11_RECT;
30 const UINT D3D11_DEFAULT_DEPTH_BIAS = 0;
31 cpp_quote("#define D3D11_DEFAULT_DEPTH_BIAS_CLAMP 0.0f")
32 const UINT D3D11_DEFAULT_MAX_ANISOTROPY = 16;
33 cpp_quote("#define D3D11_DEFAULT_MIP_LOD_BIAS 0.0f")
34 const UINT D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
35 const UINT D3D11_DEFAULT_SAMPLE_MASK = 0xffffffff;
36 const UINT D3D11_DEFAULT_SCISSOR_ENDX = 0;
37 const UINT D3D11_DEFAULT_SCISSOR_ENDY = 0;
38 const UINT D3D11_DEFAULT_SCISSOR_STARTX = 0;
39 const UINT D3D11_DEFAULT_SCISSOR_STARTY = 0;
40 cpp_quote("#define D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0f")
41 const UINT D3D11_DEFAULT_STENCIL_READ_MASK = 0xff;
42 const UINT D3D11_DEFAULT_STENCIL_REFERENCE = 0;
43 const UINT D3D11_DEFAULT_STENCIL_WRITE_MASK = 0xff;
44 const UINT D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
45 const UINT D3D11_DEFAULT_VIEWPORT_HEIGHT = 0;
46 cpp_quote("#define D3D11_DEFAULT_VIEWPORT_MAX_DEPTH 0.0f")
47 cpp_quote("#define D3D11_DEFAULT_VIEWPORT_MIN_DEPTH 0.0f")
48 const UINT D3D11_DEFAULT_VIEWPORT_TOPLEFTX = 0;
49 const UINT D3D11_DEFAULT_VIEWPORT_TOPLEFTY = 0;
50 const UINT D3D11_DEFAULT_VIEWPORT_WIDTH = 0;
52 const unsigned int D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
54 const UINT D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION = 16384;
56 cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
57 cpp_quote("struct CD3D11_DEFAULT {};")
58 cpp_quote("extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;")
59 cpp_quote("#endif")
61 typedef enum D3D11_BLEND
63 D3D11_BLEND_ZERO = 1,
64 D3D11_BLEND_ONE = 2,
65 D3D11_BLEND_SRC_COLOR = 3,
66 D3D11_BLEND_INV_SRC_COLOR = 4,
67 D3D11_BLEND_SRC_ALPHA = 5,
68 D3D11_BLEND_INV_SRC_ALPHA = 6,
69 D3D11_BLEND_DEST_ALPHA = 7,
70 D3D11_BLEND_INV_DEST_ALPHA = 8,
71 D3D11_BLEND_DEST_COLOR = 9,
72 D3D11_BLEND_INV_DEST_COLOR = 10,
73 D3D11_BLEND_SRC_ALPHA_SAT = 11,
74 D3D11_BLEND_BLEND_FACTOR = 14,
75 D3D11_BLEND_INV_BLEND_FACTOR = 15,
76 D3D11_BLEND_SRC1_COLOR = 16,
77 D3D11_BLEND_INV_SRC1_COLOR = 17,
78 D3D11_BLEND_SRC1_ALPHA = 18,
79 D3D11_BLEND_INV_SRC1_ALPHA = 19,
80 } D3D11_BLEND;
82 typedef enum D3D11_BLEND_OP
84 D3D11_BLEND_OP_ADD = 1,
85 D3D11_BLEND_OP_SUBTRACT,
86 D3D11_BLEND_OP_REV_SUBTRACT,
87 D3D11_BLEND_OP_MIN,
88 D3D11_BLEND_OP_MAX
89 } D3D11_BLEND_OP;
91 typedef struct D3D11_BOX
93 UINT left;
94 UINT top;
95 UINT front;
96 UINT right;
97 UINT bottom;
98 UINT back;
99 } D3D11_BOX;
101 typedef struct D3D11_BUFFER_RTV
103 union
105 UINT FirstElement;
106 UINT ElementOffset;
108 union
110 UINT NumElements;
111 UINT ElementWidth;
113 } D3D11_BUFFER_RTV;
115 typedef struct D3D11_BUFFER_SRV
117 union
119 UINT FirstElement;
120 UINT ElementOffset;
122 union
124 UINT NumElements;
125 UINT ElementWidth;
127 } D3D11_BUFFER_SRV;
129 typedef struct D3D11_BUFFER_UAV
131 UINT FirstElement;
132 UINT NumElements;
133 UINT Flags;
134 } D3D11_BUFFER_UAV;
136 typedef struct D3D11_BUFFEREX_SRV
138 UINT FirstElement;
139 UINT NumElements;
140 UINT Flags;
141 } D3D11_BUFFEREX_SRV;
143 typedef struct D3D11_CLASS_INSTANCE_DESC
145 UINT InstanceId;
146 UINT InstanceIndex;
147 UINT TypeId;
148 UINT ConstantBuffer;
149 UINT BaseConstantBufferOffset;
150 UINT BaseTexture;
151 UINT BaseSampler;
152 BOOL Created;
153 } D3D11_CLASS_INSTANCE_DESC;
155 typedef enum D3D11_COMPARISON_FUNC
157 D3D11_COMPARISON_NEVER = 1,
158 D3D11_COMPARISON_LESS,
159 D3D11_COMPARISON_EQUAL,
160 D3D11_COMPARISON_LESS_EQUAL,
161 D3D11_COMPARISON_GREATER,
162 D3D11_COMPARISON_NOT_EQUAL,
163 D3D11_COMPARISON_GREATER_EQUAL,
164 D3D11_COMPARISON_ALWAYS
165 } D3D11_COMPARISON_FUNC;
167 typedef enum D3D11_COUNTER
169 D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000,
170 } D3D11_COUNTER;
172 typedef struct D3D11_COUNTER_DESC
174 D3D11_COUNTER Counter;
175 UINT MiscFlags;
176 } D3D11_COUNTER_DESC;
178 typedef struct D3D11_COUNTER_INFO
180 D3D11_COUNTER LastDeviceDependentCounter;
181 UINT NumSimultaneousCounters;
182 UINT8 NumDetectableParallelUnits;
183 } D3D11_COUNTER_INFO;
185 typedef enum D3D11_COUNTER_TYPE
187 D3D11_COUNTER_TYPE_FLOAT32,
188 D3D11_COUNTER_TYPE_UINT16,
189 D3D11_COUNTER_TYPE_UINT32,
190 D3D11_COUNTER_TYPE_UINT64,
191 } D3D11_COUNTER_TYPE;
193 typedef enum D3D11_CULL_MODE
195 D3D11_CULL_NONE = 1,
196 D3D11_CULL_FRONT,
197 D3D11_CULL_BACK
198 } D3D11_CULL_MODE;
200 typedef enum D3D11_DEPTH_WRITE_MASK
202 D3D11_DEPTH_WRITE_MASK_ZERO,
203 D3D11_DEPTH_WRITE_MASK_ALL,
204 } D3D11_DEPTH_WRITE_MASK;
206 typedef enum D3D11_DEVICE_CONTEXT_TYPE
208 D3D11_DEVICE_CONTEXT_IMMEDIATE,
209 D3D11_DEVICE_CONTEXT_DEFERRED,
210 } D3D11_DEVICE_CONTEXT_TYPE;
212 typedef enum D3D11_DSV_DIMENSION
214 D3D11_DSV_DIMENSION_UNKNOWN,
215 D3D11_DSV_DIMENSION_TEXTURE1D,
216 D3D11_DSV_DIMENSION_TEXTURE1DARRAY,
217 D3D11_DSV_DIMENSION_TEXTURE2D,
218 D3D11_DSV_DIMENSION_TEXTURE2DARRAY,
219 D3D11_DSV_DIMENSION_TEXTURE2DMS,
220 D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY,
221 } D3D11_DSV_DIMENSION;
223 typedef enum D3D11_FEATURE
225 D3D11_FEATURE_THREADING,
226 D3D11_FEATURE_DOUBLES,
227 D3D11_FEATURE_FORMAT_SUPPORT,
228 D3D11_FEATURE_FORMAT_SUPPORT2,
229 D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS,
230 } D3D11_FEATURE;
232 typedef enum D3D11_FILL_MODE
234 D3D11_FILL_WIREFRAME = 2,
235 D3D11_FILL_SOLID
236 } D3D11_FILL_MODE;
238 typedef enum D3D11_FILTER
240 D3D11_FILTER_MIN_MAG_MIP_POINT = 0x00,
241 D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x01,
242 D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x04,
243 D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x05,
244 D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
245 D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
246 D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
247 D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
248 D3D11_FILTER_ANISOTROPIC = 0x55,
249 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
250 D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
251 D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
252 D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
253 D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
254 D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
255 D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
256 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
257 D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5
258 } D3D11_FILTER;
260 typedef enum D3D11_DSV_FLAG
262 D3D11_DSV_READ_ONLY_DEPTH = 0x1,
263 D3D11_DSV_READ_ONLY_STENCIL = 0x2,
264 } D3D11_DSV_FLAG;
266 typedef enum D3D11_INPUT_CLASSIFICATION
268 D3D11_INPUT_PER_VERTEX_DATA,
269 D3D11_INPUT_PER_INSTANCE_DATA,
270 } D3D11_INPUT_CLASSIFICATION;
272 typedef struct D3D11_INPUT_ELEMENT_DESC
274 LPCSTR SemanticName;
275 UINT SemanticIndex;
276 DXGI_FORMAT Format;
277 UINT InputSlot;
278 UINT AlignedByteOffset;
279 D3D11_INPUT_CLASSIFICATION InputSlotClass;
280 UINT InstanceDataStepRate;
281 } D3D11_INPUT_ELEMENT_DESC;
283 typedef enum D3D11_MAP
285 D3D11_MAP_READ = 1,
286 D3D11_MAP_WRITE,
287 D3D11_MAP_READ_WRITE,
288 D3D11_MAP_WRITE_DISCARD,
289 D3D11_MAP_WRITE_NO_OVERWRITE
290 } D3D11_MAP;
292 typedef struct D3D11_MAPPED_SUBRESOURCE
294 void *pData;
295 UINT RowPitch;
296 UINT DepthPitch;
297 } D3D11_MAPPED_SUBRESOURCE;
299 typedef enum D3D11_QUERY
301 D3D11_QUERY_EVENT,
302 D3D11_QUERY_OCCLUSION,
303 D3D11_QUERY_TIMESTAMP,
304 D3D11_QUERY_TIMESTAMP_DISJOINT,
305 D3D11_QUERY_PIPELINE_STATISTICS,
306 D3D11_QUERY_OCCLUSION_PREDICATE,
307 D3D11_QUERY_SO_STATISTICS,
308 D3D11_QUERY_SO_OVERFLOW_PREDICATE,
309 D3D11_QUERY_SO_STATISTICS_STREAM0,
310 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0,
311 D3D11_QUERY_SO_STATISTICS_STREAM1,
312 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1,
313 D3D11_QUERY_SO_STATISTICS_STREAM2,
314 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2,
315 D3D11_QUERY_SO_STATISTICS_STREAM3,
316 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3,
317 } D3D11_QUERY;
319 typedef struct D3D11_QUERY_DESC
321 D3D11_QUERY Query;
322 UINT MiscFlags;
323 } D3D11_QUERY_DESC;
325 typedef struct D3D11_RASTERIZER_DESC
327 D3D11_FILL_MODE FillMode;
328 D3D11_CULL_MODE CullMode;
329 BOOL FrontCounterClockwise;
330 INT DepthBias;
331 FLOAT DepthBiasClamp;
332 FLOAT SlopeScaledDepthBias;
333 BOOL DepthClipEnable;
334 BOOL ScissorEnable;
335 BOOL MultisampleEnable;
336 BOOL AntialiasedLineEnable;
337 } D3D11_RASTERIZER_DESC;
339 cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
340 cpp_quote("struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC {")
341 cpp_quote(" CD3D11_RASTERIZER_DESC() {}")
342 cpp_quote(" explicit CD3D11_RASTERIZER_DESC(const D3D11_RASTERIZER_DESC &o) : D3D11_RASTERIZER_DESC(o) {}")
343 cpp_quote(" explicit CD3D11_RASTERIZER_DESC(CD3D11_DEFAULT) {")
344 cpp_quote(" FillMode = D3D11_FILL_SOLID;")
345 cpp_quote(" CullMode = D3D11_CULL_BACK;")
346 cpp_quote(" FrontCounterClockwise = FALSE;")
347 cpp_quote(" DepthBias = D3D11_DEFAULT_DEPTH_BIAS;")
348 cpp_quote(" DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP;")
349 cpp_quote(" SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;")
350 cpp_quote(" DepthClipEnable = TRUE;")
351 cpp_quote(" ScissorEnable = FALSE;")
352 cpp_quote(" MultisampleEnable = FALSE;")
353 cpp_quote(" AntialiasedLineEnable = FALSE;")
354 cpp_quote(" }")
355 cpp_quote(" explicit CD3D11_RASTERIZER_DESC(D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode," )
356 cpp_quote(" BOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias,")
357 cpp_quote(" BOOL depthClipEnable, BOOL scissorEnable, BOOL multisampleEnable, BOOL antialiasedLineEnable) {")
358 cpp_quote(" FillMode = fillMode;")
359 cpp_quote(" CullMode = cullMode;")
360 cpp_quote(" FrontCounterClockwise = frontCounterClockwise;")
361 cpp_quote(" DepthBias = depthBias;")
362 cpp_quote(" DepthBiasClamp = depthBiasClamp;")
363 cpp_quote(" SlopeScaledDepthBias = slopeScaledDepthBias;")
364 cpp_quote(" DepthClipEnable = depthClipEnable;")
365 cpp_quote(" ScissorEnable = scissorEnable;")
366 cpp_quote(" MultisampleEnable = multisampleEnable;")
367 cpp_quote(" AntialiasedLineEnable = antialiasedLineEnable;")
368 cpp_quote(" }")
369 cpp_quote(" ~CD3D11_RASTERIZER_DESC() {}")
370 cpp_quote(" operator const D3D11_RASTERIZER_DESC&() const { return *this; }")
371 cpp_quote("};")
372 cpp_quote("#endif")
374 typedef enum D3D11_RESOURCE_DIMENSION
376 D3D11_RESOURCE_DIMENSION_UNKNOWN,
377 D3D11_RESOURCE_DIMENSION_BUFFER,
378 D3D11_RESOURCE_DIMENSION_TEXTURE1D,
379 D3D11_RESOURCE_DIMENSION_TEXTURE2D,
380 D3D11_RESOURCE_DIMENSION_TEXTURE3D,
381 } D3D11_RESOURCE_DIMENSION;
383 typedef enum D3D11_RTV_DIMENSION
385 D3D11_RTV_DIMENSION_UNKNOWN,
386 D3D11_RTV_DIMENSION_BUFFER,
387 D3D11_RTV_DIMENSION_TEXTURE1D,
388 D3D11_RTV_DIMENSION_TEXTURE1DARRAY,
389 D3D11_RTV_DIMENSION_TEXTURE2D,
390 D3D11_RTV_DIMENSION_TEXTURE2DARRAY,
391 D3D11_RTV_DIMENSION_TEXTURE2DMS,
392 D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY,
393 D3D11_RTV_DIMENSION_TEXTURE3D,
394 } D3D11_RTV_DIMENSION;
396 typedef struct D3D11_SO_DECLARATION_ENTRY
398 UINT Stream;
399 LPCSTR SemanticName;
400 UINT SemanticIndex;
401 BYTE StartComponent;
402 BYTE ComponentCount;
403 BYTE OutputSlot;
404 } D3D11_SO_DECLARATION_ENTRY;
406 typedef enum D3D11_STENCIL_OP
408 D3D11_STENCIL_OP_KEEP = 1,
409 D3D11_STENCIL_OP_ZERO,
410 D3D11_STENCIL_OP_REPLACE,
411 D3D11_STENCIL_OP_INCR_SAT,
412 D3D11_STENCIL_OP_DECR_SAT,
413 D3D11_STENCIL_OP_INVERT,
414 D3D11_STENCIL_OP_INCR,
415 D3D11_STENCIL_OP_DECR
416 } D3D11_STENCIL_OP;
418 typedef struct D3D11_SUBRESOURCE_DATA
420 const void *pSysMem;
421 UINT SysMemPitch;
422 UINT SysMemSlicePitch;
423 } D3D11_SUBRESOURCE_DATA;
425 typedef struct D3D11_TEX1D_ARRAY_DSV
427 UINT MipSlice;
428 UINT FirstArraySlice;
429 UINT ArraySize;
430 } D3D11_TEX1D_ARRAY_DSV;
432 typedef struct D3D11_TEX1D_ARRAY_RTV
434 UINT MipSlice;
435 UINT FirstArraySlice;
436 UINT ArraySize;
437 } D3D11_TEX1D_ARRAY_RTV;
439 typedef struct D3D11_TEX1D_ARRAY_SRV
441 UINT MostDetailedMip;
442 UINT MipLevels;
443 UINT FirstArraySlice;
444 UINT ArraySize;
445 } D3D11_TEX1D_ARRAY_SRV;
447 typedef struct D3D11_TEX1D_ARRAY_UAV
449 UINT MipSlice;
450 UINT FirstArraySlice;
451 UINT ArraySize;
452 } D3D11_TEX1D_ARRAY_UAV;
454 typedef struct D3D11_TEX1D_DSV
456 UINT MipSlice;
457 } D3D11_TEX1D_DSV;
459 typedef struct D3D11_TEX1D_RTV
461 UINT MipSlice;
462 } D3D11_TEX1D_RTV;
464 typedef struct D3D11_TEX1D_SRV
466 UINT MostDetailedMip;
467 UINT MipLevels;
468 } D3D11_TEX1D_SRV;
470 typedef struct D3D11_TEX1D_UAV
472 UINT MipSlice;
473 } D3D11_TEX1D_UAV;
475 typedef struct D3D11_TEX2D_ARRAY_DSV
477 UINT MipSlice;
478 UINT FirstArraySlice;
479 UINT ArraySize;
480 } D3D11_TEX2D_ARRAY_DSV;
482 typedef struct D3D11_TEX2D_ARRAY_RTV
484 UINT MipSlice;
485 UINT FirstArraySlice;
486 UINT ArraySize;
487 } D3D11_TEX2D_ARRAY_RTV;
489 typedef struct D3D11_TEX2D_ARRAY_SRV
491 UINT MostDetailedMip;
492 UINT MipLevels;
493 UINT FirstArraySlice;
494 UINT ArraySize;
495 } D3D11_TEX2D_ARRAY_SRV;
497 typedef struct D3D11_TEX2D_ARRAY_UAV
499 UINT MipSlice;
500 UINT FirstArraySlice;
501 UINT ArraySize;
502 } D3D11_TEX2D_ARRAY_UAV;
504 typedef struct D3D11_TEX2D_DSV
506 UINT MipSlice;
507 } D3D11_TEX2D_DSV;
509 typedef struct D3D11_TEX2D_RTV
511 UINT MipSlice;
512 } D3D11_TEX2D_RTV;
514 typedef struct D3D11_TEX2D_SRV
516 UINT MostDetailedMip;
517 UINT MipLevels;
518 } D3D11_TEX2D_SRV;
520 typedef struct D3D11_TEX2D_UAV
522 UINT MipSlice;
523 } D3D11_TEX2D_UAV;
525 typedef struct D3D11_TEX2DMS_ARRAY_DSV
527 UINT FirstArraySlice;
528 UINT ArraySize;
529 } D3D11_TEX2DMS_ARRAY_DSV;
531 typedef struct D3D11_TEX2DMS_ARRAY_RTV
533 UINT FirstArraySlice;
534 UINT ArraySize;
535 } D3D11_TEX2DMS_ARRAY_RTV;
537 typedef struct D3D11_TEX2DMS_ARRAY_SRV
539 UINT FirstArraySlice;
540 UINT ArraySize;
541 } D3D11_TEX2DMS_ARRAY_SRV;
543 typedef struct D3D11_TEX2DMS_DSV
545 UINT UnusedField_NothingToDefine;
546 } D3D11_TEX2DMS_DSV;
548 typedef struct D3D11_TEX2DMS_RTV
550 UINT UnusedField_NothingToDefine;
551 } D3D11_TEX2DMS_RTV;
553 typedef struct D3D11_TEX2DMS_SRV
555 UINT UnusedField_NothingToDefine;
556 } D3D11_TEX2DMS_SRV;
558 typedef struct D3D11_TEX3D_RTV
560 UINT MipSlice;
561 UINT FirstWSlice;
562 UINT WSize;
563 } D3D11_TEX3D_RTV;
565 typedef struct D3D11_TEX3D_SRV
567 UINT MostDetailedMip;
568 UINT MipLevels;
569 } D3D11_TEX3D_SRV;
571 typedef struct D3D11_TEX3D_UAV
573 UINT MipSlice;
574 UINT FirstWSlice;
575 UINT WSize;
576 } D3D11_TEX3D_UAV;
578 typedef struct D3D11_TEXCUBE_ARRAY_SRV
580 UINT MostDetailedMip;
581 UINT MipLevels;
582 UINT First2DArrayFace;
583 UINT NumCubes;
584 } D3D11_TEXCUBE_ARRAY_SRV;
586 typedef struct D3D11_TEXCUBE_SRV
588 UINT MostDetailedMip;
589 UINT MipLevels;
590 } D3D11_TEXCUBE_SRV;
592 typedef enum D3D11_TEXTURE_ADDRESS_MODE
594 D3D11_TEXTURE_ADDRESS_WRAP = 1,
595 D3D11_TEXTURE_ADDRESS_MIRROR,
596 D3D11_TEXTURE_ADDRESS_CLAMP,
597 D3D11_TEXTURE_ADDRESS_BORDER,
598 D3D11_TEXTURE_ADDRESS_MIRROR_ONCE
599 } D3D11_TEXTURE_ADDRESS_MODE;
601 typedef enum D3D11_UAV_DIMENSION
603 D3D11_UAV_DIMENSION_UNKNOWN,
604 D3D11_UAV_DIMENSION_BUFFER,
605 D3D11_UAV_DIMENSION_TEXTURE1D,
606 D3D11_UAV_DIMENSION_TEXTURE1DARRAY,
607 D3D11_UAV_DIMENSION_TEXTURE2D,
608 D3D11_UAV_DIMENSION_TEXTURE2DARRAY,
609 D3D11_UAV_DIMENSION_TEXTURE3D = 8,
610 } D3D11_UAV_DIMENSION;
612 typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC
614 DXGI_FORMAT Format;
615 D3D11_UAV_DIMENSION ViewDimension;
617 union
619 D3D11_BUFFER_UAV Buffer;
620 D3D11_TEX1D_UAV Texture1D;
621 D3D11_TEX1D_ARRAY_UAV Texture1DArray;
622 D3D11_TEX2D_UAV Texture2D;
623 D3D11_TEX2D_ARRAY_UAV Texture2DArray;
624 D3D11_TEX3D_UAV Texture3D;
626 } D3D11_UNORDERED_ACCESS_VIEW_DESC;
628 typedef enum D3D11_USAGE
630 D3D11_USAGE_DEFAULT,
631 D3D11_USAGE_IMMUTABLE,
632 D3D11_USAGE_DYNAMIC,
633 D3D11_USAGE_STAGING,
634 } D3D11_USAGE;
636 typedef enum D3D11_BIND_FLAG
638 D3D11_BIND_VERTEX_BUFFER = 0x0001,
639 D3D11_BIND_INDEX_BUFFER = 0x0002,
640 D3D11_BIND_CONSTANT_BUFFER = 0x0004,
641 D3D11_BIND_SHADER_RESOURCE = 0x0008,
642 D3D11_BIND_STREAM_OUTPUT = 0x0010,
643 D3D11_BIND_RENDER_TARGET = 0x0020,
644 D3D11_BIND_DEPTH_STENCIL = 0x0040,
645 D3D11_BIND_UNORDERED_ACCESS = 0x0080,
646 D3D11_BIND_DECODER = 0x0200,
647 D3D11_BIND_VIDEO_ENCODER = 0x0400
648 } D3D11_BIND_FLAG;
650 typedef enum D3D11_CPU_ACCESS_FLAG
652 D3D11_CPU_ACCESS_WRITE = 0x00010000,
653 D3D11_CPU_ACCESS_READ = 0x00020000
654 } D3D11_CPU_ACCESS_FLAG;
656 typedef struct D3D11_VIEWPORT
658 FLOAT TopLeftX;
659 FLOAT TopLeftY;
660 FLOAT Width;
661 FLOAT Height;
662 FLOAT MinDepth;
663 FLOAT MaxDepth;
664 } D3D11_VIEWPORT;
666 typedef enum D3D11_COLOR_WRITE_ENABLE
668 D3D11_COLOR_WRITE_ENABLE_RED = 1,
669 D3D11_COLOR_WRITE_ENABLE_GREEN = 2,
670 D3D11_COLOR_WRITE_ENABLE_BLUE = 4,
671 D3D11_COLOR_WRITE_ENABLE_ALPHA = 8,
672 D3D11_COLOR_WRITE_ENABLE_ALL =
673 (D3D11_COLOR_WRITE_ENABLE_RED|D3D11_COLOR_WRITE_ENABLE_GREEN|D3D11_COLOR_WRITE_ENABLE_BLUE|D3D11_COLOR_WRITE_ENABLE_ALPHA)
674 } D3D11_COLOR_WRITE_ENABLE;
676 typedef struct D3D11_RENDER_TARGET_BLEND_DESC
678 BOOL BlendEnable;
679 D3D11_BLEND SrcBlend;
680 D3D11_BLEND DestBlend;
681 D3D11_BLEND_OP BlendOp;
682 D3D11_BLEND SrcBlendAlpha;
683 D3D11_BLEND DestBlendAlpha;
684 D3D11_BLEND_OP BlendOpAlpha;
685 UINT8 RenderTargetWriteMask;
686 } D3D11_RENDER_TARGET_BLEND_DESC;
688 typedef struct D3D11_BLEND_DESC
690 BOOL AlphaToCoverageEnable;
691 BOOL IndependentBlendEnable;
692 D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT];
693 } D3D11_BLEND_DESC;
695 cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
696 cpp_quote("struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC {")
697 cpp_quote(" CD3D11_BLEND_DESC() {}")
698 cpp_quote(" explicit CD3D11_BLEND_DESC(const D3D11_BLEND_DESC &o) : D3D11_BLEND_DESC(o) {}")
699 cpp_quote(" explicit CD3D11_BLEND_DESC(CD3D11_DEFAULT) {")
700 cpp_quote(" AlphaToCoverageEnable = FALSE;")
701 cpp_quote(" IndependentBlendEnable = FALSE;")
702 cpp_quote(" for(D3D11_RENDER_TARGET_BLEND_DESC *target; target < RenderTarget+D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; target++) {")
703 cpp_quote(" target->BlendEnable = FALSE;")
704 cpp_quote(" target->SrcBlend = target->SrcBlendAlpha = D3D11_BLEND_ONE;")
705 cpp_quote(" target->DestBlend = target->DestBlendAlpha = D3D11_BLEND_ZERO;")
706 cpp_quote(" target->BlendOp = target->BlendOpAlpha = D3D11_BLEND_OP_ADD;")
707 cpp_quote(" target->RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;")
708 cpp_quote(" }")
709 cpp_quote(" }")
710 cpp_quote(" ~CD3D11_BLEND_DESC() {}")
711 cpp_quote(" operator const D3D11_BLEND_DESC&() const { return *this; }")
712 cpp_quote("};" )
713 cpp_quote("#endif" )
715 typedef struct D3D11_BUFFER_DESC
717 UINT ByteWidth;
718 D3D11_USAGE Usage;
719 UINT BindFlags;
720 UINT CPUAccessFlags;
721 UINT MiscFlags;
722 UINT StructureByteStride;
723 } D3D11_BUFFER_DESC;
725 cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
726 cpp_quote("struct CD3D11_BUFFER_DESC : public D3D11_BUFFER_DESC {")
727 cpp_quote(" CD3D11_BUFFER_DESC() {}" )
728 cpp_quote(" explicit CD3D11_BUFFER_DESC(const D3D11_BUFFER_DESC &o) : D3D11_BUFFER_DESC(o) {}")
729 cpp_quote(" explicit CD3D11_BUFFER_DESC(UINT byteWidth,UINT bindFlags,")
730 cpp_quote(" D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0,")
731 cpp_quote(" UINT miscFlags = 0, UINT structureByteStride = 0 ) {")
732 cpp_quote(" ByteWidth = byteWidth;")
733 cpp_quote(" Usage = usage;")
734 cpp_quote(" BindFlags = bindFlags;")
735 cpp_quote(" CPUAccessFlags = cpuaccessFlags;")
736 cpp_quote(" MiscFlags = miscFlags;" )
737 cpp_quote(" StructureByteStride = structureByteStride;")
738 cpp_quote(" }")
739 cpp_quote(" ~CD3D11_BUFFER_DESC() {}")
740 cpp_quote(" operator const D3D11_BUFFER_DESC&() const { return *this; }")
741 cpp_quote("};" )
742 cpp_quote("#endif" )
744 typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC
746 DXGI_FORMAT Format;
747 D3D11_DSV_DIMENSION ViewDimension;
748 UINT Flags;
750 union
752 D3D11_TEX1D_DSV Texture1D;
753 D3D11_TEX1D_ARRAY_DSV Texture1DArray;
754 D3D11_TEX2D_DSV Texture2D;
755 D3D11_TEX2D_ARRAY_DSV Texture2DArray;
756 D3D11_TEX2DMS_DSV Texture2DMS;
757 D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray;
759 } D3D11_DEPTH_STENCIL_VIEW_DESC;
761 typedef struct D3D11_DEPTH_STENCILOP_DESC
763 D3D11_STENCIL_OP StencilFailOp;
764 D3D11_STENCIL_OP StencilDepthFailOp;
765 D3D11_STENCIL_OP StencilPassOp;
766 D3D11_COMPARISON_FUNC StencilFunc;
767 } D3D11_DEPTH_STENCILOP_DESC;
769 typedef struct D3D11_DEPTH_STENCIL_DESC
771 BOOL DepthEnable;
772 D3D11_DEPTH_WRITE_MASK DepthWriteMask;
773 D3D11_COMPARISON_FUNC DepthFunc;
774 BOOL StencilEnable;
775 UINT8 StencilReadMask;
776 UINT8 StencilWriteMask;
777 D3D11_DEPTH_STENCILOP_DESC FrontFace;
778 D3D11_DEPTH_STENCILOP_DESC BackFace;
779 } D3D11_DEPTH_STENCIL_DESC;
781 typedef struct D3D11_RENDER_TARGET_VIEW_DESC
783 DXGI_FORMAT Format;
784 D3D11_RTV_DIMENSION ViewDimension;
786 union
788 D3D11_BUFFER_RTV Buffer;
789 D3D11_TEX1D_RTV Texture1D;
790 D3D11_TEX1D_ARRAY_RTV Texture1DArray;
791 D3D11_TEX2D_RTV Texture2D;
792 D3D11_TEX2D_ARRAY_RTV Texture2DArray;
793 D3D11_TEX2DMS_RTV Texture2DMS;
794 D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray;
795 D3D11_TEX3D_RTV Texture3D;
797 } D3D11_RENDER_TARGET_VIEW_DESC;
799 typedef struct D3D11_SAMPLER_DESC
801 D3D11_FILTER Filter;
802 D3D11_TEXTURE_ADDRESS_MODE AddressU;
803 D3D11_TEXTURE_ADDRESS_MODE AddressV;
804 D3D11_TEXTURE_ADDRESS_MODE AddressW;
805 FLOAT MipLODBias;
806 UINT MaxAnisotropy;
807 D3D11_COMPARISON_FUNC ComparisonFunc;
808 FLOAT BorderColor[4];
809 FLOAT MinLOD;
810 FLOAT MaxLOD;
811 } D3D11_SAMPLER_DESC;
813 cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
814 cpp_quote("struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC {")
815 cpp_quote(" CD3D11_SAMPLER_DESC() {}")
816 cpp_quote(" explicit CD3D11_SAMPLER_DESC(const D3D11_SAMPLER_DESC &o) : D3D11_SAMPLER_DESC(o) {}")
817 cpp_quote(" explicit CD3D11_SAMPLER_DESC(CD3D11_DEFAULT) {" )
818 cpp_quote(" Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;")
819 cpp_quote(" AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;")
820 cpp_quote(" AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;")
821 cpp_quote(" AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;")
822 cpp_quote(" MipLODBias = 0;")
823 cpp_quote(" MaxAnisotropy = 1;")
824 cpp_quote(" ComparisonFunc = D3D11_COMPARISON_NEVER;")
825 cpp_quote(" BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;")
826 cpp_quote(" MinLOD = -3.402823466e+38f;")
827 cpp_quote(" MaxLOD = 3.402823466e+38f;")
828 cpp_quote(" }")
829 cpp_quote(" explicit CD3D11_SAMPLER_DESC(D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE addressU,")
830 cpp_quote(" D3D11_TEXTURE_ADDRESS_MODE addressV, D3D11_TEXTURE_ADDRESS_MODE addressW,")
831 cpp_quote(" FLOAT mipLODBias, UINT maxAnisotropy, D3D11_COMPARISON_FUNC comparisonFunc,")
832 cpp_quote(" const FLOAT *borderColor, FLOAT minLOD, FLOAT maxLOD) {" )
833 cpp_quote(" Filter = filter;")
834 cpp_quote(" AddressU = addressU;")
835 cpp_quote(" AddressV = addressV;")
836 cpp_quote(" AddressW = addressW;")
837 cpp_quote(" MipLODBias = mipLODBias;")
838 cpp_quote(" MaxAnisotropy = maxAnisotropy;")
839 cpp_quote(" ComparisonFunc = comparisonFunc;")
840 cpp_quote(" if(borderColor) {")
841 cpp_quote(" BorderColor[0] = borderColor[0];")
842 cpp_quote(" BorderColor[1] = borderColor[1];")
843 cpp_quote(" BorderColor[2] = borderColor[2];")
844 cpp_quote(" BorderColor[3] = borderColor[3];")
845 cpp_quote(" }else {")
846 cpp_quote(" BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;")
847 cpp_quote(" }")
848 cpp_quote(" MinLOD = minLOD;")
849 cpp_quote(" MaxLOD = maxLOD;")
850 cpp_quote(" }")
851 cpp_quote(" ~CD3D11_SAMPLER_DESC() {}")
852 cpp_quote(" operator const D3D11_SAMPLER_DESC&() const { return *this; }")
853 cpp_quote("};")
854 cpp_quote("#endif")
856 typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC
858 DXGI_FORMAT Format;
859 D3D11_SRV_DIMENSION ViewDimension;
861 union
863 D3D11_BUFFER_SRV Buffer;
864 D3D11_TEX1D_SRV Texture1D;
865 D3D11_TEX1D_ARRAY_SRV Texture1DArray;
866 D3D11_TEX2D_SRV Texture2D;
867 D3D11_TEX2D_ARRAY_SRV Texture2DArray;
868 D3D11_TEX2DMS_SRV Texture2DMS;
869 D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
870 D3D11_TEX3D_SRV Texture3D;
871 D3D11_TEXCUBE_SRV TextureCube;
872 D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
873 D3D11_BUFFEREX_SRV BufferEx;
875 } D3D11_SHADER_RESOURCE_VIEW_DESC;
877 typedef struct D3D11_TEXTURE1D_DESC
879 UINT Width;
880 UINT MipLevels;
881 UINT ArraySize;
882 DXGI_FORMAT Format;
883 D3D11_USAGE Usage;
884 UINT BindFlags;
885 UINT CPUAccessFlags;
886 UINT MiscFlags;
887 } D3D11_TEXTURE1D_DESC;
889 typedef struct D3D11_TEXTURE2D_DESC
891 UINT Width;
892 UINT Height;
893 UINT MipLevels;
894 UINT ArraySize;
895 DXGI_FORMAT Format;
896 DXGI_SAMPLE_DESC SampleDesc;
897 D3D11_USAGE Usage;
898 UINT BindFlags;
899 UINT CPUAccessFlags;
900 UINT MiscFlags;
901 } D3D11_TEXTURE2D_DESC;
903 cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
904 cpp_quote("struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC {")
905 cpp_quote(" CD3D11_TEXTURE2D_DESC() {}")
906 cpp_quote(" explicit CD3D11_TEXTURE2D_DESC(const D3D11_TEXTURE2D_DESC &o) : D3D11_TEXTURE2D_DESC(o) {}")
907 cpp_quote(" explicit CD3D11_TEXTURE2D_DESC(DXGI_FORMAT format, UINT width, UINT height, UINT arraySize = 1,")
908 cpp_quote(" UINT mipLevels = 0, UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,")
909 cpp_quote(" D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0, UINT sampleCount = 1," )
910 cpp_quote(" UINT sampleQuality = 0, UINT miscFlags = 0) {")
911 cpp_quote(" Width = width;")
912 cpp_quote(" Height = height;")
913 cpp_quote(" MipLevels = mipLevels;")
914 cpp_quote(" ArraySize = arraySize;")
915 cpp_quote(" Format = format;")
916 cpp_quote(" SampleDesc.Count = sampleCount;")
917 cpp_quote(" SampleDesc.Quality = sampleQuality;")
918 cpp_quote(" Usage = usage;")
919 cpp_quote(" BindFlags = bindFlags;")
920 cpp_quote(" CPUAccessFlags = cpuaccessFlags;")
921 cpp_quote(" MiscFlags = miscFlags;")
922 cpp_quote(" }" )
923 cpp_quote(" ~CD3D11_TEXTURE2D_DESC() {}")
924 cpp_quote(" operator const D3D11_TEXTURE2D_DESC&() const { return *this; }")
925 cpp_quote("};")
926 cpp_quote("#endif")
928 typedef struct D3D11_TEXTURE3D_DESC
930 UINT Width;
931 UINT Height;
932 UINT Depth;
933 UINT MipLevels;
934 DXGI_FORMAT Format;
935 D3D11_USAGE Usage;
936 UINT BindFlags;
937 UINT CPUAccessFlags;
938 UINT MiscFlags;
939 } D3D11_TEXTURE3D_DESC;
941 /* A couple forward declarations are needed */
942 interface ID3D11Device;
943 interface ID3D11ClassLinkage;
946 object,
947 local,
948 uuid(1841e5c8-16b0-489b-bcc8-44cfb0d5deae)
950 interface ID3D11DeviceChild : IUnknown
952 void GetDevice(
953 [out] ID3D11Device **ppDevice);
954 HRESULT GetPrivateData(
955 [in] REFGUID guid,
956 [in, out] UINT *pDataSize,
957 [out] void *pData);
958 HRESULT SetPrivateData(
959 [in] REFGUID guid,
960 [in] UINT DataSize,
961 [in] const void *pData);
962 HRESULT SetPrivateDataInterface(
963 [in] REFGUID guid,
964 [in] const IUnknown *pData);
968 object,
969 local,
970 uuid(4b35d0cd-1e15-4258-9c98-1b1333f6dd3b)
972 interface ID3D11Asynchronous : ID3D11DeviceChild
974 UINT GetDataSize();
978 object,
979 local,
980 uuid(d6c00747-87b7-425e-b84d-44d108560afd)
982 interface ID3D11Query : ID3D11Asynchronous
984 void GetDesc(
985 [out] D3D11_QUERY_DESC *pDesc);
989 object,
990 local,
991 uuid(dc8e63f3-d12b-4952-b47b-5e45026a862d)
993 interface ID3D11Resource : ID3D11DeviceChild
995 void GetType(
996 [out] D3D11_RESOURCE_DIMENSION *pResourceDimension);
997 void SetEvictionPriority(
998 [in] UINT EvictionPriority);
999 UINT GetEvictionPriority();
1003 object,
1004 local,
1005 uuid(839d1216-bb2e-412b-b7f4-a9dbebe08ed1)
1007 interface ID3D11View : ID3D11DeviceChild
1009 void GetResource(
1010 [out] ID3D11Resource **ppResource);
1014 object,
1015 local,
1016 uuid(75b68faa-347d-4159-8f45-a0640f01cd9a)
1018 interface ID3D11BlendState : ID3D11DeviceChild
1020 void GetDesc(
1021 [out] D3D11_BLEND_DESC *pDesc);
1025 object,
1026 local,
1027 uuid(48570b85-d1ee-4fcd-a250-eb350722b037)
1029 interface ID3D11Buffer : ID3D11Resource
1031 void GetDesc(
1032 [out] D3D11_BUFFER_DESC *pDesc);
1036 object,
1037 local,
1038 uuid(a6cd7faa-b0b7-4a2f-9436-8662a65797cb)
1040 interface ID3D11ClassInstance : ID3D11DeviceChild
1042 void GetClassLinkage(
1043 [out] ID3D11ClassLinkage **ppLinkage);
1044 void GetDesc(
1045 [out] D3D11_CLASS_INSTANCE_DESC *pDesc);
1046 void GetInstanceName(
1047 [out] LPSTR pInstanceName,
1048 [in, out] SIZE_T *pBufferLength);
1049 void GetTypeName(
1050 [out] LPSTR pTypeName,
1051 [in, out] SIZE_T *pBufferLength);
1055 object,
1056 local,
1057 uuid(ddf57cba-9543-46e4-a12b-f207a0fe7fed)
1059 interface ID3D11ClassLinkage : ID3D11DeviceChild
1061 HRESULT GetClassInstance(
1062 [in] LPCSTR pClassInstanceName,
1063 [in] UINT InstanceIndex,
1064 [out] ID3D11ClassInstance **ppInstance);
1065 HRESULT CreateClassInstance(
1066 [in] LPCSTR pClassTypeName,
1067 [in] UINT ConstantBufferOffset,
1068 [in] UINT ConstantVectorOffset,
1069 [in] UINT TextureOffset,
1070 [in] UINT SamplerOffset,
1071 [out] ID3D11ClassInstance **ppInstance);
1075 object,
1076 local,
1077 uuid(a24bc4d1-769e-43f7-8013-98ff566c18e2)
1079 interface ID3D11CommandList : ID3D11DeviceChild
1081 UINT GetContextFlags();
1085 object,
1086 local,
1087 uuid(4f5b196e-c2bd-495e-bd01-1fded38e4969)
1089 interface ID3D11ComputeShader : ID3D11DeviceChild
1094 object,
1095 local,
1096 uuid(6e8c49fb-a371-4770-b440-29086022b741)
1098 interface ID3D11Counter : ID3D11Asynchronous
1100 void GetDesc(
1101 [out] D3D11_COUNTER_DESC *pDesc);
1105 object,
1106 local,
1107 uuid(03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1)
1109 interface ID3D11DepthStencilState : ID3D11DeviceChild
1111 void GetDesc(
1112 [out] D3D11_DEPTH_STENCIL_DESC *pDesc);
1116 object,
1117 local,
1118 uuid(9fdac92a-1876-48c3-afad-25b94f84a9b6)
1120 interface ID3D11DepthStencilView : ID3D11View
1122 void GetDesc(
1123 [out] D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc);
1127 object,
1128 local,
1129 uuid(f582c508-0f36-490c-9977-31eece268cfa)
1131 interface ID3D11DomainShader : ID3D11DeviceChild
1136 object,
1137 local,
1138 uuid(38325b96-effb-4022-ba02-2e795b70275c)
1140 interface ID3D11GeometryShader : ID3D11DeviceChild
1145 object,
1146 local,
1147 uuid(8e5c6061-628a-4c8e-8264-bbe45cb3d5dd)
1149 interface ID3D11HullShader : ID3D11DeviceChild
1154 object,
1155 local,
1156 uuid(e4819ddc-4cf0-4025-bd26-5de82a3e07b7)
1158 interface ID3D11InputLayout : ID3D11DeviceChild
1163 object,
1164 local,
1165 uuid(ea82e40d-51dc-4f33-93d4-db7c9125ae8c)
1167 interface ID3D11PixelShader : ID3D11DeviceChild
1172 object,
1173 local,
1174 uuid(9eb576dd-9f77-4d86-81aa-8bab5fe490e2)
1176 interface ID3D11Predicate : ID3D11Query
1181 object,
1182 local,
1183 uuid(9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7)
1185 interface ID3D11RasterizerState : ID3D11DeviceChild
1187 void GetDesc(
1188 [out] D3D11_RASTERIZER_DESC *pDesc);
1192 object,
1193 local,
1194 uuid(dfdba067-0b8d-4865-875b-d7b4516cc164)
1196 interface ID3D11RenderTargetView : ID3D11View
1198 void GetDesc(
1199 [out] D3D11_RENDER_TARGET_VIEW_DESC *pDesc);
1203 object,
1204 local,
1205 uuid(da6fea51-564c-4487-9810-f0d0f9b4e3a5)
1207 interface ID3D11SamplerState : ID3D11DeviceChild
1209 void GetDesc(
1210 [out] D3D11_SAMPLER_DESC *pDesc);
1214 object,
1215 local,
1216 uuid(b0e06fe0-8192-4e1a-b1ca-36d7414710b2)
1218 interface ID3D11ShaderResourceView : ID3D11View
1220 void GetDesc(
1221 [out] D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc);
1225 object,
1226 local,
1227 uuid(f8fb5c27-c6b3-4f75-a4c8-439af2ef564c),
1229 interface ID3D11Texture1D : ID3D11Resource
1231 void GetDesc(
1232 [out] D3D11_TEXTURE1D_DESC *pDesc);
1236 object,
1237 local,
1238 uuid(6f15aaf2-d208-4e89-9ab4-489535d34f9c)
1240 interface ID3D11Texture2D : ID3D11Resource
1242 void GetDesc(
1243 [out] D3D11_TEXTURE2D_DESC *pDesc);
1247 object,
1248 local,
1249 uuid(037e866e-f56d-4357-a8af-9dabbe6e250e)
1251 interface ID3D11Texture3D : ID3D11Resource
1253 void GetDesc(
1254 [out] D3D11_TEXTURE3D_DESC *pDesc);
1258 object,
1259 local,
1260 uuid(28acf509-7f5c-48f6-8611-f316010a6380)
1262 interface ID3D11UnorderedAccessView : ID3D11View
1264 void GetDesc(
1265 [out] D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc);
1269 object,
1270 local,
1271 uuid(3b301d64-d678-4289-8897-22f8928b72f3)
1273 interface ID3D11VertexShader : ID3D11DeviceChild
1278 object,
1279 local,
1280 uuid(c0bfa96c-e089-44fb-8eaf-26f8796190da)
1282 interface ID3D11DeviceContext : ID3D11DeviceChild
1284 void VSSetConstantBuffers(
1285 [in] UINT StartSlot,
1286 [in] UINT NumBuffers,
1287 [in] ID3D11Buffer *const *ppConstantBuffers);
1288 void PSSetShaderResources(
1289 [in] UINT StartSlot,
1290 [in] UINT NumViews,
1291 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1292 void PSSetShader(
1293 [in] ID3D11PixelShader *pPixelShader,
1294 [in] ID3D11ClassInstance *const *ppClassInstances,
1295 UINT NumClassInstances);
1296 void PSSetSamplers(
1297 [in] UINT StartSlot,
1298 [in] UINT NumSamplers,
1299 [in] ID3D11SamplerState *const *ppSamplers);
1300 void VSSetShader(
1301 [in] ID3D11VertexShader *pVertexShader,
1302 [in] ID3D11ClassInstance *const *ppClassInstances,
1303 UINT NumClassInstances);
1304 void DrawIndexed(
1305 [in] UINT IndexCount,
1306 [in] UINT StartIndexLocation,
1307 [in] INT BaseVertexLocation);
1308 void Draw(
1309 [in] UINT VertexCount,
1310 [in] UINT StartVertexLocation);
1311 HRESULT Map(
1312 [in] ID3D11Resource *pResource,
1313 [in] UINT Subresource,
1314 [in] D3D11_MAP MapType,
1315 [in] UINT MapFlags,
1316 [out] D3D11_MAPPED_SUBRESOURCE *pMappedResource);
1317 void Unmap(
1318 [in] ID3D11Resource *pResource,
1319 [in] UINT Subresource);
1320 void PSSetConstantBuffers(
1321 [in] UINT StartSlot,
1322 [in] UINT NumBuffers,
1323 [in] ID3D11Buffer *const *ppConstantBuffers);
1324 void IASetInputLayout(
1325 [in] ID3D11InputLayout *pInputLayout);
1326 void IASetVertexBuffers(
1327 [in] UINT StartSlot,
1328 [in] UINT NumBuffers,
1329 [in] ID3D11Buffer *const *ppVertexBuffers,
1330 [in] const UINT *pStrides,
1331 [in] const UINT *pOffsets);
1332 void IASetIndexBuffer(
1333 [in] ID3D11Buffer *pIndexBuffer,
1334 [in] DXGI_FORMAT Format,
1335 [in] UINT Offset);
1336 void DrawIndexedInstanced(
1337 [in] UINT IndexCountPerInstance,
1338 [in] UINT InstanceCount,
1339 [in] UINT StartIndexLocation,
1340 [in] INT BaseVertexLocation,
1341 [in] UINT StartInstanceLocation);
1342 void DrawInstanced(
1343 [in] UINT VertexCountPerInstance,
1344 [in] UINT InstanceCount,
1345 [in] UINT StartVertexLocation,
1346 [in] UINT StartInstanceLocation);
1347 void GSSetConstantBuffers(
1348 [in] UINT StartSlot,
1349 [in] UINT NumBuffers,
1350 [in] ID3D11Buffer *const *ppConstantBuffers);
1351 void GSSetShader(
1352 [in] ID3D11GeometryShader *pShader,
1353 [in] ID3D11ClassInstance *const *ppClassInstances,
1354 UINT NumClassInstances);
1355 void IASetPrimitiveTopology(
1356 [in] D3D11_PRIMITIVE_TOPOLOGY Topology);
1357 void VSSetShaderResources(
1358 [in] UINT StartSlot,
1359 [in] UINT NumViews,
1360 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1361 void VSSetSamplers(
1362 [in] UINT StartSlot,
1363 [in] UINT NumSamplers,
1364 [in] ID3D11SamplerState *const *ppSamplers);
1365 void Begin(
1366 [in] ID3D11Asynchronous *pAsync);
1367 void End(
1368 [in] ID3D11Asynchronous *pAsync);
1369 HRESULT GetData(
1370 [in] ID3D11Asynchronous *pAsync,
1371 [in] void *pData,
1372 [in] UINT DataSize,
1373 [in] UINT GetDataFlags);
1374 void SetPredication(
1375 [in] ID3D11Predicate *pPredicate,
1376 [in] BOOL PredicateValue);
1377 void GSSetShaderResources(
1378 [in] UINT StartSlot,
1379 [in] UINT NumViews,
1380 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1381 void GSSetSamplers(
1382 [in] UINT StartSlot,
1383 [in] UINT NumSamplers,
1384 [in] ID3D11SamplerState *const *ppSamplers);
1385 void OMSetRenderTargets(
1386 [in] UINT NumViews,
1387 [in] ID3D11RenderTargetView *const *ppRenderTargetViews,
1388 [in] ID3D11DepthStencilView *pDepthStencilView);
1389 void OMSetRenderTargetsAndUnorderedAccessViews(
1390 [in] UINT NumRTVs,
1391 [in] ID3D11RenderTargetView *const *ppRenderTargetViews,
1392 [in] ID3D11DepthStencilView *pDepthStencilView,
1393 [in] UINT UAVStartSlot,
1394 [in] UINT NumUAVs,
1395 [in] ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
1396 [in] const UINT *pUAVInitialCounts);
1397 void OMSetBlendState(
1398 [in] ID3D11BlendState *pBlendState,
1399 [in] const FLOAT BlendFactor[4],
1400 [in] UINT SampleMask);
1401 void OMSetDepthStencilState(
1402 [in] ID3D11DepthStencilState *pDepthStencilState,
1403 [in] UINT StencilRef);
1404 void SOSetTargets(
1405 [in] UINT NumBuffers,
1406 [in] ID3D11Buffer *const *ppSOTargets,
1407 [in] const UINT *pOffsets);
1408 void DrawAuto();
1409 void DrawIndexedInstancedIndirect(
1410 [in] ID3D11Buffer *pBufferForArgs,
1411 [in] UINT AlignedByteOffsetForArgs);
1412 void DrawInstancedIndirect(
1413 [in] ID3D11Buffer *pBufferForArgs,
1414 [in] UINT AlignedByteOffsetForArgs);
1415 void Dispatch(
1416 [in] UINT ThreadGroupCountX,
1417 [in] UINT ThreadGroupCountY,
1418 [in] UINT ThreadGroupCountZ);
1419 void DispatchIndirect(
1420 [in] ID3D11Buffer *pBufferForArgs,
1421 [in] UINT AlignedByteOffsetForArgs);
1422 void RSSetState(
1423 [in] ID3D11RasterizerState *pRasterizerState);
1424 void RSSetViewports(
1425 [in] UINT NumViewports,
1426 [in] const D3D11_VIEWPORT *pViewports);
1427 void RSSetScissorRects(
1428 [in] UINT NumRects,
1429 [in] const D3D11_RECT *pRects);
1430 void CopySubresourceRegion(
1431 [in] ID3D11Resource *pDstResource,
1432 [in] UINT DstSubresource,
1433 [in] UINT DstX,
1434 [in] UINT DstY,
1435 [in] UINT DstZ,
1436 [in] ID3D11Resource *pSrcResource,
1437 [in] UINT SrcSubresource,
1438 [in] const D3D11_BOX *pSrcBox);
1439 void CopyResource(
1440 [in] ID3D11Resource *pDstResource,
1441 [in] ID3D11Resource *pSrcResource);
1442 void UpdateSubresource(
1443 [in] ID3D11Resource *pDstResource,
1444 [in] UINT DstSubresource,
1445 [in] const D3D11_BOX *pDstBox,
1446 [in] const void *pSrcData,
1447 [in] UINT SrcRowPitch,
1448 [in] UINT SrcDepthPitch);
1449 void CopyStructureCount(
1450 [in] ID3D11Buffer *pDstBuffer,
1451 [in] UINT DstAlignedByteOffset,
1452 [in] ID3D11UnorderedAccessView *pSrcView);
1453 void ClearRenderTargetView(
1454 [in] ID3D11RenderTargetView *pRenderTargetView,
1455 [in] const FLOAT ColorRGBA[4]);
1456 void ClearUnorderedAccessViewUint(
1457 [in] ID3D11UnorderedAccessView *pUnorderedAccessView,
1458 [in] const UINT Values[4]);
1459 void ClearUnorderedAccessViewFloat(
1460 [in] ID3D11UnorderedAccessView *pUnorderedAccessView,
1461 [in] const FLOAT Values[4]);
1462 void ClearDepthStencilView(
1463 [in] ID3D11DepthStencilView *pDepthStencilView,
1464 [in] UINT ClearFlags,
1465 [in] FLOAT Depth,
1466 [in] UINT8 Stencil);
1467 void GenerateMips(
1468 [in] ID3D11ShaderResourceView *pShaderResourceView);
1469 void SetResourceMinLOD(
1470 [in] ID3D11Resource *pResource, FLOAT MinLOD);
1471 FLOAT GetResourceMinLOD(
1472 [in] ID3D11Resource *pResource);
1473 void ResolveSubresource(
1474 [in] ID3D11Resource *pDstResource,
1475 [in] UINT DstSubresource,
1476 [in] ID3D11Resource *pSrcResource,
1477 [in] UINT SrcSubresource,
1478 [in] DXGI_FORMAT Format);
1479 void ExecuteCommandList(
1480 [in] ID3D11CommandList *pCommandList,
1481 BOOL RestoreContextState);
1482 void HSSetShaderResources(
1483 [in] UINT StartSlot,
1484 [in] UINT NumViews,
1485 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1486 void HSSetShader(
1487 [in] ID3D11HullShader *pHullShader,
1488 [in] ID3D11ClassInstance *const *ppClassInstances,
1489 UINT NumClassInstances);
1490 void HSSetSamplers(
1491 [in] UINT StartSlot,
1492 [in] UINT NumSamplers,
1493 [in] ID3D11SamplerState *const *ppSamplers);
1494 void HSSetConstantBuffers(
1495 [in] UINT StartSlot,
1496 [in] UINT NumBuffers,
1497 [in] ID3D11Buffer *const *ppConstantBuffers);
1498 void DSSetShaderResources(
1499 [in] UINT StartSlot,
1500 [in] UINT NumViews,
1501 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1502 void DSSetShader(
1503 [in] ID3D11DomainShader *pDomainShader,
1504 [in] ID3D11ClassInstance *const *ppClassInstances,
1505 UINT NumClassInstances);
1506 void DSSetSamplers(
1507 [in] UINT StartSlot,
1508 [in] UINT NumSamplers,
1509 [in] ID3D11SamplerState *const *ppSamplers);
1510 void DSSetConstantBuffers(
1511 [in] UINT StartSlot,
1512 [in] UINT NumBuffers,
1513 [in] ID3D11Buffer *const *ppConstantBuffers);
1514 void CSSetShaderResources(
1515 [in] UINT StartSlot,
1516 [in] UINT NumViews,
1517 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1518 void CSSetUnorderedAccessViews(
1519 [in] UINT StartSlot,
1520 [in] UINT NumUAVs,
1521 [in] ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
1522 [in] const UINT *pUAVInitialCounts);
1523 void CSSetShader(
1524 [in] ID3D11ComputeShader *pComputeShader,
1525 [in] ID3D11ClassInstance *const *ppClassInstances,
1526 UINT NumClassInstances);
1527 void CSSetSamplers(
1528 [in] UINT StartSlot,
1529 [in] UINT NumSamplers,
1530 [in] ID3D11SamplerState *const *ppSamplers);
1531 void CSSetConstantBuffers(
1532 [in] UINT StartSlot,
1533 [in] UINT NumBuffers,
1534 [in] ID3D11Buffer *const *ppConstantBuffers);
1535 void VSGetConstantBuffers(
1536 [in] UINT StartSlot,
1537 [in] UINT NumBuffers,
1538 [out] ID3D11Buffer **ppConstantBuffers);
1539 void PSGetShaderResources(
1540 [in] UINT StartSlot,
1541 [in] UINT NumViews,
1542 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1543 void PSGetShader(
1544 [out] ID3D11PixelShader **ppPixelShader,
1545 [out] ID3D11ClassInstance **ppClassInstances,
1546 [in, out] UINT *pNumClassInstances);
1547 void PSGetSamplers(
1548 [in] UINT StartSlot,
1549 [in] UINT NumSamplers,
1550 [out] ID3D11SamplerState **ppSamplers);
1551 void VSGetShader(
1552 [out] ID3D11VertexShader **ppVertexShader,
1553 [out] ID3D11ClassInstance **ppClassInstances,
1554 [in, out] UINT *pNumClassInstances);
1555 void PSGetConstantBuffers(
1556 [in] UINT StartSlot,
1557 [in] UINT NumBuffers,
1558 [out] ID3D11Buffer **ppConstantBuffers);
1559 void IAGetInputLayout(
1560 [out] ID3D11InputLayout **ppInputLayout);
1561 void IAGetVertexBuffers(
1562 [in] UINT StartSlot,
1563 [in] UINT NumBuffers,
1564 [out] ID3D11Buffer **ppVertexBuffers,
1565 [out] UINT *pStrides,
1566 [out] UINT *pOffsets);
1567 void IAGetIndexBuffer(
1568 [out] ID3D11Buffer **pIndexBuffer,
1569 [out] DXGI_FORMAT* Format,
1570 [out] UINT* Offset);
1571 void GSGetConstantBuffers(
1572 [in] UINT StartSlot,
1573 [in] UINT NumBuffers,
1574 [out] ID3D11Buffer **ppConstantBuffers);
1575 void GSGetShader(
1576 [out] ID3D11GeometryShader **ppGeometryShader,
1577 [out] ID3D11ClassInstance **ppClassInstances,
1578 [in, out] UINT *pNumClassInstances);
1579 void IAGetPrimitiveTopology(
1580 [out] D3D11_PRIMITIVE_TOPOLOGY *pTopology);
1581 void VSGetShaderResources(
1582 [in] UINT StartSlot,
1583 [in] UINT NumViews,
1584 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1585 void VSGetSamplers(
1586 [in] UINT StartSlot,
1587 [in] UINT NumSamplers,
1588 [out] ID3D11SamplerState **ppSamplers);
1589 void GetPredication(
1590 [out] ID3D11Predicate **ppPredicate,
1591 [out] BOOL *pPredicateValue);
1592 void GSGetShaderResources(
1593 [in] UINT StartSlot,
1594 [in] UINT NumViews,
1595 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1596 void GSGetSamplers(
1597 [in] UINT StartSlot,
1598 [in] UINT NumSamplers,
1599 [out] ID3D11SamplerState **ppSamplers);
1600 void OMGetRenderTargets(
1601 [in] UINT NumViews,
1602 [out] ID3D11RenderTargetView **ppRenderTargetViews,
1603 [out] ID3D11DepthStencilView **ppDepthStencilView);
1604 void OMGetRenderTargetsAndUnorderedAccessViews(
1605 [in] UINT NumRTVs,
1606 [out] ID3D11RenderTargetView **ppRenderTargetViews,
1607 [out] ID3D11DepthStencilView **ppDepthStencilView,
1608 [in] UINT UAVStartSlot,
1609 [out] UINT NumUAVs,
1610 [out] ID3D11UnorderedAccessView **ppUnorderedAccessViews);
1611 void OMGetBlendState(
1612 [out] ID3D11BlendState **ppBlendState,
1613 [out] FLOAT BlendFactor[4],
1614 [out] UINT *pSampleMask);
1615 void OMGetDepthStencilState(
1616 [out] ID3D11DepthStencilState **ppDepthStencilState,
1617 [out] UINT *pStencilRef);
1618 void SOGetTargets(
1619 [in] UINT NumBuffers,
1620 [out] ID3D11Buffer **ppSOTargets);
1621 void RSGetState(
1622 [out] ID3D11RasterizerState **ppRasterizerState);
1623 void RSGetViewports(
1624 [in, out] UINT *pNumViewports,
1625 [out] D3D11_VIEWPORT *pViewports);
1626 void RSGetScissorRects(
1627 [in, out] UINT *pNumRects,
1628 [out] D3D11_RECT *pRects);
1629 void HSGetShaderResources(
1630 [in] UINT StartSlot,
1631 [in] UINT NumViews,
1632 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1633 void HSGetShader(
1634 [out] ID3D11HullShader **ppHullShader,
1635 [out] ID3D11ClassInstance **ppClassInstances,
1636 [in, out] UINT *pNumClassInstances);
1637 void HSGetSamplers(
1638 [in] UINT StartSlot,
1639 [in] UINT NumSamplers,
1640 [out] ID3D11SamplerState **ppSamplers);
1641 void HSGetConstantBuffers(
1642 [in] UINT StartSlot,
1643 [in] UINT NumBuffers,
1644 [out] ID3D11Buffer **ppConstantBuffers);
1645 void DSGetShaderResources(
1646 [in] UINT StartSlot,
1647 [in] UINT NumViews,
1648 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1649 void DSGetShader(
1650 [out] ID3D11DomainShader **ppDomainShader,
1651 [out] ID3D11ClassInstance **ppClassInstances,
1652 [in, out] UINT *pNumClassInstances);
1653 void DSGetSamplers(
1654 [in] UINT StartSlot,
1655 [in] UINT NumSamplers,
1656 [out] ID3D11SamplerState **ppSamplers);
1657 void DSGetConstantBuffers(
1658 [in] UINT StartSlot,
1659 [in] UINT NumBuffers,
1660 [out] ID3D11Buffer **ppConstantBuffers);
1661 void CSGetShaderResources(
1662 [in] UINT StartSlot,
1663 [in] UINT NumViews,
1664 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1665 void CSGetUnorderedAccessViews(
1666 [in] UINT StartSlot,
1667 [in] UINT NumUAVs,
1668 [out] ID3D11UnorderedAccessView **ppUnorderedAccessViews);
1669 void CSGetShader(
1670 [out] ID3D11ComputeShader **ppComputeShader,
1671 [out] ID3D11ClassInstance **ppClassInstances,
1672 [in, out] UINT *pNumClassInstances);
1673 void CSGetSamplers(
1674 [in] UINT StartSlot,
1675 [in] UINT NumSamplers,
1676 [out] ID3D11SamplerState **ppSamplers);
1677 void CSGetConstantBuffers(
1678 [in] UINT StartSlot,
1679 [in] UINT NumBuffers,
1680 [out] ID3D11Buffer **ppConstantBuffers);
1681 void ClearState();
1682 void Flush();
1683 D3D11_DEVICE_CONTEXT_TYPE GetType();
1684 UINT GetContextFlags();
1685 HRESULT FinishCommandList(
1686 BOOL RestoreDeferredContextState,
1687 [out] ID3D11CommandList **ppCommandList);
1691 object,
1692 local,
1693 uuid(db6f6ddb-ac77-4e88-8253-819df9bbf140)
1695 interface ID3D11Device : IUnknown
1697 HRESULT CreateBuffer(
1698 [in] const D3D11_BUFFER_DESC *pDesc,
1699 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
1700 [out] ID3D11Buffer **ppBuffer);
1701 HRESULT CreateTexture1D(
1702 [in] const D3D11_TEXTURE1D_DESC *pDesc,
1703 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
1704 [out] ID3D11Texture1D **ppTexture1D);
1705 HRESULT CreateTexture2D(
1706 [in] const D3D11_TEXTURE2D_DESC *pDesc,
1707 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
1708 [out] ID3D11Texture2D **ppTexture2D);
1709 HRESULT CreateTexture3D(
1710 [in] const D3D11_TEXTURE3D_DESC *pDesc,
1711 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
1712 [out] ID3D11Texture3D **ppTexture3D);
1713 HRESULT CreateShaderResourceView(
1714 [in] ID3D11Resource *pResource,
1715 [in] const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
1716 [out] ID3D11ShaderResourceView **ppSRView);
1717 HRESULT CreateUnorderedAccessView(
1718 [in] ID3D11Resource *pResource,
1719 [in] const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
1720 [out] ID3D11UnorderedAccessView **ppUAView);
1721 HRESULT CreateRenderTargetView(
1722 [in] ID3D11Resource *pResource,
1723 [in] const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
1724 [out] ID3D11RenderTargetView **ppRTView);
1725 HRESULT CreateDepthStencilView(
1726 [in] ID3D11Resource *pResource,
1727 [in] const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
1728 [out] ID3D11DepthStencilView **ppDepthStencilView);
1729 HRESULT CreateInputLayout(
1730 [in] const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
1731 [in] UINT NumElements,
1732 [in] const void *pShaderBytecodeWithInputSignature,
1733 [in] SIZE_T BytecodeLength,
1734 [out] ID3D11InputLayout **ppInputLayout);
1735 HRESULT CreateVertexShader(
1736 [in] const void *pShaderBytecode,
1737 [in] SIZE_T BytecodeLength,
1738 [in] ID3D11ClassLinkage *pClassLinkage,
1739 [out] ID3D11VertexShader **ppVertexShader);
1740 HRESULT CreateGeometryShader(
1741 [in] const void *pShaderBytecode,
1742 [in] SIZE_T BytecodeLength,
1743 [in] ID3D11ClassLinkage *pClassLinkage,
1744 [out] ID3D11GeometryShader **ppGeometryShader);
1745 HRESULT CreateGeometryShaderWithStreamOutput(
1746 [in] const void *pShaderBytecode,
1747 [in] SIZE_T BytecodeLength,
1748 [in] const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
1749 [in] UINT NumEntries,
1750 [in] const UINT *pBufferStrides,
1751 [in] UINT NumStrides,
1752 [in] UINT RasterizedStream,
1753 [in] ID3D11ClassLinkage *pClassLinkage,
1754 [out] ID3D11GeometryShader **ppGeometryShader);
1755 HRESULT CreatePixelShader(
1756 [in] const void *pShaderBytecode,
1757 [in] SIZE_T BytecodeLength,
1758 [in] ID3D11ClassLinkage *pClassLinkage,
1759 [out] ID3D11PixelShader **ppPixelShader);
1760 HRESULT CreateHullShader(
1761 [in] const void *pShaderBytecode,
1762 [in] SIZE_T BytecodeLength,
1763 [in] ID3D11ClassLinkage *pClassLinkage,
1764 [out] ID3D11HullShader **ppHullShader);
1765 HRESULT CreateDomainShader(
1766 [in] const void *pShaderBytecode,
1767 [in] SIZE_T BytecodeLength,
1768 [in] ID3D11ClassLinkage *pClassLinkage,
1769 [out] ID3D11DomainShader **ppDomainShader);
1770 HRESULT CreateComputeShader(
1771 [in] const void *pShaderBytecode,
1772 [in] SIZE_T BytecodeLength,
1773 [in] ID3D11ClassLinkage *pClassLinkage,
1774 [out] ID3D11ComputeShader **ppComputeShader);
1775 HRESULT CreateClassLinkage(
1776 [out] ID3D11ClassLinkage **ppLinkage);
1777 HRESULT CreateBlendState(
1778 [in] const D3D11_BLEND_DESC *pBlendStateDesc,
1779 [out] ID3D11BlendState **ppBlendState);
1780 HRESULT CreateDepthStencilState(
1781 [in] const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
1782 [out] ID3D11DepthStencilState **ppDepthStencilState);
1783 HRESULT CreateRasterizerState(
1784 [in] const D3D11_RASTERIZER_DESC *pRasterizerDesc,
1785 [out] ID3D11RasterizerState **ppRasterizerState);
1786 HRESULT CreateSamplerState(
1787 [in] const D3D11_SAMPLER_DESC *pSamplerDesc,
1788 [out] ID3D11SamplerState **ppSamplerState);
1789 HRESULT CreateQuery(
1790 [in] const D3D11_QUERY_DESC *pQueryDesc,
1791 [out] ID3D11Query **ppQuery);
1792 HRESULT CreatePredicate(
1793 [in] const D3D11_QUERY_DESC *pPredicateDesc,
1794 [out] ID3D11Predicate **ppPredicate);
1795 HRESULT CreateCounter(
1796 [in] const D3D11_COUNTER_DESC *pCounterDesc,
1797 [out] ID3D11Counter **ppCounter);
1798 HRESULT CreateDeferredContext(
1799 UINT ContextFlags,
1800 [out] ID3D11DeviceContext **ppDeferredContext);
1801 HRESULT OpenSharedResource(
1802 [in] HANDLE hResource,
1803 [in] REFIID ReturnedInterface,
1804 [out] void **ppResource);
1805 HRESULT CheckFormatSupport(
1806 [in] DXGI_FORMAT Format,
1807 [out] UINT *pFormatSupport);
1808 HRESULT CheckMultisampleQualityLevels(
1809 [in] DXGI_FORMAT Format,
1810 [in] UINT SampleCount,
1811 [out] UINT *pNumQualityLevels);
1812 void CheckCounterInfo(
1813 [out] D3D11_COUNTER_INFO *pCounterInfo);
1814 HRESULT CheckCounter(
1815 [in] const D3D11_COUNTER_DESC *pDesc,
1816 [out] D3D11_COUNTER_TYPE *pType,
1817 [out] UINT *pActiveCounters,
1818 [out] LPSTR szName,
1819 [in, out] UINT *pNameLength,
1820 [out] LPSTR szUnits,
1821 [in, out] UINT *pUnitsLength,
1822 [out] LPSTR szDescription,
1823 [in, out] UINT *pDescriptionLength);
1824 HRESULT CheckFeatureSupport(
1825 D3D11_FEATURE Feature,
1826 [out] void *pFeatureSupportData,
1827 UINT FeatureSupportDataSize);
1828 HRESULT GetPrivateData(
1829 [in] REFGUID guid,
1830 [in, out] UINT *pDataSize,
1831 [out] void *pData);
1832 HRESULT SetPrivateData(
1833 [in] REFGUID guid,
1834 [in] UINT DataSize,
1835 [in] const void *pData);
1836 HRESULT SetPrivateDataInterface(
1837 [in] REFGUID guid,
1838 [in] const IUnknown *pData);
1839 D3D_FEATURE_LEVEL GetFeatureLevel();
1840 UINT GetCreationFlags();
1841 HRESULT GetDeviceRemovedReason();
1842 void GetImmediateContext(
1843 [out] ID3D11DeviceContext **ppImmediateContext);
1844 HRESULT SetExceptionMode(UINT RaiseFlags);
1845 UINT GetExceptionMode();
1848 typedef enum D3D11_CREATE_DEVICE_FLAG {
1849 D3D11_CREATE_DEVICE_SINGLETHREADED = 0x0001,
1850 D3D11_CREATE_DEVICE_DEBUG = 0x0002,
1851 D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x0004,
1852 D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x0008,
1853 D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x0020,
1854 D3D11_CREATE_DEVICE_DEBUGGABLE = 0x0040,
1855 D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x0080,
1856 D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x0100,
1857 D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x0800
1858 } D3D11_CREATE_DEVICE_FLAG;
1860 const UINT D3D11_SDK_VERSION = 7;
1862 cpp_quote("#include <d3d10_1.h>")
1863 cpp_quote("#ifndef D3D11_IGNORE_SDK_LAYERS")
1864 cpp_quote("/* FIXME: # include <d3d11sdklayers.h> */")
1865 cpp_quote("#endif")
1866 cpp_quote("#include <d3d10misc.h>")
1867 cpp_quote("#include <d3d10shader.h>")
1868 cpp_quote("#include <d3d10effect.h>")
1869 cpp_quote("#include <d3d10_1shader.h>")