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
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 unsigned int D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
32 typedef enum D3D11_BLEND
36 D3D11_BLEND_SRC_COLOR = 3,
37 D3D11_BLEND_INV_SRC_COLOR = 4,
38 D3D11_BLEND_SRC_ALPHA = 5,
39 D3D11_BLEND_INV_SRC_ALPHA = 6,
40 D3D11_BLEND_DEST_ALPHA = 7,
41 D3D11_BLEND_INV_DEST_ALPHA = 8,
42 D3D11_BLEND_DEST_COLOR = 9,
43 D3D11_BLEND_INV_DEST_COLOR = 10,
44 D3D11_BLEND_SRC_ALPHA_SAT = 11,
45 D3D11_BLEND_BLEND_FACTOR = 14,
46 D3D11_BLEND_INV_BLEND_FACTOR = 15,
47 D3D11_BLEND_SRC1_COLOR = 16,
48 D3D11_BLEND_INV_SRC1_COLOR = 17,
49 D3D11_BLEND_SRC1_ALPHA = 18,
50 D3D11_BLEND_INV_SRC1_ALPHA = 19,
53 typedef enum D3D11_BLEND_OP
55 D3D11_BLEND_OP_ADD = 1,
56 D3D11_BLEND_OP_SUBTRACT,
57 D3D11_BLEND_OP_REV_SUBTRACT,
62 typedef struct D3D11_BOX
72 typedef struct D3D11_BUFFER_RTV
86 typedef struct D3D11_BUFFER_SRV
100 typedef struct D3D11_BUFFER_UAV
107 typedef struct D3D11_BUFFEREX_SRV
112 } D3D11_BUFFEREX_SRV;
114 typedef struct D3D11_CLASS_INSTANCE_DESC
120 UINT BaseConstantBufferOffset;
124 } D3D11_CLASS_INSTANCE_DESC;
126 typedef enum D3D11_COMPARISON_FUNC
128 D3D11_COMPARISON_NEVER = 1,
129 D3D11_COMPARISON_LESS,
130 D3D11_COMPARISON_EQUAL,
131 D3D11_COMPARISON_LESS_EQUAL,
132 D3D11_COMPARISON_GREATER,
133 D3D11_COMPARISON_NOT_EQUAL,
134 D3D11_COMPARISON_GREATER_EQUAL,
135 D3D11_COMPARISON_ALWAYS
136 } D3D11_COMPARISON_FUNC;
138 typedef enum D3D11_COUNTER
140 D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000,
143 typedef struct D3D11_COUNTER_DESC
145 D3D11_COUNTER Counter;
147 } D3D11_COUNTER_DESC;
149 typedef struct D3D11_COUNTER_INFO
151 D3D11_COUNTER LastDeviceDependentCounter;
152 UINT NumSimultaneousCounters;
153 UINT8 NumDetectableParallelUnits;
154 } D3D11_COUNTER_INFO;
156 typedef enum D3D11_COUNTER_TYPE
158 D3D11_COUNTER_TYPE_FLOAT32,
159 D3D11_COUNTER_TYPE_UINT16,
160 D3D11_COUNTER_TYPE_UINT32,
161 D3D11_COUNTER_TYPE_UINT64,
162 } D3D11_COUNTER_TYPE;
164 typedef enum D3D11_CULL_MODE
171 typedef enum D3D11_DEPTH_WRITE_MASK
173 D3D11_DEPTH_WRITE_MASK_ZERO,
174 D3D11_DEPTH_WRITE_MASK_ALL,
175 } D3D11_DEPTH_WRITE_MASK;
177 typedef enum D3D11_DEVICE_CONTEXT_TYPE
179 D3D11_DEVICE_CONTEXT_IMMEDIATE,
180 D3D11_DEVICE_CONTEXT_DEFERRED,
181 } D3D11_DEVICE_CONTEXT_TYPE;
183 typedef enum D3D11_DSV_DIMENSION
185 D3D11_DSV_DIMENSION_UNKNOWN,
186 D3D11_DSV_DIMENSION_TEXTURE1D,
187 D3D11_DSV_DIMENSION_TEXTURE1DARRAY,
188 D3D11_DSV_DIMENSION_TEXTURE2D,
189 D3D11_DSV_DIMENSION_TEXTURE2DARRAY,
190 D3D11_DSV_DIMENSION_TEXTURE2DMS,
191 D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY,
192 } D3D11_DSV_DIMENSION;
194 typedef enum D3D11_FEATURE
196 D3D11_FEATURE_THREADING,
197 D3D11_FEATURE_DOUBLES,
198 D3D11_FEATURE_FORMAT_SUPPORT,
199 D3D11_FEATURE_FORMAT_SUPPORT2,
200 D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS,
203 typedef enum D3D11_FILL_MODE
205 D3D11_FILL_WIREFRAME = 2,
209 typedef enum D3D11_FILTER
211 D3D11_FILTER_MIN_MAG_MIP_POINT = 0x00,
212 D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x01,
213 D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x04,
214 D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x05,
215 D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
216 D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
217 D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
218 D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
219 D3D11_FILTER_ANISOTROPIC = 0x55,
220 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
221 D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
222 D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
223 D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
224 D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
225 D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
226 D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
227 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
228 D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5
231 typedef enum D3D11_DSV_FLAG
233 D3D11_DSV_READ_ONLY_DEPTH = 0x1,
234 D3D11_DSV_READ_ONLY_STENCIL = 0x2,
237 typedef enum D3D11_INPUT_CLASSIFICATION
239 D3D11_INPUT_PER_VERTEX_DATA,
240 D3D11_INPUT_PER_INSTANCE_DATA,
241 } D3D11_INPUT_CLASSIFICATION;
243 typedef struct D3D11_INPUT_ELEMENT_DESC
249 UINT AlignedByteOffset;
250 D3D11_INPUT_CLASSIFICATION InputSlotClass;
251 UINT InstanceDataStepRate;
252 } D3D11_INPUT_ELEMENT_DESC;
254 typedef enum D3D11_MAP
258 D3D11_MAP_READ_WRITE,
259 D3D11_MAP_WRITE_DISCARD,
260 D3D11_MAP_WRITE_NO_OVERWRITE
263 typedef struct D3D11_MAPPED_SUBRESOURCE
268 } D3D11_MAPPED_SUBRESOURCE;
270 typedef enum D3D11_QUERY
273 D3D11_QUERY_OCCLUSION,
274 D3D11_QUERY_TIMESTAMP,
275 D3D11_QUERY_TIMESTAMP_DISJOINT,
276 D3D11_QUERY_PIPELINE_STATISTICS,
277 D3D11_QUERY_OCCLUSION_PREDICATE,
278 D3D11_QUERY_SO_STATISTICS,
279 D3D11_QUERY_SO_OVERFLOW_PREDICATE,
280 D3D11_QUERY_SO_STATISTICS_STREAM0,
281 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0,
282 D3D11_QUERY_SO_STATISTICS_STREAM1,
283 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1,
284 D3D11_QUERY_SO_STATISTICS_STREAM2,
285 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2,
286 D3D11_QUERY_SO_STATISTICS_STREAM3,
287 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3,
290 typedef struct D3D11_QUERY_DESC
296 typedef struct D3D11_RASTERIZER_DESC
298 D3D11_FILL_MODE FillMode;
299 D3D11_CULL_MODE CullMode;
300 BOOL FrontCounterClockwise;
302 FLOAT DepthBiasClamp;
303 FLOAT SlopeScaledDepthBias;
304 BOOL DepthClipEnable;
306 BOOL MultisampleEnable;
307 BOOL AntialiasedLineEnable;
308 } D3D11_RASTERIZER_DESC;
310 typedef enum D3D11_RESOURCE_DIMENSION
312 D3D11_RESOURCE_DIMENSION_UNKNOWN,
313 D3D11_RESOURCE_DIMENSION_BUFFER,
314 D3D11_RESOURCE_DIMENSION_TEXTURE1D,
315 D3D11_RESOURCE_DIMENSION_TEXTURE2D,
316 D3D11_RESOURCE_DIMENSION_TEXTURE3D,
317 } D3D11_RESOURCE_DIMENSION;
319 typedef enum D3D11_RTV_DIMENSION
321 D3D11_RTV_DIMENSION_UNKNOWN,
322 D3D11_RTV_DIMENSION_BUFFER,
323 D3D11_RTV_DIMENSION_TEXTURE1D,
324 D3D11_RTV_DIMENSION_TEXTURE1DARRAY,
325 D3D11_RTV_DIMENSION_TEXTURE2D,
326 D3D11_RTV_DIMENSION_TEXTURE2DARRAY,
327 D3D11_RTV_DIMENSION_TEXTURE2DMS,
328 D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY,
329 D3D11_RTV_DIMENSION_TEXTURE3D,
330 } D3D11_RTV_DIMENSION;
332 typedef struct D3D11_SO_DECLARATION_ENTRY
340 } D3D11_SO_DECLARATION_ENTRY;
342 typedef enum D3D11_STENCIL_OP
344 D3D11_STENCIL_OP_KEEP = 1,
345 D3D11_STENCIL_OP_ZERO,
346 D3D11_STENCIL_OP_REPLACE,
347 D3D11_STENCIL_OP_INCR_SAT,
348 D3D11_STENCIL_OP_DECR_SAT,
349 D3D11_STENCIL_OP_INVERT,
350 D3D11_STENCIL_OP_INCR,
351 D3D11_STENCIL_OP_DECR
354 typedef struct D3D11_SUBRESOURCE_DATA
358 UINT SysMemSlicePitch;
359 } D3D11_SUBRESOURCE_DATA;
361 typedef struct D3D11_TEX1D_ARRAY_DSV
364 UINT FirstArraySlice;
366 } D3D11_TEX1D_ARRAY_DSV;
368 typedef struct D3D11_TEX1D_ARRAY_RTV
371 UINT FirstArraySlice;
373 } D3D11_TEX1D_ARRAY_RTV;
375 typedef struct D3D11_TEX1D_ARRAY_SRV
377 UINT MostDetailedMip;
379 UINT FirstArraySlice;
381 } D3D11_TEX1D_ARRAY_SRV;
383 typedef struct D3D11_TEX1D_ARRAY_UAV
386 UINT FirstArraySlice;
388 } D3D11_TEX1D_ARRAY_UAV;
390 typedef struct D3D11_TEX1D_DSV
395 typedef struct D3D11_TEX1D_RTV
400 typedef struct D3D11_TEX1D_SRV
402 UINT MostDetailedMip;
406 typedef struct D3D11_TEX1D_UAV
411 typedef struct D3D11_TEX2D_ARRAY_DSV
414 UINT FirstArraySlice;
416 } D3D11_TEX2D_ARRAY_DSV;
418 typedef struct D3D11_TEX2D_ARRAY_RTV
421 UINT FirstArraySlice;
423 } D3D11_TEX2D_ARRAY_RTV;
425 typedef struct D3D11_TEX2D_ARRAY_SRV
427 UINT MostDetailedMip;
429 UINT FirstArraySlice;
431 } D3D11_TEX2D_ARRAY_SRV;
433 typedef struct D3D11_TEX2D_ARRAY_UAV
436 UINT FirstArraySlice;
438 } D3D11_TEX2D_ARRAY_UAV;
440 typedef struct D3D11_TEX2D_DSV
445 typedef struct D3D11_TEX2D_RTV
450 typedef struct D3D11_TEX2D_SRV
452 UINT MostDetailedMip;
456 typedef struct D3D11_TEX2D_UAV
461 typedef struct D3D11_TEX2DMS_ARRAY_DSV
463 UINT FirstArraySlice;
465 } D3D11_TEX2DMS_ARRAY_DSV;
467 typedef struct D3D11_TEX2DMS_ARRAY_RTV
469 UINT FirstArraySlice;
471 } D3D11_TEX2DMS_ARRAY_RTV;
473 typedef struct D3D11_TEX2DMS_ARRAY_SRV
475 UINT FirstArraySlice;
477 } D3D11_TEX2DMS_ARRAY_SRV;
479 typedef struct D3D11_TEX2DMS_DSV
481 UINT UnusedField_NothingToDefine;
484 typedef struct D3D11_TEX2DMS_RTV
486 UINT UnusedField_NothingToDefine;
489 typedef struct D3D11_TEX2DMS_SRV
491 UINT UnusedField_NothingToDefine;
494 typedef struct D3D11_TEX3D_RTV
501 typedef struct D3D11_TEX3D_SRV
503 UINT MostDetailedMip;
507 typedef struct D3D11_TEX3D_UAV
514 typedef struct D3D11_TEXCUBE_ARRAY_SRV
516 UINT MostDetailedMip;
518 UINT First2DArrayFace;
520 } D3D11_TEXCUBE_ARRAY_SRV;
522 typedef struct D3D11_TEXCUBE_SRV
524 UINT MostDetailedMip;
528 typedef enum D3D11_TEXTURE_ADDRESS_MODE
530 D3D11_TEXTURE_ADDRESS_WRAP = 1,
531 D3D11_TEXTURE_ADDRESS_MIRROR,
532 D3D11_TEXTURE_ADDRESS_CLAMP,
533 D3D11_TEXTURE_ADDRESS_BORDER,
534 D3D11_TEXTURE_ADDRESS_MIRROR_ONCE
535 } D3D11_TEXTURE_ADDRESS_MODE;
537 typedef enum D3D11_UAV_DIMENSION
539 D3D11_UAV_DIMENSION_UNKNOWN,
540 D3D11_UAV_DIMENSION_BUFFER,
541 D3D11_UAV_DIMENSION_TEXTURE1D,
542 D3D11_UAV_DIMENSION_TEXTURE1DARRAY,
543 D3D11_UAV_DIMENSION_TEXTURE2D,
544 D3D11_UAV_DIMENSION_TEXTURE2DARRAY,
545 D3D11_UAV_DIMENSION_TEXTURE3D = 8,
546 } D3D11_UAV_DIMENSION;
548 typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC
551 D3D11_UAV_DIMENSION ViewDimension;
555 D3D11_BUFFER_UAV Buffer;
556 D3D11_TEX1D_UAV Texture1D;
557 D3D11_TEX1D_ARRAY_UAV Texture1DArray;
558 D3D11_TEX2D_UAV Texture2D;
559 D3D11_TEX2D_ARRAY_UAV Texture2DArray;
560 D3D11_TEX3D_UAV Texture3D;
562 } D3D11_UNORDERED_ACCESS_VIEW_DESC;
564 typedef enum D3D11_USAGE
567 D3D11_USAGE_IMMUTABLE,
572 typedef struct D3D11_VIEWPORT
582 typedef struct D3D11_RENDER_TARGET_BLEND_DESC
585 D3D11_BLEND SrcBlend;
586 D3D11_BLEND DestBlend;
587 D3D11_BLEND_OP BlendOp;
588 D3D11_BLEND SrcBlendAlpha;
589 D3D11_BLEND DestBlendAlpha;
590 D3D11_BLEND_OP BlendOpAlpha;
591 UINT8 RenderTargetWriteMask;
592 } D3D11_RENDER_TARGET_BLEND_DESC;
594 typedef struct D3D11_BLEND_DESC
596 BOOL AlphaToCoverageEnable;
597 BOOL IndependentBlendEnable;
598 D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT];
601 typedef struct D3D11_BUFFER_DESC
608 UINT StructureByteStride;
611 typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC
614 D3D11_DSV_DIMENSION ViewDimension;
619 D3D11_TEX1D_DSV Texture1D;
620 D3D11_TEX1D_ARRAY_DSV Texture1DArray;
621 D3D11_TEX2D_DSV Texture2D;
622 D3D11_TEX2D_ARRAY_DSV Texture2DArray;
623 D3D11_TEX2DMS_DSV Texture2DMS;
624 D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray;
626 } D3D11_DEPTH_STENCIL_VIEW_DESC;
628 typedef struct D3D11_DEPTH_STENCILOP_DESC
630 D3D11_STENCIL_OP StencilFailOp;
631 D3D11_STENCIL_OP StencilDepthFailOp;
632 D3D11_STENCIL_OP StencilPassOp;
633 D3D11_COMPARISON_FUNC StencilFunc;
634 } D3D11_DEPTH_STENCILOP_DESC;
636 typedef struct D3D11_DEPTH_STENCIL_DESC
639 D3D11_DEPTH_WRITE_MASK DepthWriteMask;
640 D3D11_COMPARISON_FUNC DepthFunc;
642 UINT8 StencilReadMask;
643 UINT8 StencilWriteMask;
644 D3D11_DEPTH_STENCILOP_DESC FrontFace;
645 D3D11_DEPTH_STENCILOP_DESC BackFace;
646 } D3D11_DEPTH_STENCIL_DESC;
648 typedef struct D3D11_RENDER_TARGET_VIEW_DESC
651 D3D11_RTV_DIMENSION ViewDimension;
655 D3D11_BUFFER_RTV Buffer;
656 D3D11_TEX1D_RTV Texture1D;
657 D3D11_TEX1D_ARRAY_RTV Texture1DArray;
658 D3D11_TEX2D_RTV Texture2D;
659 D3D11_TEX2D_ARRAY_RTV Texture2DArray;
660 D3D11_TEX2DMS_RTV Texture2DMS;
661 D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray;
662 D3D11_TEX3D_RTV Texture3D;
664 } D3D11_RENDER_TARGET_VIEW_DESC;
666 typedef struct D3D11_SAMPLER_DESC
669 D3D11_TEXTURE_ADDRESS_MODE AddressU;
670 D3D11_TEXTURE_ADDRESS_MODE AddressV;
671 D3D11_TEXTURE_ADDRESS_MODE AddressW;
674 D3D11_COMPARISON_FUNC ComparisonFunc;
675 FLOAT BorderColor[4];
678 } D3D11_SAMPLER_DESC;
680 typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC
683 D3D11_SRV_DIMENSION ViewDimension;
687 D3D11_BUFFER_SRV Buffer;
688 D3D11_TEX1D_SRV Texture1D;
689 D3D11_TEX1D_ARRAY_SRV Texture1DArray;
690 D3D11_TEX2D_SRV Texture2D;
691 D3D11_TEX2D_ARRAY_SRV Texture2DArray;
692 D3D11_TEX2DMS_SRV Texture2DMS;
693 D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
694 D3D11_TEX3D_SRV Texture3D;
695 D3D11_TEXCUBE_SRV TextureCube;
696 D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
697 D3D11_BUFFEREX_SRV BufferEx;
699 } D3D11_SHADER_RESOURCE_VIEW_DESC;
701 typedef struct D3D11_TEXTURE1D_DESC
711 } D3D11_TEXTURE1D_DESC;
713 typedef struct D3D11_TEXTURE2D_DESC
720 DXGI_SAMPLE_DESC SampleDesc;
725 } D3D11_TEXTURE2D_DESC;
727 typedef struct D3D11_TEXTURE3D_DESC
738 } D3D11_TEXTURE3D_DESC;
740 /* A couple forward declarations are needed */
741 interface ID3D11Device;
742 interface ID3D11ClassLinkage;
747 uuid(1841e5c8-16b0-489b-bcc8-44cfb0d5deae)
749 interface ID3D11DeviceChild : IUnknown
752 [out] ID3D11Device **ppDevice);
753 HRESULT GetPrivateData(
755 [in, out] UINT *pDataSize,
757 HRESULT SetPrivateData(
760 [in] const void *pData);
761 HRESULT SetPrivateDataInterface(
763 [in] const IUnknown *pData);
769 uuid(4b35d0cd-1e15-4258-9c98-1b1333f6dd3b)
771 interface ID3D11Asynchronous : ID3D11DeviceChild
779 uuid(d6c00747-87b7-425e-b84d-44d108560afd)
781 interface ID3D11Query : ID3D11Asynchronous
784 [out] D3D11_QUERY_DESC *pDesc);
790 uuid(dc8e63f3-d12b-4952-b47b-5e45026a862d)
792 interface ID3D11Resource : ID3D11DeviceChild
795 [out] D3D11_RESOURCE_DIMENSION *pResourceDimension);
796 void SetEvictionPriority(
797 [in] UINT EvictionPriority);
798 UINT GetEvictionPriority();
804 uuid(839d1216-bb2e-412b-b7f4-a9dbebe08ed1)
806 interface ID3D11View : ID3D11DeviceChild
809 [out] ID3D11Resource **ppResource);
815 uuid(75b68faa-347d-4159-8f45-a0640f01cd9a)
817 interface ID3D11BlendState : ID3D11DeviceChild
820 [out] D3D11_BLEND_DESC *pDesc);
826 uuid(48570b85-d1ee-4fcd-a250-eb350722b037)
828 interface ID3D11Buffer : ID3D11Resource
831 [out] D3D11_BUFFER_DESC *pDesc);
837 uuid(a6cd7faa-b0b7-4a2f-9436-8662a65797cb)
839 interface ID3D11ClassInstance : ID3D11DeviceChild
841 void GetClassLinkage(
842 [out] ID3D11ClassLinkage **ppLinkage);
844 [out] D3D11_CLASS_INSTANCE_DESC *pDesc);
845 void GetInstanceName(
846 [out] LPSTR pInstanceName,
847 [in, out] SIZE_T *pBufferLength);
849 [out] LPSTR pTypeName,
850 [in, out] SIZE_T *pBufferLength);
856 uuid(ddf57cba-9543-46e4-a12b-f207a0fe7fed)
858 interface ID3D11ClassLinkage : ID3D11DeviceChild
860 HRESULT GetClassInstance(
861 [in] LPCSTR pClassInstanceName,
862 [in] UINT InstanceIndex,
863 [out] ID3D11ClassInstance **ppInstance);
864 HRESULT CreateClassInstance(
865 [in] LPCSTR pClassTypeName,
866 [in] UINT ConstantBufferOffset,
867 [in] UINT ConstantVectorOffset,
868 [in] UINT TextureOffset,
869 [in] UINT SamplerOffset,
870 [out] ID3D11ClassInstance **ppInstance);
876 uuid(a24bc4d1-769e-43f7-8013-98ff566c18e2)
878 interface ID3D11CommandList : ID3D11DeviceChild
880 UINT GetContextFlags();
886 uuid(4f5b196e-c2bd-495e-bd01-1fded38e4969)
888 interface ID3D11ComputeShader : ID3D11DeviceChild
895 uuid(6e8c49fb-a371-4770-b440-29086022b741)
897 interface ID3D11Counter : ID3D11Asynchronous
900 [out] D3D11_COUNTER_DESC *pDesc);
906 uuid(03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1)
908 interface ID3D11DepthStencilState : ID3D11DeviceChild
911 [out] D3D11_DEPTH_STENCIL_DESC *pDesc);
917 uuid(9fdac92a-1876-48c3-afad-25b94f84a9b6)
919 interface ID3D11DepthStencilView : ID3D11View
922 [out] D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc);
928 uuid(f582c508-0f36-490c-9977-31eece268cfa)
930 interface ID3D11DomainShader : ID3D11DeviceChild
937 uuid(38325b96-effb-4022-ba02-2e795b70275c)
939 interface ID3D11GeometryShader : ID3D11DeviceChild
946 uuid(8e5c6061-628a-4c8e-8264-bbe45cb3d5dd)
948 interface ID3D11HullShader : ID3D11DeviceChild
955 uuid(e4819ddc-4cf0-4025-bd26-5de82a3e07b7)
957 interface ID3D11InputLayout : ID3D11DeviceChild
964 uuid(ea82e40d-51dc-4f33-93d4-db7c9125ae8c)
966 interface ID3D11PixelShader : ID3D11DeviceChild
973 uuid(9eb576dd-9f77-4d86-81aa-8bab5fe490e2)
975 interface ID3D11Predicate : ID3D11Query
982 uuid(9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7)
984 interface ID3D11RasterizerState : ID3D11DeviceChild
987 [out] D3D11_RASTERIZER_DESC *pDesc);
993 uuid(dfdba067-0b8d-4865-875b-d7b4516cc164)
995 interface ID3D11RenderTargetView : ID3D11View
998 [out] D3D11_RENDER_TARGET_VIEW_DESC *pDesc);
1004 uuid(da6fea51-564c-4487-9810-f0d0f9b4e3a5)
1006 interface ID3D11SamplerState : ID3D11DeviceChild
1009 [out] D3D11_SAMPLER_DESC *pDesc);
1015 uuid(b0e06fe0-8192-4e1a-b1ca-36d7414710b2)
1017 interface ID3D11ShaderResourceView : ID3D11View
1020 [out] D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc);
1026 uuid(f8fb5c27-c6b3-4f75-a4c8-439af2ef564c),
1028 interface ID3D11Texture1D : ID3D11Resource
1031 [out] D3D11_TEXTURE1D_DESC *pDesc);
1037 uuid(6f15aaf2-d208-4e89-9ab4-489535d34f9c)
1039 interface ID3D11Texture2D : ID3D11Resource
1042 [out] D3D11_TEXTURE2D_DESC *pDesc);
1048 uuid(037e866e-f56d-4357-a8af-9dabbe6e250e)
1050 interface ID3D11Texture3D : ID3D11Resource
1053 [out] D3D11_TEXTURE3D_DESC *pDesc);
1059 uuid(28acf509-7f5c-48f6-8611-f316010a6380)
1061 interface ID3D11UnorderedAccessView : ID3D11View
1064 [out] D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc);
1070 uuid(3b301d64-d678-4289-8897-22f8928b72f3)
1072 interface ID3D11VertexShader : ID3D11DeviceChild
1079 uuid(c0bfa96c-e089-44fb-8eaf-26f8796190da)
1081 interface ID3D11DeviceContext : ID3D11DeviceChild
1083 void VSSetConstantBuffers(
1084 [in] UINT StartSlot,
1085 [in] UINT NumBuffers,
1086 [in] ID3D11Buffer *const *ppConstantBuffers);
1087 void PSSetShaderResources(
1088 [in] UINT StartSlot,
1090 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1092 [in] ID3D11PixelShader *pPixelShader,
1093 [in] ID3D11ClassInstance *const *ppClassInstances,
1094 UINT NumClassInstances);
1096 [in] UINT StartSlot,
1097 [in] UINT NumSamplers,
1098 [in] ID3D11SamplerState *const *ppSamplers);
1100 [in] ID3D11VertexShader *pVertexShader,
1101 [in] ID3D11ClassInstance *const *ppClassInstances,
1102 UINT NumClassInstances);
1104 [in] UINT IndexCount,
1105 [in] UINT StartIndexLocation,
1106 [in] INT BaseVertexLocation);
1108 [in] UINT VertexCount,
1109 [in] UINT StartVertexLocation);
1111 [in] ID3D11Resource *pResource,
1112 [in] UINT Subresource,
1113 [in] D3D11_MAP MapType,
1115 [out] D3D11_MAPPED_SUBRESOURCE *pMappedResource);
1117 [in] ID3D11Resource *pResource,
1118 [in] UINT Subresource);
1119 void PSSetConstantBuffers(
1120 [in] UINT StartSlot,
1121 [in] UINT NumBuffers,
1122 [in] ID3D11Buffer *const *ppConstantBuffers);
1123 void IASetInputLayout(
1124 [in] ID3D11InputLayout *pInputLayout);
1125 void IASetVertexBuffers(
1126 [in] UINT StartSlot,
1127 [in] UINT NumBuffers,
1128 [in] ID3D11Buffer *const *ppVertexBuffers,
1129 [in] const UINT *pStrides,
1130 [in] const UINT *pOffsets);
1131 void IASetIndexBuffer(
1132 [in] ID3D11Buffer *pIndexBuffer,
1133 [in] DXGI_FORMAT Format,
1135 void DrawIndexedInstanced(
1136 [in] UINT IndexCountPerInstance,
1137 [in] UINT InstanceCount,
1138 [in] UINT StartIndexLocation,
1139 [in] INT BaseVertexLocation,
1140 [in] UINT StartInstanceLocation);
1142 [in] UINT VertexCountPerInstance,
1143 [in] UINT InstanceCount,
1144 [in] UINT StartVertexLocation,
1145 [in] UINT StartInstanceLocation);
1146 void GSSetConstantBuffers(
1147 [in] UINT StartSlot,
1148 [in] UINT NumBuffers,
1149 [in] ID3D11Buffer *const *ppConstantBuffers);
1151 [in] ID3D11GeometryShader *pShader,
1152 [in] ID3D11ClassInstance *const *ppClassInstances,
1153 UINT NumClassInstances);
1154 void IASetPrimitiveTopology(
1155 [in] D3D11_PRIMITIVE_TOPOLOGY Topology);
1156 void VSSetShaderResources(
1157 [in] UINT StartSlot,
1159 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1161 [in] UINT StartSlot,
1162 [in] UINT NumSamplers,
1163 [in] ID3D11SamplerState *const *ppSamplers);
1165 [in] ID3D11Asynchronous *pAsync);
1167 [in] ID3D11Asynchronous *pAsync);
1169 [in] ID3D11Asynchronous *pAsync,
1172 [in] UINT GetDataFlags);
1173 void SetPredication(
1174 [in] ID3D11Predicate *pPredicate,
1175 [in] BOOL PredicateValue);
1176 void GSSetShaderResources(
1177 [in] UINT StartSlot,
1179 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1181 [in] UINT StartSlot,
1182 [in] UINT NumSamplers,
1183 [in] ID3D11SamplerState *const *ppSamplers);
1184 void OMSetRenderTargets(
1186 [in] ID3D11RenderTargetView *const *ppRenderTargetViews,
1187 [in] ID3D11DepthStencilView *pDepthStencilView);
1188 void OMSetRenderTargetsAndUnorderedAccessViews(
1190 [in] ID3D11RenderTargetView *const *ppRenderTargetViews,
1191 [in] ID3D11DepthStencilView *pDepthStencilView,
1192 [in] UINT UAVStartSlot,
1194 [in] ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
1195 [in] const UINT *pUAVInitialCounts);
1196 void OMSetBlendState(
1197 [in] ID3D11BlendState *pBlendState,
1198 [in] const FLOAT BlendFactor[4],
1199 [in] UINT SampleMask);
1200 void OMSetDepthStencilState(
1201 [in] ID3D11DepthStencilState *pDepthStencilState,
1202 [in] UINT StencilRef);
1204 [in] UINT NumBuffers,
1205 [in] ID3D11Buffer *const *ppSOTargets,
1206 [in] const UINT *pOffsets);
1208 void DrawIndexedInstancedIndirect(
1209 [in] ID3D11Buffer *pBufferForArgs,
1210 [in] UINT AlignedByteOffsetForArgs);
1211 void DrawInstancedIndirect(
1212 [in] ID3D11Buffer *pBufferForArgs,
1213 [in] UINT AlignedByteOffsetForArgs);
1215 [in] UINT ThreadGroupCountX,
1216 [in] UINT ThreadGroupCountY,
1217 [in] UINT ThreadGroupCountZ);
1218 void DispatchIndirect(
1219 [in] ID3D11Buffer *pBufferForArgs,
1220 [in] UINT AlignedByteOffsetForArgs);
1222 [in] ID3D11RasterizerState *pRasterizerState);
1223 void RSSetViewports(
1224 [in] UINT NumViewports,
1225 [in] const D3D11_VIEWPORT *pViewports);
1226 void RSSetScissorRects(
1228 [in] const D3D11_RECT *pRects);
1229 void CopySubresourceRegion(
1230 [in] ID3D11Resource *pDstResource,
1231 [in] UINT DstSubresource,
1235 [in] ID3D11Resource *pSrcResource,
1236 [in] UINT SrcSubresource,
1237 [in] const D3D11_BOX *pSrcBox);
1239 [in] ID3D11Resource *pDstResource,
1240 [in] ID3D11Resource *pSrcResource);
1241 void UpdateSubresource(
1242 [in] ID3D11Resource *pDstResource,
1243 [in] UINT DstSubresource,
1244 [in] const D3D11_BOX *pDstBox,
1245 [in] const void *pSrcData,
1246 [in] UINT SrcRowPitch,
1247 [in] UINT SrcDepthPitch);
1248 void CopyStructureCount(
1249 [in] ID3D11Buffer *pDstBuffer,
1250 [in] UINT DstAlignedByteOffset,
1251 [in] ID3D11UnorderedAccessView *pSrcView);
1252 void ClearRenderTargetView(
1253 [in] ID3D11RenderTargetView *pRenderTargetView,
1254 [in] const FLOAT ColorRGBA[4]);
1255 void ClearUnorderedAccessViewUint(
1256 [in] ID3D11UnorderedAccessView *pUnorderedAccessView,
1257 [in] const UINT Values[4]);
1258 void ClearUnorderedAccessViewFloat(
1259 [in] ID3D11UnorderedAccessView *pUnorderedAccessView,
1260 [in] const FLOAT Values[4]);
1261 void ClearDepthStencilView(
1262 [in] ID3D11DepthStencilView *pDepthStencilView,
1263 [in] UINT ClearFlags,
1265 [in] UINT8 Stencil);
1267 [in] ID3D11ShaderResourceView *pShaderResourceView);
1268 void SetResourceMinLOD(
1269 [in] ID3D11Resource *pResource, FLOAT MinLOD);
1270 FLOAT GetResourceMinLOD(
1271 [in] ID3D11Resource *pResource);
1272 void ResolveSubresource(
1273 [in] ID3D11Resource *pDstResource,
1274 [in] UINT DstSubresource,
1275 [in] ID3D11Resource *pSrcResource,
1276 [in] UINT SrcSubresource,
1277 [in] DXGI_FORMAT Format);
1278 void ExecuteCommandList(
1279 [in] ID3D11CommandList *pCommandList,
1280 BOOL RestoreContextState);
1281 void HSSetShaderResources(
1282 [in] UINT StartSlot,
1284 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1286 [in] ID3D11HullShader *pHullShader,
1287 [in] ID3D11ClassInstance *const *ppClassInstances,
1288 UINT NumClassInstances);
1290 [in] UINT StartSlot,
1291 [in] UINT NumSamplers,
1292 [in] ID3D11SamplerState *const *ppSamplers);
1293 void HSSetConstantBuffers(
1294 [in] UINT StartSlot,
1295 [in] UINT NumBuffers,
1296 [in] ID3D11Buffer *const *ppConstantBuffers);
1297 void DSSetShaderResources(
1298 [in] UINT StartSlot,
1300 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1302 [in] ID3D11DomainShader *pDomainShader,
1303 [in] ID3D11ClassInstance *const *ppClassInstances,
1304 UINT NumClassInstances);
1306 [in] UINT StartSlot,
1307 [in] UINT NumSamplers,
1308 [in] ID3D11SamplerState *const *ppSamplers);
1309 void DSSetConstantBuffers(
1310 [in] UINT StartSlot,
1311 [in] UINT NumBuffers,
1312 [in] ID3D11Buffer *const *ppConstantBuffers);
1313 void CSSetShaderResources(
1314 [in] UINT StartSlot,
1316 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews);
1317 void CSSetUnorderedAccessViews(
1318 [in] UINT StartSlot,
1320 [in] ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
1321 [in] const UINT *pUAVInitialCounts);
1323 [in] ID3D11ComputeShader *pComputeShader,
1324 [in] ID3D11ClassInstance *const *ppClassInstances,
1325 UINT NumClassInstances);
1327 [in] UINT StartSlot,
1328 [in] UINT NumSamplers,
1329 [in] ID3D11SamplerState *const *ppSamplers);
1330 void CSSetConstantBuffers(
1331 [in] UINT StartSlot,
1332 [in] UINT NumBuffers,
1333 [in] ID3D11Buffer *const *ppConstantBuffers);
1334 void VSGetConstantBuffers(
1335 [in] UINT StartSlot,
1336 [in] UINT NumBuffers,
1337 [out] ID3D11Buffer **ppConstantBuffers);
1338 void PSGetShaderResources(
1339 [in] UINT StartSlot,
1341 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1343 [out] ID3D11PixelShader **ppPixelShader,
1344 [out] ID3D11ClassInstance **ppClassInstances,
1345 [in, out] UINT *pNumClassInstances);
1347 [in] UINT StartSlot,
1348 [in] UINT NumSamplers,
1349 [out] ID3D11SamplerState **ppSamplers);
1351 [out] ID3D11VertexShader **ppVertexShader,
1352 [out] ID3D11ClassInstance **ppClassInstances,
1353 [in, out] UINT *pNumClassInstances);
1354 void PSGetConstantBuffers(
1355 [in] UINT StartSlot,
1356 [in] UINT NumBuffers,
1357 [out] ID3D11Buffer **ppConstantBuffers);
1358 void IAGetInputLayout(
1359 [out] ID3D11InputLayout **ppInputLayout);
1360 void IAGetVertexBuffers(
1361 [in] UINT StartSlot,
1362 [in] UINT NumBuffers,
1363 [out] ID3D11Buffer **ppVertexBuffers,
1364 [out] UINT *pStrides,
1365 [out] UINT *pOffsets);
1366 void IAGetIndexBuffer(
1367 [out] ID3D11Buffer **pIndexBuffer,
1368 [out] DXGI_FORMAT* Format,
1369 [out] UINT* Offset);
1370 void GSGetConstantBuffers(
1371 [in] UINT StartSlot,
1372 [in] UINT NumBuffers,
1373 [out] ID3D11Buffer **ppConstantBuffers);
1375 [out] ID3D11GeometryShader **ppGeometryShader,
1376 [out] ID3D11ClassInstance **ppClassInstances,
1377 [in, out] UINT *pNumClassInstances);
1378 void IAGetPrimitiveTopology(
1379 [out] D3D11_PRIMITIVE_TOPOLOGY *pTopology);
1380 void VSGetShaderResources(
1381 [in] UINT StartSlot,
1383 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1385 [in] UINT StartSlot,
1386 [in] UINT NumSamplers,
1387 [out] ID3D11SamplerState **ppSamplers);
1388 void GetPredication(
1389 [out] ID3D11Predicate **ppPredicate,
1390 [out] BOOL *pPredicateValue);
1391 void GSGetShaderResources(
1392 [in] UINT StartSlot,
1394 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1396 [in] UINT StartSlot,
1397 [in] UINT NumSamplers,
1398 [out] ID3D11SamplerState **ppSamplers);
1399 void OMGetRenderTargets(
1401 [out] ID3D11RenderTargetView **ppRenderTargetViews,
1402 [out] ID3D11DepthStencilView **ppDepthStencilView);
1403 void OMGetRenderTargetsAndUnorderedAccessViews(
1405 [out] ID3D11RenderTargetView **ppRenderTargetViews,
1406 [out] ID3D11DepthStencilView **ppDepthStencilView,
1407 [in] UINT UAVStartSlot,
1409 [out] ID3D11UnorderedAccessView **ppUnorderedAccessViews);
1410 void OMGetBlendState(
1411 [out] ID3D11BlendState **ppBlendState,
1412 [out] FLOAT BlendFactor[4],
1413 [out] UINT *pSampleMask);
1414 void OMGetDepthStencilState(
1415 [out] ID3D11DepthStencilState **ppDepthStencilState,
1416 [out] UINT *pStencilRef);
1418 [in] UINT NumBuffers,
1419 [out] ID3D11Buffer **ppSOTargets);
1421 [out] ID3D11RasterizerState **ppRasterizerState);
1422 void RSGetViewports(
1423 [in, out] UINT *pNumViewports,
1424 [out] D3D11_VIEWPORT *pViewports);
1425 void RSGetScissorRects(
1426 [in, out] UINT *pNumRects,
1427 [out] D3D11_RECT *pRects);
1428 void HSGetShaderResources(
1429 [in] UINT StartSlot,
1431 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1433 [out] ID3D11HullShader **ppHullShader,
1434 [out] ID3D11ClassInstance **ppClassInstances,
1435 [in, out] UINT *pNumClassInstances);
1437 [in] UINT StartSlot,
1438 [in] UINT NumSamplers,
1439 [out] ID3D11SamplerState **ppSamplers);
1440 void HSGetConstantBuffers(
1441 [in] UINT StartSlot,
1442 [in] UINT NumBuffers,
1443 [out] ID3D11Buffer **ppConstantBuffers);
1444 void DSGetShaderResources(
1445 [in] UINT StartSlot,
1447 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1449 [out] ID3D11DomainShader **ppDomainShader,
1450 [out] ID3D11ClassInstance **ppClassInstances,
1451 [in, out] UINT *pNumClassInstances);
1453 [in] UINT StartSlot,
1454 [in] UINT NumSamplers,
1455 [out] ID3D11SamplerState **ppSamplers);
1456 void DSGetConstantBuffers(
1457 [in] UINT StartSlot,
1458 [in] UINT NumBuffers,
1459 [out] ID3D11Buffer **ppConstantBuffers);
1460 void CSGetShaderResources(
1461 [in] UINT StartSlot,
1463 [out] ID3D11ShaderResourceView **ppShaderResourceViews);
1464 void CSGetUnorderedAccessViews(
1465 [in] UINT StartSlot,
1467 [out] ID3D11UnorderedAccessView **ppUnorderedAccessViews);
1469 [out] ID3D11ComputeShader **ppComputeShader,
1470 [out] ID3D11ClassInstance **ppClassInstances,
1471 [in, out] UINT *pNumClassInstances);
1473 [in] UINT StartSlot,
1474 [in] UINT NumSamplers,
1475 [out] ID3D11SamplerState **ppSamplers);
1476 void CSGetConstantBuffers(
1477 [in] UINT StartSlot,
1478 [in] UINT NumBuffers,
1479 [out] ID3D11Buffer **ppConstantBuffers);
1482 D3D11_DEVICE_CONTEXT_TYPE GetType();
1483 UINT GetContextFlags();
1484 HRESULT FinishCommandList(
1485 BOOL RestoreDeferredContextState,
1486 [out] ID3D11CommandList **ppCommandList);
1492 uuid(db6f6ddb-ac77-4e88-8253-819df9bbf140)
1494 interface ID3D11Device : IUnknown
1496 HRESULT CreateBuffer(
1497 [in] const D3D11_BUFFER_DESC *pDesc,
1498 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
1499 [out] ID3D11Buffer **ppBuffer);
1500 HRESULT CreateTexture1D(
1501 [in] const D3D11_TEXTURE1D_DESC *pDesc,
1502 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
1503 [out] ID3D11Texture1D **ppTexture1D);
1504 HRESULT CreateTexture2D(
1505 [in] const D3D11_TEXTURE2D_DESC *pDesc,
1506 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
1507 [out] ID3D11Texture2D **ppTexture2D);
1508 HRESULT CreateTexture3D(
1509 [in] const D3D11_TEXTURE3D_DESC *pDesc,
1510 [in] const D3D11_SUBRESOURCE_DATA *pInitialData,
1511 [out] ID3D11Texture3D **ppTexture3D);
1512 HRESULT CreateShaderResourceView(
1513 [in] ID3D11Resource *pResource,
1514 [in] const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
1515 [out] ID3D11ShaderResourceView **ppSRView);
1516 HRESULT CreateUnorderedAccessView(
1517 [in] ID3D11Resource *pResource,
1518 [in] const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
1519 [out] ID3D11UnorderedAccessView **ppUAView);
1520 HRESULT CreateRenderTargetView(
1521 [in] ID3D11Resource *pResource,
1522 [in] const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
1523 [out] ID3D11RenderTargetView **ppRTView);
1524 HRESULT CreateDepthStencilView(
1525 [in] ID3D11Resource *pResource,
1526 [in] const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
1527 [out] ID3D11DepthStencilView **ppDepthStencilView);
1528 HRESULT CreateInputLayout(
1529 [in] const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
1530 [in] UINT NumElements,
1531 [in] const void *pShaderBytecodeWithInputSignature,
1532 [in] SIZE_T BytecodeLength,
1533 [out] ID3D11InputLayout **ppInputLayout);
1534 HRESULT CreateVertexShader(
1535 [in] const void *pShaderBytecode,
1536 [in] SIZE_T BytecodeLength,
1537 [in] ID3D11ClassLinkage *pClassLinkage,
1538 [out] ID3D11VertexShader **ppVertexShader);
1539 HRESULT CreateGeometryShader(
1540 [in] const void *pShaderBytecode,
1541 [in] SIZE_T BytecodeLength,
1542 [in] ID3D11ClassLinkage *pClassLinkage,
1543 [out] ID3D11GeometryShader **ppGeometryShader);
1544 HRESULT CreateGeometryShaderWithStreamOutput(
1545 [in] const void *pShaderBytecode,
1546 [in] SIZE_T BytecodeLength,
1547 [in] const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
1548 [in] UINT NumEntries,
1549 [in] const UINT *pBufferStrides,
1550 [in] UINT NumStrides,
1551 [in] UINT RasterizedStream,
1552 [in] ID3D11ClassLinkage *pClassLinkage,
1553 [out] ID3D11GeometryShader **ppGeometryShader);
1554 HRESULT CreatePixelShader(
1555 [in] const void *pShaderBytecode,
1556 [in] SIZE_T BytecodeLength,
1557 [in] ID3D11ClassLinkage *pClassLinkage,
1558 [out] ID3D11PixelShader **ppPixelShader);
1559 HRESULT CreateHullShader(
1560 [in] const void *pShaderBytecode,
1561 [in] SIZE_T BytecodeLength,
1562 [in] ID3D11ClassLinkage *pClassLinkage,
1563 [out] ID3D11HullShader **ppHullShader);
1564 HRESULT CreateDomainShader(
1565 [in] const void *pShaderBytecode,
1566 [in] SIZE_T BytecodeLength,
1567 [in] ID3D11ClassLinkage *pClassLinkage,
1568 [out] ID3D11DomainShader **ppDomainShader);
1569 HRESULT CreateComputeShader(
1570 [in] const void *pShaderBytecode,
1571 [in] SIZE_T BytecodeLength,
1572 [in] ID3D11ClassLinkage *pClassLinkage,
1573 [out] ID3D11ComputeShader **ppComputeShader);
1574 HRESULT CreateClassLinkage(
1575 [out] ID3D11ClassLinkage **ppLinkage);
1576 HRESULT CreateBlendState(
1577 [in] const D3D11_BLEND_DESC *pBlendStateDesc,
1578 [out] ID3D11BlendState **ppBlendState);
1579 HRESULT CreateDepthStencilState(
1580 [in] const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
1581 [out] ID3D11DepthStencilState **ppDepthStencilState);
1582 HRESULT CreateRasterizerState(
1583 [in] const D3D11_RASTERIZER_DESC *pRasterizerDesc,
1584 [out] ID3D11RasterizerState **ppRasterizerState);
1585 HRESULT CreateSamplerState(
1586 [in] const D3D11_SAMPLER_DESC *pSamplerDesc,
1587 [out] ID3D11SamplerState **ppSamplerState);
1588 HRESULT CreateQuery(
1589 [in] const D3D11_QUERY_DESC *pQueryDesc,
1590 [out] ID3D11Query **ppQuery);
1591 HRESULT CreatePredicate(
1592 [in] const D3D11_QUERY_DESC *pPredicateDesc,
1593 [out] ID3D11Predicate **ppPredicate);
1594 HRESULT CreateCounter(
1595 [in] const D3D11_COUNTER_DESC *pCounterDesc,
1596 [out] ID3D11Counter **ppCounter);
1597 HRESULT CreateDeferredContext(
1599 [out] ID3D11DeviceContext **ppDeferredContext);
1600 HRESULT OpenSharedResource(
1601 [in] HANDLE hResource,
1602 [in] REFIID ReturnedInterface,
1603 [out] void **ppResource);
1604 HRESULT CheckFormatSupport(
1605 [in] DXGI_FORMAT Format,
1606 [out] UINT *pFormatSupport);
1607 HRESULT CheckMultisampleQualityLevels(
1608 [in] DXGI_FORMAT Format,
1609 [in] UINT SampleCount,
1610 [out] UINT *pNumQualityLevels);
1611 void CheckCounterInfo(
1612 [out] D3D11_COUNTER_INFO *pCounterInfo);
1613 HRESULT CheckCounter(
1614 [in] const D3D11_COUNTER_DESC *pDesc,
1615 [out] D3D11_COUNTER_TYPE *pType,
1616 [out] UINT *pActiveCounters,
1618 [in, out] UINT *pNameLength,
1619 [out] LPSTR szUnits,
1620 [in, out] UINT *pUnitsLength,
1621 [out] LPSTR szDescription,
1622 [in, out] UINT *pDescriptionLength);
1623 HRESULT CheckFeatureSupport(
1624 D3D11_FEATURE Feature,
1625 [out] void *pFeatureSupportData,
1626 UINT FeatureSupportDataSize);
1627 HRESULT GetPrivateData(
1629 [in, out] UINT *pDataSize,
1631 HRESULT SetPrivateData(
1634 [in] const void *pData);
1635 HRESULT SetPrivateDataInterface(
1637 [in] const IUnknown *pData);
1638 D3D_FEATURE_LEVEL GetFeatureLevel();
1639 UINT GetCreationFlags();
1640 HRESULT GetDeviceRemovedReason();
1641 void GetImmediateContext(
1642 [out] ID3D11DeviceContext **ppImmediateContext);
1643 HRESULT SetExceptionMode(UINT RaiseFlags);
1644 UINT GetExceptionMode();
1647 cpp_quote("#include <d3d10_1.h>")
1648 cpp_quote("#ifndef D3D11_IGNORE_SDK_LAYERS")
1649 cpp_quote("/* FIXME: # include <d3d11sdklayers.h> */")
1651 cpp_quote("#include <d3d10misc.h>")
1652 cpp_quote("#include <d3d10shader.h>")
1653 cpp_quote("#include <d3d10effect.h>")
1654 cpp_quote("#include <d3d10_1shader.h>")