1 ##########################################################################
3 # Copyright 2012 Jose Fonseca
6 # Permission is hereby granted, free of charge, to any person obtaining a copy
7 # of this software and associated documentation files (the "Software"), to deal
8 # in the Software without restriction, including without limitation the rights
9 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 # copies of the Software, and to permit persons to whom the Software is
11 # furnished to do so, subject to the following conditions:
13 # The above copyright notice and this permission notice shall be included in
14 # all copies or substantial portions of the Software.
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 ##########################################################################/
28 from d3dcommon import *
29 from d3d11sdklayers import *
32 HRESULT = FakeEnum(HRESULT, [
33 "D3D11_ERROR_FILE_NOT_FOUND",
34 "D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS",
35 "D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS",
36 "D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD",
38 "D3DERR_WASSTILLDRAWING",
42 ID3D11DepthStencilState = Interface("ID3D11DepthStencilState", ID3D11DeviceChild)
43 ID3D11BlendState = Interface("ID3D11BlendState", ID3D11DeviceChild)
44 ID3D11RasterizerState = Interface("ID3D11RasterizerState", ID3D11DeviceChild)
45 ID3D11Resource = Interface("ID3D11Resource", ID3D11DeviceChild)
46 ID3D11Buffer = Interface("ID3D11Buffer", ID3D11Resource)
47 ID3D11Texture1D = Interface("ID3D11Texture1D", ID3D11Resource)
48 ID3D11Texture2D = Interface("ID3D11Texture2D", ID3D11Resource)
49 ID3D11Texture3D = Interface("ID3D11Texture3D", ID3D11Resource)
50 ID3D11View = Interface("ID3D11View", ID3D11DeviceChild)
51 ID3D11ShaderResourceView = Interface("ID3D11ShaderResourceView", ID3D11View)
52 ID3D11RenderTargetView = Interface("ID3D11RenderTargetView", ID3D11View)
53 ID3D11DepthStencilView = Interface("ID3D11DepthStencilView", ID3D11View)
54 ID3D11UnorderedAccessView = Interface("ID3D11UnorderedAccessView", ID3D11View)
55 ID3D11VertexShader = Interface("ID3D11VertexShader", ID3D11DeviceChild)
56 ID3D11HullShader = Interface("ID3D11HullShader", ID3D11DeviceChild)
57 ID3D11DomainShader = Interface("ID3D11DomainShader", ID3D11DeviceChild)
58 ID3D11GeometryShader = Interface("ID3D11GeometryShader", ID3D11DeviceChild)
59 ID3D11PixelShader = Interface("ID3D11PixelShader", ID3D11DeviceChild)
60 ID3D11ComputeShader = Interface("ID3D11ComputeShader", ID3D11DeviceChild)
61 ID3D11InputLayout = Interface("ID3D11InputLayout", ID3D11DeviceChild)
62 ID3D11SamplerState = Interface("ID3D11SamplerState", ID3D11DeviceChild)
63 ID3D11Asynchronous = Interface("ID3D11Asynchronous", ID3D11DeviceChild)
64 ID3D11Query = Interface("ID3D11Query", ID3D11Asynchronous)
65 ID3D11Predicate = Interface("ID3D11Predicate", ID3D11Query)
66 ID3D11Counter = Interface("ID3D11Counter", ID3D11Asynchronous)
67 ID3D11ClassInstance = Interface("ID3D11ClassInstance", ID3D11DeviceChild)
68 ID3D11ClassLinkage = Interface("ID3D11ClassLinkage", ID3D11DeviceChild)
69 ID3D11CommandList = Interface("ID3D11CommandList", ID3D11DeviceChild)
70 ID3D11Device = Interface("ID3D11Device", IUnknown)
73 D3D11_INPUT_CLASSIFICATION = Enum("D3D11_INPUT_CLASSIFICATION", [
74 "D3D11_INPUT_PER_VERTEX_DATA",
75 "D3D11_INPUT_PER_INSTANCE_DATA",
78 D3D11_INPUT_ELEMENT_ALIGNED_BYTE_OFFSET = FakeEnum(UINT, [
79 "D3D11_APPEND_ALIGNED_ELEMENT",
82 D3D11_INPUT_ELEMENT_DESC = Struct("D3D11_INPUT_ELEMENT_DESC", [
83 (LPCSTR, "SemanticName"),
84 (UINT, "SemanticIndex"),
85 (DXGI_FORMAT, "Format"),
87 (D3D11_INPUT_ELEMENT_ALIGNED_BYTE_OFFSET, "AlignedByteOffset"),
88 (D3D11_INPUT_CLASSIFICATION, "InputSlotClass"),
89 (UINT, "InstanceDataStepRate"),
92 D3D11_FILL_MODE = Enum("D3D11_FILL_MODE", [
93 "D3D11_FILL_WIREFRAME",
97 D3D11_PRIMITIVE_TOPOLOGY = Enum("D3D11_PRIMITIVE_TOPOLOGY", [
98 "D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED",
99 "D3D11_PRIMITIVE_TOPOLOGY_POINTLIST",
100 "D3D11_PRIMITIVE_TOPOLOGY_LINELIST",
101 "D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP",
102 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST",
103 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP",
104 "D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ",
105 "D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ",
106 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ",
107 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ",
108 "D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST",
109 "D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST",
110 "D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST",
111 "D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST",
112 "D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST",
113 "D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST",
114 "D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST",
115 "D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST",
116 "D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST",
117 "D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST",
118 "D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST",
119 "D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST",
120 "D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST",
121 "D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST",
122 "D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST",
123 "D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST",
124 "D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST",
125 "D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST",
126 "D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST",
127 "D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST",
128 "D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST",
129 "D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST",
130 "D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST",
131 "D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST",
132 "D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST",
133 "D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST",
134 "D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST",
135 "D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST",
136 "D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST",
137 "D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST",
138 "D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST",
139 "D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST",
142 D3D11_PRIMITIVE = Enum("D3D11_PRIMITIVE", [
143 "D3D11_PRIMITIVE_UNDEFINED",
144 "D3D11_PRIMITIVE_POINT",
145 "D3D11_PRIMITIVE_LINE",
146 "D3D11_PRIMITIVE_TRIANGLE",
147 "D3D11_PRIMITIVE_LINE_ADJ",
148 "D3D11_PRIMITIVE_TRIANGLE_ADJ",
149 "D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH",
150 "D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH",
151 "D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH",
152 "D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH",
153 "D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH",
154 "D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH",
155 "D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH",
156 "D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH",
157 "D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH",
158 "D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH",
159 "D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH",
160 "D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH",
161 "D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH",
162 "D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH",
163 "D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH",
164 "D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH",
165 "D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH",
166 "D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH",
167 "D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH",
168 "D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH",
169 "D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH",
170 "D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH",
171 "D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH",
172 "D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH",
173 "D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH",
174 "D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH",
175 "D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH",
176 "D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH",
177 "D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH",
178 "D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH",
179 "D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH",
180 "D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH",
183 D3D11_CULL_MODE = Enum("D3D11_CULL_MODE", [
189 D3D11_SO_DECLARATION_ENTRY = Struct("D3D11_SO_DECLARATION_ENTRY", [
191 (LPCSTR, "SemanticName"),
192 (UINT, "SemanticIndex"),
193 (BYTE, "StartComponent"),
194 (BYTE, "ComponentCount"),
195 (BYTE, "OutputSlot"),
198 D3D11_VIEWPORT = Struct("D3D11_VIEWPORT", [
207 D3D11_RESOURCE_DIMENSION = Enum("D3D11_RESOURCE_DIMENSION", [
208 "D3D11_RESOURCE_DIMENSION_UNKNOWN",
209 "D3D11_RESOURCE_DIMENSION_BUFFER",
210 "D3D11_RESOURCE_DIMENSION_TEXTURE1D",
211 "D3D11_RESOURCE_DIMENSION_TEXTURE2D",
212 "D3D11_RESOURCE_DIMENSION_TEXTURE3D",
215 D3D11_SRV_DIMENSION = Enum("D3D11_SRV_DIMENSION", [
216 "D3D11_SRV_DIMENSION_UNKNOWN",
217 "D3D11_SRV_DIMENSION_BUFFER",
218 "D3D11_SRV_DIMENSION_TEXTURE1D",
219 "D3D11_SRV_DIMENSION_TEXTURE1DARRAY",
220 "D3D11_SRV_DIMENSION_TEXTURE2D",
221 "D3D11_SRV_DIMENSION_TEXTURE2DARRAY",
222 "D3D11_SRV_DIMENSION_TEXTURE2DMS",
223 "D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY",
224 "D3D11_SRV_DIMENSION_TEXTURE3D",
225 "D3D11_SRV_DIMENSION_TEXTURECUBE",
226 "D3D11_SRV_DIMENSION_TEXTURECUBEARRAY",
227 "D3D11_SRV_DIMENSION_BUFFEREX",
230 D3D11_DSV_DIMENSION = Enum("D3D11_DSV_DIMENSION", [
231 "D3D11_DSV_DIMENSION_UNKNOWN",
232 "D3D11_DSV_DIMENSION_TEXTURE1D",
233 "D3D11_DSV_DIMENSION_TEXTURE1DARRAY",
234 "D3D11_DSV_DIMENSION_TEXTURE2D",
235 "D3D11_DSV_DIMENSION_TEXTURE2DARRAY",
236 "D3D11_DSV_DIMENSION_TEXTURE2DMS",
237 "D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY",
240 D3D11_RTV_DIMENSION = Enum("D3D11_RTV_DIMENSION", [
241 "D3D11_RTV_DIMENSION_UNKNOWN",
242 "D3D11_RTV_DIMENSION_BUFFER",
243 "D3D11_RTV_DIMENSION_TEXTURE1D",
244 "D3D11_RTV_DIMENSION_TEXTURE1DARRAY",
245 "D3D11_RTV_DIMENSION_TEXTURE2D",
246 "D3D11_RTV_DIMENSION_TEXTURE2DARRAY",
247 "D3D11_RTV_DIMENSION_TEXTURE2DMS",
248 "D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY",
249 "D3D11_RTV_DIMENSION_TEXTURE3D",
252 D3D11_UAV_DIMENSION = Enum("D3D11_UAV_DIMENSION", [
253 "D3D11_UAV_DIMENSION_UNKNOWN",
254 "D3D11_UAV_DIMENSION_BUFFER",
255 "D3D11_UAV_DIMENSION_TEXTURE1D",
256 "D3D11_UAV_DIMENSION_TEXTURE1DARRAY",
257 "D3D11_UAV_DIMENSION_TEXTURE2D",
258 "D3D11_UAV_DIMENSION_TEXTURE2DARRAY",
259 "D3D11_UAV_DIMENSION_TEXTURE3D",
262 D3D11_USAGE = Enum("D3D11_USAGE", [
263 "D3D11_USAGE_DEFAULT",
264 "D3D11_USAGE_IMMUTABLE",
265 "D3D11_USAGE_DYNAMIC",
266 "D3D11_USAGE_STAGING",
269 D3D11_BIND_FLAG = Flags(UINT, [
270 "D3D11_BIND_VERTEX_BUFFER",
271 "D3D11_BIND_INDEX_BUFFER",
272 "D3D11_BIND_CONSTANT_BUFFER",
273 "D3D11_BIND_SHADER_RESOURCE",
274 "D3D11_BIND_STREAM_OUTPUT",
275 "D3D11_BIND_RENDER_TARGET",
276 "D3D11_BIND_DEPTH_STENCIL",
277 "D3D11_BIND_UNORDERED_ACCESS",
280 D3D11_CPU_ACCESS_FLAG = Flags(UINT, [
281 "D3D11_CPU_ACCESS_WRITE",
282 "D3D11_CPU_ACCESS_READ",
285 D3D11_RESOURCE_MISC_FLAG = Flags(UINT, [
286 "D3D11_RESOURCE_MISC_GENERATE_MIPS",
287 "D3D11_RESOURCE_MISC_SHARED",
288 "D3D11_RESOURCE_MISC_TEXTURECUBE",
289 "D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS",
290 "D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS",
291 "D3D11_RESOURCE_MISC_BUFFER_STRUCTURED",
292 "D3D11_RESOURCE_MISC_RESOURCE_CLAMP",
293 "D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX",
294 "D3D11_RESOURCE_MISC_GDI_COMPATIBLE",
297 D3D11_MAP = Enum("D3D11_MAP", [
300 "D3D11_MAP_READ_WRITE",
301 "D3D11_MAP_WRITE_DISCARD",
302 "D3D11_MAP_WRITE_NO_OVERWRITE",
305 D3D11_MAP_FLAG = Flags(UINT, [
306 "D3D11_MAP_FLAG_DO_NOT_WAIT",
309 D3D11_RAISE_FLAG = Flags(UINT, [
310 "D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR",
313 D3D11_CLEAR_FLAG = Flags(UINT, [
315 "D3D11_CLEAR_STENCIL",
318 D3D11_RECT = Alias("D3D11_RECT", RECT)
319 D3D11_BOX = Struct("D3D11_BOX", [
328 ID3D11DeviceChild.methods += [
329 StdMethod(Void, "GetDevice", [Out(Pointer(ObjPointer(ID3D11Device)), "ppDevice")]),
330 StdMethod(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")]),
331 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
332 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")]),
335 D3D11_COMPARISON_FUNC = Enum("D3D11_COMPARISON_FUNC", [
336 "D3D11_COMPARISON_NEVER",
337 "D3D11_COMPARISON_LESS",
338 "D3D11_COMPARISON_EQUAL",
339 "D3D11_COMPARISON_LESS_EQUAL",
340 "D3D11_COMPARISON_GREATER",
341 "D3D11_COMPARISON_NOT_EQUAL",
342 "D3D11_COMPARISON_GREATER_EQUAL",
343 "D3D11_COMPARISON_ALWAYS",
346 D3D11_DEPTH_WRITE_MASK = Enum("D3D11_DEPTH_WRITE_MASK", [
347 "D3D11_DEPTH_WRITE_MASK_ZERO",
348 "D3D11_DEPTH_WRITE_MASK_ALL",
351 D3D11_STENCIL_OP = Enum("D3D11_STENCIL_OP", [
352 "D3D11_STENCIL_OP_KEEP",
353 "D3D11_STENCIL_OP_ZERO",
354 "D3D11_STENCIL_OP_REPLACE",
355 "D3D11_STENCIL_OP_INCR_SAT",
356 "D3D11_STENCIL_OP_DECR_SAT",
357 "D3D11_STENCIL_OP_INVERT",
358 "D3D11_STENCIL_OP_INCR",
359 "D3D11_STENCIL_OP_DECR",
362 D3D11_DEPTH_STENCILOP_DESC = Struct("D3D11_DEPTH_STENCILOP_DESC", [
363 (D3D11_STENCIL_OP, "StencilFailOp"),
364 (D3D11_STENCIL_OP, "StencilDepthFailOp"),
365 (D3D11_STENCIL_OP, "StencilPassOp"),
366 (D3D11_COMPARISON_FUNC, "StencilFunc"),
369 D3D11_DEPTH_STENCIL_DESC = Struct("D3D11_DEPTH_STENCIL_DESC", [
370 (BOOL, "DepthEnable"),
371 (D3D11_DEPTH_WRITE_MASK, "DepthWriteMask"),
372 (D3D11_COMPARISON_FUNC, "DepthFunc"),
373 (BOOL, "StencilEnable"),
374 (UINT8, "StencilReadMask"),
375 (UINT8, "StencilWriteMask"),
376 (D3D11_DEPTH_STENCILOP_DESC, "FrontFace"),
377 (D3D11_DEPTH_STENCILOP_DESC, "BackFace"),
380 ID3D11DepthStencilState.methods += [
381 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_DEPTH_STENCIL_DESC), "pDesc")]),
384 D3D11_BLEND = Enum("D3D11_BLEND", [
387 "D3D11_BLEND_SRC_COLOR",
388 "D3D11_BLEND_INV_SRC_COLOR",
389 "D3D11_BLEND_SRC_ALPHA",
390 "D3D11_BLEND_INV_SRC_ALPHA",
391 "D3D11_BLEND_DEST_ALPHA",
392 "D3D11_BLEND_INV_DEST_ALPHA",
393 "D3D11_BLEND_DEST_COLOR",
394 "D3D11_BLEND_INV_DEST_COLOR",
395 "D3D11_BLEND_SRC_ALPHA_SAT",
396 "D3D11_BLEND_BLEND_FACTOR",
397 "D3D11_BLEND_INV_BLEND_FACTOR",
398 "D3D11_BLEND_SRC1_COLOR",
399 "D3D11_BLEND_INV_SRC1_COLOR",
400 "D3D11_BLEND_SRC1_ALPHA",
401 "D3D11_BLEND_INV_SRC1_ALPHA",
404 D3D11_BLEND_OP = Enum("D3D11_BLEND_OP", [
405 "D3D11_BLEND_OP_ADD",
406 "D3D11_BLEND_OP_SUBTRACT",
407 "D3D11_BLEND_OP_REV_SUBTRACT",
408 "D3D11_BLEND_OP_MIN",
409 "D3D11_BLEND_OP_MAX",
412 D3D11_COLOR_WRITE_ENABLE = Enum("D3D11_COLOR_WRITE_ENABLE", [
413 "D3D11_COLOR_WRITE_ENABLE_ALL",
414 "D3D11_COLOR_WRITE_ENABLE_RED",
415 "D3D11_COLOR_WRITE_ENABLE_GREEN",
416 "D3D11_COLOR_WRITE_ENABLE_BLUE",
417 "D3D11_COLOR_WRITE_ENABLE_ALPHA",
420 D3D11_RENDER_TARGET_BLEND_DESC = Struct("D3D11_RENDER_TARGET_BLEND_DESC", [
421 (BOOL, "BlendEnable"),
422 (D3D11_BLEND, "SrcBlend"),
423 (D3D11_BLEND, "DestBlend"),
424 (D3D11_BLEND_OP, "BlendOp"),
425 (D3D11_BLEND, "SrcBlendAlpha"),
426 (D3D11_BLEND, "DestBlendAlpha"),
427 (D3D11_BLEND_OP, "BlendOpAlpha"),
428 (UINT8, "RenderTargetWriteMask"),
431 D3D11_BLEND_DESC = Struct("D3D11_BLEND_DESC", [
432 (BOOL, "AlphaToCoverageEnable"),
433 (BOOL, "IndependentBlendEnable"),
434 (Array(D3D11_RENDER_TARGET_BLEND_DESC, 8), "RenderTarget"),
437 ID3D11BlendState.methods += [
438 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_BLEND_DESC), "pDesc")]),
441 D3D11_RASTERIZER_DESC = Struct("D3D11_RASTERIZER_DESC", [
442 (D3D11_FILL_MODE, "FillMode"),
443 (D3D11_CULL_MODE, "CullMode"),
444 (BOOL, "FrontCounterClockwise"),
446 (FLOAT, "DepthBiasClamp"),
447 (FLOAT, "SlopeScaledDepthBias"),
448 (BOOL, "DepthClipEnable"),
449 (BOOL, "ScissorEnable"),
450 (BOOL, "MultisampleEnable"),
451 (BOOL, "AntialiasedLineEnable"),
454 ID3D11RasterizerState.methods += [
455 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_RASTERIZER_DESC), "pDesc")]),
458 D3D11_SUBRESOURCE_DATA = Struct("D3D11_SUBRESOURCE_DATA", [
459 (OpaquePointer(Const(Void)), "pSysMem"),
460 (UINT, "SysMemPitch"),
461 (UINT, "SysMemSlicePitch"),
464 D3D11_MAPPED_SUBRESOURCE = Struct("D3D11_MAPPED_SUBRESOURCE", [
465 (OpaquePointer(Void), "pData"),
467 (UINT, "DepthPitch"),
470 ID3D11Resource.methods += [
471 StdMethod(Void, "GetType", [Out(Pointer(D3D11_RESOURCE_DIMENSION), "pResourceDimension")]),
472 StdMethod(Void, "SetEvictionPriority", [(UINT, "EvictionPriority")]),
473 StdMethod(UINT, "GetEvictionPriority", []),
476 D3D11_BUFFER_DESC = Struct("D3D11_BUFFER_DESC", [
478 (D3D11_USAGE, "Usage"),
479 (D3D11_BIND_FLAG, "BindFlags"),
480 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
481 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
482 (UINT, "StructureByteStride"),
485 ID3D11Buffer.methods += [
486 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_BUFFER_DESC), "pDesc")]),
489 D3D11_TEXTURE1D_DESC = Struct("D3D11_TEXTURE1D_DESC", [
493 (DXGI_FORMAT, "Format"),
494 (D3D11_USAGE, "Usage"),
495 (D3D11_BIND_FLAG, "BindFlags"),
496 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
497 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
500 ID3D11Texture1D.methods += [
501 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE1D_DESC), "pDesc")]),
504 D3D11_TEXTURE2D_DESC = Struct("D3D11_TEXTURE2D_DESC", [
509 (DXGI_FORMAT, "Format"),
510 (DXGI_SAMPLE_DESC, "SampleDesc"),
511 (D3D11_USAGE, "Usage"),
512 (D3D11_BIND_FLAG, "BindFlags"),
513 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
514 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
517 ID3D11Texture2D.methods += [
518 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE2D_DESC), "pDesc")]),
521 D3D11_TEXTURE3D_DESC = Struct("D3D11_TEXTURE3D_DESC", [
526 (DXGI_FORMAT, "Format"),
527 (D3D11_USAGE, "Usage"),
528 (D3D11_BIND_FLAG, "BindFlags"),
529 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
530 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
533 ID3D11Texture3D.methods += [
534 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE3D_DESC), "pDesc")]),
537 D3D11_TEXTURECUBE_FACE = Enum("D3D11_TEXTURECUBE_FACE", [
538 "D3D11_TEXTURECUBE_FACE_POSITIVE_X",
539 "D3D11_TEXTURECUBE_FACE_NEGATIVE_X",
540 "D3D11_TEXTURECUBE_FACE_POSITIVE_Y",
541 "D3D11_TEXTURECUBE_FACE_NEGATIVE_Y",
542 "D3D11_TEXTURECUBE_FACE_POSITIVE_Z",
543 "D3D11_TEXTURECUBE_FACE_NEGATIVE_Z",
546 ID3D11View.methods += [
547 StdMethod(Void, "GetResource", [Out(Pointer(ObjPointer(ID3D11Resource)), "ppResource")]),
550 D3D11_BUFFER_SRV = Struct("D3D11_BUFFER_SRV", [
551 (Union(None, [(UINT, "FirstElement"), (UINT, "ElementOffset")]), None),
552 (Union(None, [(UINT, "NumElements"), (UINT, "ElementWidth")]), None),
555 D3D11_BUFFEREX_SRV_FLAG = Flags(UINT, [
556 "D3D11_BUFFEREX_SRV_FLAG_RAW",
559 D3D11_BUFFEREX_SRV = Struct("D3D11_BUFFEREX_SRV", [
560 (UINT, "FirstElement"),
561 (UINT, "NumElements"),
562 (D3D11_BUFFEREX_SRV_FLAG, "Flags"),
565 D3D11_TEX1D_SRV = Struct("D3D11_TEX1D_SRV", [
566 (UINT, "MostDetailedMip"),
570 D3D11_TEX1D_ARRAY_SRV = Struct("D3D11_TEX1D_ARRAY_SRV", [
571 (UINT, "MostDetailedMip"),
573 (UINT, "FirstArraySlice"),
577 D3D11_TEX2D_SRV = Struct("D3D11_TEX2D_SRV", [
578 (UINT, "MostDetailedMip"),
582 D3D11_TEX2D_ARRAY_SRV = Struct("D3D11_TEX2D_ARRAY_SRV", [
583 (UINT, "MostDetailedMip"),
585 (UINT, "FirstArraySlice"),
589 D3D11_TEX3D_SRV = Struct("D3D11_TEX3D_SRV", [
590 (UINT, "MostDetailedMip"),
594 D3D11_TEXCUBE_SRV = Struct("D3D11_TEXCUBE_SRV", [
595 (UINT, "MostDetailedMip"),
599 D3D11_TEXCUBE_ARRAY_SRV = Struct("D3D11_TEXCUBE_ARRAY_SRV", [
600 (UINT, "MostDetailedMip"),
602 (UINT, "First2DArrayFace"),
606 D3D11_TEX2DMS_SRV = Struct("D3D11_TEX2DMS_SRV", [
607 (UINT, "UnusedField_NothingToDefine"),
610 D3D11_TEX2DMS_ARRAY_SRV = Struct("D3D11_TEX2DMS_ARRAY_SRV", [
611 (UINT, "FirstArraySlice"),
615 D3D11_SHADER_RESOURCE_VIEW_DESC = Struct("D3D11_SHADER_RESOURCE_VIEW_DESC", [
616 (DXGI_FORMAT, "Format"),
617 (D3D11_SRV_DIMENSION, "ViewDimension"),
619 (D3D11_BUFFER_SRV, "Buffer"),
620 (D3D11_TEX1D_SRV, "Texture1D"),
621 (D3D11_TEX1D_ARRAY_SRV, "Texture1DArray"),
622 (D3D11_TEX2D_SRV, "Texture2D"),
623 (D3D11_TEX2D_ARRAY_SRV, "Texture2DArray"),
624 (D3D11_TEX2DMS_SRV, "Texture2DMS"),
625 (D3D11_TEX2DMS_ARRAY_SRV, "Texture2DMSArray"),
626 (D3D11_TEX3D_SRV, "Texture3D"),
627 (D3D11_TEXCUBE_SRV, "TextureCube"),
628 (D3D11_TEXCUBE_ARRAY_SRV, "TextureCubeArray"),
629 (D3D11_BUFFEREX_SRV, "BufferEx"),
633 ID3D11ShaderResourceView.methods += [
634 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_SHADER_RESOURCE_VIEW_DESC), "pDesc")]),
637 D3D11_BUFFER_RTV = Struct("D3D11_BUFFER_RTV", [
638 (Union(None, [(UINT, "FirstElement"), (UINT, "ElementOffset")]), None),
639 (Union(None, [(UINT, "NumElements"), (UINT, "ElementWidth")]), None),
642 D3D11_TEX1D_RTV = Struct("D3D11_TEX1D_RTV", [
646 D3D11_TEX1D_ARRAY_RTV = Struct("D3D11_TEX1D_ARRAY_RTV", [
648 (UINT, "FirstArraySlice"),
652 D3D11_TEX2D_RTV = Struct("D3D11_TEX2D_RTV", [
656 D3D11_TEX2DMS_RTV = Struct("D3D11_TEX2DMS_RTV", [
657 (UINT, "UnusedField_NothingToDefine"),
660 D3D11_TEX2D_ARRAY_RTV = Struct("D3D11_TEX2D_ARRAY_RTV", [
662 (UINT, "FirstArraySlice"),
666 D3D11_TEX2DMS_ARRAY_RTV = Struct("D3D11_TEX2DMS_ARRAY_RTV", [
667 (UINT, "FirstArraySlice"),
671 D3D11_TEX3D_RTV = Struct("D3D11_TEX3D_RTV", [
673 (UINT, "FirstWSlice"),
677 D3D11_RENDER_TARGET_VIEW_DESC = Struct("D3D11_RENDER_TARGET_VIEW_DESC", [
678 (DXGI_FORMAT, "Format"),
679 (D3D11_RTV_DIMENSION, "ViewDimension"),
681 (D3D11_BUFFER_RTV, "Buffer"),
682 (D3D11_TEX1D_RTV, "Texture1D"),
683 (D3D11_TEX1D_ARRAY_RTV, "Texture1DArray"),
684 (D3D11_TEX2D_RTV, "Texture2D"),
685 (D3D11_TEX2D_ARRAY_RTV, "Texture2DArray"),
686 (D3D11_TEX2DMS_RTV, "Texture2DMS"),
687 (D3D11_TEX2DMS_ARRAY_RTV, "Texture2DMSArray"),
688 (D3D11_TEX3D_RTV, "Texture3D"),
692 ID3D11RenderTargetView.methods += [
693 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_RENDER_TARGET_VIEW_DESC), "pDesc")]),
696 D3D11_TEX1D_DSV = Struct("D3D11_TEX1D_DSV", [
700 D3D11_TEX1D_ARRAY_DSV = Struct("D3D11_TEX1D_ARRAY_DSV", [
702 (UINT, "FirstArraySlice"),
706 D3D11_TEX2D_DSV = Struct("D3D11_TEX2D_DSV", [
710 D3D11_TEX2D_ARRAY_DSV = Struct("D3D11_TEX2D_ARRAY_DSV", [
712 (UINT, "FirstArraySlice"),
716 D3D11_TEX2DMS_DSV = Struct("D3D11_TEX2DMS_DSV", [
717 (UINT, "UnusedField_NothingToDefine"),
720 D3D11_TEX2DMS_ARRAY_DSV = Struct("D3D11_TEX2DMS_ARRAY_DSV", [
721 (UINT, "FirstArraySlice"),
725 D3D11_DSV_FLAG = Flags(UINT, [
726 "D3D11_DSV_READ_ONLY_DEPTH",
727 "D3D11_DSV_READ_ONLY_STENCIL",
730 D3D11_DEPTH_STENCIL_VIEW_DESC = Struct("D3D11_DEPTH_STENCIL_VIEW_DESC", [
731 (DXGI_FORMAT, "Format"),
732 (D3D11_DSV_DIMENSION, "ViewDimension"),
733 (D3D11_DSV_FLAG, "Flags"),
735 (D3D11_TEX1D_DSV, "Texture1D"),
736 (D3D11_TEX1D_ARRAY_DSV, "Texture1DArray"),
737 (D3D11_TEX2D_DSV, "Texture2D"),
738 (D3D11_TEX2D_ARRAY_DSV, "Texture2DArray"),
739 (D3D11_TEX2DMS_DSV, "Texture2DMS"),
740 (D3D11_TEX2DMS_ARRAY_DSV, "Texture2DMSArray"),
744 ID3D11DepthStencilView.methods += [
745 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_DEPTH_STENCIL_VIEW_DESC), "pDesc")]),
748 D3D11_BUFFER_UAV_FLAG = Flags(UINT, [
749 "D3D11_BUFFER_UAV_FLAG_RAW",
750 "D3D11_BUFFER_UAV_FLAG_APPEND",
751 "D3D11_BUFFER_UAV_FLAG_COUNTER",
754 D3D11_BUFFER_UAV = Struct("D3D11_BUFFER_UAV", [
755 (UINT, "FirstElement"),
756 (UINT, "NumElements"),
757 (D3D11_BUFFER_UAV_FLAG, "Flags"),
760 D3D11_TEX1D_UAV = Struct("D3D11_TEX1D_UAV", [
764 D3D11_TEX1D_ARRAY_UAV = Struct("D3D11_TEX1D_ARRAY_UAV", [
766 (UINT, "FirstArraySlice"),
770 D3D11_TEX2D_UAV = Struct("D3D11_TEX2D_UAV", [
774 D3D11_TEX2D_ARRAY_UAV = Struct("D3D11_TEX2D_ARRAY_UAV", [
776 (UINT, "FirstArraySlice"),
780 D3D11_TEX3D_UAV = Struct("D3D11_TEX3D_UAV", [
782 (UINT, "FirstWSlice"),
786 D3D11_UNORDERED_ACCESS_VIEW_DESC = Struct("D3D11_UNORDERED_ACCESS_VIEW_DESC", [
787 (DXGI_FORMAT, "Format"),
788 (D3D11_UAV_DIMENSION, "ViewDimension"),
790 (D3D11_BUFFER_UAV, "Buffer"),
791 (D3D11_TEX1D_UAV, "Texture1D"),
792 (D3D11_TEX1D_ARRAY_UAV, "Texture1DArray"),
793 (D3D11_TEX2D_UAV, "Texture2D"),
794 (D3D11_TEX2D_ARRAY_UAV, "Texture2DArray"),
795 (D3D11_TEX3D_UAV, "Texture3D"),
799 ID3D11UnorderedAccessView.methods += [
800 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_UNORDERED_ACCESS_VIEW_DESC), "pDesc")]),
803 D3D11_FILTER = Enum("D3D11_FILTER", [
804 "D3D11_FILTER_MIN_MAG_MIP_POINT",
805 "D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR",
806 "D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT",
807 "D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR",
808 "D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT",
809 "D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
810 "D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT",
811 "D3D11_FILTER_MIN_MAG_MIP_LINEAR",
812 "D3D11_FILTER_ANISOTROPIC",
813 "D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT",
814 "D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR",
815 "D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT",
816 "D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR",
817 "D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT",
818 "D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
819 "D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT",
820 "D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR",
821 "D3D11_FILTER_COMPARISON_ANISOTROPIC",
824 D3D11_FILTER_TYPE = Enum("D3D11_FILTER_TYPE", [
825 "D3D11_FILTER_TYPE_POINT",
826 "D3D11_FILTER_TYPE_LINEAR",
829 D3D11_TEXTURE_ADDRESS_MODE = Enum("D3D11_TEXTURE_ADDRESS_MODE", [
830 "D3D11_TEXTURE_ADDRESS_WRAP",
831 "D3D11_TEXTURE_ADDRESS_MIRROR",
832 "D3D11_TEXTURE_ADDRESS_CLAMP",
833 "D3D11_TEXTURE_ADDRESS_BORDER",
834 "D3D11_TEXTURE_ADDRESS_MIRROR_ONCE",
837 D3D11_SAMPLER_DESC = Struct("D3D11_SAMPLER_DESC", [
838 (D3D11_FILTER, "Filter"),
839 (D3D11_TEXTURE_ADDRESS_MODE, "AddressU"),
840 (D3D11_TEXTURE_ADDRESS_MODE, "AddressV"),
841 (D3D11_TEXTURE_ADDRESS_MODE, "AddressW"),
842 (FLOAT, "MipLODBias"),
843 (UINT, "MaxAnisotropy"),
844 (D3D11_COMPARISON_FUNC, "ComparisonFunc"),
845 (Array(FLOAT, 4), "BorderColor"),
850 ID3D11SamplerState.methods += [
851 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_SAMPLER_DESC), "pDesc")]),
854 D3D11_FORMAT_SUPPORT = Flags(UINT, [
855 "D3D11_FORMAT_SUPPORT_BUFFER",
856 "D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER",
857 "D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER",
858 "D3D11_FORMAT_SUPPORT_SO_BUFFER",
859 "D3D11_FORMAT_SUPPORT_TEXTURE1D",
860 "D3D11_FORMAT_SUPPORT_TEXTURE2D",
861 "D3D11_FORMAT_SUPPORT_TEXTURE3D",
862 "D3D11_FORMAT_SUPPORT_TEXTURECUBE",
863 "D3D11_FORMAT_SUPPORT_SHADER_LOAD",
864 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE",
865 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON",
866 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT",
867 "D3D11_FORMAT_SUPPORT_MIP",
868 "D3D11_FORMAT_SUPPORT_MIP_AUTOGEN",
869 "D3D11_FORMAT_SUPPORT_RENDER_TARGET",
870 "D3D11_FORMAT_SUPPORT_BLENDABLE",
871 "D3D11_FORMAT_SUPPORT_DEPTH_STENCIL",
872 "D3D11_FORMAT_SUPPORT_CPU_LOCKABLE",
873 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE",
874 "D3D11_FORMAT_SUPPORT_DISPLAY",
875 "D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT",
876 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET",
877 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD",
878 "D3D11_FORMAT_SUPPORT_SHADER_GATHER",
879 "D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST",
880 "D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW",
881 "D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON",
884 D3D11_FORMAT_SUPPORT2 = Enum("D3D11_FORMAT_SUPPORT2", [
885 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD",
886 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS",
887 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE",
888 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE",
889 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX",
890 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX",
891 "D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD",
892 "D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE",
895 ID3D11Asynchronous.methods += [
896 StdMethod(UINT, "GetDataSize", []),
899 D3D11_ASYNC_GETDATA_FLAG = Flags(UINT, [
900 "D3D11_ASYNC_GETDATA_DONOTFLUSH",
903 D3D11_QUERY = Enum("D3D11_QUERY", [
905 "D3D11_QUERY_OCCLUSION",
906 "D3D11_QUERY_TIMESTAMP",
907 "D3D11_QUERY_TIMESTAMP_DISJOINT",
908 "D3D11_QUERY_PIPELINE_STATISTICS",
909 "D3D11_QUERY_OCCLUSION_PREDICATE",
910 "D3D11_QUERY_SO_STATISTICS",
911 "D3D11_QUERY_SO_OVERFLOW_PREDICATE",
912 "D3D11_QUERY_SO_STATISTICS_STREAM0",
913 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0",
914 "D3D11_QUERY_SO_STATISTICS_STREAM1",
915 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1",
916 "D3D11_QUERY_SO_STATISTICS_STREAM2",
917 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2",
918 "D3D11_QUERY_SO_STATISTICS_STREAM3",
919 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3",
922 D3D11_QUERY_MISC_FLAG = Flags(UINT, [
923 "D3D11_QUERY_MISC_PREDICATEHINT",
926 D3D11_QUERY_DESC = Struct("D3D11_QUERY_DESC", [
927 (D3D11_QUERY, "Query"),
928 (D3D11_QUERY_MISC_FLAG, "MiscFlags"),
931 ID3D11Query.methods += [
932 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_QUERY_DESC), "pDesc")]),
935 D3D11_QUERY_DATA_TIMESTAMP_DISJOINT = Struct("D3D11_QUERY_DATA_TIMESTAMP_DISJOINT", [
936 (UINT64, "Frequency"),
940 D3D11_QUERY_DATA_PIPELINE_STATISTICS = Struct("D3D11_QUERY_DATA_PIPELINE_STATISTICS", [
941 (UINT64, "IAVertices"),
942 (UINT64, "IAPrimitives"),
943 (UINT64, "VSInvocations"),
944 (UINT64, "GSInvocations"),
945 (UINT64, "GSPrimitives"),
946 (UINT64, "CInvocations"),
947 (UINT64, "CPrimitives"),
948 (UINT64, "PSInvocations"),
949 (UINT64, "HSInvocations"),
950 (UINT64, "DSInvocations"),
951 (UINT64, "CSInvocations"),
954 D3D11_QUERY_DATA_SO_STATISTICS = Struct("D3D11_QUERY_DATA_SO_STATISTICS", [
955 (UINT64, "NumPrimitivesWritten"),
956 (UINT64, "PrimitivesStorageNeeded"),
959 D3D11_COUNTER = Enum("D3D11_COUNTER", [
960 "D3D11_COUNTER_DEVICE_DEPENDENT_0",
963 D3D11_COUNTER_TYPE = Enum("D3D11_COUNTER_TYPE", [
964 "D3D11_COUNTER_TYPE_FLOAT32",
965 "D3D11_COUNTER_TYPE_UINT16",
966 "D3D11_COUNTER_TYPE_UINT32",
967 "D3D11_COUNTER_TYPE_UINT64",
970 D3D11_COUNTER_DESC = Struct("D3D11_COUNTER_DESC", [
971 (D3D11_COUNTER, "Counter"),
975 D3D11_COUNTER_INFO = Struct("D3D11_COUNTER_INFO", [
976 (D3D11_COUNTER, "LastDeviceDependentCounter"),
977 (UINT, "NumSimultaneousCounters"),
978 (UINT8, "NumDetectableParallelUnits"),
981 ID3D11Counter.methods += [
982 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_COUNTER_DESC), "pDesc")]),
985 D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS = Enum("D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS", [
986 "D3D11_STANDARD_MULTISAMPLE_PATTERN",
987 "D3D11_CENTER_MULTISAMPLE_PATTERN",
990 D3D11_DEVICE_CONTEXT_TYPE = Enum("D3D11_DEVICE_CONTEXT_TYPE", [
991 "D3D11_DEVICE_CONTEXT_IMMEDIATE",
992 "D3D11_DEVICE_CONTEXT_DEFERRED",
995 D3D11_CLASS_INSTANCE_DESC = Struct("D3D11_CLASS_INSTANCE_DESC", [
996 (UINT, "InstanceId"),
997 (UINT, "InstanceIndex"),
999 (UINT, "ConstantBuffer"),
1000 (UINT, "BaseConstantBufferOffset"),
1001 (UINT, "BaseTexture"),
1002 (UINT, "BaseSampler"),
1007 ID3D11ClassInstance.methods += [
1008 StdMethod(Void, "GetClassLinkage", [Out(Pointer(ObjPointer(ID3D11ClassLinkage)), "ppLinkage")]),
1009 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_CLASS_INSTANCE_DESC), "pDesc")]),
1010 StdMethod(Void, "GetInstanceName", [Out(LPSTR, "pInstanceName"), Out(Pointer(SIZE_T), "pBufferLength")]),
1011 StdMethod(Void, "GetTypeName", [Out(LPSTR, "pTypeName"), Out(Pointer(SIZE_T), "pBufferLength")]),
1014 ID3D11ClassLinkage.methods += [
1015 StdMethod(HRESULT, "GetClassInstance", [(LPCSTR, "pClassInstanceName"), (UINT, "InstanceIndex"), Out(Pointer(ObjPointer(ID3D11ClassInstance)), "ppInstance")]),
1016 StdMethod(HRESULT, "CreateClassInstance", [(LPCSTR, "pClassTypeName"), (UINT, "ConstantBufferOffset"), (UINT, "ConstantVectorOffset"), (UINT, "TextureOffset"), (UINT, "SamplerOffset"), Out(Pointer(ObjPointer(ID3D11ClassInstance)), "ppInstance")]),
1019 ID3D11CommandList.methods += [
1020 StdMethod(UINT, "GetContextFlags", []),
1023 D3D11_FEATURE_DATA_THREADING = Struct("D3D11_FEATURE_DATA_THREADING", [
1024 (BOOL, "DriverConcurrentCreates"),
1025 (BOOL, "DriverCommandLists"),
1028 D3D11_FEATURE_DATA_DOUBLES = Struct("D3D11_FEATURE_DATA_DOUBLES", [
1029 (BOOL, "DoublePrecisionFloatShaderOps"),
1032 D3D11_FEATURE_DATA_FORMAT_SUPPORT = Struct("D3D11_FEATURE_DATA_FORMAT_SUPPORT", [
1033 (DXGI_FORMAT, "InFormat"),
1034 (D3D11_FORMAT_SUPPORT, "OutFormatSupport"),
1037 D3D11_FEATURE_DATA_FORMAT_SUPPORT2 = Struct("D3D11_FEATURE_DATA_FORMAT_SUPPORT2", [
1038 (DXGI_FORMAT, "InFormat"),
1039 (D3D11_FORMAT_SUPPORT2, "OutFormatSupport2"),
1042 D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS", [
1043 (BOOL, "ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x"),
1046 D3D11_FEATURE, D3D11_FEATURE_DATA = EnumPolymorphic("D3D11_FEATURE", "Feature", [
1047 ("D3D11_FEATURE_THREADING", Pointer(D3D11_FEATURE_DATA_THREADING)),
1048 ("D3D11_FEATURE_DOUBLES", Pointer(D3D11_FEATURE_DATA_DOUBLES)),
1049 ("D3D11_FEATURE_FORMAT_SUPPORT", Pointer(D3D11_FEATURE_DATA_FORMAT_SUPPORT)),
1050 ("D3D11_FEATURE_FORMAT_SUPPORT2", Pointer(D3D11_FEATURE_DATA_FORMAT_SUPPORT2)),
1051 ("D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS)),
1052 ], Blob(Void, "FeatureSupportDataSize"), False)
1054 ID3D11DeviceContext.methods += [
1055 StdMethod(Void, "VSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1056 StdMethod(Void, "PSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1057 StdMethod(Void, "PSSetShader", [(ObjPointer(ID3D11PixelShader), "pPixelShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1058 StdMethod(Void, "PSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1059 StdMethod(Void, "VSSetShader", [(ObjPointer(ID3D11VertexShader), "pVertexShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1060 StdMethod(Void, "DrawIndexed", [(UINT, "IndexCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation")]),
1061 StdMethod(Void, "Draw", [(UINT, "VertexCount"), (UINT, "StartVertexLocation")]),
1062 StdMethod(HRESULT, "Map", [(ObjPointer(ID3D11Resource), "pResource"), (UINT, "Subresource"), (D3D11_MAP, "MapType"), (D3D11_MAP_FLAG, "MapFlags"), Out(Pointer(D3D11_MAPPED_SUBRESOURCE), "pMappedResource")]),
1063 StdMethod(Void, "Unmap", [(ObjPointer(ID3D11Resource), "pResource"), (UINT, "Subresource")]),
1064 StdMethod(Void, "PSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1065 StdMethod(Void, "IASetInputLayout", [(ObjPointer(ID3D11InputLayout), "pInputLayout")]),
1066 StdMethod(Void, "IASetVertexBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppVertexBuffers"), (Pointer(Const(UINT)), "pStrides"), (Pointer(Const(UINT)), "pOffsets")]),
1067 StdMethod(Void, "IASetIndexBuffer", [(ObjPointer(ID3D11Buffer), "pIndexBuffer"), (DXGI_FORMAT, "Format"), (UINT, "Offset")]),
1068 StdMethod(Void, "DrawIndexedInstanced", [(UINT, "IndexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation"), (UINT, "StartInstanceLocation")]),
1069 StdMethod(Void, "DrawInstanced", [(UINT, "VertexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartVertexLocation"), (UINT, "StartInstanceLocation")]),
1070 StdMethod(Void, "GSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1071 StdMethod(Void, "GSSetShader", [(ObjPointer(ID3D11GeometryShader), "pShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1072 StdMethod(Void, "IASetPrimitiveTopology", [(D3D11_PRIMITIVE_TOPOLOGY, "Topology")]),
1073 StdMethod(Void, "VSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1074 StdMethod(Void, "VSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1075 StdMethod(Void, "Begin", [(ObjPointer(ID3D11Asynchronous), "pAsync")]),
1076 StdMethod(Void, "End", [(ObjPointer(ID3D11Asynchronous), "pAsync")]),
1077 StdMethod(HRESULT, "GetData", [(ObjPointer(ID3D11Asynchronous), "pAsync"), Out(OpaqueBlob(Void, "DataSize"), "pData"), (UINT, "DataSize"), (D3D11_ASYNC_GETDATA_FLAG, "GetDataFlags")]),
1078 StdMethod(Void, "SetPredication", [(ObjPointer(ID3D11Predicate), "pPredicate"), (BOOL, "PredicateValue")]),
1079 StdMethod(Void, "GSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1080 StdMethod(Void, "GSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1081 StdMethod(Void, "OMSetRenderTargets", [(UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11RenderTargetView)), "NumViews"), "ppRenderTargetViews"), (ObjPointer(ID3D11DepthStencilView), "pDepthStencilView")]),
1082 StdMethod(Void, "OMSetRenderTargetsAndUnorderedAccessViews", [(UINT, "NumRTVs"), (Array(Const(ObjPointer(ID3D11RenderTargetView)), "NumRTVs"), "ppRenderTargetViews"), (ObjPointer(ID3D11DepthStencilView), "pDepthStencilView"), (UINT, "UAVStartSlot"), (UINT, "NumUAVs"), (Array(Const(ObjPointer(ID3D11UnorderedAccessView)), "NumUAVs"), "ppUnorderedAccessViews"), (Pointer(Const(UINT)), "pUAVInitialCounts")]),
1083 StdMethod(Void, "OMSetBlendState", [(ObjPointer(ID3D11BlendState), "pBlendState"), (Array(Const(FLOAT), 4), "BlendFactor"), (UINT, "SampleMask")]),
1084 StdMethod(Void, "OMSetDepthStencilState", [(ObjPointer(ID3D11DepthStencilState), "pDepthStencilState"), (UINT, "StencilRef")]),
1085 StdMethod(Void, "SOSetTargets", [(UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppSOTargets"), (Pointer(Const(UINT)), "pOffsets")]),
1086 StdMethod(Void, "DrawAuto", []),
1087 StdMethod(Void, "DrawIndexedInstancedIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1088 StdMethod(Void, "DrawInstancedIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1089 StdMethod(Void, "Dispatch", [(UINT, "ThreadGroupCountX"), (UINT, "ThreadGroupCountY"), (UINT, "ThreadGroupCountZ")]),
1090 StdMethod(Void, "DispatchIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1091 StdMethod(Void, "RSSetState", [(ObjPointer(ID3D11RasterizerState), "pRasterizerState")]),
1092 StdMethod(Void, "RSSetViewports", [(UINT, "NumViewports"), (Array(Const(D3D11_VIEWPORT), "NumViewports"), "pViewports")]),
1093 StdMethod(Void, "RSSetScissorRects", [(UINT, "NumRects"), (Array(Const(D3D11_RECT), "NumRects"), "pRects")]),
1094 StdMethod(Void, "CopySubresourceRegion", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (UINT, "DstX"), (UINT, "DstY"), (UINT, "DstZ"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (Pointer(Const(D3D11_BOX)), "pSrcBox")]),
1095 StdMethod(Void, "CopyResource", [(ObjPointer(ID3D11Resource), "pDstResource"), (ObjPointer(ID3D11Resource), "pSrcResource")]),
1096 StdMethod(Void, "UpdateSubresource", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (Pointer(Const(D3D11_BOX)), "pDstBox"), (OpaquePointer(Const(Void)), "pSrcData"), (UINT, "SrcRowPitch"), (UINT, "SrcDepthPitch")]),
1097 StdMethod(Void, "CopyStructureCount", [(ObjPointer(ID3D11Buffer), "pDstBuffer"), (UINT, "DstAlignedByteOffset"), (ObjPointer(ID3D11UnorderedAccessView), "pSrcView")]),
1098 StdMethod(Void, "ClearRenderTargetView", [(ObjPointer(ID3D11RenderTargetView), "pRenderTargetView"), (Array(Const(FLOAT), 4), "ColorRGBA")]),
1099 StdMethod(Void, "ClearUnorderedAccessViewUint", [(ObjPointer(ID3D11UnorderedAccessView), "pUnorderedAccessView"), (Array(Const(UINT), 4), "Values")]),
1100 StdMethod(Void, "ClearUnorderedAccessViewFloat", [(ObjPointer(ID3D11UnorderedAccessView), "pUnorderedAccessView"), (Array(Const(FLOAT), 4), "Values")]),
1101 StdMethod(Void, "ClearDepthStencilView", [(ObjPointer(ID3D11DepthStencilView), "pDepthStencilView"), (D3D11_CLEAR_FLAG, "ClearFlags"), (FLOAT, "Depth"), (UINT8, "Stencil")]),
1102 StdMethod(Void, "GenerateMips", [(ObjPointer(ID3D11ShaderResourceView), "pShaderResourceView")]),
1103 StdMethod(Void, "SetResourceMinLOD", [(ObjPointer(ID3D11Resource), "pResource"), (FLOAT, "MinLOD")]),
1104 StdMethod(FLOAT, "GetResourceMinLOD", [(ObjPointer(ID3D11Resource), "pResource")]),
1105 StdMethod(Void, "ResolveSubresource", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (DXGI_FORMAT, "Format")]),
1106 StdMethod(Void, "ExecuteCommandList", [(ObjPointer(ID3D11CommandList), "pCommandList"), (BOOL, "RestoreContextState")]),
1107 StdMethod(Void, "HSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1108 StdMethod(Void, "HSSetShader", [(ObjPointer(ID3D11HullShader), "pHullShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1109 StdMethod(Void, "HSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1110 StdMethod(Void, "HSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1111 StdMethod(Void, "DSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1112 StdMethod(Void, "DSSetShader", [(ObjPointer(ID3D11DomainShader), "pDomainShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1113 StdMethod(Void, "DSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1114 StdMethod(Void, "DSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1115 StdMethod(Void, "CSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1116 StdMethod(Void, "CSSetUnorderedAccessViews", [(UINT, "StartSlot"), (UINT, "NumUAVs"), (Array(Const(ObjPointer(ID3D11UnorderedAccessView)), "NumUAVs"), "ppUnorderedAccessViews"), (Pointer(Const(UINT)), "pUAVInitialCounts")]),
1117 StdMethod(Void, "CSSetShader", [(ObjPointer(ID3D11ComputeShader), "pComputeShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1118 StdMethod(Void, "CSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1119 StdMethod(Void, "CSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1120 StdMethod(Void, "VSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1121 StdMethod(Void, "PSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1122 StdMethod(Void, "PSGetShader", [Out(Pointer(ObjPointer(ID3D11PixelShader)), "ppPixelShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
1123 StdMethod(Void, "PSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1124 StdMethod(Void, "VSGetShader", [Out(Pointer(ObjPointer(ID3D11VertexShader)), "ppVertexShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
1125 StdMethod(Void, "PSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1126 StdMethod(Void, "IAGetInputLayout", [Out(Pointer(ObjPointer(ID3D11InputLayout)), "ppInputLayout")]),
1127 StdMethod(Void, "IAGetVertexBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppVertexBuffers"), Out(Pointer(UINT), "pStrides"), Out(Pointer(UINT), "pOffsets")]),
1128 StdMethod(Void, "IAGetIndexBuffer", [Out(Pointer(ObjPointer(ID3D11Buffer)), "pIndexBuffer"), Out(Pointer(DXGI_FORMAT), "Format"), Out(Pointer(UINT), "Offset")]),
1129 StdMethod(Void, "GSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1130 StdMethod(Void, "GSGetShader", [Out(Pointer(ObjPointer(ID3D11GeometryShader)), "ppGeometryShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
1131 StdMethod(Void, "IAGetPrimitiveTopology", [Out(Pointer(D3D11_PRIMITIVE_TOPOLOGY), "pTopology")]),
1132 StdMethod(Void, "VSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1133 StdMethod(Void, "VSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1134 StdMethod(Void, "GetPredication", [Out(Pointer(ObjPointer(ID3D11Predicate)), "ppPredicate"), Out(Pointer(BOOL), "pPredicateValue")]),
1135 StdMethod(Void, "GSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1136 StdMethod(Void, "GSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1137 StdMethod(Void, "OMGetRenderTargets", [(UINT, "NumViews"), (Array(ObjPointer(ID3D11RenderTargetView), "NumViews"), "ppRenderTargetViews"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView")]),
1138 StdMethod(Void, "OMGetRenderTargetsAndUnorderedAccessViews", [(UINT, "NumRTVs"), (Array(ObjPointer(ID3D11RenderTargetView), "NumRTVs"), "ppRenderTargetViews"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView"), (UINT, "UAVStartSlot"), (UINT, "NumUAVs"), (Array(ObjPointer(ID3D11UnorderedAccessView), "NumUAVs"), "ppUnorderedAccessViews")]),
1139 StdMethod(Void, "OMGetBlendState", [Out(Pointer(ObjPointer(ID3D11BlendState)), "ppBlendState"), Out(Array(FLOAT, 4), "BlendFactor"), Out(Pointer(UINT), "pSampleMask")]),
1140 StdMethod(Void, "OMGetDepthStencilState", [Out(Pointer(ObjPointer(ID3D11DepthStencilState)), "ppDepthStencilState"), Out(Pointer(UINT), "pStencilRef")]),
1141 StdMethod(Void, "SOGetTargets", [(UINT, "NumBuffers"), (Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppSOTargets")]),
1142 StdMethod(Void, "RSGetState", [Out(Pointer(ObjPointer(ID3D11RasterizerState)), "ppRasterizerState")]),
1143 StdMethod(Void, "RSGetViewports", [Out(Pointer(UINT), "pNumViewports"), Out(Array(D3D11_VIEWPORT, "*pNumViewports"), "pViewports")]),
1144 StdMethod(Void, "RSGetScissorRects", [Out(Pointer(UINT), "pNumRects"), Out(Array(D3D11_RECT, "*pNumRects"), "pRects")]),
1145 StdMethod(Void, "HSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1146 StdMethod(Void, "HSGetShader", [Out(Pointer(ObjPointer(ID3D11HullShader)), "ppHullShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
1147 StdMethod(Void, "HSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1148 StdMethod(Void, "HSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1149 StdMethod(Void, "DSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1150 StdMethod(Void, "DSGetShader", [Out(Pointer(ObjPointer(ID3D11DomainShader)), "ppDomainShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
1151 StdMethod(Void, "DSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1152 StdMethod(Void, "DSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1153 StdMethod(Void, "CSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1154 StdMethod(Void, "CSGetUnorderedAccessViews", [(UINT, "StartSlot"), (UINT, "NumUAVs"), (Array(ObjPointer(ID3D11UnorderedAccessView), "NumUAVs"), "ppUnorderedAccessViews")]),
1155 StdMethod(Void, "CSGetShader", [Out(Pointer(ObjPointer(ID3D11ComputeShader)), "ppComputeShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
1156 StdMethod(Void, "CSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1157 StdMethod(Void, "CSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1158 StdMethod(Void, "ClearState", []),
1159 StdMethod(Void, "Flush", []),
1160 StdMethod(D3D11_DEVICE_CONTEXT_TYPE, "GetType", []),
1161 StdMethod(UINT, "GetContextFlags", []),
1162 StdMethod(HRESULT, "FinishCommandList", [(BOOL, "RestoreDeferredContextState"), Out(Pointer(ObjPointer(ID3D11CommandList)), "ppCommandList")]),
1165 D3D11_CREATE_DEVICE_FLAG = Flags(UINT, [
1166 "D3D11_CREATE_DEVICE_SINGLETHREADED",
1167 "D3D11_CREATE_DEVICE_DEBUG",
1168 "D3D11_CREATE_DEVICE_SWITCH_TO_REF",
1169 "D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS",
1170 "D3D11_CREATE_DEVICE_BGRA_SUPPORT",
1173 ID3D11Device.methods += [
1174 StdMethod(HRESULT, "CreateBuffer", [(Pointer(Const(D3D11_BUFFER_DESC)), "pDesc"), (Pointer(Const(D3D11_SUBRESOURCE_DATA)), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Buffer)), "ppBuffer")]),
1175 StdMethod(HRESULT, "CreateTexture1D", [(Pointer(Const(D3D11_TEXTURE1D_DESC)), "pDesc"), (Pointer(Const(D3D11_SUBRESOURCE_DATA)), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture1D)), "ppTexture1D")]),
1176 StdMethod(HRESULT, "CreateTexture2D", [(Pointer(Const(D3D11_TEXTURE2D_DESC)), "pDesc"), (Pointer(Const(D3D11_SUBRESOURCE_DATA)), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture2D)), "ppTexture2D")]),
1177 StdMethod(HRESULT, "CreateTexture3D", [(Pointer(Const(D3D11_TEXTURE3D_DESC)), "pDesc"), (Pointer(Const(D3D11_SUBRESOURCE_DATA)), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture3D)), "ppTexture3D")]),
1178 StdMethod(HRESULT, "CreateShaderResourceView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_SHADER_RESOURCE_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11ShaderResourceView)), "ppSRView")]),
1179 StdMethod(HRESULT, "CreateUnorderedAccessView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_UNORDERED_ACCESS_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11UnorderedAccessView)), "ppUAView")]),
1180 StdMethod(HRESULT, "CreateRenderTargetView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_RENDER_TARGET_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11RenderTargetView)), "ppRTView")]),
1181 StdMethod(HRESULT, "CreateDepthStencilView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_DEPTH_STENCIL_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView")]),
1182 StdMethod(HRESULT, "CreateInputLayout", [(Array(Const(D3D11_INPUT_ELEMENT_DESC), "NumElements"), "pInputElementDescs"), (UINT, "NumElements"), (Blob(Const(Void), "BytecodeLength"), "pShaderBytecodeWithInputSignature"), (SIZE_T, "BytecodeLength"), Out(Pointer(ObjPointer(ID3D11InputLayout)), "ppInputLayout")]),
1183 StdMethod(HRESULT, "CreateVertexShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11VertexShader)), "ppVertexShader")]),
1184 StdMethod(HRESULT, "CreateGeometryShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11GeometryShader)), "ppGeometryShader")]),
1185 StdMethod(HRESULT, "CreateGeometryShaderWithStreamOutput", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (Array(Const(D3D11_SO_DECLARATION_ENTRY), "NumEntries"), "pSODeclaration"), (UINT, "NumEntries"), (Array(Const(UINT), "NumStrides"), "pBufferStrides"), (UINT, "NumStrides"), (UINT, "RasterizedStream"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11GeometryShader)), "ppGeometryShader")]),
1186 StdMethod(HRESULT, "CreatePixelShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11PixelShader)), "ppPixelShader")]),
1187 StdMethod(HRESULT, "CreateHullShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11HullShader)), "ppHullShader")]),
1188 StdMethod(HRESULT, "CreateDomainShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11DomainShader)), "ppDomainShader")]),
1189 StdMethod(HRESULT, "CreateComputeShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11ComputeShader)), "ppComputeShader")]),
1190 StdMethod(HRESULT, "CreateClassLinkage", [Out(Pointer(ObjPointer(ID3D11ClassLinkage)), "ppLinkage")]),
1191 StdMethod(HRESULT, "CreateBlendState", [(Pointer(Const(D3D11_BLEND_DESC)), "pBlendStateDesc"), Out(Pointer(ObjPointer(ID3D11BlendState)), "ppBlendState")]),
1192 StdMethod(HRESULT, "CreateDepthStencilState", [(Pointer(Const(D3D11_DEPTH_STENCIL_DESC)), "pDepthStencilDesc"), Out(Pointer(ObjPointer(ID3D11DepthStencilState)), "ppDepthStencilState")]),
1193 StdMethod(HRESULT, "CreateRasterizerState", [(Pointer(Const(D3D11_RASTERIZER_DESC)), "pRasterizerDesc"), Out(Pointer(ObjPointer(ID3D11RasterizerState)), "ppRasterizerState")]),
1194 StdMethod(HRESULT, "CreateSamplerState", [(Pointer(Const(D3D11_SAMPLER_DESC)), "pSamplerDesc"), Out(Pointer(ObjPointer(ID3D11SamplerState)), "ppSamplerState")]),
1195 StdMethod(HRESULT, "CreateQuery", [(Pointer(Const(D3D11_QUERY_DESC)), "pQueryDesc"), Out(Pointer(ObjPointer(ID3D11Query)), "ppQuery")]),
1196 StdMethod(HRESULT, "CreatePredicate", [(Pointer(Const(D3D11_QUERY_DESC)), "pPredicateDesc"), Out(Pointer(ObjPointer(ID3D11Predicate)), "ppPredicate")]),
1197 StdMethod(HRESULT, "CreateCounter", [(Pointer(Const(D3D11_COUNTER_DESC)), "pCounterDesc"), Out(Pointer(ObjPointer(ID3D11Counter)), "ppCounter")]),
1198 StdMethod(HRESULT, "CreateDeferredContext", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppDeferredContext")]),
1199 StdMethod(HRESULT, "OpenSharedResource", [(HANDLE, "hResource"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
1200 StdMethod(HRESULT, "CheckFormatSupport", [(DXGI_FORMAT, "Format"), Out(Pointer(D3D11_FORMAT_SUPPORT), "pFormatSupport")]),
1201 StdMethod(HRESULT, "CheckMultisampleQualityLevels", [(DXGI_FORMAT, "Format"), (UINT, "SampleCount"), Out(Pointer(UINT), "pNumQualityLevels")]),
1202 StdMethod(Void, "CheckCounterInfo", [Out(Pointer(D3D11_COUNTER_INFO), "pCounterInfo")]),
1203 StdMethod(HRESULT, "CheckCounter", [(Pointer(Const(D3D11_COUNTER_DESC)), "pDesc"), Out(Pointer(D3D11_COUNTER_TYPE), "pType"), Out(Pointer(UINT), "pActiveCounters"), Out(LPSTR, "szName"), Out(Pointer(UINT), "pNameLength"), Out(LPSTR, "szUnits"), Out(Pointer(UINT), "pUnitsLength"), Out(LPSTR, "szDescription"), Out(Pointer(UINT), "pDescriptionLength")]),
1204 StdMethod(HRESULT, "CheckFeatureSupport", [(D3D11_FEATURE, "Feature"), Out(D3D11_FEATURE_DATA, "pFeatureSupportData"), (UINT, "FeatureSupportDataSize")]),
1205 StdMethod(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")]),
1206 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
1207 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")]),
1208 StdMethod(D3D_FEATURE_LEVEL, "GetFeatureLevel", []),
1209 StdMethod(D3D11_CREATE_DEVICE_FLAG, "GetCreationFlags", []),
1210 StdMethod(HRESULT, "GetDeviceRemovedReason", []),
1211 StdMethod(Void, "GetImmediateContext", [Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppImmediateContext")]),
1212 StdMethod(HRESULT, "SetExceptionMode", [(D3D11_RAISE_FLAG, "RaiseFlags")]),
1213 StdMethod(UINT, "GetExceptionMode", []),
1216 d3d11 = API("d3d11")
1218 d3d11.addFunctions([
1219 StdFunction(HRESULT, "D3D11CreateDevice", [(ObjPointer(IDXGIAdapter), "pAdapter"), (D3D_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (D3D11_CREATE_DEVICE_FLAG, "Flags"), (Array(Const(D3D_FEATURE_LEVEL), "FeatureLevels"), "pFeatureLevels"), (UINT, "FeatureLevels"), (UINT, "SDKVersion"), Out(Pointer(ObjPointer(ID3D11Device)), "ppDevice"), Out(Pointer(D3D_FEATURE_LEVEL), "pFeatureLevel"), Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppImmediateContext")]),
1220 StdFunction(HRESULT, "D3D11CreateDeviceAndSwapChain", [(ObjPointer(IDXGIAdapter), "pAdapter"), (D3D_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (D3D11_CREATE_DEVICE_FLAG, "Flags"), (Array(Const(D3D_FEATURE_LEVEL), "FeatureLevels"), "pFeatureLevels"), (UINT, "FeatureLevels"), (UINT, "SDKVersion"), (Pointer(Const(DXGI_SWAP_CHAIN_DESC)), "pSwapChainDesc"), Out(Pointer(ObjPointer(IDXGISwapChain)), "ppSwapChain"), Out(Pointer(ObjPointer(ID3D11Device)), "ppDevice"), Out(Pointer(D3D_FEATURE_LEVEL), "pFeatureLevel"), Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppImmediateContext")]),
1223 d3d11.addInterfaces([