blob: 07f7958d9b6a259e5a96cf29386c129e2f0ae15a [file] [log] [blame]
José Fonseca5b6fb752012-04-14 14:56:45 +01001##########################################################################
2#
3# Copyright 2012 Jose Fonseca
4# All Rights Reserved.
5#
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:
12#
13# The above copyright notice and this permission notice shall be included in
14# all copies or substantial portions of the Software.
15#
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
22# THE SOFTWARE.
23#
24##########################################################################/
25
26
27from dxgi import *
28from d3dcommon import *
29from d3d11sdklayers import *
30
31
José Fonseca73841ad2012-04-16 20:47:56 +010032HRESULT = MAKE_HRESULT([
José Fonseca5b6fb752012-04-14 14:56:45 +010033 "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",
37 "D3DERR_INVALIDCALL",
38 "D3DERR_WASSTILLDRAWING",
José Fonseca5b6fb752012-04-14 14:56:45 +010039])
40
41
José Fonsecaee590be2012-04-16 13:25:06 +010042ID3D11DepthStencilState = Interface("ID3D11DepthStencilState", ID3D11DeviceChild)
43ID3D11BlendState = Interface("ID3D11BlendState", ID3D11DeviceChild)
44ID3D11RasterizerState = Interface("ID3D11RasterizerState", ID3D11DeviceChild)
45ID3D11Resource = Interface("ID3D11Resource", ID3D11DeviceChild)
46ID3D11Buffer = Interface("ID3D11Buffer", ID3D11Resource)
47ID3D11Texture1D = Interface("ID3D11Texture1D", ID3D11Resource)
48ID3D11Texture2D = Interface("ID3D11Texture2D", ID3D11Resource)
49ID3D11Texture3D = Interface("ID3D11Texture3D", ID3D11Resource)
50ID3D11View = Interface("ID3D11View", ID3D11DeviceChild)
51ID3D11ShaderResourceView = Interface("ID3D11ShaderResourceView", ID3D11View)
52ID3D11RenderTargetView = Interface("ID3D11RenderTargetView", ID3D11View)
53ID3D11DepthStencilView = Interface("ID3D11DepthStencilView", ID3D11View)
54ID3D11UnorderedAccessView = Interface("ID3D11UnorderedAccessView", ID3D11View)
55ID3D11VertexShader = Interface("ID3D11VertexShader", ID3D11DeviceChild)
56ID3D11HullShader = Interface("ID3D11HullShader", ID3D11DeviceChild)
57ID3D11DomainShader = Interface("ID3D11DomainShader", ID3D11DeviceChild)
58ID3D11GeometryShader = Interface("ID3D11GeometryShader", ID3D11DeviceChild)
59ID3D11PixelShader = Interface("ID3D11PixelShader", ID3D11DeviceChild)
60ID3D11ComputeShader = Interface("ID3D11ComputeShader", ID3D11DeviceChild)
61ID3D11InputLayout = Interface("ID3D11InputLayout", ID3D11DeviceChild)
62ID3D11SamplerState = Interface("ID3D11SamplerState", ID3D11DeviceChild)
63ID3D11Asynchronous = Interface("ID3D11Asynchronous", ID3D11DeviceChild)
64ID3D11Query = Interface("ID3D11Query", ID3D11Asynchronous)
65ID3D11Predicate = Interface("ID3D11Predicate", ID3D11Query)
66ID3D11Counter = Interface("ID3D11Counter", ID3D11Asynchronous)
67ID3D11ClassInstance = Interface("ID3D11ClassInstance", ID3D11DeviceChild)
68ID3D11ClassLinkage = Interface("ID3D11ClassLinkage", ID3D11DeviceChild)
69ID3D11CommandList = Interface("ID3D11CommandList", ID3D11DeviceChild)
70ID3D11Device = Interface("ID3D11Device", IUnknown)
José Fonseca5b6fb752012-04-14 14:56:45 +010071
72
José Fonsecaee590be2012-04-16 13:25:06 +010073D3D11_INPUT_CLASSIFICATION = Enum("D3D11_INPUT_CLASSIFICATION", [
74 "D3D11_INPUT_PER_VERTEX_DATA",
75 "D3D11_INPUT_PER_INSTANCE_DATA",
José Fonseca5b6fb752012-04-14 14:56:45 +010076])
77
78D3D11_INPUT_ELEMENT_ALIGNED_BYTE_OFFSET = FakeEnum(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +010079 "D3D11_APPEND_ALIGNED_ELEMENT",
José Fonseca5b6fb752012-04-14 14:56:45 +010080])
81
José Fonsecaee590be2012-04-16 13:25:06 +010082D3D11_INPUT_ELEMENT_DESC = Struct("D3D11_INPUT_ELEMENT_DESC", [
83 (LPCSTR, "SemanticName"),
84 (UINT, "SemanticIndex"),
85 (DXGI_FORMAT, "Format"),
86 (UINT, "InputSlot"),
87 (D3D11_INPUT_ELEMENT_ALIGNED_BYTE_OFFSET, "AlignedByteOffset"),
88 (D3D11_INPUT_CLASSIFICATION, "InputSlotClass"),
89 (UINT, "InstanceDataStepRate"),
José Fonseca5b6fb752012-04-14 14:56:45 +010090])
91
José Fonsecaee590be2012-04-16 13:25:06 +010092D3D11_FILL_MODE = Enum("D3D11_FILL_MODE", [
93 "D3D11_FILL_WIREFRAME",
94 "D3D11_FILL_SOLID",
José Fonseca5b6fb752012-04-14 14:56:45 +010095])
96
José Fonsecaee590be2012-04-16 13:25:06 +010097D3D11_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",
José Fonseca5b6fb752012-04-14 14:56:45 +0100140])
141
José Fonsecaee590be2012-04-16 13:25:06 +0100142D3D11_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",
José Fonseca5b6fb752012-04-14 14:56:45 +0100181])
182
José Fonsecaee590be2012-04-16 13:25:06 +0100183D3D11_CULL_MODE = Enum("D3D11_CULL_MODE", [
184 "D3D11_CULL_NONE",
185 "D3D11_CULL_FRONT",
186 "D3D11_CULL_BACK",
José Fonseca5b6fb752012-04-14 14:56:45 +0100187])
188
José Fonsecaee590be2012-04-16 13:25:06 +0100189D3D11_SO_DECLARATION_ENTRY = Struct("D3D11_SO_DECLARATION_ENTRY", [
190 (UINT, "Stream"),
191 (LPCSTR, "SemanticName"),
192 (UINT, "SemanticIndex"),
193 (BYTE, "StartComponent"),
194 (BYTE, "ComponentCount"),
195 (BYTE, "OutputSlot"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100196])
197
José Fonsecaee590be2012-04-16 13:25:06 +0100198D3D11_VIEWPORT = Struct("D3D11_VIEWPORT", [
199 (FLOAT, "TopLeftX"),
200 (FLOAT, "TopLeftY"),
201 (FLOAT, "Width"),
202 (FLOAT, "Height"),
203 (FLOAT, "MinDepth"),
204 (FLOAT, "MaxDepth"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100205])
206
José Fonsecaee590be2012-04-16 13:25:06 +0100207D3D11_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",
José Fonseca5b6fb752012-04-14 14:56:45 +0100213])
214
José Fonsecaee590be2012-04-16 13:25:06 +0100215D3D11_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",
José Fonseca5b6fb752012-04-14 14:56:45 +0100228])
229
José Fonsecaee590be2012-04-16 13:25:06 +0100230D3D11_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",
José Fonseca5b6fb752012-04-14 14:56:45 +0100238])
239
José Fonsecaee590be2012-04-16 13:25:06 +0100240D3D11_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",
José Fonseca5b6fb752012-04-14 14:56:45 +0100250])
251
José Fonsecaee590be2012-04-16 13:25:06 +0100252D3D11_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",
José Fonseca5b6fb752012-04-14 14:56:45 +0100260])
261
José Fonsecaee590be2012-04-16 13:25:06 +0100262D3D11_USAGE = Enum("D3D11_USAGE", [
263 "D3D11_USAGE_DEFAULT",
264 "D3D11_USAGE_IMMUTABLE",
265 "D3D11_USAGE_DYNAMIC",
266 "D3D11_USAGE_STAGING",
José Fonseca5b6fb752012-04-14 14:56:45 +0100267])
268
269D3D11_BIND_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100270 "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",
José Fonseca5b6fb752012-04-14 14:56:45 +0100278])
279
280D3D11_CPU_ACCESS_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100281 "D3D11_CPU_ACCESS_WRITE",
282 "D3D11_CPU_ACCESS_READ",
José Fonseca5b6fb752012-04-14 14:56:45 +0100283])
284
285D3D11_RESOURCE_MISC_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100286 "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",
José Fonsecaf7b8d572014-09-26 10:38:43 +0100295 "D3D11_RESOURCE_MISC_SHARED_NTHANDLE",
296 "D3D11_RESOURCE_MISC_RESTRICTED_CONTENT",
297 "D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE",
298 "D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER",
299 "D3D11_RESOURCE_MISC_GUARDED",
300 "D3D11_RESOURCE_MISC_TILE_POOL",
301 "D3D11_RESOURCE_MISC_TILED",
José Fonseca5b6fb752012-04-14 14:56:45 +0100302])
303
José Fonsecaee590be2012-04-16 13:25:06 +0100304D3D11_MAP = Enum("D3D11_MAP", [
305 "D3D11_MAP_READ",
306 "D3D11_MAP_WRITE",
307 "D3D11_MAP_READ_WRITE",
308 "D3D11_MAP_WRITE_DISCARD",
309 "D3D11_MAP_WRITE_NO_OVERWRITE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100310])
311
312D3D11_MAP_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100313 "D3D11_MAP_FLAG_DO_NOT_WAIT",
José Fonseca5b6fb752012-04-14 14:56:45 +0100314])
315
316D3D11_RAISE_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100317 "D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100318])
319
320D3D11_CLEAR_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100321 "D3D11_CLEAR_DEPTH",
322 "D3D11_CLEAR_STENCIL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100323])
324
José Fonsecaee590be2012-04-16 13:25:06 +0100325D3D11_RECT = Alias("D3D11_RECT", RECT)
326D3D11_BOX = Struct("D3D11_BOX", [
327 (UINT, "left"),
328 (UINT, "top"),
329 (UINT, "front"),
330 (UINT, "right"),
331 (UINT, "bottom"),
332 (UINT, "back"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100333])
334
335ID3D11DeviceChild.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +0100336 StdMethod(Void, "GetDevice", [Out(Pointer(ObjPointer(ID3D11Device)), "ppDevice")]),
José Fonsecabc10e452012-11-08 10:24:45 +0000337 StdMethod(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")], sideeffects=False),
338 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")], sideeffects=False),
339 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100340]
341
José Fonsecaee590be2012-04-16 13:25:06 +0100342D3D11_COMPARISON_FUNC = Enum("D3D11_COMPARISON_FUNC", [
343 "D3D11_COMPARISON_NEVER",
344 "D3D11_COMPARISON_LESS",
345 "D3D11_COMPARISON_EQUAL",
346 "D3D11_COMPARISON_LESS_EQUAL",
347 "D3D11_COMPARISON_GREATER",
348 "D3D11_COMPARISON_NOT_EQUAL",
349 "D3D11_COMPARISON_GREATER_EQUAL",
350 "D3D11_COMPARISON_ALWAYS",
José Fonseca5b6fb752012-04-14 14:56:45 +0100351])
352
José Fonsecaee590be2012-04-16 13:25:06 +0100353D3D11_DEPTH_WRITE_MASK = Enum("D3D11_DEPTH_WRITE_MASK", [
354 "D3D11_DEPTH_WRITE_MASK_ZERO",
355 "D3D11_DEPTH_WRITE_MASK_ALL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100356])
357
José Fonsecaee590be2012-04-16 13:25:06 +0100358D3D11_STENCIL_OP = Enum("D3D11_STENCIL_OP", [
359 "D3D11_STENCIL_OP_KEEP",
360 "D3D11_STENCIL_OP_ZERO",
361 "D3D11_STENCIL_OP_REPLACE",
362 "D3D11_STENCIL_OP_INCR_SAT",
363 "D3D11_STENCIL_OP_DECR_SAT",
364 "D3D11_STENCIL_OP_INVERT",
365 "D3D11_STENCIL_OP_INCR",
366 "D3D11_STENCIL_OP_DECR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100367])
368
José Fonsecaee590be2012-04-16 13:25:06 +0100369D3D11_DEPTH_STENCILOP_DESC = Struct("D3D11_DEPTH_STENCILOP_DESC", [
370 (D3D11_STENCIL_OP, "StencilFailOp"),
371 (D3D11_STENCIL_OP, "StencilDepthFailOp"),
372 (D3D11_STENCIL_OP, "StencilPassOp"),
373 (D3D11_COMPARISON_FUNC, "StencilFunc"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100374])
375
José Fonsecaee590be2012-04-16 13:25:06 +0100376D3D11_DEPTH_STENCIL_DESC = Struct("D3D11_DEPTH_STENCIL_DESC", [
377 (BOOL, "DepthEnable"),
378 (D3D11_DEPTH_WRITE_MASK, "DepthWriteMask"),
379 (D3D11_COMPARISON_FUNC, "DepthFunc"),
380 (BOOL, "StencilEnable"),
381 (UINT8, "StencilReadMask"),
382 (UINT8, "StencilWriteMask"),
383 (D3D11_DEPTH_STENCILOP_DESC, "FrontFace"),
384 (D3D11_DEPTH_STENCILOP_DESC, "BackFace"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100385])
386
387ID3D11DepthStencilState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000388 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_DEPTH_STENCIL_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100389]
390
José Fonsecaee590be2012-04-16 13:25:06 +0100391D3D11_BLEND = Enum("D3D11_BLEND", [
392 "D3D11_BLEND_ZERO",
393 "D3D11_BLEND_ONE",
394 "D3D11_BLEND_SRC_COLOR",
395 "D3D11_BLEND_INV_SRC_COLOR",
396 "D3D11_BLEND_SRC_ALPHA",
397 "D3D11_BLEND_INV_SRC_ALPHA",
398 "D3D11_BLEND_DEST_ALPHA",
399 "D3D11_BLEND_INV_DEST_ALPHA",
400 "D3D11_BLEND_DEST_COLOR",
401 "D3D11_BLEND_INV_DEST_COLOR",
402 "D3D11_BLEND_SRC_ALPHA_SAT",
403 "D3D11_BLEND_BLEND_FACTOR",
404 "D3D11_BLEND_INV_BLEND_FACTOR",
405 "D3D11_BLEND_SRC1_COLOR",
406 "D3D11_BLEND_INV_SRC1_COLOR",
407 "D3D11_BLEND_SRC1_ALPHA",
408 "D3D11_BLEND_INV_SRC1_ALPHA",
José Fonseca5b6fb752012-04-14 14:56:45 +0100409])
410
José Fonsecaee590be2012-04-16 13:25:06 +0100411D3D11_BLEND_OP = Enum("D3D11_BLEND_OP", [
412 "D3D11_BLEND_OP_ADD",
413 "D3D11_BLEND_OP_SUBTRACT",
414 "D3D11_BLEND_OP_REV_SUBTRACT",
415 "D3D11_BLEND_OP_MIN",
416 "D3D11_BLEND_OP_MAX",
José Fonseca5b6fb752012-04-14 14:56:45 +0100417])
418
José Fonsecaee590be2012-04-16 13:25:06 +0100419D3D11_COLOR_WRITE_ENABLE = Enum("D3D11_COLOR_WRITE_ENABLE", [
420 "D3D11_COLOR_WRITE_ENABLE_ALL",
421 "D3D11_COLOR_WRITE_ENABLE_RED",
422 "D3D11_COLOR_WRITE_ENABLE_GREEN",
423 "D3D11_COLOR_WRITE_ENABLE_BLUE",
424 "D3D11_COLOR_WRITE_ENABLE_ALPHA",
José Fonseca5b6fb752012-04-14 14:56:45 +0100425])
426
José Fonsecaee590be2012-04-16 13:25:06 +0100427D3D11_RENDER_TARGET_BLEND_DESC = Struct("D3D11_RENDER_TARGET_BLEND_DESC", [
428 (BOOL, "BlendEnable"),
429 (D3D11_BLEND, "SrcBlend"),
430 (D3D11_BLEND, "DestBlend"),
431 (D3D11_BLEND_OP, "BlendOp"),
432 (D3D11_BLEND, "SrcBlendAlpha"),
433 (D3D11_BLEND, "DestBlendAlpha"),
434 (D3D11_BLEND_OP, "BlendOpAlpha"),
435 (UINT8, "RenderTargetWriteMask"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100436])
437
José Fonsecaee590be2012-04-16 13:25:06 +0100438D3D11_BLEND_DESC = Struct("D3D11_BLEND_DESC", [
439 (BOOL, "AlphaToCoverageEnable"),
440 (BOOL, "IndependentBlendEnable"),
441 (Array(D3D11_RENDER_TARGET_BLEND_DESC, 8), "RenderTarget"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100442])
443
444ID3D11BlendState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000445 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_BLEND_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100446]
447
José Fonsecaee590be2012-04-16 13:25:06 +0100448D3D11_RASTERIZER_DESC = Struct("D3D11_RASTERIZER_DESC", [
449 (D3D11_FILL_MODE, "FillMode"),
450 (D3D11_CULL_MODE, "CullMode"),
451 (BOOL, "FrontCounterClockwise"),
452 (INT, "DepthBias"),
453 (FLOAT, "DepthBiasClamp"),
454 (FLOAT, "SlopeScaledDepthBias"),
455 (BOOL, "DepthClipEnable"),
456 (BOOL, "ScissorEnable"),
457 (BOOL, "MultisampleEnable"),
458 (BOOL, "AntialiasedLineEnable"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100459])
460
461ID3D11RasterizerState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000462 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_RASTERIZER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100463]
464
José Fonsecaee590be2012-04-16 13:25:06 +0100465D3D11_SUBRESOURCE_DATA = Struct("D3D11_SUBRESOURCE_DATA", [
José Fonseca8f6e0e32012-11-07 19:22:20 +0000466 (Blob(Const(Void), "_calcSubresourceSize(pDesc, {i}, {self}.SysMemPitch, {self}.SysMemSlicePitch)"), "pSysMem"),
José Fonsecaee590be2012-04-16 13:25:06 +0100467 (UINT, "SysMemPitch"),
468 (UINT, "SysMemSlicePitch"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100469])
470
José Fonsecaee590be2012-04-16 13:25:06 +0100471D3D11_MAPPED_SUBRESOURCE = Struct("D3D11_MAPPED_SUBRESOURCE", [
José Fonsecae6bde442012-11-14 08:45:58 +0000472 (LinearPointer(Void, "_MappedSize"), "pData"),
José Fonsecaee590be2012-04-16 13:25:06 +0100473 (UINT, "RowPitch"),
474 (UINT, "DepthPitch"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100475])
476
477ID3D11Resource.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000478 StdMethod(Void, "GetType", [Out(Pointer(D3D11_RESOURCE_DIMENSION), "pResourceDimension")], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +0100479 StdMethod(Void, "SetEvictionPriority", [(UINT, "EvictionPriority")]),
José Fonseca2b807452012-11-10 09:50:10 +0000480 StdMethod(UINT, "GetEvictionPriority", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100481]
482
José Fonsecaee590be2012-04-16 13:25:06 +0100483D3D11_BUFFER_DESC = Struct("D3D11_BUFFER_DESC", [
484 (UINT, "ByteWidth"),
485 (D3D11_USAGE, "Usage"),
486 (D3D11_BIND_FLAG, "BindFlags"),
487 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
488 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
489 (UINT, "StructureByteStride"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100490])
491
492ID3D11Buffer.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000493 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_BUFFER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100494]
495
José Fonsecaee590be2012-04-16 13:25:06 +0100496D3D11_TEXTURE1D_DESC = Struct("D3D11_TEXTURE1D_DESC", [
497 (UINT, "Width"),
498 (UINT, "MipLevels"),
499 (UINT, "ArraySize"),
500 (DXGI_FORMAT, "Format"),
501 (D3D11_USAGE, "Usage"),
502 (D3D11_BIND_FLAG, "BindFlags"),
503 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
504 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100505])
506
507ID3D11Texture1D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000508 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE1D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100509]
510
José Fonsecaee590be2012-04-16 13:25:06 +0100511D3D11_TEXTURE2D_DESC = Struct("D3D11_TEXTURE2D_DESC", [
512 (UINT, "Width"),
513 (UINT, "Height"),
514 (UINT, "MipLevels"),
515 (UINT, "ArraySize"),
516 (DXGI_FORMAT, "Format"),
517 (DXGI_SAMPLE_DESC, "SampleDesc"),
518 (D3D11_USAGE, "Usage"),
519 (D3D11_BIND_FLAG, "BindFlags"),
520 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
521 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100522])
523
524ID3D11Texture2D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000525 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE2D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100526]
527
José Fonsecaee590be2012-04-16 13:25:06 +0100528D3D11_TEXTURE3D_DESC = Struct("D3D11_TEXTURE3D_DESC", [
529 (UINT, "Width"),
530 (UINT, "Height"),
531 (UINT, "Depth"),
532 (UINT, "MipLevels"),
533 (DXGI_FORMAT, "Format"),
534 (D3D11_USAGE, "Usage"),
535 (D3D11_BIND_FLAG, "BindFlags"),
536 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
537 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100538])
539
540ID3D11Texture3D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000541 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE3D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100542]
543
José Fonsecaee590be2012-04-16 13:25:06 +0100544D3D11_TEXTURECUBE_FACE = Enum("D3D11_TEXTURECUBE_FACE", [
545 "D3D11_TEXTURECUBE_FACE_POSITIVE_X",
546 "D3D11_TEXTURECUBE_FACE_NEGATIVE_X",
547 "D3D11_TEXTURECUBE_FACE_POSITIVE_Y",
548 "D3D11_TEXTURECUBE_FACE_NEGATIVE_Y",
549 "D3D11_TEXTURECUBE_FACE_POSITIVE_Z",
550 "D3D11_TEXTURECUBE_FACE_NEGATIVE_Z",
José Fonseca5b6fb752012-04-14 14:56:45 +0100551])
552
553ID3D11View.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +0100554 StdMethod(Void, "GetResource", [Out(Pointer(ObjPointer(ID3D11Resource)), "ppResource")]),
José Fonseca5b6fb752012-04-14 14:56:45 +0100555]
556
José Fonsecaee590be2012-04-16 13:25:06 +0100557D3D11_BUFFER_SRV = Struct("D3D11_BUFFER_SRV", [
José Fonseca5f4b6e32012-11-20 10:47:10 +0000558 (UINT, "FirstElement"),
559 (UINT, "NumElements"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100560])
561
562D3D11_BUFFEREX_SRV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100563 "D3D11_BUFFEREX_SRV_FLAG_RAW",
José Fonseca5b6fb752012-04-14 14:56:45 +0100564])
565
José Fonsecaee590be2012-04-16 13:25:06 +0100566D3D11_BUFFEREX_SRV = Struct("D3D11_BUFFEREX_SRV", [
567 (UINT, "FirstElement"),
568 (UINT, "NumElements"),
569 (D3D11_BUFFEREX_SRV_FLAG, "Flags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100570])
571
José Fonsecaee590be2012-04-16 13:25:06 +0100572D3D11_TEX1D_SRV = Struct("D3D11_TEX1D_SRV", [
573 (UINT, "MostDetailedMip"),
574 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100575])
576
José Fonsecaee590be2012-04-16 13:25:06 +0100577D3D11_TEX1D_ARRAY_SRV = Struct("D3D11_TEX1D_ARRAY_SRV", [
578 (UINT, "MostDetailedMip"),
579 (UINT, "MipLevels"),
580 (UINT, "FirstArraySlice"),
581 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100582])
583
José Fonsecaee590be2012-04-16 13:25:06 +0100584D3D11_TEX2D_SRV = Struct("D3D11_TEX2D_SRV", [
585 (UINT, "MostDetailedMip"),
586 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100587])
588
José Fonsecaee590be2012-04-16 13:25:06 +0100589D3D11_TEX2D_ARRAY_SRV = Struct("D3D11_TEX2D_ARRAY_SRV", [
590 (UINT, "MostDetailedMip"),
591 (UINT, "MipLevels"),
592 (UINT, "FirstArraySlice"),
593 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100594])
595
José Fonsecaee590be2012-04-16 13:25:06 +0100596D3D11_TEX3D_SRV = Struct("D3D11_TEX3D_SRV", [
597 (UINT, "MostDetailedMip"),
598 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100599])
600
José Fonsecaee590be2012-04-16 13:25:06 +0100601D3D11_TEXCUBE_SRV = Struct("D3D11_TEXCUBE_SRV", [
602 (UINT, "MostDetailedMip"),
603 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100604])
605
José Fonsecaee590be2012-04-16 13:25:06 +0100606D3D11_TEXCUBE_ARRAY_SRV = Struct("D3D11_TEXCUBE_ARRAY_SRV", [
607 (UINT, "MostDetailedMip"),
608 (UINT, "MipLevels"),
609 (UINT, "First2DArrayFace"),
610 (UINT, "NumCubes"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100611])
612
José Fonsecaee590be2012-04-16 13:25:06 +0100613D3D11_TEX2DMS_SRV = Struct("D3D11_TEX2DMS_SRV", [
614 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100615])
616
José Fonsecaee590be2012-04-16 13:25:06 +0100617D3D11_TEX2DMS_ARRAY_SRV = Struct("D3D11_TEX2DMS_ARRAY_SRV", [
618 (UINT, "FirstArraySlice"),
619 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100620])
621
José Fonsecaee590be2012-04-16 13:25:06 +0100622D3D11_SHADER_RESOURCE_VIEW_DESC = Struct("D3D11_SHADER_RESOURCE_VIEW_DESC", [
623 (DXGI_FORMAT, "Format"),
624 (D3D11_SRV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000625 (Union("{self}.ViewDimension", [
626 ("D3D11_SRV_DIMENSION_BUFFER", D3D11_BUFFER_SRV, "Buffer"),
627 ("D3D11_SRV_DIMENSION_TEXTURE1D", D3D11_TEX1D_SRV, "Texture1D"),
628 ("D3D11_SRV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_SRV, "Texture1DArray"),
629 ("D3D11_SRV_DIMENSION_TEXTURE2D", D3D11_TEX2D_SRV, "Texture2D"),
630 ("D3D11_SRV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_SRV, "Texture2DArray"),
631 ("D3D11_SRV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_SRV, "Texture2DMS"),
632 ("D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_SRV, "Texture2DMSArray"),
633 ("D3D11_SRV_DIMENSION_TEXTURE3D", D3D11_TEX3D_SRV, "Texture3D"),
634 ("D3D11_SRV_DIMENSION_TEXTURECUBE", D3D11_TEXCUBE_SRV, "TextureCube"),
635 ("D3D11_SRV_DIMENSION_TEXTURECUBEARRAY", D3D11_TEXCUBE_ARRAY_SRV, "TextureCubeArray"),
636 ("D3D11_SRV_DIMENSION_BUFFEREX", D3D11_BUFFEREX_SRV, "BufferEx"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100637 ]), None),
638])
639
640ID3D11ShaderResourceView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000641 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_SHADER_RESOURCE_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100642]
643
José Fonsecaee590be2012-04-16 13:25:06 +0100644D3D11_BUFFER_RTV = Struct("D3D11_BUFFER_RTV", [
José Fonseca5f4b6e32012-11-20 10:47:10 +0000645 (UINT, "FirstElement"),
646 (UINT, "NumElements"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100647])
648
José Fonsecaee590be2012-04-16 13:25:06 +0100649D3D11_TEX1D_RTV = Struct("D3D11_TEX1D_RTV", [
650 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100651])
652
José Fonsecaee590be2012-04-16 13:25:06 +0100653D3D11_TEX1D_ARRAY_RTV = Struct("D3D11_TEX1D_ARRAY_RTV", [
654 (UINT, "MipSlice"),
655 (UINT, "FirstArraySlice"),
656 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100657])
658
José Fonsecaee590be2012-04-16 13:25:06 +0100659D3D11_TEX2D_RTV = Struct("D3D11_TEX2D_RTV", [
660 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100661])
662
José Fonsecaee590be2012-04-16 13:25:06 +0100663D3D11_TEX2DMS_RTV = Struct("D3D11_TEX2DMS_RTV", [
664 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100665])
666
José Fonsecaee590be2012-04-16 13:25:06 +0100667D3D11_TEX2D_ARRAY_RTV = Struct("D3D11_TEX2D_ARRAY_RTV", [
668 (UINT, "MipSlice"),
669 (UINT, "FirstArraySlice"),
670 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100671])
672
José Fonsecaee590be2012-04-16 13:25:06 +0100673D3D11_TEX2DMS_ARRAY_RTV = Struct("D3D11_TEX2DMS_ARRAY_RTV", [
674 (UINT, "FirstArraySlice"),
675 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100676])
677
José Fonsecaee590be2012-04-16 13:25:06 +0100678D3D11_TEX3D_RTV = Struct("D3D11_TEX3D_RTV", [
679 (UINT, "MipSlice"),
680 (UINT, "FirstWSlice"),
681 (UINT, "WSize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100682])
683
José Fonsecaee590be2012-04-16 13:25:06 +0100684D3D11_RENDER_TARGET_VIEW_DESC = Struct("D3D11_RENDER_TARGET_VIEW_DESC", [
685 (DXGI_FORMAT, "Format"),
686 (D3D11_RTV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000687 (Union("{self}.ViewDimension", [
José Fonsecaeb216e62012-11-20 11:08:08 +0000688 ("D3D11_RTV_DIMENSION_BUFFER", D3D11_BUFFER_RTV, "Buffer"),
689 ("D3D11_RTV_DIMENSION_TEXTURE1D", D3D11_TEX1D_RTV, "Texture1D"),
690 ("D3D11_RTV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_RTV, "Texture1DArray"),
691 ("D3D11_RTV_DIMENSION_TEXTURE2D", D3D11_TEX2D_RTV, "Texture2D"),
692 ("D3D11_RTV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_RTV, "Texture2DArray"),
693 ("D3D11_RTV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_RTV, "Texture2DMS"),
694 ("D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_RTV, "Texture2DMSArray"),
695 ("D3D11_RTV_DIMENSION_TEXTURE3D", D3D11_TEX3D_RTV, "Texture3D"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100696 ]), None),
697])
698
699ID3D11RenderTargetView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000700 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_RENDER_TARGET_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100701]
702
José Fonsecaee590be2012-04-16 13:25:06 +0100703D3D11_TEX1D_DSV = Struct("D3D11_TEX1D_DSV", [
704 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100705])
706
José Fonsecaee590be2012-04-16 13:25:06 +0100707D3D11_TEX1D_ARRAY_DSV = Struct("D3D11_TEX1D_ARRAY_DSV", [
708 (UINT, "MipSlice"),
709 (UINT, "FirstArraySlice"),
710 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100711])
712
José Fonsecaee590be2012-04-16 13:25:06 +0100713D3D11_TEX2D_DSV = Struct("D3D11_TEX2D_DSV", [
714 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100715])
716
José Fonsecaee590be2012-04-16 13:25:06 +0100717D3D11_TEX2D_ARRAY_DSV = Struct("D3D11_TEX2D_ARRAY_DSV", [
718 (UINT, "MipSlice"),
719 (UINT, "FirstArraySlice"),
720 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100721])
722
José Fonsecaee590be2012-04-16 13:25:06 +0100723D3D11_TEX2DMS_DSV = Struct("D3D11_TEX2DMS_DSV", [
724 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100725])
726
José Fonsecaee590be2012-04-16 13:25:06 +0100727D3D11_TEX2DMS_ARRAY_DSV = Struct("D3D11_TEX2DMS_ARRAY_DSV", [
728 (UINT, "FirstArraySlice"),
729 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100730])
731
732D3D11_DSV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100733 "D3D11_DSV_READ_ONLY_DEPTH",
734 "D3D11_DSV_READ_ONLY_STENCIL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100735])
736
José Fonsecaee590be2012-04-16 13:25:06 +0100737D3D11_DEPTH_STENCIL_VIEW_DESC = Struct("D3D11_DEPTH_STENCIL_VIEW_DESC", [
738 (DXGI_FORMAT, "Format"),
739 (D3D11_DSV_DIMENSION, "ViewDimension"),
740 (D3D11_DSV_FLAG, "Flags"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000741 (Union("{self}.ViewDimension", [
742 ("D3D11_DSV_DIMENSION_TEXTURE1D", D3D11_TEX1D_DSV, "Texture1D"),
743 ("D3D11_DSV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_DSV, "Texture1DArray"),
744 ("D3D11_DSV_DIMENSION_TEXTURE2D", D3D11_TEX2D_DSV, "Texture2D"),
745 ("D3D11_DSV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_DSV, "Texture2DArray"),
746 ("D3D11_DSV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_DSV, "Texture2DMS"),
747 ("D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_DSV, "Texture2DMSArray"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100748 ]), None),
749])
750
751ID3D11DepthStencilView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000752 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_DEPTH_STENCIL_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100753]
754
755D3D11_BUFFER_UAV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100756 "D3D11_BUFFER_UAV_FLAG_RAW",
757 "D3D11_BUFFER_UAV_FLAG_APPEND",
758 "D3D11_BUFFER_UAV_FLAG_COUNTER",
José Fonseca5b6fb752012-04-14 14:56:45 +0100759])
760
José Fonsecaee590be2012-04-16 13:25:06 +0100761D3D11_BUFFER_UAV = Struct("D3D11_BUFFER_UAV", [
762 (UINT, "FirstElement"),
763 (UINT, "NumElements"),
764 (D3D11_BUFFER_UAV_FLAG, "Flags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100765])
766
José Fonsecaee590be2012-04-16 13:25:06 +0100767D3D11_TEX1D_UAV = Struct("D3D11_TEX1D_UAV", [
768 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100769])
770
José Fonsecaee590be2012-04-16 13:25:06 +0100771D3D11_TEX1D_ARRAY_UAV = Struct("D3D11_TEX1D_ARRAY_UAV", [
772 (UINT, "MipSlice"),
773 (UINT, "FirstArraySlice"),
774 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100775])
776
José Fonsecaee590be2012-04-16 13:25:06 +0100777D3D11_TEX2D_UAV = Struct("D3D11_TEX2D_UAV", [
778 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100779])
780
José Fonsecaee590be2012-04-16 13:25:06 +0100781D3D11_TEX2D_ARRAY_UAV = Struct("D3D11_TEX2D_ARRAY_UAV", [
782 (UINT, "MipSlice"),
783 (UINT, "FirstArraySlice"),
784 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100785])
786
José Fonsecaee590be2012-04-16 13:25:06 +0100787D3D11_TEX3D_UAV = Struct("D3D11_TEX3D_UAV", [
788 (UINT, "MipSlice"),
789 (UINT, "FirstWSlice"),
790 (UINT, "WSize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100791])
792
José Fonsecaee590be2012-04-16 13:25:06 +0100793D3D11_UNORDERED_ACCESS_VIEW_DESC = Struct("D3D11_UNORDERED_ACCESS_VIEW_DESC", [
794 (DXGI_FORMAT, "Format"),
795 (D3D11_UAV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000796 (Union("{self}.ViewDimension", [
797 ("D3D11_UAV_DIMENSION_BUFFER", D3D11_BUFFER_UAV, "Buffer"),
798 ("D3D11_UAV_DIMENSION_TEXTURE1D", D3D11_TEX1D_UAV, "Texture1D"),
799 ("D3D11_UAV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_UAV, "Texture1DArray"),
800 ("D3D11_UAV_DIMENSION_TEXTURE2D", D3D11_TEX2D_UAV, "Texture2D"),
801 ("D3D11_UAV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_UAV, "Texture2DArray"),
802 ("D3D11_UAV_DIMENSION_TEXTURE3D", D3D11_TEX3D_UAV, "Texture3D"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100803 ]), None),
804])
805
806ID3D11UnorderedAccessView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000807 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_UNORDERED_ACCESS_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100808]
809
José Fonsecaee590be2012-04-16 13:25:06 +0100810D3D11_FILTER = Enum("D3D11_FILTER", [
811 "D3D11_FILTER_MIN_MAG_MIP_POINT",
812 "D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR",
813 "D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT",
814 "D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR",
815 "D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT",
816 "D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
817 "D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT",
818 "D3D11_FILTER_MIN_MAG_MIP_LINEAR",
819 "D3D11_FILTER_ANISOTROPIC",
820 "D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT",
821 "D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR",
822 "D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT",
823 "D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR",
824 "D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT",
825 "D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
826 "D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT",
827 "D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR",
828 "D3D11_FILTER_COMPARISON_ANISOTROPIC",
José Fonseca5b6fb752012-04-14 14:56:45 +0100829])
830
José Fonsecaee590be2012-04-16 13:25:06 +0100831D3D11_FILTER_TYPE = Enum("D3D11_FILTER_TYPE", [
832 "D3D11_FILTER_TYPE_POINT",
833 "D3D11_FILTER_TYPE_LINEAR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100834])
835
José Fonsecaee590be2012-04-16 13:25:06 +0100836D3D11_TEXTURE_ADDRESS_MODE = Enum("D3D11_TEXTURE_ADDRESS_MODE", [
837 "D3D11_TEXTURE_ADDRESS_WRAP",
838 "D3D11_TEXTURE_ADDRESS_MIRROR",
839 "D3D11_TEXTURE_ADDRESS_CLAMP",
840 "D3D11_TEXTURE_ADDRESS_BORDER",
841 "D3D11_TEXTURE_ADDRESS_MIRROR_ONCE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100842])
843
José Fonsecaee590be2012-04-16 13:25:06 +0100844D3D11_SAMPLER_DESC = Struct("D3D11_SAMPLER_DESC", [
845 (D3D11_FILTER, "Filter"),
846 (D3D11_TEXTURE_ADDRESS_MODE, "AddressU"),
847 (D3D11_TEXTURE_ADDRESS_MODE, "AddressV"),
848 (D3D11_TEXTURE_ADDRESS_MODE, "AddressW"),
849 (FLOAT, "MipLODBias"),
850 (UINT, "MaxAnisotropy"),
851 (D3D11_COMPARISON_FUNC, "ComparisonFunc"),
852 (Array(FLOAT, 4), "BorderColor"),
853 (FLOAT, "MinLOD"),
854 (FLOAT, "MaxLOD"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100855])
856
857ID3D11SamplerState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000858 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_SAMPLER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100859]
860
José Fonsecaee590be2012-04-16 13:25:06 +0100861D3D11_FORMAT_SUPPORT = Flags(UINT, [
862 "D3D11_FORMAT_SUPPORT_BUFFER",
863 "D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER",
864 "D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER",
865 "D3D11_FORMAT_SUPPORT_SO_BUFFER",
866 "D3D11_FORMAT_SUPPORT_TEXTURE1D",
867 "D3D11_FORMAT_SUPPORT_TEXTURE2D",
868 "D3D11_FORMAT_SUPPORT_TEXTURE3D",
869 "D3D11_FORMAT_SUPPORT_TEXTURECUBE",
870 "D3D11_FORMAT_SUPPORT_SHADER_LOAD",
871 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE",
872 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON",
873 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT",
874 "D3D11_FORMAT_SUPPORT_MIP",
875 "D3D11_FORMAT_SUPPORT_MIP_AUTOGEN",
876 "D3D11_FORMAT_SUPPORT_RENDER_TARGET",
877 "D3D11_FORMAT_SUPPORT_BLENDABLE",
878 "D3D11_FORMAT_SUPPORT_DEPTH_STENCIL",
879 "D3D11_FORMAT_SUPPORT_CPU_LOCKABLE",
880 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE",
881 "D3D11_FORMAT_SUPPORT_DISPLAY",
882 "D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT",
883 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET",
884 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD",
885 "D3D11_FORMAT_SUPPORT_SHADER_GATHER",
886 "D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST",
887 "D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW",
888 "D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON",
José Fonseca5b6fb752012-04-14 14:56:45 +0100889])
890
José Fonsecaee590be2012-04-16 13:25:06 +0100891D3D11_FORMAT_SUPPORT2 = Enum("D3D11_FORMAT_SUPPORT2", [
892 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD",
893 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS",
894 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE",
895 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE",
896 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX",
897 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX",
898 "D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD",
899 "D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100900])
901
902ID3D11Asynchronous.methods += [
José Fonsecabc10e452012-11-08 10:24:45 +0000903 StdMethod(UINT, "GetDataSize", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100904]
905
906D3D11_ASYNC_GETDATA_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100907 "D3D11_ASYNC_GETDATA_DONOTFLUSH",
José Fonseca5b6fb752012-04-14 14:56:45 +0100908])
909
José Fonsecaee590be2012-04-16 13:25:06 +0100910D3D11_QUERY = Enum("D3D11_QUERY", [
911 "D3D11_QUERY_EVENT",
912 "D3D11_QUERY_OCCLUSION",
913 "D3D11_QUERY_TIMESTAMP",
914 "D3D11_QUERY_TIMESTAMP_DISJOINT",
915 "D3D11_QUERY_PIPELINE_STATISTICS",
916 "D3D11_QUERY_OCCLUSION_PREDICATE",
917 "D3D11_QUERY_SO_STATISTICS",
918 "D3D11_QUERY_SO_OVERFLOW_PREDICATE",
919 "D3D11_QUERY_SO_STATISTICS_STREAM0",
920 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0",
921 "D3D11_QUERY_SO_STATISTICS_STREAM1",
922 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1",
923 "D3D11_QUERY_SO_STATISTICS_STREAM2",
924 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2",
925 "D3D11_QUERY_SO_STATISTICS_STREAM3",
926 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3",
José Fonseca5b6fb752012-04-14 14:56:45 +0100927])
928
929D3D11_QUERY_MISC_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100930 "D3D11_QUERY_MISC_PREDICATEHINT",
José Fonseca5b6fb752012-04-14 14:56:45 +0100931])
932
José Fonsecaee590be2012-04-16 13:25:06 +0100933D3D11_QUERY_DESC = Struct("D3D11_QUERY_DESC", [
934 (D3D11_QUERY, "Query"),
935 (D3D11_QUERY_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100936])
937
938ID3D11Query.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000939 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_QUERY_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100940]
941
José Fonsecaee590be2012-04-16 13:25:06 +0100942D3D11_QUERY_DATA_TIMESTAMP_DISJOINT = Struct("D3D11_QUERY_DATA_TIMESTAMP_DISJOINT", [
943 (UINT64, "Frequency"),
944 (BOOL, "Disjoint"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100945])
946
José Fonsecaee590be2012-04-16 13:25:06 +0100947D3D11_QUERY_DATA_PIPELINE_STATISTICS = Struct("D3D11_QUERY_DATA_PIPELINE_STATISTICS", [
948 (UINT64, "IAVertices"),
949 (UINT64, "IAPrimitives"),
950 (UINT64, "VSInvocations"),
951 (UINT64, "GSInvocations"),
952 (UINT64, "GSPrimitives"),
953 (UINT64, "CInvocations"),
954 (UINT64, "CPrimitives"),
955 (UINT64, "PSInvocations"),
956 (UINT64, "HSInvocations"),
957 (UINT64, "DSInvocations"),
958 (UINT64, "CSInvocations"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100959])
960
José Fonsecaee590be2012-04-16 13:25:06 +0100961D3D11_QUERY_DATA_SO_STATISTICS = Struct("D3D11_QUERY_DATA_SO_STATISTICS", [
962 (UINT64, "NumPrimitivesWritten"),
963 (UINT64, "PrimitivesStorageNeeded"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100964])
965
José Fonsecadbc46f02014-08-15 17:04:17 +0100966D3D11_QUERY_DATA = Polymorphic("_getQueryType(pAsync)", [
967 ("D3D11_QUERY_EVENT", Pointer(BOOL)),
968 ("D3D11_QUERY_OCCLUSION", Pointer(UINT64)),
969 ("D3D11_QUERY_TIMESTAMP", Pointer(UINT64)),
970 ("D3D11_QUERY_TIMESTAMP_DISJOINT", Pointer(D3D11_QUERY_DATA_TIMESTAMP_DISJOINT)),
971 ("D3D11_QUERY_PIPELINE_STATISTICS", Pointer(D3D11_QUERY_DATA_PIPELINE_STATISTICS)),
972 ("D3D11_QUERY_OCCLUSION_PREDICATE", Pointer(BOOL)),
973 ("D3D11_QUERY_SO_STATISTICS", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
974 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE", Pointer(BOOL)),
975 ("D3D11_QUERY_SO_STATISTICS_STREAM0", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
976 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0", Pointer(BOOL)),
977 ("D3D11_QUERY_SO_STATISTICS_STREAM1", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
978 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1", Pointer(BOOL)),
979 ("D3D11_QUERY_SO_STATISTICS_STREAM2", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
980 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2", Pointer(BOOL)),
981 ("D3D11_QUERY_SO_STATISTICS_STREAM3", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
982 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3", Pointer(BOOL)),
983], Blob(Void, "DataSize"), contextLess=False)
984
José Fonsecaee590be2012-04-16 13:25:06 +0100985D3D11_COUNTER = Enum("D3D11_COUNTER", [
986 "D3D11_COUNTER_DEVICE_DEPENDENT_0",
José Fonseca5b6fb752012-04-14 14:56:45 +0100987])
988
José Fonsecaee590be2012-04-16 13:25:06 +0100989D3D11_COUNTER_TYPE = Enum("D3D11_COUNTER_TYPE", [
990 "D3D11_COUNTER_TYPE_FLOAT32",
991 "D3D11_COUNTER_TYPE_UINT16",
992 "D3D11_COUNTER_TYPE_UINT32",
993 "D3D11_COUNTER_TYPE_UINT64",
José Fonseca5b6fb752012-04-14 14:56:45 +0100994])
995
José Fonsecaee590be2012-04-16 13:25:06 +0100996D3D11_COUNTER_DESC = Struct("D3D11_COUNTER_DESC", [
997 (D3D11_COUNTER, "Counter"),
998 (UINT, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100999])
1000
José Fonsecaee590be2012-04-16 13:25:06 +01001001D3D11_COUNTER_INFO = Struct("D3D11_COUNTER_INFO", [
1002 (D3D11_COUNTER, "LastDeviceDependentCounter"),
1003 (UINT, "NumSimultaneousCounters"),
1004 (UINT8, "NumDetectableParallelUnits"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001005])
1006
1007ID3D11Counter.methods += [
José Fonseca2b807452012-11-10 09:50:10 +00001008 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_COUNTER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001009]
1010
José Fonsecaee590be2012-04-16 13:25:06 +01001011D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS = Enum("D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS", [
1012 "D3D11_STANDARD_MULTISAMPLE_PATTERN",
1013 "D3D11_CENTER_MULTISAMPLE_PATTERN",
José Fonseca5b6fb752012-04-14 14:56:45 +01001014])
1015
José Fonsecaee590be2012-04-16 13:25:06 +01001016D3D11_DEVICE_CONTEXT_TYPE = Enum("D3D11_DEVICE_CONTEXT_TYPE", [
1017 "D3D11_DEVICE_CONTEXT_IMMEDIATE",
1018 "D3D11_DEVICE_CONTEXT_DEFERRED",
José Fonseca5b6fb752012-04-14 14:56:45 +01001019])
1020
José Fonsecaee590be2012-04-16 13:25:06 +01001021D3D11_CLASS_INSTANCE_DESC = Struct("D3D11_CLASS_INSTANCE_DESC", [
1022 (UINT, "InstanceId"),
1023 (UINT, "InstanceIndex"),
1024 (UINT, "TypeId"),
1025 (UINT, "ConstantBuffer"),
1026 (UINT, "BaseConstantBufferOffset"),
1027 (UINT, "BaseTexture"),
1028 (UINT, "BaseSampler"),
1029 (BOOL, "Created"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001030])
1031
1032
1033ID3D11ClassInstance.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001034 StdMethod(Void, "GetClassLinkage", [Out(Pointer(ObjPointer(ID3D11ClassLinkage)), "ppLinkage")]),
José Fonsecabc10e452012-11-08 10:24:45 +00001035 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_CLASS_INSTANCE_DESC), "pDesc")], sideeffects=False),
1036 StdMethod(Void, "GetInstanceName", [Out(LPSTR, "pInstanceName"), Out(Pointer(SIZE_T), "pBufferLength")], sideeffects=False),
1037 StdMethod(Void, "GetTypeName", [Out(LPSTR, "pTypeName"), Out(Pointer(SIZE_T), "pBufferLength")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001038]
1039
1040ID3D11ClassLinkage.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001041 StdMethod(HRESULT, "GetClassInstance", [(LPCSTR, "pClassInstanceName"), (UINT, "InstanceIndex"), Out(Pointer(ObjPointer(ID3D11ClassInstance)), "ppInstance")]),
1042 StdMethod(HRESULT, "CreateClassInstance", [(LPCSTR, "pClassTypeName"), (UINT, "ConstantBufferOffset"), (UINT, "ConstantVectorOffset"), (UINT, "TextureOffset"), (UINT, "SamplerOffset"), Out(Pointer(ObjPointer(ID3D11ClassInstance)), "ppInstance")]),
José Fonseca5b6fb752012-04-14 14:56:45 +01001043]
1044
1045ID3D11CommandList.methods += [
José Fonseca2b807452012-11-10 09:50:10 +00001046 StdMethod(UINT, "GetContextFlags", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001047]
1048
José Fonsecaee590be2012-04-16 13:25:06 +01001049D3D11_FEATURE_DATA_THREADING = Struct("D3D11_FEATURE_DATA_THREADING", [
1050 (BOOL, "DriverConcurrentCreates"),
1051 (BOOL, "DriverCommandLists"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001052])
1053
José Fonsecaee590be2012-04-16 13:25:06 +01001054D3D11_FEATURE_DATA_DOUBLES = Struct("D3D11_FEATURE_DATA_DOUBLES", [
1055 (BOOL, "DoublePrecisionFloatShaderOps"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001056])
1057
José Fonsecaee590be2012-04-16 13:25:06 +01001058D3D11_FEATURE_DATA_FORMAT_SUPPORT = Struct("D3D11_FEATURE_DATA_FORMAT_SUPPORT", [
1059 (DXGI_FORMAT, "InFormat"),
1060 (D3D11_FORMAT_SUPPORT, "OutFormatSupport"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001061])
1062
José Fonsecaee590be2012-04-16 13:25:06 +01001063D3D11_FEATURE_DATA_FORMAT_SUPPORT2 = Struct("D3D11_FEATURE_DATA_FORMAT_SUPPORT2", [
1064 (DXGI_FORMAT, "InFormat"),
1065 (D3D11_FORMAT_SUPPORT2, "OutFormatSupport2"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001066])
1067
José Fonsecaee590be2012-04-16 13:25:06 +01001068D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS", [
1069 (BOOL, "ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001070])
1071
José Fonsecab95e3722012-04-16 14:01:15 +01001072D3D11_FEATURE, D3D11_FEATURE_DATA = EnumPolymorphic("D3D11_FEATURE", "Feature", [
1073 ("D3D11_FEATURE_THREADING", Pointer(D3D11_FEATURE_DATA_THREADING)),
1074 ("D3D11_FEATURE_DOUBLES", Pointer(D3D11_FEATURE_DATA_DOUBLES)),
1075 ("D3D11_FEATURE_FORMAT_SUPPORT", Pointer(D3D11_FEATURE_DATA_FORMAT_SUPPORT)),
1076 ("D3D11_FEATURE_FORMAT_SUPPORT2", Pointer(D3D11_FEATURE_DATA_FORMAT_SUPPORT2)),
1077 ("D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS)),
1078], Blob(Void, "FeatureSupportDataSize"), False)
1079
José Fonseca5b6fb752012-04-14 14:56:45 +01001080ID3D11DeviceContext.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001081 StdMethod(Void, "VSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1082 StdMethod(Void, "PSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1083 StdMethod(Void, "PSSetShader", [(ObjPointer(ID3D11PixelShader), "pPixelShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1084 StdMethod(Void, "PSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1085 StdMethod(Void, "VSSetShader", [(ObjPointer(ID3D11VertexShader), "pVertexShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1086 StdMethod(Void, "DrawIndexed", [(UINT, "IndexCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation")]),
1087 StdMethod(Void, "Draw", [(UINT, "VertexCount"), (UINT, "StartVertexLocation")]),
1088 StdMethod(HRESULT, "Map", [(ObjPointer(ID3D11Resource), "pResource"), (UINT, "Subresource"), (D3D11_MAP, "MapType"), (D3D11_MAP_FLAG, "MapFlags"), Out(Pointer(D3D11_MAPPED_SUBRESOURCE), "pMappedResource")]),
1089 StdMethod(Void, "Unmap", [(ObjPointer(ID3D11Resource), "pResource"), (UINT, "Subresource")]),
1090 StdMethod(Void, "PSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1091 StdMethod(Void, "IASetInputLayout", [(ObjPointer(ID3D11InputLayout), "pInputLayout")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001092 StdMethod(Void, "IASetVertexBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppVertexBuffers"), (Array(Const(UINT), "NumBuffers"), "pStrides"), (Array(Const(UINT), "NumBuffers"), "pOffsets")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001093 StdMethod(Void, "IASetIndexBuffer", [(ObjPointer(ID3D11Buffer), "pIndexBuffer"), (DXGI_FORMAT, "Format"), (UINT, "Offset")]),
1094 StdMethod(Void, "DrawIndexedInstanced", [(UINT, "IndexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation"), (UINT, "StartInstanceLocation")]),
1095 StdMethod(Void, "DrawInstanced", [(UINT, "VertexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartVertexLocation"), (UINT, "StartInstanceLocation")]),
1096 StdMethod(Void, "GSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1097 StdMethod(Void, "GSSetShader", [(ObjPointer(ID3D11GeometryShader), "pShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1098 StdMethod(Void, "IASetPrimitiveTopology", [(D3D11_PRIMITIVE_TOPOLOGY, "Topology")]),
1099 StdMethod(Void, "VSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1100 StdMethod(Void, "VSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1101 StdMethod(Void, "Begin", [(ObjPointer(ID3D11Asynchronous), "pAsync")]),
1102 StdMethod(Void, "End", [(ObjPointer(ID3D11Asynchronous), "pAsync")]),
José Fonsecadbc46f02014-08-15 17:04:17 +01001103 StdMethod(HRESULT, "GetData", [(ObjPointer(ID3D11Asynchronous), "pAsync"), Out(D3D11_QUERY_DATA, "pData"), (UINT, "DataSize"), (D3D11_ASYNC_GETDATA_FLAG, "GetDataFlags")], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001104 StdMethod(Void, "SetPredication", [(ObjPointer(ID3D11Predicate), "pPredicate"), (BOOL, "PredicateValue")]),
1105 StdMethod(Void, "GSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1106 StdMethod(Void, "GSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1107 StdMethod(Void, "OMSetRenderTargets", [(UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11RenderTargetView)), "NumViews"), "ppRenderTargetViews"), (ObjPointer(ID3D11DepthStencilView), "pDepthStencilView")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001108 StdMethod(Void, "OMSetRenderTargetsAndUnorderedAccessViews", [(UINT, "NumRTVs"), (Array(Const(ObjPointer(ID3D11RenderTargetView)), "NumRTVs"), "ppRenderTargetViews"), (ObjPointer(ID3D11DepthStencilView), "pDepthStencilView"), (UINT, "UAVStartSlot"), (UINT, "NumUAVs"), (Array(Const(ObjPointer(ID3D11UnorderedAccessView)), "NumUAVs"), "ppUnorderedAccessViews"), (Array(Const(UINT), "NumUAVs"), "pUAVInitialCounts")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001109 StdMethod(Void, "OMSetBlendState", [(ObjPointer(ID3D11BlendState), "pBlendState"), (Array(Const(FLOAT), 4), "BlendFactor"), (UINT, "SampleMask")]),
1110 StdMethod(Void, "OMSetDepthStencilState", [(ObjPointer(ID3D11DepthStencilState), "pDepthStencilState"), (UINT, "StencilRef")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001111 StdMethod(Void, "SOSetTargets", [(UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppSOTargets"), (Array(Const(UINT), "NumBuffers"), "pOffsets")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001112 StdMethod(Void, "DrawAuto", []),
1113 StdMethod(Void, "DrawIndexedInstancedIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1114 StdMethod(Void, "DrawInstancedIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1115 StdMethod(Void, "Dispatch", [(UINT, "ThreadGroupCountX"), (UINT, "ThreadGroupCountY"), (UINT, "ThreadGroupCountZ")]),
1116 StdMethod(Void, "DispatchIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1117 StdMethod(Void, "RSSetState", [(ObjPointer(ID3D11RasterizerState), "pRasterizerState")]),
1118 StdMethod(Void, "RSSetViewports", [(UINT, "NumViewports"), (Array(Const(D3D11_VIEWPORT), "NumViewports"), "pViewports")]),
1119 StdMethod(Void, "RSSetScissorRects", [(UINT, "NumRects"), (Array(Const(D3D11_RECT), "NumRects"), "pRects")]),
1120 StdMethod(Void, "CopySubresourceRegion", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (UINT, "DstX"), (UINT, "DstY"), (UINT, "DstZ"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (Pointer(Const(D3D11_BOX)), "pSrcBox")]),
1121 StdMethod(Void, "CopyResource", [(ObjPointer(ID3D11Resource), "pDstResource"), (ObjPointer(ID3D11Resource), "pSrcResource")]),
José Fonsecacc9abd72012-11-08 10:47:18 +00001122 StdMethod(Void, "UpdateSubresource", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (Pointer(Const(D3D11_BOX)), "pDstBox"), (Blob(Const(Void), "_calcSubresourceSize(pDstResource, DstSubresource, pDstBox, SrcRowPitch, SrcDepthPitch)"), "pSrcData"), (UINT, "SrcRowPitch"), (UINT, "SrcDepthPitch")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001123 StdMethod(Void, "CopyStructureCount", [(ObjPointer(ID3D11Buffer), "pDstBuffer"), (UINT, "DstAlignedByteOffset"), (ObjPointer(ID3D11UnorderedAccessView), "pSrcView")]),
1124 StdMethod(Void, "ClearRenderTargetView", [(ObjPointer(ID3D11RenderTargetView), "pRenderTargetView"), (Array(Const(FLOAT), 4), "ColorRGBA")]),
1125 StdMethod(Void, "ClearUnorderedAccessViewUint", [(ObjPointer(ID3D11UnorderedAccessView), "pUnorderedAccessView"), (Array(Const(UINT), 4), "Values")]),
1126 StdMethod(Void, "ClearUnorderedAccessViewFloat", [(ObjPointer(ID3D11UnorderedAccessView), "pUnorderedAccessView"), (Array(Const(FLOAT), 4), "Values")]),
1127 StdMethod(Void, "ClearDepthStencilView", [(ObjPointer(ID3D11DepthStencilView), "pDepthStencilView"), (D3D11_CLEAR_FLAG, "ClearFlags"), (FLOAT, "Depth"), (UINT8, "Stencil")]),
1128 StdMethod(Void, "GenerateMips", [(ObjPointer(ID3D11ShaderResourceView), "pShaderResourceView")]),
1129 StdMethod(Void, "SetResourceMinLOD", [(ObjPointer(ID3D11Resource), "pResource"), (FLOAT, "MinLOD")]),
José Fonseca2b807452012-11-10 09:50:10 +00001130 StdMethod(FLOAT, "GetResourceMinLOD", [(ObjPointer(ID3D11Resource), "pResource")], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001131 StdMethod(Void, "ResolveSubresource", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (DXGI_FORMAT, "Format")]),
1132 StdMethod(Void, "ExecuteCommandList", [(ObjPointer(ID3D11CommandList), "pCommandList"), (BOOL, "RestoreContextState")]),
1133 StdMethod(Void, "HSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1134 StdMethod(Void, "HSSetShader", [(ObjPointer(ID3D11HullShader), "pHullShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1135 StdMethod(Void, "HSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1136 StdMethod(Void, "HSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1137 StdMethod(Void, "DSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1138 StdMethod(Void, "DSSetShader", [(ObjPointer(ID3D11DomainShader), "pDomainShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1139 StdMethod(Void, "DSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1140 StdMethod(Void, "DSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1141 StdMethod(Void, "CSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001142 StdMethod(Void, "CSSetUnorderedAccessViews", [(UINT, "StartSlot"), (UINT, "NumUAVs"), (Array(Const(ObjPointer(ID3D11UnorderedAccessView)), "NumUAVs"), "ppUnorderedAccessViews"), (Array(Const(UINT), "NumUAVs"), "pUAVInitialCounts")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001143 StdMethod(Void, "CSSetShader", [(ObjPointer(ID3D11ComputeShader), "pComputeShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1144 StdMethod(Void, "CSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1145 StdMethod(Void, "CSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001146 StdMethod(Void, "VSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1147 StdMethod(Void, "PSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001148 StdMethod(Void, "PSGetShader", [Out(Pointer(ObjPointer(ID3D11PixelShader)), "ppPixelShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001149 StdMethod(Void, "PSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001150 StdMethod(Void, "VSGetShader", [Out(Pointer(ObjPointer(ID3D11VertexShader)), "ppVertexShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001151 StdMethod(Void, "PSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001152 StdMethod(Void, "IAGetInputLayout", [Out(Pointer(ObjPointer(ID3D11InputLayout)), "ppInputLayout")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001153 StdMethod(Void, "IAGetVertexBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppVertexBuffers"), Out(Array(UINT, "NumBuffers"), "pStrides"), Out(Array(UINT, "NumBuffers"), "pOffsets")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001154 StdMethod(Void, "IAGetIndexBuffer", [Out(Pointer(ObjPointer(ID3D11Buffer)), "pIndexBuffer"), Out(Pointer(DXGI_FORMAT), "Format"), Out(Pointer(UINT), "Offset")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001155 StdMethod(Void, "GSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001156 StdMethod(Void, "GSGetShader", [Out(Pointer(ObjPointer(ID3D11GeometryShader)), "ppGeometryShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
José Fonseca2b807452012-11-10 09:50:10 +00001157 StdMethod(Void, "IAGetPrimitiveTopology", [Out(Pointer(D3D11_PRIMITIVE_TOPOLOGY), "pTopology")], sideeffects=False),
José Fonseca8ce19e42012-11-21 21:01:05 +00001158 StdMethod(Void, "VSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1159 StdMethod(Void, "VSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001160 StdMethod(Void, "GetPredication", [Out(Pointer(ObjPointer(ID3D11Predicate)), "ppPredicate"), Out(Pointer(BOOL), "pPredicateValue")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001161 StdMethod(Void, "GSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1162 StdMethod(Void, "GSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1163 StdMethod(Void, "OMGetRenderTargets", [(UINT, "NumViews"), Out(Array(ObjPointer(ID3D11RenderTargetView), "NumViews"), "ppRenderTargetViews"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView")]),
1164 StdMethod(Void, "OMGetRenderTargetsAndUnorderedAccessViews", [(UINT, "NumRTVs"), Out(Array(ObjPointer(ID3D11RenderTargetView), "NumRTVs"), "ppRenderTargetViews"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView"), (UINT, "UAVStartSlot"), (UINT, "NumUAVs"), Out(Array(ObjPointer(ID3D11UnorderedAccessView), "NumUAVs"), "ppUnorderedAccessViews")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001165 StdMethod(Void, "OMGetBlendState", [Out(Pointer(ObjPointer(ID3D11BlendState)), "ppBlendState"), Out(Array(FLOAT, 4), "BlendFactor"), Out(Pointer(UINT), "pSampleMask")]),
1166 StdMethod(Void, "OMGetDepthStencilState", [Out(Pointer(ObjPointer(ID3D11DepthStencilState)), "ppDepthStencilState"), Out(Pointer(UINT), "pStencilRef")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001167 StdMethod(Void, "SOGetTargets", [(UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppSOTargets")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001168 StdMethod(Void, "RSGetState", [Out(Pointer(ObjPointer(ID3D11RasterizerState)), "ppRasterizerState")]),
José Fonseca00b9aba2014-08-13 13:18:48 +01001169 StdMethod(Void, "RSGetViewports", [InOut(Pointer(UINT), "pNumViewports"), Out(Array(D3D11_VIEWPORT, "*pNumViewports"), "pViewports")], sideeffects=False),
1170 StdMethod(Void, "RSGetScissorRects", [InOut(Pointer(UINT), "pNumRects"), Out(Array(D3D11_RECT, "*pNumRects"), "pRects")], sideeffects=False),
José Fonseca8ce19e42012-11-21 21:01:05 +00001171 StdMethod(Void, "HSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001172 StdMethod(Void, "HSGetShader", [Out(Pointer(ObjPointer(ID3D11HullShader)), "ppHullShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001173 StdMethod(Void, "HSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1174 StdMethod(Void, "HSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1175 StdMethod(Void, "DSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001176 StdMethod(Void, "DSGetShader", [Out(Pointer(ObjPointer(ID3D11DomainShader)), "ppDomainShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001177 StdMethod(Void, "DSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1178 StdMethod(Void, "DSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1179 StdMethod(Void, "CSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1180 StdMethod(Void, "CSGetUnorderedAccessViews", [(UINT, "StartSlot"), (UINT, "NumUAVs"), Out(Array(ObjPointer(ID3D11UnorderedAccessView), "NumUAVs"), "ppUnorderedAccessViews")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001181 StdMethod(Void, "CSGetShader", [Out(Pointer(ObjPointer(ID3D11ComputeShader)), "ppComputeShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), Out(Pointer(UINT), "pNumClassInstances")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001182 StdMethod(Void, "CSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1183 StdMethod(Void, "CSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001184 StdMethod(Void, "ClearState", []),
1185 StdMethod(Void, "Flush", []),
José Fonseca2b807452012-11-10 09:50:10 +00001186 StdMethod(D3D11_DEVICE_CONTEXT_TYPE, "GetType", [], sideeffects=False),
1187 StdMethod(UINT, "GetContextFlags", [], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001188 StdMethod(HRESULT, "FinishCommandList", [(BOOL, "RestoreDeferredContextState"), Out(Pointer(ObjPointer(ID3D11CommandList)), "ppCommandList")]),
José Fonseca5b6fb752012-04-14 14:56:45 +01001189]
1190
1191D3D11_CREATE_DEVICE_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +01001192 "D3D11_CREATE_DEVICE_SINGLETHREADED",
1193 "D3D11_CREATE_DEVICE_DEBUG",
1194 "D3D11_CREATE_DEVICE_SWITCH_TO_REF",
1195 "D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS",
1196 "D3D11_CREATE_DEVICE_BGRA_SUPPORT",
José Fonseca5b6fb752012-04-14 14:56:45 +01001197])
1198
1199ID3D11Device.methods += [
José Fonseca8f6e0e32012-11-07 19:22:20 +00001200 StdMethod(HRESULT, "CreateBuffer", [(Pointer(Const(D3D11_BUFFER_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), "1"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Buffer)), "ppBuffer")]),
1201 StdMethod(HRESULT, "CreateTexture1D", [(Pointer(Const(D3D11_TEXTURE1D_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture1D)), "ppTexture1D")]),
1202 StdMethod(HRESULT, "CreateTexture2D", [(Pointer(Const(D3D11_TEXTURE2D_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture2D)), "ppTexture2D")]),
1203 StdMethod(HRESULT, "CreateTexture3D", [(Pointer(Const(D3D11_TEXTURE3D_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture3D)), "ppTexture3D")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001204 StdMethod(HRESULT, "CreateShaderResourceView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_SHADER_RESOURCE_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11ShaderResourceView)), "ppSRView")]),
1205 StdMethod(HRESULT, "CreateUnorderedAccessView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_UNORDERED_ACCESS_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11UnorderedAccessView)), "ppUAView")]),
1206 StdMethod(HRESULT, "CreateRenderTargetView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_RENDER_TARGET_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11RenderTargetView)), "ppRTView")]),
1207 StdMethod(HRESULT, "CreateDepthStencilView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_DEPTH_STENCIL_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView")]),
1208 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")]),
1209 StdMethod(HRESULT, "CreateVertexShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11VertexShader)), "ppVertexShader")]),
1210 StdMethod(HRESULT, "CreateGeometryShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11GeometryShader)), "ppGeometryShader")]),
1211 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")]),
1212 StdMethod(HRESULT, "CreatePixelShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11PixelShader)), "ppPixelShader")]),
1213 StdMethod(HRESULT, "CreateHullShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11HullShader)), "ppHullShader")]),
1214 StdMethod(HRESULT, "CreateDomainShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11DomainShader)), "ppDomainShader")]),
1215 StdMethod(HRESULT, "CreateComputeShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11ComputeShader)), "ppComputeShader")]),
1216 StdMethod(HRESULT, "CreateClassLinkage", [Out(Pointer(ObjPointer(ID3D11ClassLinkage)), "ppLinkage")]),
1217 StdMethod(HRESULT, "CreateBlendState", [(Pointer(Const(D3D11_BLEND_DESC)), "pBlendStateDesc"), Out(Pointer(ObjPointer(ID3D11BlendState)), "ppBlendState")]),
1218 StdMethod(HRESULT, "CreateDepthStencilState", [(Pointer(Const(D3D11_DEPTH_STENCIL_DESC)), "pDepthStencilDesc"), Out(Pointer(ObjPointer(ID3D11DepthStencilState)), "ppDepthStencilState")]),
1219 StdMethod(HRESULT, "CreateRasterizerState", [(Pointer(Const(D3D11_RASTERIZER_DESC)), "pRasterizerDesc"), Out(Pointer(ObjPointer(ID3D11RasterizerState)), "ppRasterizerState")]),
1220 StdMethod(HRESULT, "CreateSamplerState", [(Pointer(Const(D3D11_SAMPLER_DESC)), "pSamplerDesc"), Out(Pointer(ObjPointer(ID3D11SamplerState)), "ppSamplerState")]),
1221 StdMethod(HRESULT, "CreateQuery", [(Pointer(Const(D3D11_QUERY_DESC)), "pQueryDesc"), Out(Pointer(ObjPointer(ID3D11Query)), "ppQuery")]),
1222 StdMethod(HRESULT, "CreatePredicate", [(Pointer(Const(D3D11_QUERY_DESC)), "pPredicateDesc"), Out(Pointer(ObjPointer(ID3D11Predicate)), "ppPredicate")]),
1223 StdMethod(HRESULT, "CreateCounter", [(Pointer(Const(D3D11_COUNTER_DESC)), "pCounterDesc"), Out(Pointer(ObjPointer(ID3D11Counter)), "ppCounter")]),
1224 StdMethod(HRESULT, "CreateDeferredContext", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppDeferredContext")]),
1225 StdMethod(HRESULT, "OpenSharedResource", [(HANDLE, "hResource"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
José Fonsecae088e5c2012-11-16 20:05:54 +00001226 StdMethod(HRESULT, "CheckFormatSupport", [(DXGI_FORMAT, "Format"), Out(Pointer(D3D11_FORMAT_SUPPORT), "pFormatSupport")], sideeffects=False),
1227 StdMethod(HRESULT, "CheckMultisampleQualityLevels", [(DXGI_FORMAT, "Format"), (UINT, "SampleCount"), Out(Pointer(UINT), "pNumQualityLevels")], sideeffects=False),
1228 StdMethod(Void, "CheckCounterInfo", [Out(Pointer(D3D11_COUNTER_INFO), "pCounterInfo")], sideeffects=False),
José Fonsecabc10e452012-11-08 10:24:45 +00001229 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")], sideeffects=False),
1230 StdMethod(HRESULT, "CheckFeatureSupport", [(D3D11_FEATURE, "Feature"), Out(D3D11_FEATURE_DATA, "pFeatureSupportData"), (UINT, "FeatureSupportDataSize")], sideeffects=False),
1231 StdMethod(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")], sideeffects=False),
1232 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")], sideeffects=False),
1233 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
José Fonseca2b807452012-11-10 09:50:10 +00001234 StdMethod(D3D_FEATURE_LEVEL, "GetFeatureLevel", [], sideeffects=False),
1235 StdMethod(D3D11_CREATE_DEVICE_FLAG, "GetCreationFlags", [], sideeffects=False),
1236 StdMethod(HRESULT, "GetDeviceRemovedReason", [], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001237 StdMethod(Void, "GetImmediateContext", [Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppImmediateContext")]),
1238 StdMethod(HRESULT, "SetExceptionMode", [(D3D11_RAISE_FLAG, "RaiseFlags")]),
José Fonseca5c05fdb2014-08-13 13:19:32 +01001239 StdMethod(D3D11_RAISE_FLAG, "GetExceptionMode", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001240]
1241
José Fonseca81301932012-11-11 00:10:20 +00001242d3d11 = Module("d3d11")
José Fonseca5b6fb752012-04-14 14:56:45 +01001243
1244d3d11.addFunctions([
José Fonsecaee590be2012-04-16 13:25:06 +01001245 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")]),
1246 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")]),
José Fonseca5b6fb752012-04-14 14:56:45 +01001247])
1248
1249d3d11.addInterfaces([
José Fonseca5b6fb752012-04-14 14:56:45 +01001250 ID3D11Debug,
José Fonsecaf17f4642012-04-16 13:06:44 +01001251 ID3D11InfoQueue,
1252 ID3D11SwitchToRef,
José Fonseca5b6fb752012-04-14 14:56:45 +01001253])
José Fonsecafc58d052014-06-13 12:47:19 +01001254
1255# Add D3D11.1
1256import d3d11_1