blob: 021515bc25dc3cb28e61a9ade259ca079064a9a2 [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",
Jose Fonseca503fde92015-07-16 17:00:30 +0100278 "D3D11_BIND_DECODER",
279 "D3D11_BIND_VIDEO_ENCODER",
José Fonseca5b6fb752012-04-14 14:56:45 +0100280])
281
282D3D11_CPU_ACCESS_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100283 "D3D11_CPU_ACCESS_WRITE",
284 "D3D11_CPU_ACCESS_READ",
José Fonseca5b6fb752012-04-14 14:56:45 +0100285])
286
287D3D11_RESOURCE_MISC_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100288 "D3D11_RESOURCE_MISC_GENERATE_MIPS",
289 "D3D11_RESOURCE_MISC_SHARED",
290 "D3D11_RESOURCE_MISC_TEXTURECUBE",
291 "D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS",
292 "D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS",
293 "D3D11_RESOURCE_MISC_BUFFER_STRUCTURED",
294 "D3D11_RESOURCE_MISC_RESOURCE_CLAMP",
295 "D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX",
296 "D3D11_RESOURCE_MISC_GDI_COMPATIBLE",
José Fonsecaf7b8d572014-09-26 10:38:43 +0100297 "D3D11_RESOURCE_MISC_SHARED_NTHANDLE",
298 "D3D11_RESOURCE_MISC_RESTRICTED_CONTENT",
299 "D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE",
300 "D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER",
301 "D3D11_RESOURCE_MISC_GUARDED",
302 "D3D11_RESOURCE_MISC_TILE_POOL",
303 "D3D11_RESOURCE_MISC_TILED",
José Fonseca5b6fb752012-04-14 14:56:45 +0100304])
305
José Fonsecaee590be2012-04-16 13:25:06 +0100306D3D11_MAP = Enum("D3D11_MAP", [
307 "D3D11_MAP_READ",
308 "D3D11_MAP_WRITE",
309 "D3D11_MAP_READ_WRITE",
310 "D3D11_MAP_WRITE_DISCARD",
311 "D3D11_MAP_WRITE_NO_OVERWRITE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100312])
313
314D3D11_MAP_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100315 "D3D11_MAP_FLAG_DO_NOT_WAIT",
José Fonseca5b6fb752012-04-14 14:56:45 +0100316])
317
318D3D11_RAISE_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100319 "D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100320])
321
322D3D11_CLEAR_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100323 "D3D11_CLEAR_DEPTH",
324 "D3D11_CLEAR_STENCIL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100325])
326
José Fonsecaee590be2012-04-16 13:25:06 +0100327D3D11_RECT = Alias("D3D11_RECT", RECT)
328D3D11_BOX = Struct("D3D11_BOX", [
329 (UINT, "left"),
330 (UINT, "top"),
331 (UINT, "front"),
332 (UINT, "right"),
333 (UINT, "bottom"),
334 (UINT, "back"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100335])
336
337ID3D11DeviceChild.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +0100338 StdMethod(Void, "GetDevice", [Out(Pointer(ObjPointer(ID3D11Device)), "ppDevice")]),
José Fonseca9eec9342014-10-03 22:24:50 +0100339 StdMethod(HRESULT, "GetPrivateData", [(REFGUID, "guid"), InOut(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")], sideeffects=False),
José Fonseca3be2c672015-02-06 15:36:40 +0000340 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
José Fonsecabc10e452012-11-08 10:24:45 +0000341 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100342]
343
José Fonsecaee590be2012-04-16 13:25:06 +0100344D3D11_COMPARISON_FUNC = Enum("D3D11_COMPARISON_FUNC", [
345 "D3D11_COMPARISON_NEVER",
346 "D3D11_COMPARISON_LESS",
347 "D3D11_COMPARISON_EQUAL",
348 "D3D11_COMPARISON_LESS_EQUAL",
349 "D3D11_COMPARISON_GREATER",
350 "D3D11_COMPARISON_NOT_EQUAL",
351 "D3D11_COMPARISON_GREATER_EQUAL",
352 "D3D11_COMPARISON_ALWAYS",
José Fonseca5b6fb752012-04-14 14:56:45 +0100353])
354
José Fonsecaee590be2012-04-16 13:25:06 +0100355D3D11_DEPTH_WRITE_MASK = Enum("D3D11_DEPTH_WRITE_MASK", [
356 "D3D11_DEPTH_WRITE_MASK_ZERO",
357 "D3D11_DEPTH_WRITE_MASK_ALL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100358])
359
José Fonsecaee590be2012-04-16 13:25:06 +0100360D3D11_STENCIL_OP = Enum("D3D11_STENCIL_OP", [
361 "D3D11_STENCIL_OP_KEEP",
362 "D3D11_STENCIL_OP_ZERO",
363 "D3D11_STENCIL_OP_REPLACE",
364 "D3D11_STENCIL_OP_INCR_SAT",
365 "D3D11_STENCIL_OP_DECR_SAT",
366 "D3D11_STENCIL_OP_INVERT",
367 "D3D11_STENCIL_OP_INCR",
368 "D3D11_STENCIL_OP_DECR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100369])
370
José Fonsecaee590be2012-04-16 13:25:06 +0100371D3D11_DEPTH_STENCILOP_DESC = Struct("D3D11_DEPTH_STENCILOP_DESC", [
372 (D3D11_STENCIL_OP, "StencilFailOp"),
373 (D3D11_STENCIL_OP, "StencilDepthFailOp"),
374 (D3D11_STENCIL_OP, "StencilPassOp"),
375 (D3D11_COMPARISON_FUNC, "StencilFunc"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100376])
377
José Fonsecaee590be2012-04-16 13:25:06 +0100378D3D11_DEPTH_STENCIL_DESC = Struct("D3D11_DEPTH_STENCIL_DESC", [
379 (BOOL, "DepthEnable"),
380 (D3D11_DEPTH_WRITE_MASK, "DepthWriteMask"),
381 (D3D11_COMPARISON_FUNC, "DepthFunc"),
382 (BOOL, "StencilEnable"),
383 (UINT8, "StencilReadMask"),
384 (UINT8, "StencilWriteMask"),
385 (D3D11_DEPTH_STENCILOP_DESC, "FrontFace"),
386 (D3D11_DEPTH_STENCILOP_DESC, "BackFace"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100387])
388
389ID3D11DepthStencilState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000390 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_DEPTH_STENCIL_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100391]
392
José Fonsecaee590be2012-04-16 13:25:06 +0100393D3D11_BLEND = Enum("D3D11_BLEND", [
394 "D3D11_BLEND_ZERO",
395 "D3D11_BLEND_ONE",
396 "D3D11_BLEND_SRC_COLOR",
397 "D3D11_BLEND_INV_SRC_COLOR",
398 "D3D11_BLEND_SRC_ALPHA",
399 "D3D11_BLEND_INV_SRC_ALPHA",
400 "D3D11_BLEND_DEST_ALPHA",
401 "D3D11_BLEND_INV_DEST_ALPHA",
402 "D3D11_BLEND_DEST_COLOR",
403 "D3D11_BLEND_INV_DEST_COLOR",
404 "D3D11_BLEND_SRC_ALPHA_SAT",
405 "D3D11_BLEND_BLEND_FACTOR",
406 "D3D11_BLEND_INV_BLEND_FACTOR",
407 "D3D11_BLEND_SRC1_COLOR",
408 "D3D11_BLEND_INV_SRC1_COLOR",
409 "D3D11_BLEND_SRC1_ALPHA",
410 "D3D11_BLEND_INV_SRC1_ALPHA",
José Fonseca5b6fb752012-04-14 14:56:45 +0100411])
412
José Fonsecaee590be2012-04-16 13:25:06 +0100413D3D11_BLEND_OP = Enum("D3D11_BLEND_OP", [
414 "D3D11_BLEND_OP_ADD",
415 "D3D11_BLEND_OP_SUBTRACT",
416 "D3D11_BLEND_OP_REV_SUBTRACT",
417 "D3D11_BLEND_OP_MIN",
418 "D3D11_BLEND_OP_MAX",
José Fonseca5b6fb752012-04-14 14:56:45 +0100419])
420
José Fonsecaee590be2012-04-16 13:25:06 +0100421D3D11_COLOR_WRITE_ENABLE = Enum("D3D11_COLOR_WRITE_ENABLE", [
422 "D3D11_COLOR_WRITE_ENABLE_ALL",
423 "D3D11_COLOR_WRITE_ENABLE_RED",
424 "D3D11_COLOR_WRITE_ENABLE_GREEN",
425 "D3D11_COLOR_WRITE_ENABLE_BLUE",
426 "D3D11_COLOR_WRITE_ENABLE_ALPHA",
José Fonseca5b6fb752012-04-14 14:56:45 +0100427])
428
José Fonsecaee590be2012-04-16 13:25:06 +0100429D3D11_RENDER_TARGET_BLEND_DESC = Struct("D3D11_RENDER_TARGET_BLEND_DESC", [
430 (BOOL, "BlendEnable"),
431 (D3D11_BLEND, "SrcBlend"),
432 (D3D11_BLEND, "DestBlend"),
433 (D3D11_BLEND_OP, "BlendOp"),
434 (D3D11_BLEND, "SrcBlendAlpha"),
435 (D3D11_BLEND, "DestBlendAlpha"),
436 (D3D11_BLEND_OP, "BlendOpAlpha"),
437 (UINT8, "RenderTargetWriteMask"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100438])
439
José Fonsecaee590be2012-04-16 13:25:06 +0100440D3D11_BLEND_DESC = Struct("D3D11_BLEND_DESC", [
441 (BOOL, "AlphaToCoverageEnable"),
442 (BOOL, "IndependentBlendEnable"),
443 (Array(D3D11_RENDER_TARGET_BLEND_DESC, 8), "RenderTarget"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100444])
445
446ID3D11BlendState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000447 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_BLEND_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100448]
449
José Fonsecaee590be2012-04-16 13:25:06 +0100450D3D11_RASTERIZER_DESC = Struct("D3D11_RASTERIZER_DESC", [
451 (D3D11_FILL_MODE, "FillMode"),
452 (D3D11_CULL_MODE, "CullMode"),
453 (BOOL, "FrontCounterClockwise"),
454 (INT, "DepthBias"),
455 (FLOAT, "DepthBiasClamp"),
456 (FLOAT, "SlopeScaledDepthBias"),
457 (BOOL, "DepthClipEnable"),
458 (BOOL, "ScissorEnable"),
459 (BOOL, "MultisampleEnable"),
460 (BOOL, "AntialiasedLineEnable"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100461])
462
463ID3D11RasterizerState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000464 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_RASTERIZER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100465]
466
José Fonsecaee590be2012-04-16 13:25:06 +0100467D3D11_SUBRESOURCE_DATA = Struct("D3D11_SUBRESOURCE_DATA", [
José Fonseca8f6e0e32012-11-07 19:22:20 +0000468 (Blob(Const(Void), "_calcSubresourceSize(pDesc, {i}, {self}.SysMemPitch, {self}.SysMemSlicePitch)"), "pSysMem"),
José Fonsecaee590be2012-04-16 13:25:06 +0100469 (UINT, "SysMemPitch"),
470 (UINT, "SysMemSlicePitch"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100471])
472
José Fonsecaee590be2012-04-16 13:25:06 +0100473D3D11_MAPPED_SUBRESOURCE = Struct("D3D11_MAPPED_SUBRESOURCE", [
José Fonsecae6bde442012-11-14 08:45:58 +0000474 (LinearPointer(Void, "_MappedSize"), "pData"),
José Fonsecaee590be2012-04-16 13:25:06 +0100475 (UINT, "RowPitch"),
476 (UINT, "DepthPitch"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100477])
478
479ID3D11Resource.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000480 StdMethod(Void, "GetType", [Out(Pointer(D3D11_RESOURCE_DIMENSION), "pResourceDimension")], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +0100481 StdMethod(Void, "SetEvictionPriority", [(UINT, "EvictionPriority")]),
José Fonseca2b807452012-11-10 09:50:10 +0000482 StdMethod(UINT, "GetEvictionPriority", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100483]
484
José Fonsecaee590be2012-04-16 13:25:06 +0100485D3D11_BUFFER_DESC = Struct("D3D11_BUFFER_DESC", [
486 (UINT, "ByteWidth"),
487 (D3D11_USAGE, "Usage"),
488 (D3D11_BIND_FLAG, "BindFlags"),
489 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
490 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
491 (UINT, "StructureByteStride"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100492])
493
494ID3D11Buffer.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000495 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_BUFFER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100496]
497
José Fonsecaee590be2012-04-16 13:25:06 +0100498D3D11_TEXTURE1D_DESC = Struct("D3D11_TEXTURE1D_DESC", [
499 (UINT, "Width"),
500 (UINT, "MipLevels"),
501 (UINT, "ArraySize"),
502 (DXGI_FORMAT, "Format"),
503 (D3D11_USAGE, "Usage"),
504 (D3D11_BIND_FLAG, "BindFlags"),
505 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
506 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100507])
508
509ID3D11Texture1D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000510 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE1D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100511]
512
José Fonsecaee590be2012-04-16 13:25:06 +0100513D3D11_TEXTURE2D_DESC = Struct("D3D11_TEXTURE2D_DESC", [
514 (UINT, "Width"),
515 (UINT, "Height"),
516 (UINT, "MipLevels"),
517 (UINT, "ArraySize"),
518 (DXGI_FORMAT, "Format"),
519 (DXGI_SAMPLE_DESC, "SampleDesc"),
520 (D3D11_USAGE, "Usage"),
521 (D3D11_BIND_FLAG, "BindFlags"),
522 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
523 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100524])
525
526ID3D11Texture2D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000527 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE2D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100528]
529
José Fonsecaee590be2012-04-16 13:25:06 +0100530D3D11_TEXTURE3D_DESC = Struct("D3D11_TEXTURE3D_DESC", [
531 (UINT, "Width"),
532 (UINT, "Height"),
533 (UINT, "Depth"),
534 (UINT, "MipLevels"),
535 (DXGI_FORMAT, "Format"),
536 (D3D11_USAGE, "Usage"),
537 (D3D11_BIND_FLAG, "BindFlags"),
538 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
539 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100540])
541
542ID3D11Texture3D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000543 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE3D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100544]
545
José Fonsecaee590be2012-04-16 13:25:06 +0100546D3D11_TEXTURECUBE_FACE = Enum("D3D11_TEXTURECUBE_FACE", [
547 "D3D11_TEXTURECUBE_FACE_POSITIVE_X",
548 "D3D11_TEXTURECUBE_FACE_NEGATIVE_X",
549 "D3D11_TEXTURECUBE_FACE_POSITIVE_Y",
550 "D3D11_TEXTURECUBE_FACE_NEGATIVE_Y",
551 "D3D11_TEXTURECUBE_FACE_POSITIVE_Z",
552 "D3D11_TEXTURECUBE_FACE_NEGATIVE_Z",
José Fonseca5b6fb752012-04-14 14:56:45 +0100553])
554
555ID3D11View.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +0100556 StdMethod(Void, "GetResource", [Out(Pointer(ObjPointer(ID3D11Resource)), "ppResource")]),
José Fonseca5b6fb752012-04-14 14:56:45 +0100557]
558
José Fonsecaee590be2012-04-16 13:25:06 +0100559D3D11_BUFFER_SRV = Struct("D3D11_BUFFER_SRV", [
José Fonseca5f4b6e32012-11-20 10:47:10 +0000560 (UINT, "FirstElement"),
561 (UINT, "NumElements"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100562])
563
564D3D11_BUFFEREX_SRV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100565 "D3D11_BUFFEREX_SRV_FLAG_RAW",
José Fonseca5b6fb752012-04-14 14:56:45 +0100566])
567
José Fonsecaee590be2012-04-16 13:25:06 +0100568D3D11_BUFFEREX_SRV = Struct("D3D11_BUFFEREX_SRV", [
569 (UINT, "FirstElement"),
570 (UINT, "NumElements"),
571 (D3D11_BUFFEREX_SRV_FLAG, "Flags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100572])
573
José Fonsecaee590be2012-04-16 13:25:06 +0100574D3D11_TEX1D_SRV = Struct("D3D11_TEX1D_SRV", [
575 (UINT, "MostDetailedMip"),
576 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100577])
578
José Fonsecaee590be2012-04-16 13:25:06 +0100579D3D11_TEX1D_ARRAY_SRV = Struct("D3D11_TEX1D_ARRAY_SRV", [
580 (UINT, "MostDetailedMip"),
581 (UINT, "MipLevels"),
582 (UINT, "FirstArraySlice"),
583 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100584])
585
José Fonsecaee590be2012-04-16 13:25:06 +0100586D3D11_TEX2D_SRV = Struct("D3D11_TEX2D_SRV", [
587 (UINT, "MostDetailedMip"),
588 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100589])
590
José Fonsecaee590be2012-04-16 13:25:06 +0100591D3D11_TEX2D_ARRAY_SRV = Struct("D3D11_TEX2D_ARRAY_SRV", [
592 (UINT, "MostDetailedMip"),
593 (UINT, "MipLevels"),
594 (UINT, "FirstArraySlice"),
595 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100596])
597
José Fonsecaee590be2012-04-16 13:25:06 +0100598D3D11_TEX3D_SRV = Struct("D3D11_TEX3D_SRV", [
599 (UINT, "MostDetailedMip"),
600 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100601])
602
José Fonsecaee590be2012-04-16 13:25:06 +0100603D3D11_TEXCUBE_SRV = Struct("D3D11_TEXCUBE_SRV", [
604 (UINT, "MostDetailedMip"),
605 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100606])
607
José Fonsecaee590be2012-04-16 13:25:06 +0100608D3D11_TEXCUBE_ARRAY_SRV = Struct("D3D11_TEXCUBE_ARRAY_SRV", [
609 (UINT, "MostDetailedMip"),
610 (UINT, "MipLevels"),
611 (UINT, "First2DArrayFace"),
612 (UINT, "NumCubes"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100613])
614
José Fonsecaee590be2012-04-16 13:25:06 +0100615D3D11_TEX2DMS_SRV = Struct("D3D11_TEX2DMS_SRV", [
616 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100617])
618
José Fonsecaee590be2012-04-16 13:25:06 +0100619D3D11_TEX2DMS_ARRAY_SRV = Struct("D3D11_TEX2DMS_ARRAY_SRV", [
620 (UINT, "FirstArraySlice"),
621 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100622])
623
José Fonsecaee590be2012-04-16 13:25:06 +0100624D3D11_SHADER_RESOURCE_VIEW_DESC = Struct("D3D11_SHADER_RESOURCE_VIEW_DESC", [
625 (DXGI_FORMAT, "Format"),
626 (D3D11_SRV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000627 (Union("{self}.ViewDimension", [
628 ("D3D11_SRV_DIMENSION_BUFFER", D3D11_BUFFER_SRV, "Buffer"),
629 ("D3D11_SRV_DIMENSION_TEXTURE1D", D3D11_TEX1D_SRV, "Texture1D"),
630 ("D3D11_SRV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_SRV, "Texture1DArray"),
631 ("D3D11_SRV_DIMENSION_TEXTURE2D", D3D11_TEX2D_SRV, "Texture2D"),
632 ("D3D11_SRV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_SRV, "Texture2DArray"),
633 ("D3D11_SRV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_SRV, "Texture2DMS"),
634 ("D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_SRV, "Texture2DMSArray"),
635 ("D3D11_SRV_DIMENSION_TEXTURE3D", D3D11_TEX3D_SRV, "Texture3D"),
636 ("D3D11_SRV_DIMENSION_TEXTURECUBE", D3D11_TEXCUBE_SRV, "TextureCube"),
637 ("D3D11_SRV_DIMENSION_TEXTURECUBEARRAY", D3D11_TEXCUBE_ARRAY_SRV, "TextureCubeArray"),
638 ("D3D11_SRV_DIMENSION_BUFFEREX", D3D11_BUFFEREX_SRV, "BufferEx"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100639 ]), None),
640])
641
642ID3D11ShaderResourceView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000643 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_SHADER_RESOURCE_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100644]
645
José Fonsecaee590be2012-04-16 13:25:06 +0100646D3D11_BUFFER_RTV = Struct("D3D11_BUFFER_RTV", [
José Fonseca5f4b6e32012-11-20 10:47:10 +0000647 (UINT, "FirstElement"),
648 (UINT, "NumElements"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100649])
650
José Fonsecaee590be2012-04-16 13:25:06 +0100651D3D11_TEX1D_RTV = Struct("D3D11_TEX1D_RTV", [
652 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100653])
654
José Fonsecaee590be2012-04-16 13:25:06 +0100655D3D11_TEX1D_ARRAY_RTV = Struct("D3D11_TEX1D_ARRAY_RTV", [
656 (UINT, "MipSlice"),
657 (UINT, "FirstArraySlice"),
658 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100659])
660
José Fonsecaee590be2012-04-16 13:25:06 +0100661D3D11_TEX2D_RTV = Struct("D3D11_TEX2D_RTV", [
662 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100663])
664
José Fonsecaee590be2012-04-16 13:25:06 +0100665D3D11_TEX2DMS_RTV = Struct("D3D11_TEX2DMS_RTV", [
666 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100667])
668
José Fonsecaee590be2012-04-16 13:25:06 +0100669D3D11_TEX2D_ARRAY_RTV = Struct("D3D11_TEX2D_ARRAY_RTV", [
670 (UINT, "MipSlice"),
671 (UINT, "FirstArraySlice"),
672 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100673])
674
José Fonsecaee590be2012-04-16 13:25:06 +0100675D3D11_TEX2DMS_ARRAY_RTV = Struct("D3D11_TEX2DMS_ARRAY_RTV", [
676 (UINT, "FirstArraySlice"),
677 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100678])
679
José Fonsecaee590be2012-04-16 13:25:06 +0100680D3D11_TEX3D_RTV = Struct("D3D11_TEX3D_RTV", [
681 (UINT, "MipSlice"),
682 (UINT, "FirstWSlice"),
683 (UINT, "WSize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100684])
685
José Fonsecaee590be2012-04-16 13:25:06 +0100686D3D11_RENDER_TARGET_VIEW_DESC = Struct("D3D11_RENDER_TARGET_VIEW_DESC", [
687 (DXGI_FORMAT, "Format"),
688 (D3D11_RTV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000689 (Union("{self}.ViewDimension", [
José Fonsecaeb216e62012-11-20 11:08:08 +0000690 ("D3D11_RTV_DIMENSION_BUFFER", D3D11_BUFFER_RTV, "Buffer"),
691 ("D3D11_RTV_DIMENSION_TEXTURE1D", D3D11_TEX1D_RTV, "Texture1D"),
692 ("D3D11_RTV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_RTV, "Texture1DArray"),
693 ("D3D11_RTV_DIMENSION_TEXTURE2D", D3D11_TEX2D_RTV, "Texture2D"),
694 ("D3D11_RTV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_RTV, "Texture2DArray"),
695 ("D3D11_RTV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_RTV, "Texture2DMS"),
696 ("D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_RTV, "Texture2DMSArray"),
697 ("D3D11_RTV_DIMENSION_TEXTURE3D", D3D11_TEX3D_RTV, "Texture3D"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100698 ]), None),
699])
700
701ID3D11RenderTargetView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000702 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_RENDER_TARGET_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100703]
704
José Fonsecaee590be2012-04-16 13:25:06 +0100705D3D11_TEX1D_DSV = Struct("D3D11_TEX1D_DSV", [
706 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100707])
708
José Fonsecaee590be2012-04-16 13:25:06 +0100709D3D11_TEX1D_ARRAY_DSV = Struct("D3D11_TEX1D_ARRAY_DSV", [
710 (UINT, "MipSlice"),
711 (UINT, "FirstArraySlice"),
712 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100713])
714
José Fonsecaee590be2012-04-16 13:25:06 +0100715D3D11_TEX2D_DSV = Struct("D3D11_TEX2D_DSV", [
716 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100717])
718
José Fonsecaee590be2012-04-16 13:25:06 +0100719D3D11_TEX2D_ARRAY_DSV = Struct("D3D11_TEX2D_ARRAY_DSV", [
720 (UINT, "MipSlice"),
721 (UINT, "FirstArraySlice"),
722 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100723])
724
José Fonsecaee590be2012-04-16 13:25:06 +0100725D3D11_TEX2DMS_DSV = Struct("D3D11_TEX2DMS_DSV", [
726 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100727])
728
José Fonsecaee590be2012-04-16 13:25:06 +0100729D3D11_TEX2DMS_ARRAY_DSV = Struct("D3D11_TEX2DMS_ARRAY_DSV", [
730 (UINT, "FirstArraySlice"),
731 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100732])
733
734D3D11_DSV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100735 "D3D11_DSV_READ_ONLY_DEPTH",
736 "D3D11_DSV_READ_ONLY_STENCIL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100737])
738
José Fonsecaee590be2012-04-16 13:25:06 +0100739D3D11_DEPTH_STENCIL_VIEW_DESC = Struct("D3D11_DEPTH_STENCIL_VIEW_DESC", [
740 (DXGI_FORMAT, "Format"),
741 (D3D11_DSV_DIMENSION, "ViewDimension"),
742 (D3D11_DSV_FLAG, "Flags"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000743 (Union("{self}.ViewDimension", [
744 ("D3D11_DSV_DIMENSION_TEXTURE1D", D3D11_TEX1D_DSV, "Texture1D"),
745 ("D3D11_DSV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_DSV, "Texture1DArray"),
746 ("D3D11_DSV_DIMENSION_TEXTURE2D", D3D11_TEX2D_DSV, "Texture2D"),
747 ("D3D11_DSV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_DSV, "Texture2DArray"),
748 ("D3D11_DSV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_DSV, "Texture2DMS"),
749 ("D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_DSV, "Texture2DMSArray"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100750 ]), None),
751])
752
753ID3D11DepthStencilView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000754 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_DEPTH_STENCIL_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100755]
756
757D3D11_BUFFER_UAV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100758 "D3D11_BUFFER_UAV_FLAG_RAW",
759 "D3D11_BUFFER_UAV_FLAG_APPEND",
760 "D3D11_BUFFER_UAV_FLAG_COUNTER",
José Fonseca5b6fb752012-04-14 14:56:45 +0100761])
762
José Fonsecaee590be2012-04-16 13:25:06 +0100763D3D11_BUFFER_UAV = Struct("D3D11_BUFFER_UAV", [
764 (UINT, "FirstElement"),
765 (UINT, "NumElements"),
766 (D3D11_BUFFER_UAV_FLAG, "Flags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100767])
768
José Fonsecaee590be2012-04-16 13:25:06 +0100769D3D11_TEX1D_UAV = Struct("D3D11_TEX1D_UAV", [
770 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100771])
772
José Fonsecaee590be2012-04-16 13:25:06 +0100773D3D11_TEX1D_ARRAY_UAV = Struct("D3D11_TEX1D_ARRAY_UAV", [
774 (UINT, "MipSlice"),
775 (UINT, "FirstArraySlice"),
776 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100777])
778
José Fonsecaee590be2012-04-16 13:25:06 +0100779D3D11_TEX2D_UAV = Struct("D3D11_TEX2D_UAV", [
780 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100781])
782
José Fonsecaee590be2012-04-16 13:25:06 +0100783D3D11_TEX2D_ARRAY_UAV = Struct("D3D11_TEX2D_ARRAY_UAV", [
784 (UINT, "MipSlice"),
785 (UINT, "FirstArraySlice"),
786 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100787])
788
José Fonsecaee590be2012-04-16 13:25:06 +0100789D3D11_TEX3D_UAV = Struct("D3D11_TEX3D_UAV", [
790 (UINT, "MipSlice"),
791 (UINT, "FirstWSlice"),
792 (UINT, "WSize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100793])
794
José Fonsecaee590be2012-04-16 13:25:06 +0100795D3D11_UNORDERED_ACCESS_VIEW_DESC = Struct("D3D11_UNORDERED_ACCESS_VIEW_DESC", [
796 (DXGI_FORMAT, "Format"),
797 (D3D11_UAV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000798 (Union("{self}.ViewDimension", [
799 ("D3D11_UAV_DIMENSION_BUFFER", D3D11_BUFFER_UAV, "Buffer"),
800 ("D3D11_UAV_DIMENSION_TEXTURE1D", D3D11_TEX1D_UAV, "Texture1D"),
801 ("D3D11_UAV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_UAV, "Texture1DArray"),
802 ("D3D11_UAV_DIMENSION_TEXTURE2D", D3D11_TEX2D_UAV, "Texture2D"),
803 ("D3D11_UAV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_UAV, "Texture2DArray"),
804 ("D3D11_UAV_DIMENSION_TEXTURE3D", D3D11_TEX3D_UAV, "Texture3D"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100805 ]), None),
806])
807
808ID3D11UnorderedAccessView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000809 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_UNORDERED_ACCESS_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100810]
811
José Fonsecaee590be2012-04-16 13:25:06 +0100812D3D11_FILTER = Enum("D3D11_FILTER", [
813 "D3D11_FILTER_MIN_MAG_MIP_POINT",
814 "D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR",
815 "D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT",
816 "D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR",
817 "D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT",
818 "D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
819 "D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT",
820 "D3D11_FILTER_MIN_MAG_MIP_LINEAR",
821 "D3D11_FILTER_ANISOTROPIC",
822 "D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT",
823 "D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR",
824 "D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT",
825 "D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR",
826 "D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT",
827 "D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
828 "D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT",
829 "D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR",
830 "D3D11_FILTER_COMPARISON_ANISOTROPIC",
Jose Fonseca503fde92015-07-16 17:00:30 +0100831 "D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT",
832 "D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR",
833 "D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT",
834 "D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR",
835 "D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT",
836 "D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
837 "D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT",
838 "D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR",
839 "D3D11_FILTER_MINIMUM_ANISOTROPIC",
840 "D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT",
841 "D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR",
842 "D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT",
843 "D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR",
844 "D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT",
845 "D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
846 "D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT",
847 "D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR",
848 "D3D11_FILTER_MAXIMUM_ANISOTROPIC",
José Fonseca5b6fb752012-04-14 14:56:45 +0100849])
850
José Fonsecaee590be2012-04-16 13:25:06 +0100851D3D11_FILTER_TYPE = Enum("D3D11_FILTER_TYPE", [
852 "D3D11_FILTER_TYPE_POINT",
853 "D3D11_FILTER_TYPE_LINEAR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100854])
855
José Fonsecaee590be2012-04-16 13:25:06 +0100856D3D11_TEXTURE_ADDRESS_MODE = Enum("D3D11_TEXTURE_ADDRESS_MODE", [
857 "D3D11_TEXTURE_ADDRESS_WRAP",
858 "D3D11_TEXTURE_ADDRESS_MIRROR",
859 "D3D11_TEXTURE_ADDRESS_CLAMP",
860 "D3D11_TEXTURE_ADDRESS_BORDER",
861 "D3D11_TEXTURE_ADDRESS_MIRROR_ONCE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100862])
863
José Fonsecaee590be2012-04-16 13:25:06 +0100864D3D11_SAMPLER_DESC = Struct("D3D11_SAMPLER_DESC", [
865 (D3D11_FILTER, "Filter"),
866 (D3D11_TEXTURE_ADDRESS_MODE, "AddressU"),
867 (D3D11_TEXTURE_ADDRESS_MODE, "AddressV"),
868 (D3D11_TEXTURE_ADDRESS_MODE, "AddressW"),
869 (FLOAT, "MipLODBias"),
870 (UINT, "MaxAnisotropy"),
871 (D3D11_COMPARISON_FUNC, "ComparisonFunc"),
872 (Array(FLOAT, 4), "BorderColor"),
873 (FLOAT, "MinLOD"),
874 (FLOAT, "MaxLOD"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100875])
876
877ID3D11SamplerState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000878 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_SAMPLER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100879]
880
José Fonsecaee590be2012-04-16 13:25:06 +0100881D3D11_FORMAT_SUPPORT = Flags(UINT, [
882 "D3D11_FORMAT_SUPPORT_BUFFER",
883 "D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER",
884 "D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER",
885 "D3D11_FORMAT_SUPPORT_SO_BUFFER",
886 "D3D11_FORMAT_SUPPORT_TEXTURE1D",
887 "D3D11_FORMAT_SUPPORT_TEXTURE2D",
888 "D3D11_FORMAT_SUPPORT_TEXTURE3D",
889 "D3D11_FORMAT_SUPPORT_TEXTURECUBE",
890 "D3D11_FORMAT_SUPPORT_SHADER_LOAD",
891 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE",
892 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON",
893 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT",
894 "D3D11_FORMAT_SUPPORT_MIP",
895 "D3D11_FORMAT_SUPPORT_MIP_AUTOGEN",
896 "D3D11_FORMAT_SUPPORT_RENDER_TARGET",
897 "D3D11_FORMAT_SUPPORT_BLENDABLE",
898 "D3D11_FORMAT_SUPPORT_DEPTH_STENCIL",
899 "D3D11_FORMAT_SUPPORT_CPU_LOCKABLE",
900 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE",
901 "D3D11_FORMAT_SUPPORT_DISPLAY",
902 "D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT",
903 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET",
904 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD",
905 "D3D11_FORMAT_SUPPORT_SHADER_GATHER",
906 "D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST",
907 "D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW",
908 "D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON",
Jose Fonseca503fde92015-07-16 17:00:30 +0100909 "D3D11_FORMAT_SUPPORT_DECODER_OUTPUT",
910 "D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT",
911 "D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT",
912 "D3D11_FORMAT_SUPPORT_VIDEO_ENCODER",
José Fonseca5b6fb752012-04-14 14:56:45 +0100913])
914
José Fonsecaee590be2012-04-16 13:25:06 +0100915D3D11_FORMAT_SUPPORT2 = Enum("D3D11_FORMAT_SUPPORT2", [
916 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD",
917 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS",
918 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE",
919 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE",
920 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX",
921 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX",
922 "D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD",
923 "D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE",
Jose Fonseca503fde92015-07-16 17:00:30 +0100924 "D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP",
925 "D3D11_FORMAT_SUPPORT2_TILED",
926 "D3D11_FORMAT_SUPPORT2_SHAREABLE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100927])
928
929ID3D11Asynchronous.methods += [
José Fonsecabc10e452012-11-08 10:24:45 +0000930 StdMethod(UINT, "GetDataSize", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100931]
932
933D3D11_ASYNC_GETDATA_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100934 "D3D11_ASYNC_GETDATA_DONOTFLUSH",
José Fonseca5b6fb752012-04-14 14:56:45 +0100935])
936
José Fonsecaee590be2012-04-16 13:25:06 +0100937D3D11_QUERY = Enum("D3D11_QUERY", [
938 "D3D11_QUERY_EVENT",
939 "D3D11_QUERY_OCCLUSION",
940 "D3D11_QUERY_TIMESTAMP",
941 "D3D11_QUERY_TIMESTAMP_DISJOINT",
942 "D3D11_QUERY_PIPELINE_STATISTICS",
943 "D3D11_QUERY_OCCLUSION_PREDICATE",
944 "D3D11_QUERY_SO_STATISTICS",
945 "D3D11_QUERY_SO_OVERFLOW_PREDICATE",
946 "D3D11_QUERY_SO_STATISTICS_STREAM0",
947 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0",
948 "D3D11_QUERY_SO_STATISTICS_STREAM1",
949 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1",
950 "D3D11_QUERY_SO_STATISTICS_STREAM2",
951 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2",
952 "D3D11_QUERY_SO_STATISTICS_STREAM3",
953 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3",
José Fonseca5b6fb752012-04-14 14:56:45 +0100954])
955
956D3D11_QUERY_MISC_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100957 "D3D11_QUERY_MISC_PREDICATEHINT",
José Fonseca5b6fb752012-04-14 14:56:45 +0100958])
959
José Fonsecaee590be2012-04-16 13:25:06 +0100960D3D11_QUERY_DESC = Struct("D3D11_QUERY_DESC", [
961 (D3D11_QUERY, "Query"),
962 (D3D11_QUERY_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100963])
964
965ID3D11Query.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000966 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_QUERY_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100967]
968
José Fonsecaee590be2012-04-16 13:25:06 +0100969D3D11_QUERY_DATA_TIMESTAMP_DISJOINT = Struct("D3D11_QUERY_DATA_TIMESTAMP_DISJOINT", [
970 (UINT64, "Frequency"),
971 (BOOL, "Disjoint"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100972])
973
José Fonsecaee590be2012-04-16 13:25:06 +0100974D3D11_QUERY_DATA_PIPELINE_STATISTICS = Struct("D3D11_QUERY_DATA_PIPELINE_STATISTICS", [
975 (UINT64, "IAVertices"),
976 (UINT64, "IAPrimitives"),
977 (UINT64, "VSInvocations"),
978 (UINT64, "GSInvocations"),
979 (UINT64, "GSPrimitives"),
980 (UINT64, "CInvocations"),
981 (UINT64, "CPrimitives"),
982 (UINT64, "PSInvocations"),
983 (UINT64, "HSInvocations"),
984 (UINT64, "DSInvocations"),
985 (UINT64, "CSInvocations"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100986])
987
José Fonsecaee590be2012-04-16 13:25:06 +0100988D3D11_QUERY_DATA_SO_STATISTICS = Struct("D3D11_QUERY_DATA_SO_STATISTICS", [
989 (UINT64, "NumPrimitivesWritten"),
990 (UINT64, "PrimitivesStorageNeeded"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100991])
992
José Fonsecadbc46f02014-08-15 17:04:17 +0100993D3D11_QUERY_DATA = Polymorphic("_getQueryType(pAsync)", [
994 ("D3D11_QUERY_EVENT", Pointer(BOOL)),
995 ("D3D11_QUERY_OCCLUSION", Pointer(UINT64)),
996 ("D3D11_QUERY_TIMESTAMP", Pointer(UINT64)),
997 ("D3D11_QUERY_TIMESTAMP_DISJOINT", Pointer(D3D11_QUERY_DATA_TIMESTAMP_DISJOINT)),
998 ("D3D11_QUERY_PIPELINE_STATISTICS", Pointer(D3D11_QUERY_DATA_PIPELINE_STATISTICS)),
999 ("D3D11_QUERY_OCCLUSION_PREDICATE", Pointer(BOOL)),
1000 ("D3D11_QUERY_SO_STATISTICS", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1001 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE", Pointer(BOOL)),
1002 ("D3D11_QUERY_SO_STATISTICS_STREAM0", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1003 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0", Pointer(BOOL)),
1004 ("D3D11_QUERY_SO_STATISTICS_STREAM1", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1005 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1", Pointer(BOOL)),
1006 ("D3D11_QUERY_SO_STATISTICS_STREAM2", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1007 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2", Pointer(BOOL)),
1008 ("D3D11_QUERY_SO_STATISTICS_STREAM3", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1009 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3", Pointer(BOOL)),
1010], Blob(Void, "DataSize"), contextLess=False)
1011
José Fonsecaee590be2012-04-16 13:25:06 +01001012D3D11_COUNTER = Enum("D3D11_COUNTER", [
1013 "D3D11_COUNTER_DEVICE_DEPENDENT_0",
José Fonseca5b6fb752012-04-14 14:56:45 +01001014])
1015
José Fonsecaee590be2012-04-16 13:25:06 +01001016D3D11_COUNTER_TYPE = Enum("D3D11_COUNTER_TYPE", [
1017 "D3D11_COUNTER_TYPE_FLOAT32",
1018 "D3D11_COUNTER_TYPE_UINT16",
1019 "D3D11_COUNTER_TYPE_UINT32",
1020 "D3D11_COUNTER_TYPE_UINT64",
José Fonseca5b6fb752012-04-14 14:56:45 +01001021])
1022
José Fonsecaee590be2012-04-16 13:25:06 +01001023D3D11_COUNTER_DESC = Struct("D3D11_COUNTER_DESC", [
1024 (D3D11_COUNTER, "Counter"),
1025 (UINT, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001026])
1027
José Fonsecaee590be2012-04-16 13:25:06 +01001028D3D11_COUNTER_INFO = Struct("D3D11_COUNTER_INFO", [
1029 (D3D11_COUNTER, "LastDeviceDependentCounter"),
1030 (UINT, "NumSimultaneousCounters"),
1031 (UINT8, "NumDetectableParallelUnits"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001032])
1033
1034ID3D11Counter.methods += [
José Fonseca2b807452012-11-10 09:50:10 +00001035 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_COUNTER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001036]
1037
José Fonsecaee590be2012-04-16 13:25:06 +01001038D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS = Enum("D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS", [
1039 "D3D11_STANDARD_MULTISAMPLE_PATTERN",
1040 "D3D11_CENTER_MULTISAMPLE_PATTERN",
José Fonseca5b6fb752012-04-14 14:56:45 +01001041])
1042
José Fonsecaee590be2012-04-16 13:25:06 +01001043D3D11_DEVICE_CONTEXT_TYPE = Enum("D3D11_DEVICE_CONTEXT_TYPE", [
1044 "D3D11_DEVICE_CONTEXT_IMMEDIATE",
1045 "D3D11_DEVICE_CONTEXT_DEFERRED",
José Fonseca5b6fb752012-04-14 14:56:45 +01001046])
1047
José Fonsecaee590be2012-04-16 13:25:06 +01001048D3D11_CLASS_INSTANCE_DESC = Struct("D3D11_CLASS_INSTANCE_DESC", [
1049 (UINT, "InstanceId"),
1050 (UINT, "InstanceIndex"),
1051 (UINT, "TypeId"),
1052 (UINT, "ConstantBuffer"),
1053 (UINT, "BaseConstantBufferOffset"),
1054 (UINT, "BaseTexture"),
1055 (UINT, "BaseSampler"),
1056 (BOOL, "Created"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001057])
1058
1059
1060ID3D11ClassInstance.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001061 StdMethod(Void, "GetClassLinkage", [Out(Pointer(ObjPointer(ID3D11ClassLinkage)), "ppLinkage")]),
José Fonsecabc10e452012-11-08 10:24:45 +00001062 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_CLASS_INSTANCE_DESC), "pDesc")], sideeffects=False),
1063 StdMethod(Void, "GetInstanceName", [Out(LPSTR, "pInstanceName"), Out(Pointer(SIZE_T), "pBufferLength")], sideeffects=False),
1064 StdMethod(Void, "GetTypeName", [Out(LPSTR, "pTypeName"), Out(Pointer(SIZE_T), "pBufferLength")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001065]
1066
1067ID3D11ClassLinkage.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001068 StdMethod(HRESULT, "GetClassInstance", [(LPCSTR, "pClassInstanceName"), (UINT, "InstanceIndex"), Out(Pointer(ObjPointer(ID3D11ClassInstance)), "ppInstance")]),
1069 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 +01001070]
1071
1072ID3D11CommandList.methods += [
José Fonseca2b807452012-11-10 09:50:10 +00001073 StdMethod(UINT, "GetContextFlags", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001074]
1075
José Fonsecaee590be2012-04-16 13:25:06 +01001076D3D11_FEATURE_DATA_THREADING = Struct("D3D11_FEATURE_DATA_THREADING", [
1077 (BOOL, "DriverConcurrentCreates"),
1078 (BOOL, "DriverCommandLists"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001079])
1080
José Fonsecaee590be2012-04-16 13:25:06 +01001081D3D11_FEATURE_DATA_DOUBLES = Struct("D3D11_FEATURE_DATA_DOUBLES", [
1082 (BOOL, "DoublePrecisionFloatShaderOps"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001083])
1084
José Fonsecaee590be2012-04-16 13:25:06 +01001085D3D11_FEATURE_DATA_FORMAT_SUPPORT = Struct("D3D11_FEATURE_DATA_FORMAT_SUPPORT", [
1086 (DXGI_FORMAT, "InFormat"),
1087 (D3D11_FORMAT_SUPPORT, "OutFormatSupport"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001088])
1089
José Fonsecaee590be2012-04-16 13:25:06 +01001090D3D11_FEATURE_DATA_FORMAT_SUPPORT2 = Struct("D3D11_FEATURE_DATA_FORMAT_SUPPORT2", [
1091 (DXGI_FORMAT, "InFormat"),
1092 (D3D11_FORMAT_SUPPORT2, "OutFormatSupport2"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001093])
1094
José Fonsecaee590be2012-04-16 13:25:06 +01001095D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS", [
1096 (BOOL, "ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001097])
1098
José Fonseca9a8d0cf2014-10-03 15:38:14 +01001099D3D11_FEATURE_DATA_D3D11_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D11_OPTIONS", [
1100 (BOOL, "OutputMergerLogicOp"),
1101 (BOOL, "UAVOnlyRenderingForcedSampleCount"),
1102 (BOOL, "DiscardAPIsSeenByDriver"),
1103 (BOOL, "FlagsForUpdateAndCopySeenByDriver"),
1104 (BOOL, "ClearView"),
1105 (BOOL, "CopyWithOverlap"),
1106 (BOOL, "ConstantBufferPartialUpdate"),
1107 (BOOL, "ConstantBufferOffsetting"),
1108 (BOOL, "MapNoOverwriteOnDynamicConstantBuffer"),
1109 (BOOL, "MapNoOverwriteOnDynamicBufferSRV"),
1110 (BOOL, "MultisampleRTVWithForcedSampleCountOne"),
1111 (BOOL, "SAD4ShaderInstructions"),
1112 (BOOL, "ExtendedDoublesShaderInstructions"),
1113 (BOOL, "ExtendedResourceSharing"),
1114])
1115
1116D3D11_FEATURE_DATA_ARCHITECTURE_INFO = Struct("D3D11_FEATURE_DATA_ARCHITECTURE_INFO", [
1117 (BOOL, "TileBasedDeferredRenderer"),
1118])
1119
1120D3D11_FEATURE_DATA_D3D9_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D9_OPTIONS", [
1121 (BOOL, "FullNonPow2TextureSupport"),
1122])
1123
1124D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT = Struct("D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT", [
1125 (BOOL, "SupportsDepthAsTextureWithLessEqualComparisonFilter"),
1126])
1127
1128D3D11_SHADER_MIN_PRECISION_SUPPORT = Enum("D3D11_SHADER_MIN_PRECISION_SUPPORT", [
1129 "D3D11_SHADER_MIN_PRECISION_10_BIT",
1130 "D3D11_SHADER_MIN_PRECISION_16_BIT",
1131])
1132
1133D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT = Struct("D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT", [
1134 (UINT, "PixelShaderMinPrecision"),
1135 (UINT, "AllOtherShaderStagesMinPrecision"),
1136])
1137
1138D3D11_TILED_RESOURCES_TIER = Enum("D3D11_TILED_RESOURCES_TIER", [
1139 "D3D11_TILED_RESOURCES_NOT_SUPPORTED",
1140 "D3D11_TILED_RESOURCES_TIER_1",
1141 "D3D11_TILED_RESOURCES_TIER_2",
1142])
1143
1144D3D11_FEATURE_DATA_D3D11_OPTIONS1 = Struct("D3D11_FEATURE_DATA_D3D11_OPTIONS1", [
1145 (D3D11_TILED_RESOURCES_TIER, "TiledResourcesTier"),
1146 (BOOL, "MinMaxFiltering"),
1147 (BOOL, "ClearViewAlsoSupportsDepthOnlyFormats"),
1148 (BOOL, "MapOnDefaultBuffers"),
1149])
1150
1151D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT = Struct("D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT", [
1152 (BOOL, "SimpleInstancingSupported"),
1153])
1154
1155D3D11_FEATURE_DATA_MARKER_SUPPORT = Struct("D3D11_FEATURE_DATA_MARKER_SUPPORT", [
1156 (BOOL, "Profile"),
1157])
1158
1159D3D11_FEATURE_DATA_D3D9_OPTIONS1 = Struct("D3D11_FEATURE_DATA_D3D9_OPTIONS1", [
1160 (BOOL, "FullNonPow2TextureSupported"),
1161 (BOOL, "DepthAsTextureWithLessEqualComparisonFilterSupported"),
1162 (BOOL, "SimpleInstancingSupported"),
1163 (BOOL, "TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported"),
1164])
1165
José Fonsecab95e3722012-04-16 14:01:15 +01001166D3D11_FEATURE, D3D11_FEATURE_DATA = EnumPolymorphic("D3D11_FEATURE", "Feature", [
1167 ("D3D11_FEATURE_THREADING", Pointer(D3D11_FEATURE_DATA_THREADING)),
1168 ("D3D11_FEATURE_DOUBLES", Pointer(D3D11_FEATURE_DATA_DOUBLES)),
1169 ("D3D11_FEATURE_FORMAT_SUPPORT", Pointer(D3D11_FEATURE_DATA_FORMAT_SUPPORT)),
1170 ("D3D11_FEATURE_FORMAT_SUPPORT2", Pointer(D3D11_FEATURE_DATA_FORMAT_SUPPORT2)),
1171 ("D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS)),
José Fonseca9a8d0cf2014-10-03 15:38:14 +01001172 ("D3D11_FEATURE_D3D11_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D11_OPTIONS)),
1173 ("D3D11_FEATURE_ARCHITECTURE_INFO", Pointer(D3D11_FEATURE_DATA_ARCHITECTURE_INFO)),
1174 ("D3D11_FEATURE_D3D9_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D9_OPTIONS)),
1175 ("D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT", Pointer(D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT)),
1176 ("D3D11_FEATURE_D3D9_SHADOW_SUPPORT", Pointer(D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT)),
1177 ("D3D11_FEATURE_D3D11_OPTIONS1", Pointer(D3D11_FEATURE_DATA_D3D11_OPTIONS1)),
1178 ("D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT", Pointer(D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT)),
1179 ("D3D11_FEATURE_MARKER_SUPPORT", Pointer(D3D11_FEATURE_DATA_MARKER_SUPPORT)),
1180 ("D3D11_FEATURE_D3D9_OPTIONS1", Pointer(D3D11_FEATURE_DATA_D3D9_OPTIONS1)),
José Fonsecab95e3722012-04-16 14:01:15 +01001181], Blob(Void, "FeatureSupportDataSize"), False)
1182
José Fonseca5b6fb752012-04-14 14:56:45 +01001183ID3D11DeviceContext.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001184 StdMethod(Void, "VSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1185 StdMethod(Void, "PSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1186 StdMethod(Void, "PSSetShader", [(ObjPointer(ID3D11PixelShader), "pPixelShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1187 StdMethod(Void, "PSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1188 StdMethod(Void, "VSSetShader", [(ObjPointer(ID3D11VertexShader), "pVertexShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1189 StdMethod(Void, "DrawIndexed", [(UINT, "IndexCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation")]),
1190 StdMethod(Void, "Draw", [(UINT, "VertexCount"), (UINT, "StartVertexLocation")]),
1191 StdMethod(HRESULT, "Map", [(ObjPointer(ID3D11Resource), "pResource"), (UINT, "Subresource"), (D3D11_MAP, "MapType"), (D3D11_MAP_FLAG, "MapFlags"), Out(Pointer(D3D11_MAPPED_SUBRESOURCE), "pMappedResource")]),
1192 StdMethod(Void, "Unmap", [(ObjPointer(ID3D11Resource), "pResource"), (UINT, "Subresource")]),
1193 StdMethod(Void, "PSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1194 StdMethod(Void, "IASetInputLayout", [(ObjPointer(ID3D11InputLayout), "pInputLayout")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001195 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 +01001196 StdMethod(Void, "IASetIndexBuffer", [(ObjPointer(ID3D11Buffer), "pIndexBuffer"), (DXGI_FORMAT, "Format"), (UINT, "Offset")]),
1197 StdMethod(Void, "DrawIndexedInstanced", [(UINT, "IndexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation"), (UINT, "StartInstanceLocation")]),
1198 StdMethod(Void, "DrawInstanced", [(UINT, "VertexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartVertexLocation"), (UINT, "StartInstanceLocation")]),
1199 StdMethod(Void, "GSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1200 StdMethod(Void, "GSSetShader", [(ObjPointer(ID3D11GeometryShader), "pShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1201 StdMethod(Void, "IASetPrimitiveTopology", [(D3D11_PRIMITIVE_TOPOLOGY, "Topology")]),
1202 StdMethod(Void, "VSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1203 StdMethod(Void, "VSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1204 StdMethod(Void, "Begin", [(ObjPointer(ID3D11Asynchronous), "pAsync")]),
1205 StdMethod(Void, "End", [(ObjPointer(ID3D11Asynchronous), "pAsync")]),
José Fonsecadbc46f02014-08-15 17:04:17 +01001206 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 +01001207 StdMethod(Void, "SetPredication", [(ObjPointer(ID3D11Predicate), "pPredicate"), (BOOL, "PredicateValue")]),
1208 StdMethod(Void, "GSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1209 StdMethod(Void, "GSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1210 StdMethod(Void, "OMSetRenderTargets", [(UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11RenderTargetView)), "NumViews"), "ppRenderTargetViews"), (ObjPointer(ID3D11DepthStencilView), "pDepthStencilView")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001211 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 +01001212 StdMethod(Void, "OMSetBlendState", [(ObjPointer(ID3D11BlendState), "pBlendState"), (Array(Const(FLOAT), 4), "BlendFactor"), (UINT, "SampleMask")]),
1213 StdMethod(Void, "OMSetDepthStencilState", [(ObjPointer(ID3D11DepthStencilState), "pDepthStencilState"), (UINT, "StencilRef")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001214 StdMethod(Void, "SOSetTargets", [(UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppSOTargets"), (Array(Const(UINT), "NumBuffers"), "pOffsets")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001215 StdMethod(Void, "DrawAuto", []),
1216 StdMethod(Void, "DrawIndexedInstancedIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1217 StdMethod(Void, "DrawInstancedIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1218 StdMethod(Void, "Dispatch", [(UINT, "ThreadGroupCountX"), (UINT, "ThreadGroupCountY"), (UINT, "ThreadGroupCountZ")]),
1219 StdMethod(Void, "DispatchIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1220 StdMethod(Void, "RSSetState", [(ObjPointer(ID3D11RasterizerState), "pRasterizerState")]),
1221 StdMethod(Void, "RSSetViewports", [(UINT, "NumViewports"), (Array(Const(D3D11_VIEWPORT), "NumViewports"), "pViewports")]),
1222 StdMethod(Void, "RSSetScissorRects", [(UINT, "NumRects"), (Array(Const(D3D11_RECT), "NumRects"), "pRects")]),
1223 StdMethod(Void, "CopySubresourceRegion", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (UINT, "DstX"), (UINT, "DstY"), (UINT, "DstZ"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (Pointer(Const(D3D11_BOX)), "pSrcBox")]),
1224 StdMethod(Void, "CopyResource", [(ObjPointer(ID3D11Resource), "pDstResource"), (ObjPointer(ID3D11Resource), "pSrcResource")]),
José Fonsecacc9abd72012-11-08 10:47:18 +00001225 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 +01001226 StdMethod(Void, "CopyStructureCount", [(ObjPointer(ID3D11Buffer), "pDstBuffer"), (UINT, "DstAlignedByteOffset"), (ObjPointer(ID3D11UnorderedAccessView), "pSrcView")]),
1227 StdMethod(Void, "ClearRenderTargetView", [(ObjPointer(ID3D11RenderTargetView), "pRenderTargetView"), (Array(Const(FLOAT), 4), "ColorRGBA")]),
1228 StdMethod(Void, "ClearUnorderedAccessViewUint", [(ObjPointer(ID3D11UnorderedAccessView), "pUnorderedAccessView"), (Array(Const(UINT), 4), "Values")]),
1229 StdMethod(Void, "ClearUnorderedAccessViewFloat", [(ObjPointer(ID3D11UnorderedAccessView), "pUnorderedAccessView"), (Array(Const(FLOAT), 4), "Values")]),
1230 StdMethod(Void, "ClearDepthStencilView", [(ObjPointer(ID3D11DepthStencilView), "pDepthStencilView"), (D3D11_CLEAR_FLAG, "ClearFlags"), (FLOAT, "Depth"), (UINT8, "Stencil")]),
1231 StdMethod(Void, "GenerateMips", [(ObjPointer(ID3D11ShaderResourceView), "pShaderResourceView")]),
1232 StdMethod(Void, "SetResourceMinLOD", [(ObjPointer(ID3D11Resource), "pResource"), (FLOAT, "MinLOD")]),
José Fonseca2b807452012-11-10 09:50:10 +00001233 StdMethod(FLOAT, "GetResourceMinLOD", [(ObjPointer(ID3D11Resource), "pResource")], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001234 StdMethod(Void, "ResolveSubresource", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (DXGI_FORMAT, "Format")]),
1235 StdMethod(Void, "ExecuteCommandList", [(ObjPointer(ID3D11CommandList), "pCommandList"), (BOOL, "RestoreContextState")]),
1236 StdMethod(Void, "HSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1237 StdMethod(Void, "HSSetShader", [(ObjPointer(ID3D11HullShader), "pHullShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1238 StdMethod(Void, "HSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1239 StdMethod(Void, "HSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1240 StdMethod(Void, "DSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1241 StdMethod(Void, "DSSetShader", [(ObjPointer(ID3D11DomainShader), "pDomainShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1242 StdMethod(Void, "DSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1243 StdMethod(Void, "DSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1244 StdMethod(Void, "CSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001245 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 +01001246 StdMethod(Void, "CSSetShader", [(ObjPointer(ID3D11ComputeShader), "pComputeShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1247 StdMethod(Void, "CSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1248 StdMethod(Void, "CSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001249 StdMethod(Void, "VSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1250 StdMethod(Void, "PSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001251 StdMethod(Void, "PSGetShader", [Out(Pointer(ObjPointer(ID3D11PixelShader)), "ppPixelShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), InOut(Pointer(UINT), "pNumClassInstances")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001252 StdMethod(Void, "PSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001253 StdMethod(Void, "VSGetShader", [Out(Pointer(ObjPointer(ID3D11VertexShader)), "ppVertexShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), InOut(Pointer(UINT), "pNumClassInstances")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001254 StdMethod(Void, "PSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001255 StdMethod(Void, "IAGetInputLayout", [Out(Pointer(ObjPointer(ID3D11InputLayout)), "ppInputLayout")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001256 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 +01001257 StdMethod(Void, "IAGetIndexBuffer", [Out(Pointer(ObjPointer(ID3D11Buffer)), "pIndexBuffer"), Out(Pointer(DXGI_FORMAT), "Format"), Out(Pointer(UINT), "Offset")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001258 StdMethod(Void, "GSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001259 StdMethod(Void, "GSGetShader", [Out(Pointer(ObjPointer(ID3D11GeometryShader)), "ppGeometryShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), InOut(Pointer(UINT), "pNumClassInstances")]),
José Fonseca2b807452012-11-10 09:50:10 +00001260 StdMethod(Void, "IAGetPrimitiveTopology", [Out(Pointer(D3D11_PRIMITIVE_TOPOLOGY), "pTopology")], sideeffects=False),
José Fonseca8ce19e42012-11-21 21:01:05 +00001261 StdMethod(Void, "VSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1262 StdMethod(Void, "VSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001263 StdMethod(Void, "GetPredication", [Out(Pointer(ObjPointer(ID3D11Predicate)), "ppPredicate"), Out(Pointer(BOOL), "pPredicateValue")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001264 StdMethod(Void, "GSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1265 StdMethod(Void, "GSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1266 StdMethod(Void, "OMGetRenderTargets", [(UINT, "NumViews"), Out(Array(ObjPointer(ID3D11RenderTargetView), "NumViews"), "ppRenderTargetViews"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView")]),
1267 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 +01001268 StdMethod(Void, "OMGetBlendState", [Out(Pointer(ObjPointer(ID3D11BlendState)), "ppBlendState"), Out(Array(FLOAT, 4), "BlendFactor"), Out(Pointer(UINT), "pSampleMask")]),
1269 StdMethod(Void, "OMGetDepthStencilState", [Out(Pointer(ObjPointer(ID3D11DepthStencilState)), "ppDepthStencilState"), Out(Pointer(UINT), "pStencilRef")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001270 StdMethod(Void, "SOGetTargets", [(UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppSOTargets")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001271 StdMethod(Void, "RSGetState", [Out(Pointer(ObjPointer(ID3D11RasterizerState)), "ppRasterizerState")]),
José Fonseca00b9aba2014-08-13 13:18:48 +01001272 StdMethod(Void, "RSGetViewports", [InOut(Pointer(UINT), "pNumViewports"), Out(Array(D3D11_VIEWPORT, "*pNumViewports"), "pViewports")], sideeffects=False),
1273 StdMethod(Void, "RSGetScissorRects", [InOut(Pointer(UINT), "pNumRects"), Out(Array(D3D11_RECT, "*pNumRects"), "pRects")], sideeffects=False),
José Fonseca8ce19e42012-11-21 21:01:05 +00001274 StdMethod(Void, "HSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001275 StdMethod(Void, "HSGetShader", [Out(Pointer(ObjPointer(ID3D11HullShader)), "ppHullShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), InOut(Pointer(UINT), "pNumClassInstances")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001276 StdMethod(Void, "HSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1277 StdMethod(Void, "HSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1278 StdMethod(Void, "DSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001279 StdMethod(Void, "DSGetShader", [Out(Pointer(ObjPointer(ID3D11DomainShader)), "ppDomainShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), InOut(Pointer(UINT), "pNumClassInstances")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001280 StdMethod(Void, "DSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1281 StdMethod(Void, "DSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1282 StdMethod(Void, "CSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1283 StdMethod(Void, "CSGetUnorderedAccessViews", [(UINT, "StartSlot"), (UINT, "NumUAVs"), Out(Array(ObjPointer(ID3D11UnorderedAccessView), "NumUAVs"), "ppUnorderedAccessViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001284 StdMethod(Void, "CSGetShader", [Out(Pointer(ObjPointer(ID3D11ComputeShader)), "ppComputeShader"), Out(Array(ObjPointer(ID3D11ClassInstance), "*pNumClassInstances"), "ppClassInstances"), InOut(Pointer(UINT), "pNumClassInstances")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001285 StdMethod(Void, "CSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1286 StdMethod(Void, "CSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001287 StdMethod(Void, "ClearState", []),
1288 StdMethod(Void, "Flush", []),
José Fonseca2b807452012-11-10 09:50:10 +00001289 StdMethod(D3D11_DEVICE_CONTEXT_TYPE, "GetType", [], sideeffects=False),
1290 StdMethod(UINT, "GetContextFlags", [], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001291 StdMethod(HRESULT, "FinishCommandList", [(BOOL, "RestoreDeferredContextState"), Out(Pointer(ObjPointer(ID3D11CommandList)), "ppCommandList")]),
José Fonseca5b6fb752012-04-14 14:56:45 +01001292]
1293
1294D3D11_CREATE_DEVICE_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +01001295 "D3D11_CREATE_DEVICE_SINGLETHREADED",
1296 "D3D11_CREATE_DEVICE_DEBUG",
1297 "D3D11_CREATE_DEVICE_SWITCH_TO_REF",
1298 "D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS",
1299 "D3D11_CREATE_DEVICE_BGRA_SUPPORT",
José Fonseca40b82ca2015-02-07 22:55:49 +00001300 "D3D11_CREATE_DEVICE_DEBUGGABLE",
1301 "D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY",
1302 "D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT",
1303 "D3D11_CREATE_DEVICE_VIDEO_SUPPORT",
José Fonseca5b6fb752012-04-14 14:56:45 +01001304])
1305
1306ID3D11Device.methods += [
Jose Fonsecaa9b61382015-06-10 22:04:45 +01001307 StdMethod(HRESULT, "CreateBuffer", [(Pointer(Const(D3D11_BUFFER_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), 1), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Buffer)), "ppBuffer")]),
José Fonseca8f6e0e32012-11-07 19:22:20 +00001308 StdMethod(HRESULT, "CreateTexture1D", [(Pointer(Const(D3D11_TEXTURE1D_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture1D)), "ppTexture1D")]),
1309 StdMethod(HRESULT, "CreateTexture2D", [(Pointer(Const(D3D11_TEXTURE2D_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture2D)), "ppTexture2D")]),
1310 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 +01001311 StdMethod(HRESULT, "CreateShaderResourceView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_SHADER_RESOURCE_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11ShaderResourceView)), "ppSRView")]),
1312 StdMethod(HRESULT, "CreateUnorderedAccessView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_UNORDERED_ACCESS_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11UnorderedAccessView)), "ppUAView")]),
1313 StdMethod(HRESULT, "CreateRenderTargetView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_RENDER_TARGET_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11RenderTargetView)), "ppRTView")]),
1314 StdMethod(HRESULT, "CreateDepthStencilView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_DEPTH_STENCIL_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView")]),
1315 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")]),
1316 StdMethod(HRESULT, "CreateVertexShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11VertexShader)), "ppVertexShader")]),
1317 StdMethod(HRESULT, "CreateGeometryShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11GeometryShader)), "ppGeometryShader")]),
1318 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")]),
1319 StdMethod(HRESULT, "CreatePixelShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11PixelShader)), "ppPixelShader")]),
1320 StdMethod(HRESULT, "CreateHullShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11HullShader)), "ppHullShader")]),
1321 StdMethod(HRESULT, "CreateDomainShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11DomainShader)), "ppDomainShader")]),
1322 StdMethod(HRESULT, "CreateComputeShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11ComputeShader)), "ppComputeShader")]),
1323 StdMethod(HRESULT, "CreateClassLinkage", [Out(Pointer(ObjPointer(ID3D11ClassLinkage)), "ppLinkage")]),
1324 StdMethod(HRESULT, "CreateBlendState", [(Pointer(Const(D3D11_BLEND_DESC)), "pBlendStateDesc"), Out(Pointer(ObjPointer(ID3D11BlendState)), "ppBlendState")]),
1325 StdMethod(HRESULT, "CreateDepthStencilState", [(Pointer(Const(D3D11_DEPTH_STENCIL_DESC)), "pDepthStencilDesc"), Out(Pointer(ObjPointer(ID3D11DepthStencilState)), "ppDepthStencilState")]),
1326 StdMethod(HRESULT, "CreateRasterizerState", [(Pointer(Const(D3D11_RASTERIZER_DESC)), "pRasterizerDesc"), Out(Pointer(ObjPointer(ID3D11RasterizerState)), "ppRasterizerState")]),
1327 StdMethod(HRESULT, "CreateSamplerState", [(Pointer(Const(D3D11_SAMPLER_DESC)), "pSamplerDesc"), Out(Pointer(ObjPointer(ID3D11SamplerState)), "ppSamplerState")]),
1328 StdMethod(HRESULT, "CreateQuery", [(Pointer(Const(D3D11_QUERY_DESC)), "pQueryDesc"), Out(Pointer(ObjPointer(ID3D11Query)), "ppQuery")]),
1329 StdMethod(HRESULT, "CreatePredicate", [(Pointer(Const(D3D11_QUERY_DESC)), "pPredicateDesc"), Out(Pointer(ObjPointer(ID3D11Predicate)), "ppPredicate")]),
1330 StdMethod(HRESULT, "CreateCounter", [(Pointer(Const(D3D11_COUNTER_DESC)), "pCounterDesc"), Out(Pointer(ObjPointer(ID3D11Counter)), "ppCounter")]),
1331 StdMethod(HRESULT, "CreateDeferredContext", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppDeferredContext")]),
1332 StdMethod(HRESULT, "OpenSharedResource", [(HANDLE, "hResource"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
José Fonsecae088e5c2012-11-16 20:05:54 +00001333 StdMethod(HRESULT, "CheckFormatSupport", [(DXGI_FORMAT, "Format"), Out(Pointer(D3D11_FORMAT_SUPPORT), "pFormatSupport")], sideeffects=False),
1334 StdMethod(HRESULT, "CheckMultisampleQualityLevels", [(DXGI_FORMAT, "Format"), (UINT, "SampleCount"), Out(Pointer(UINT), "pNumQualityLevels")], sideeffects=False),
1335 StdMethod(Void, "CheckCounterInfo", [Out(Pointer(D3D11_COUNTER_INFO), "pCounterInfo")], sideeffects=False),
José Fonsecabc10e452012-11-08 10:24:45 +00001336 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),
1337 StdMethod(HRESULT, "CheckFeatureSupport", [(D3D11_FEATURE, "Feature"), Out(D3D11_FEATURE_DATA, "pFeatureSupportData"), (UINT, "FeatureSupportDataSize")], sideeffects=False),
José Fonseca9eec9342014-10-03 22:24:50 +01001338 StdMethod(HRESULT, "GetPrivateData", [(REFGUID, "guid"), InOut(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")], sideeffects=False),
José Fonseca3be2c672015-02-06 15:36:40 +00001339 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
José Fonsecabc10e452012-11-08 10:24:45 +00001340 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
José Fonseca2b807452012-11-10 09:50:10 +00001341 StdMethod(D3D_FEATURE_LEVEL, "GetFeatureLevel", [], sideeffects=False),
1342 StdMethod(D3D11_CREATE_DEVICE_FLAG, "GetCreationFlags", [], sideeffects=False),
1343 StdMethod(HRESULT, "GetDeviceRemovedReason", [], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001344 StdMethod(Void, "GetImmediateContext", [Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppImmediateContext")]),
1345 StdMethod(HRESULT, "SetExceptionMode", [(D3D11_RAISE_FLAG, "RaiseFlags")]),
José Fonseca5c05fdb2014-08-13 13:19:32 +01001346 StdMethod(D3D11_RAISE_FLAG, "GetExceptionMode", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001347]
1348
José Fonseca81301932012-11-11 00:10:20 +00001349d3d11 = Module("d3d11")
José Fonseca5b6fb752012-04-14 14:56:45 +01001350
1351d3d11.addFunctions([
José Fonsecaee590be2012-04-16 13:25:06 +01001352 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")]),
1353 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 +01001354])
1355
1356d3d11.addInterfaces([
José Fonseca5b6fb752012-04-14 14:56:45 +01001357 ID3D11Debug,
José Fonsecaf17f4642012-04-16 13:06:44 +01001358 ID3D11InfoQueue,
1359 ID3D11SwitchToRef,
José Fonseca5b6fb752012-04-14 14:56:45 +01001360])
José Fonsecafc58d052014-06-13 12:47:19 +01001361
José Fonseca50bee952015-02-07 22:32:19 +00001362
Jose Fonseca503fde92015-07-16 17:00:30 +01001363#
1364# D3D11 Video
1365#
1366
1367D3D11_VIDEO_DECODER_DESC = Struct("D3D11_VIDEO_DECODER_DESC", [
1368 (GUID, "Guid"),
1369 (UINT, "SampleWidth"),
1370 (UINT, "SampleHeight"),
1371 (DXGI_FORMAT, "OutputFormat"),
1372])
1373
1374D3D11_VIDEO_DECODER_CONFIG = Struct("D3D11_VIDEO_DECODER_CONFIG", [
1375 (GUID, "guidConfigBitstreamEncryption"),
1376 (GUID, "guidConfigMBcontrolEncryption"),
1377 (GUID, "guidConfigResidDiffEncryption"),
1378 (UINT, "ConfigBitstreamRaw"),
1379 (UINT, "ConfigMBcontrolRasterOrder"),
1380 (UINT, "ConfigResidDiffHost"),
1381 (UINT, "ConfigSpatialResid8"),
1382 (UINT, "ConfigResid8Subtraction"),
1383 (UINT, "ConfigSpatialHost8or9Clipping"),
1384 (UINT, "ConfigSpatialResidInterleaved"),
1385 (UINT, "ConfigIntraResidUnsigned"),
1386 (UINT, "ConfigResidDiffAccelerator"),
1387 (UINT, "ConfigHostInverseScan"),
1388 (UINT, "ConfigSpecificIDCT"),
1389 (UINT, "Config4GroupedCoefs"),
1390 (USHORT, "ConfigMinRenderTargetBuffCount"),
1391 (USHORT, "ConfigDecoderSpecific"),
1392])
1393
1394D3D11_VIDEO_DECODER_BUFFER_TYPE = Enum("D3D11_VIDEO_DECODER_BUFFER_TYPE", [
1395 "D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS",
1396 "D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL",
1397 "D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE",
1398 "D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL",
1399 "D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX",
1400 "D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL",
1401 "D3D11_VIDEO_DECODER_BUFFER_BITSTREAM",
1402 "D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR",
1403 "D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN",
1404])
1405
1406D3D11_AES_CTR_IV = Struct("D3D11_AES_CTR_IV", [
1407 (UINT64, "IV"),
1408 (UINT64, "Count"),
1409])
1410
1411D3D11_ENCRYPTED_BLOCK_INFO = Struct("D3D11_ENCRYPTED_BLOCK_INFO", [
1412 (UINT, "NumEncryptedBytesAtBeginning"),
1413 (UINT, "NumBytesInSkipPattern"),
1414 (UINT, "NumBytesInEncryptPattern"),
1415])
1416
1417D3D11_VIDEO_DECODER_BUFFER_DESC = Struct("D3D11_VIDEO_DECODER_BUFFER_DESC", [
1418 (D3D11_VIDEO_DECODER_BUFFER_TYPE, "BufferType"),
1419 (UINT, "BufferIndex"),
1420 (UINT, "DataOffset"),
1421 (UINT, "DataSize"),
1422 (UINT, "FirstMBaddress"),
1423 (UINT, "NumMBsInBuffer"),
1424 (UINT, "Width"),
1425 (UINT, "Height"),
1426 (UINT, "Stride"),
1427 (UINT, "ReservedBits"),
1428 (Blob(Void, "{self}.IVSize"), "pIV"),
1429 (UINT, "IVSize"),
1430 (BOOL, "PartialEncryption"),
1431 (D3D11_ENCRYPTED_BLOCK_INFO, "EncryptedBlockInfo"),
1432])
1433
1434D3D11_VIDEO_DECODER_EXTENSION = Struct("D3D11_VIDEO_DECODER_EXTENSION", [
1435 (UINT, "Function"),
1436 (Blob(Void, "{self}.PrivateInputDataSize"), "pPrivateInputData"),
1437 (UINT, "PrivateInputDataSize"),
1438 (Blob(Void, "{self}.PrivateOutputDataSize"), "pPrivateOutputData"),
1439 (UINT, "PrivateOutputDataSize"),
1440 (UINT, "ResourceCount"),
1441 (Array(ObjPointer(ID3D11Resource), "{self}.ResourceCount"), "ppResourceList"),
1442])
1443
1444ID3D11VideoDecoder = Interface("ID3D11VideoDecoder", ID3D11DeviceChild)
1445ID3D11VideoDecoder.methods += [
1446 StdMethod(HRESULT, "GetCreationParameters", [Out(Pointer(D3D11_VIDEO_DECODER_DESC), "pVideoDesc"), Out(Pointer(D3D11_VIDEO_DECODER_CONFIG), "pConfig")], sideeffects=False),
1447 StdMethod(HRESULT, "GetDriverHandle", [Out(Pointer(HANDLE), "pDriverHandle")]),
1448]
1449
1450D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT = Flags(UINT, [
1451 "D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT",
1452 "D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT",
1453])
1454
1455D3D11_VIDEO_PROCESSOR_DEVICE_CAPS = Flags(UINT, [
1456 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE",
1457 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC",
1458 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION",
1459 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION",
1460 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE",
1461])
1462
1463D3D11_VIDEO_PROCESSOR_FEATURE_CAPS = Flags(UINT, [
1464 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL",
1465 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION",
1466 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY",
1467 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE",
1468 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY",
1469 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO",
1470 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION",
1471 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM",
1472 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO",
1473])
1474
1475D3D11_VIDEO_PROCESSOR_FILTER_CAPS = Flags(UINT, [
1476 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS",
1477 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST",
1478 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE",
1479 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION",
1480 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION",
1481 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT",
1482 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING",
1483 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT",
1484])
1485
1486D3D11_VIDEO_PROCESSOR_FORMAT_CAPS = Flags(UINT, [
1487 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED",
1488 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP",
1489 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY",
1490 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED",
1491])
1492
1493D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS = Flags(UINT, [
1494 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE",
1495 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING",
1496 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT",
1497 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION",
1498 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING",
1499 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION",
1500 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION",
1501 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING",
1502])
1503
1504D3D11_VIDEO_PROCESSOR_STEREO_CAPS = Flags(UINT, [
1505 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET",
1506 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED",
1507 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED",
1508 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD",
1509 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE",
1510])
1511
1512D3D11_VIDEO_PROCESSOR_CAPS = Struct("D3D11_VIDEO_PROCESSOR_CAPS", [
1513 (D3D11_VIDEO_PROCESSOR_DEVICE_CAPS, "DeviceCaps"),
1514 (D3D11_VIDEO_PROCESSOR_FEATURE_CAPS, "FeatureCaps"),
1515 (D3D11_VIDEO_PROCESSOR_FILTER_CAPS, "FilterCaps"),
1516 (D3D11_VIDEO_PROCESSOR_FORMAT_CAPS, "InputFormatCaps"),
1517 (D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS, "AutoStreamCaps"),
1518 (D3D11_VIDEO_PROCESSOR_STEREO_CAPS, "StereoCaps"),
1519 (UINT, "RateConversionCapsCount"),
1520 (UINT, "MaxInputStreams"),
1521 (UINT, "MaxStreamStates"),
1522])
1523
1524D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS = Flags(UINT, [
1525 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND",
1526 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB",
1527 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE",
1528 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION",
1529 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE",
1530 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION",
1531])
1532
1533D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS = Flags(UINT, [
1534 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32",
1535 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22",
1536 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224",
1537 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332",
1538 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322",
1539 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55",
1540 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64",
1541 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87",
1542 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223",
1543 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER",
1544])
1545
1546D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS = Struct("D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS", [
1547 (UINT, "PastFrames"),
1548 (UINT, "FutureFrames"),
1549 (D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS, "ProcessorCaps"),
1550 (D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS, "ITelecineCaps"),
1551 (UINT, "CustomRateCount"),
1552])
1553
1554D3D11_CONTENT_PROTECTION_CAPS = Flags(UINT, [
1555 "D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE",
1556 "D3D11_CONTENT_PROTECTION_CAPS_HARDWARE",
1557 "D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON",
1558 "D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION",
1559 "D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY",
1560 "D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY",
1561 "D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK",
1562 "D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY",
1563 "D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV",
1564 "D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY",
1565 "D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT",
1566])
1567
1568D3D11_VIDEO_CONTENT_PROTECTION_CAPS = Struct("D3D11_VIDEO_CONTENT_PROTECTION_CAPS", [
1569 (D3D11_CONTENT_PROTECTION_CAPS, "Caps"),
1570 (UINT, "KeyExchangeTypeCount"),
1571 (UINT, "BlockAlignmentSize"),
1572 (ULONGLONG, "ProtectedMemorySize"),
1573])
1574
1575D3D11_VIDEO_PROCESSOR_CUSTOM_RATE = Struct("D3D11_VIDEO_PROCESSOR_CUSTOM_RATE", [
1576 (DXGI_RATIONAL, "CustomRate"),
1577 (UINT, "OutputFrames"),
1578 (BOOL, "InputInterlaced"),
1579 (UINT, "InputFramesOrFields"),
1580])
1581
1582D3D11_VIDEO_PROCESSOR_FILTER = Enum("D3D11_VIDEO_PROCESSOR_FILTER", [
1583 "D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS",
1584 "D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST",
1585 "D3D11_VIDEO_PROCESSOR_FILTER_HUE",
1586 "D3D11_VIDEO_PROCESSOR_FILTER_SATURATION",
1587 "D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION",
1588 "D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT",
1589 "D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING",
1590 "D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT",
1591])
1592
1593D3D11_VIDEO_PROCESSOR_FILTER_RANGE = Struct("D3D11_VIDEO_PROCESSOR_FILTER_RANGE", [
1594 (Int, "Minimum"),
1595 (Int, "Maximum"),
1596 (Int, "Default"),
1597 (Float, "Multiplier"),
1598])
1599
1600D3D11_VIDEO_FRAME_FORMAT = Enum("D3D11_VIDEO_FRAME_FORMAT", [
1601 "D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE",
1602 "D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST",
1603 "D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST",
1604])
1605
1606D3D11_VIDEO_USAGE = Enum("D3D11_VIDEO_USAGE", [
1607 "D3D11_VIDEO_USAGE_PLAYBACK_NORMAL",
1608 "D3D11_VIDEO_USAGE_OPTIMAL_SPEED",
1609 "D3D11_VIDEO_USAGE_OPTIMAL_QUALITY",
1610])
1611
1612D3D11_VIDEO_PROCESSOR_CONTENT_DESC = Struct("D3D11_VIDEO_PROCESSOR_CONTENT_DESC", [
1613 (D3D11_VIDEO_FRAME_FORMAT, "InputFrameFormat"),
1614 (DXGI_RATIONAL, "InputFrameRate"),
1615 (UINT, "InputWidth"),
1616 (UINT, "InputHeight"),
1617 (DXGI_RATIONAL, "OutputFrameRate"),
1618 (UINT, "OutputWidth"),
1619 (UINT, "OutputHeight"),
1620 (D3D11_VIDEO_USAGE, "Usage"),
1621])
1622
1623ID3D11VideoProcessorEnumerator = Interface("ID3D11VideoProcessorEnumerator", ID3D11DeviceChild)
1624ID3D11VideoProcessorEnumerator.methods += [
1625 StdMethod(HRESULT, "GetVideoProcessorContentDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_CONTENT_DESC), "pContentDesc")], sideeffects=False),
1626 StdMethod(HRESULT, "CheckVideoProcessorFormat", [(DXGI_FORMAT, "Format"), Out(Pointer(D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT), "pFlags")], sideeffects=False),
1627 StdMethod(HRESULT, "GetVideoProcessorCaps", [Out(Pointer(D3D11_VIDEO_PROCESSOR_CAPS), "pCaps")], sideeffects=False),
1628 StdMethod(HRESULT, "GetVideoProcessorRateConversionCaps", [(UINT, "TypeIndex"), Out(Pointer(D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS), "pCaps")], sideeffects=False),
1629 StdMethod(HRESULT, "GetVideoProcessorCustomRate", [(UINT, "TypeIndex"), (UINT, "CustomRateIndex"), Out(Pointer(D3D11_VIDEO_PROCESSOR_CUSTOM_RATE), "pRate")], sideeffects=False),
1630 StdMethod(HRESULT, "GetVideoProcessorFilterRange", [(D3D11_VIDEO_PROCESSOR_FILTER, "Filter"), Out(Pointer(D3D11_VIDEO_PROCESSOR_FILTER_RANGE), "pRange")], sideeffects=False),
1631]
1632
1633D3D11_VIDEO_COLOR_RGBA = Struct("D3D11_VIDEO_COLOR_RGBA", [
1634 (Float, "R"),
1635 (Float, "G"),
1636 (Float, "B"),
1637 (Float, "A"),
1638])
1639
1640D3D11_VIDEO_COLOR_YCbCrA = Struct("D3D11_VIDEO_COLOR_YCbCrA", [
1641 (Float, "Y"),
1642 (Float, "Cb"),
1643 (Float, "Cr"),
1644 (Float, "A"),
1645])
1646
1647D3D11_VIDEO_COLOR = Struct("D3D11_VIDEO_COLOR", [
1648 (D3D11_VIDEO_COLOR_YCbCrA, "YCbCr"),
1649 #(D3D11_VIDEO_COLOR_RGBA, "RGBA"),
1650])
1651
1652D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE = FakeEnum(UINT, [
1653 "D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED",
1654 "D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235",
1655 "D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255",
1656])
1657
1658D3D11_VIDEO_PROCESSOR_COLOR_SPACE = Struct("D3D11_VIDEO_PROCESSOR_COLOR_SPACE", [
1659 (UINT, "Usage"),
1660 (UINT, "RGB_Range"),
1661 (UINT, "YCbCr_Matrix"),
1662 (UINT, "YCbCr_xvYCC"),
1663 (D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE, "Nominal_Range"),
1664 (UINT, "Reserved"),
1665])
1666
1667D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE = Enum("D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE", [
1668 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE",
1669 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND",
1670 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION",
1671 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM",
1672])
1673
1674D3D11_VIDEO_PROCESSOR_OUTPUT_RATE = Enum("D3D11_VIDEO_PROCESSOR_OUTPUT_RATE", [
1675 "D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL",
1676 "D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF",
1677 "D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM",
1678])
1679
1680D3D11_VIDEO_PROCESSOR_STEREO_FORMAT = Enum("D3D11_VIDEO_PROCESSOR_STEREO_FORMAT", [
1681 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO",
1682 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL",
1683 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL",
1684 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE",
1685 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET",
1686 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED",
1687 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED",
1688 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD",
1689])
1690
1691D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE = Enum("D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE", [
1692 "D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE",
1693 "D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0",
1694 "D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1",
1695])
1696
1697D3D11_VIDEO_PROCESSOR_ROTATION = Enum("D3D11_VIDEO_PROCESSOR_ROTATION", [
1698 "D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY",
1699 "D3D11_VIDEO_PROCESSOR_ROTATION_90",
1700 "D3D11_VIDEO_PROCESSOR_ROTATION_180",
1701 "D3D11_VIDEO_PROCESSOR_ROTATION_270",
1702])
1703
1704ID3D11VideoProcessorInputView = Interface("ID3D11VideoProcessorInputView", ID3D11View)
1705
1706D3D11_VIDEO_PROCESSOR_STREAM = Struct("D3D11_VIDEO_PROCESSOR_STREAM", [
1707 (BOOL, "Enable"),
1708 (UINT, "OutputIndex"),
1709 (UINT, "InputFrameOrField"),
1710 (UINT, "PastFrames"),
1711 (UINT, "FutureFrames"),
1712 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.PastFrames"), "ppPastSurfaces"),
1713 (ObjPointer(ID3D11VideoProcessorInputView), "pInputSurface"),
1714 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.FutureFrames"), "ppFutureSurfaces"),
1715 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.PastFrames"), "ppPastSurfacesRight"),
1716 (ObjPointer(ID3D11VideoProcessorInputView), "pInputSurfaceRight"),
1717 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.FutureFrames"), "ppFutureSurfacesRight"),
1718])
1719
1720ID3D11VideoProcessor = Interface("ID3D11VideoProcessor", ID3D11DeviceChild)
1721ID3D11VideoProcessor.methods += [
1722 StdMethod(Void, "GetContentDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_CONTENT_DESC), "pDesc")], sideeffects=False),
1723 StdMethod(Void, "GetRateConversionCaps", [Out(Pointer(D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS), "pCaps")], sideeffects=False),
1724]
1725
1726D3D11_OMAC = Struct("D3D11_OMAC", [
1727 (Array(BYTE, 16), "Omac"),
1728])
1729
1730D3D11_AUTHENTICATED_CHANNEL_TYPE = Enum("D3D11_AUTHENTICATED_CHANNEL_TYPE", [
1731 "D3D11_AUTHENTICATED_CHANNEL_D3D11",
1732 "D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE",
1733 "D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE",
1734])
1735
1736ID3D11AuthenticatedChannel = Interface("ID3D11AuthenticatedChannel", ID3D11DeviceChild)
1737ID3D11AuthenticatedChannel.methods += [
1738 StdMethod(HRESULT, "GetCertificateSize", [Out(Pointer(UINT), "pCertificateSize")], sideeffects=False),
1739 StdMethod(HRESULT, "GetCertificate", [(UINT, "CertificateSize"), Out(Array(BYTE, "CertificateSize"), "pCertificate")], sideeffects=False),
1740 StdMethod(Void, "GetChannelHandle", [Out(Pointer(HANDLE), "pChannelHandle")]),
1741]
1742
1743D3D11_AUTHENTICATED_QUERY_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_INPUT", [
1744 (GUID, "QueryType"),
1745 (HANDLE, "hChannel"),
1746 (UINT, "SequenceNumber"),
1747])
1748
1749D3D11_AUTHENTICATED_QUERY_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT", [
1750 (D3D11_OMAC, "omac"),
1751 (GUID, "QueryType"),
1752 (HANDLE, "hChannel"),
1753 (UINT, "SequenceNumber"),
1754 (HRESULT, "ReturnCode"),
1755])
1756
1757D3D11_AUTHENTICATED_PROTECTION_FLAGS = Struct("D3D11_AUTHENTICATED_PROTECTION_FLAGS", [
1758 (UINT, "ProtectionEnabled"),
1759 (UINT, "OverlayOrFullscreenRequired"),
1760 (UINT, "Reserved"),
1761])
1762
1763D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT", [
1764 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1765 (D3D11_AUTHENTICATED_PROTECTION_FLAGS, "ProtectionFlags"),
1766])
1767
1768D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT", [
1769 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1770 (D3D11_AUTHENTICATED_CHANNEL_TYPE, "ChannelType"),
1771])
1772
1773D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT", [
1774 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1775 (HANDLE, "DeviceHandle"),
1776])
1777
1778D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT", [
1779 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1780 (HANDLE, "DecoderHandle"),
1781])
1782
1783D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT", [
1784 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1785 (HANDLE, "DecoderHandle"),
1786 (HANDLE, "CryptoSessionHandle"),
1787 (HANDLE, "DeviceHandle"),
1788])
1789
1790D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT", [
1791 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1792 (UINT, "RestrictedSharedResourceProcessCount"),
1793])
1794
1795D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT", [
1796 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1797 (UINT, "ProcessIndex"),
1798])
1799
1800D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE = Enum("D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE", [
1801 "D3D11_PROCESSIDTYPE_UNKNOWN",
1802 "D3D11_PROCESSIDTYPE_DWM",
1803 "D3D11_PROCESSIDTYPE_HANDLE",
1804])
1805
1806D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT", [
1807 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1808 (UINT, "ProcessIndex"),
1809 (D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, "ProcessIdentifier"),
1810 (HANDLE, "ProcessHandle"),
1811])
1812
1813D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT", [
1814 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1815 (UINT, "UnrestrictedProtectedSharedResourceCount"),
1816])
1817
1818D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT", [
1819 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1820 (HANDLE, "DeviceHandle"),
1821 (HANDLE, "CryptoSessionHandle"),
1822])
1823
1824D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT", [
1825 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1826 (HANDLE, "DeviceHandle"),
1827 (HANDLE, "CryptoSessionHandle"),
1828 (UINT, "OutputIDCount"),
1829])
1830
1831D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT", [
1832 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1833 (HANDLE, "DeviceHandle"),
1834 (HANDLE, "CryptoSessionHandle"),
1835 (UINT, "OutputIDIndex"),
1836])
1837
1838D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT", [
1839 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1840 (HANDLE, "DeviceHandle"),
1841 (HANDLE, "CryptoSessionHandle"),
1842 (UINT, "OutputIDIndex"),
1843 (UINT64, "OutputID"),
1844])
1845
1846D3D11_BUS_TYPE = Enum("D3D11_BUS_TYPE", [
1847 "D3D11_BUS_TYPE_OTHER",
1848 "D3D11_BUS_TYPE_PCI",
1849 "D3D11_BUS_TYPE_PCIX",
1850 "D3D11_BUS_TYPE_AGP",
1851 "D3D11_BUS_TYPE_PCIEXPRESS",
1852 # XXX: Flags
1853 "D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET",
1854 "D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP",
1855 "D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET",
1856 "D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR",
1857 "D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE",
1858 "D3D11_BUS_IMPL_MODIFIER_NON_STANDARD",
1859])
1860
1861D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT", [
1862 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1863 (D3D11_BUS_TYPE, "BusType"),
1864 (BOOL, "AccessibleInContiguousBlocks"),
1865 (BOOL, "AccessibleInNonContiguousBlocks"),
1866])
1867
1868D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT", [
1869 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1870 (UINT, "EncryptionGuidCount"),
1871])
1872
1873D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT", [
1874 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1875 (UINT, "EncryptionGuidIndex"),
1876])
1877
1878D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT", [
1879 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1880 (UINT, "EncryptionGuidIndex"),
1881 (GUID, "EncryptionGuid"),
1882])
1883
1884D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT", [
1885 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1886 (GUID, "EncryptionGuid"),
1887])
1888
1889D3D11_AUTHENTICATED_CONFIGURE_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_INPUT", [
1890 (D3D11_OMAC, "omac"),
1891 (GUID, "ConfigureType"),
1892 (HANDLE, "hChannel"),
1893 (UINT, "SequenceNumber"),
1894])
1895
1896D3D11_AUTHENTICATED_CONFIGURE_OUTPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_OUTPUT", [
1897 (D3D11_OMAC, "omac"),
1898 (GUID, "ConfigureType"),
1899 (HANDLE, "hChannel"),
1900 (UINT, "SequenceNumber"),
1901 (HRESULT, "ReturnCode"),
1902])
1903
1904D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT", [
1905 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
1906 (UINT, "StartSequenceQuery"),
1907 (UINT, "StartSequenceConfigure"),
1908])
1909
1910D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT", [
1911 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
1912 (D3D11_AUTHENTICATED_PROTECTION_FLAGS, "Protections"),
1913])
1914
1915D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT", [
1916 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
1917 (HANDLE, "DecoderHandle"),
1918 (HANDLE, "CryptoSessionHandle"),
1919 (HANDLE, "DeviceHandle"),
1920])
1921
1922D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT", [
1923 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
1924 (D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, "ProcessType"),
1925 (HANDLE, "ProcessHandle"),
1926 (BOOL, "AllowAccess"),
1927])
1928
1929D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT", [
1930 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
1931 (GUID, "EncryptionGuid"),
1932])
1933
1934ID3D11CryptoSession = Interface("ID3D11CryptoSession", ID3D11DeviceChild)
1935ID3D11CryptoSession.methods += [
1936 StdMethod(Void, "GetCryptoType", [Out(Pointer(GUID), "pCryptoType")], sideeffects=False),
1937 StdMethod(Void, "GetDecoderProfile", [Out(Pointer(GUID), "pDecoderProfile")], sideeffects=False),
1938 StdMethod(HRESULT, "GetCertificateSize", [Out(Pointer(UINT), "pCertificateSize")], sideeffects=False),
1939 StdMethod(HRESULT, "GetCertificate", [(UINT, "CertificateSize"), Out(Pointer(BYTE), "pCertificate")], sideeffects=False),
1940 StdMethod(Void, "GetCryptoSessionHandle", [Out(Pointer(HANDLE), "pCryptoSessionHandle")]),
1941]
1942
1943D3D11_VDOV_DIMENSION = Enum("D3D11_VDOV_DIMENSION", [
1944 "D3D11_VDOV_DIMENSION_UNKNOWN",
1945 "D3D11_VDOV_DIMENSION_TEXTURE2D",
1946])
1947
1948D3D11_TEX2D_VDOV = Struct("D3D11_TEX2D_VDOV", [
1949 (UINT, "ArraySlice"),
1950])
1951
1952D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC = Struct("D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC", [
1953 (GUID, "DecodeProfile"),
1954 (D3D11_VDOV_DIMENSION, "ViewDimension"),
1955 (Union("{self}.ViewDimension", [
1956 ("D3D11_VDOV_DIMENSION_TEXTURE2D", D3D11_TEX2D_VDOV, "Texture2D"),
1957 ]), None),
1958])
1959
1960ID3D11VideoDecoderOutputView = Interface("ID3D11VideoDecoderOutputView", ID3D11View)
1961ID3D11VideoDecoderOutputView.methods += [
1962 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC), "pDesc")], sideeffects=None),
1963]
1964
1965D3D11_VPIV_DIMENSION = Enum("D3D11_VPIV_DIMENSION", [
1966 "D3D11_VPIV_DIMENSION_UNKNOWN",
1967 "D3D11_VPIV_DIMENSION_TEXTURE2D",
1968])
1969
1970D3D11_TEX2D_VPIV = Struct("D3D11_TEX2D_VPIV", [
1971 (UINT, "MipSlice"),
1972 (UINT, "ArraySlice"),
1973])
1974
1975D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC = Struct("D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC", [
1976 (UINT, "FourCC"),
1977 (D3D11_VPIV_DIMENSION, "ViewDimension"),
1978 (Union("{self}.ViewDimension", [
1979 ("D3D11_VPIV_DIMENSION_TEXTURE2D", D3D11_TEX2D_VPIV, "Texture2D"),
1980 ]), None),
1981])
1982
1983ID3D11VideoProcessorInputView.methods += [
1984 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC), "pDesc")], sideeffects=None),
1985]
1986
1987D3D11_VPOV_DIMENSION = Enum("D3D11_VPOV_DIMENSION", [
1988 "D3D11_VPOV_DIMENSION_UNKNOWN",
1989 "D3D11_VPOV_DIMENSION_TEXTURE2D",
1990 "D3D11_VPOV_DIMENSION_TEXTURE2DARRAY",
1991])
1992
1993D3D11_TEX2D_VPOV = Struct("D3D11_TEX2D_VPOV", [
1994 (UINT, "MipSlice"),
1995])
1996
1997D3D11_TEX2D_ARRAY_VPOV = Struct("D3D11_TEX2D_ARRAY_VPOV", [
1998 (UINT, "MipSlice"),
1999 (UINT, "FirstArraySlice"),
2000 (UINT, "ArraySize"),
2001])
2002
2003D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC = Struct("D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC", [
2004 (D3D11_VPOV_DIMENSION, "ViewDimension"),
2005 (Union("{self}.ViewDimension", [
2006 ("D3D11_VPOV_DIMENSION_TEXTURE2D", D3D11_TEX2D_VPOV, "Texture2D"),
2007 ("D3D11_VPOV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_VPOV, "Texture2DArray"),
2008 ]), None),
2009])
2010
2011ID3D11VideoProcessorOutputView = Interface("ID3D11VideoProcessorOutputView", ID3D11View)
2012ID3D11VideoProcessorOutputView.methods += [
2013 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC), "pDesc")], sideeffects=None),
2014]
2015
2016ID3D11VideoContext = Interface("ID3D11VideoContext", ID3D11DeviceChild)
2017ID3D11VideoContext.methods += [
2018 StdMethod(HRESULT, "GetDecoderBuffer", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (D3D11_VIDEO_DECODER_BUFFER_TYPE, "Type"), Out(Pointer(UINT), "pBufferSize"), Out(Pointer(OpaqueBlob(Void, "*pBufferSize")), "ppBuffer")]),
2019 StdMethod(HRESULT, "ReleaseDecoderBuffer", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (D3D11_VIDEO_DECODER_BUFFER_TYPE, "Type")]),
2020 StdMethod(HRESULT, "DecoderBeginFrame", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (ObjPointer(ID3D11VideoDecoderOutputView), "pView"), (UINT, "ContentKeySize"), (Blob(Const(Void), "ContentKeySize"), "pContentKey")]),
2021 StdMethod(HRESULT, "DecoderEndFrame", [(ObjPointer(ID3D11VideoDecoder), "pDecoder")]),
2022 StdMethod(HRESULT, "SubmitDecoderBuffers", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (UINT, "NumBuffers"), (Pointer(Const(D3D11_VIDEO_DECODER_BUFFER_DESC)), "pBufferDesc")]),
2023 StdMethod(HRESULT, "DecoderExtension", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (Pointer(Const(D3D11_VIDEO_DECODER_EXTENSION)), "pExtensionData")]),
2024 StdMethod(Void, "VideoProcessorSetOutputTargetRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "Enable"), (Pointer(Const(RECT)), "pRect")]),
2025 StdMethod(Void, "VideoProcessorSetOutputBackgroundColor", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "YCbCr"), (Pointer(Const(D3D11_VIDEO_COLOR)), "pColor")]),
2026 StdMethod(Void, "VideoProcessorSetOutputColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_COLOR_SPACE)), "pColorSpace")]),
2027 StdMethod(Void, "VideoProcessorSetOutputAlphaFillMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, "AlphaFillMode"), (UINT, "StreamIndex")]),
2028 StdMethod(Void, "VideoProcessorSetOutputConstriction", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "Enable"), (SIZE, "Size")]),
2029 StdMethod(Void, "VideoProcessorSetOutputStereoMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "Enable")]),
2030 StdMethod(HRESULT, "VideoProcessorSetOutputExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), (Blob(Void, "DataSize"), "pData")]),
2031 StdMethod(Void, "VideoProcessorGetOutputTargetRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "Enabled"), Out(Pointer(RECT), "pRect")], sideeffects=False),
2032 StdMethod(Void, "VideoProcessorGetOutputBackgroundColor", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "pYCbCr"), Out(Pointer(D3D11_VIDEO_COLOR), "pColor")], sideeffects=False),
2033 StdMethod(Void, "VideoProcessorGetOutputColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(D3D11_VIDEO_PROCESSOR_COLOR_SPACE), "pColorSpace")], sideeffects=False),
2034 StdMethod(Void, "VideoProcessorGetOutputAlphaFillMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE), "pAlphaFillMode"), Out(Pointer(UINT), "pStreamIndex")], sideeffects=False),
2035 StdMethod(Void, "VideoProcessorGetOutputConstriction", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(SIZE), "pSize")], sideeffects=False),
2036 StdMethod(Void, "VideoProcessorGetOutputStereoMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "pEnabled")], sideeffects=False),
2037 StdMethod(HRESULT, "VideoProcessorGetOutputExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False),
2038 StdMethod(Void, "VideoProcessorSetStreamFrameFormat", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_FRAME_FORMAT, "FrameFormat")]),
2039 StdMethod(Void, "VideoProcessorSetStreamColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_COLOR_SPACE)), "pColorSpace")]),
2040 StdMethod(Void, "VideoProcessorSetStreamOutputRate", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, "OutputRate"), (BOOL, "RepeatFrame"), (Pointer(Const(DXGI_RATIONAL)), "pCustomRate")]),
2041 StdMethod(Void, "VideoProcessorSetStreamSourceRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (Pointer(Const(RECT)), "pRect")]),
2042 StdMethod(Void, "VideoProcessorSetStreamDestRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (Pointer(Const(RECT)), "pRect")]),
2043 StdMethod(Void, "VideoProcessorSetStreamAlpha", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (FLOAT, "Alpha")]),
2044 StdMethod(Void, "VideoProcessorSetStreamPalette", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (UINT, "Count"), (Pointer(Const(UINT)), "pEntries")]),
2045 StdMethod(Void, "VideoProcessorSetStreamPixelAspectRatio", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (Pointer(Const(DXGI_RATIONAL)), "pSourceAspectRatio"), (Pointer(Const(DXGI_RATIONAL)), "pDestinationAspectRatio")]),
2046 StdMethod(Void, "VideoProcessorSetStreamLumaKey", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (FLOAT, "Lower"), (FLOAT, "Upper")]),
2047 StdMethod(Void, "VideoProcessorSetStreamStereoFormat", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, "Format"), (BOOL, "LeftViewFrame0"), (BOOL, "BaseViewFrame0"), (D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, "FlipMode"), (Int, "MonoOffset")]),
2048 StdMethod(Void, "VideoProcessorSetStreamAutoProcessingMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable")]),
2049 StdMethod(Void, "VideoProcessorSetStreamFilter", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_PROCESSOR_FILTER, "Filter"), (BOOL, "Enable"), (Int, "Level")]),
2050 StdMethod(HRESULT, "VideoProcessorSetStreamExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), (Blob(Void, "DataSize"), "pData")]),
2051 StdMethod(Void, "VideoProcessorGetStreamFrameFormat", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(D3D11_VIDEO_FRAME_FORMAT), "pFrameFormat")], sideeffects=False),
2052 StdMethod(Void, "VideoProcessorGetStreamColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(D3D11_VIDEO_PROCESSOR_COLOR_SPACE), "pColorSpace")], sideeffects=False),
2053 StdMethod(Void, "VideoProcessorGetStreamOutputRate", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(D3D11_VIDEO_PROCESSOR_OUTPUT_RATE), "pOutputRate"), Out(Pointer(BOOL), "pRepeatFrame"), Out(Pointer(DXGI_RATIONAL), "pCustomRate")], sideeffects=False),
2054 StdMethod(Void, "VideoProcessorGetStreamSourceRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(RECT), "pRect")], sideeffects=False),
2055 StdMethod(Void, "VideoProcessorGetStreamDestRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(RECT), "pRect")], sideeffects=False),
2056 StdMethod(Void, "VideoProcessorGetStreamAlpha", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(FLOAT), "pAlpha")], sideeffects=False),
2057 StdMethod(Void, "VideoProcessorGetStreamPalette", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (UINT, "Count"), Out(Array(UINT, "Count"), "pEntries")], sideeffects=False),
2058 StdMethod(Void, "VideoProcessorGetStreamPixelAspectRatio", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(DXGI_RATIONAL), "pSourceAspectRatio"), Out(Pointer(DXGI_RATIONAL), "pDestinationAspectRatio")], sideeffects=False),
2059 StdMethod(Void, "VideoProcessorGetStreamLumaKey", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(FLOAT), "pLower"), Out(Pointer(FLOAT), "pUpper")], sideeffects=False),
2060 StdMethod(Void, "VideoProcessorGetStreamStereoFormat", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnable"), Out(Pointer(D3D11_VIDEO_PROCESSOR_STEREO_FORMAT), "pFormat"), Out(Pointer(BOOL), "pLeftViewFrame0"), Out(Pointer(BOOL), "pBaseViewFrame0"), Out(Pointer(D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE), "pFlipMode"), Out(Pointer(Int), "MonoOffset")], sideeffects=False),
2061 StdMethod(Void, "VideoProcessorGetStreamAutoProcessingMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled")], sideeffects=False),
2062 StdMethod(Void, "VideoProcessorGetStreamFilter", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_PROCESSOR_FILTER, "Filter"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(Int), "pLevel")], sideeffects=False),
2063 StdMethod(HRESULT, "VideoProcessorGetStreamExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False), # FIXME
2064 StdMethod(HRESULT, "VideoProcessorBlt", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (ObjPointer(ID3D11VideoProcessorOutputView), "pView"), (UINT, "OutputFrame"), (UINT, "StreamCount"), (Array(Const(D3D11_VIDEO_PROCESSOR_STREAM), "StreamCount"), "pStreams")]),
2065 StdMethod(HRESULT, "NegotiateCryptoSessionKeyExchange", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False), # FIXME
2066 StdMethod(Void, "EncryptionBlt", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (ObjPointer(ID3D11Texture2D), "pSrcSurface"), (ObjPointer(ID3D11Texture2D), "pDstSurface"), (UINT, "IVSize"), Out(OpaqueBlob(Void, "IVSize"), "pIV")], sideeffects=False), # FIXME
2067 StdMethod(Void, "DecryptionBlt", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (ObjPointer(ID3D11Texture2D), "pSrcSurface"), (ObjPointer(ID3D11Texture2D), "pDstSurface"), (Pointer(D3D11_ENCRYPTED_BLOCK_INFO), "pEncryptedBlockInfo"), (UINT, "ContentKeySize"), (Blob(Const(Void), "ContentKeySize"), "pContentKey"), (UINT, "IVSize"), Out(OpaqueBlob(Void, "IVSize"), "pIV")], sideeffects=False), # FIXME
2068 StdMethod(Void, "StartSessionKeyRefresh", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (UINT, "RandomNumberSize"), Out(OpaqueBlob(Void, "RandomNumberSize"), "pRandomNumber")], sideeffects=False), # FIXME
2069 StdMethod(Void, "FinishSessionKeyRefresh", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession")]),
2070 StdMethod(HRESULT, "GetEncryptionBltKey", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (UINT, "KeySize"), Out(OpaqueBlob(Void, "KeySize"), "pReadbackKey")], sideeffects=False), # FIXME
2071 StdMethod(HRESULT, "NegotiateAuthenticatedChannelKeyExchange", [(ObjPointer(ID3D11AuthenticatedChannel), "pChannel"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False), # FIXME
2072 StdMethod(HRESULT, "QueryAuthenticatedChannel", [(ObjPointer(ID3D11AuthenticatedChannel), "pChannel"), (UINT, "InputSize"), (Blob(Const(Void), "InputSize"), "pInput"), (UINT, "OutputSize"), Out(OpaqueBlob(Void, "OutputSize"), "pOutput")], sideeffects=False), # FIXME
2073 StdMethod(HRESULT, "ConfigureAuthenticatedChannel", [(ObjPointer(ID3D11AuthenticatedChannel), "pChannel"), (UINT, "InputSize"), (Blob(Const(Void), "InputSize"), "pInput"), Out(Pointer(D3D11_AUTHENTICATED_CONFIGURE_OUTPUT), "pOutput")]),
2074 StdMethod(Void, "VideoProcessorSetStreamRotation", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (D3D11_VIDEO_PROCESSOR_ROTATION, "Rotation")]),
2075 StdMethod(Void, "VideoProcessorGetStreamRotation", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnable"), Out(Pointer(D3D11_VIDEO_PROCESSOR_ROTATION), "pRotation")], sideeffects=False),
2076]
2077
2078ID3D11VideoDevice = Interface("ID3D11VideoDevice", IUnknown)
2079ID3D11VideoDevice.methods += [
2080 StdMethod(HRESULT, "CreateVideoDecoder", [(Pointer(Const(D3D11_VIDEO_DECODER_DESC)), "pVideoDesc"), (Pointer(Const(D3D11_VIDEO_DECODER_CONFIG)), "pConfig"), Out(Pointer(ObjPointer(ID3D11VideoDecoder)), "ppDecoder")]),
2081 StdMethod(HRESULT, "CreateVideoProcessor", [(ObjPointer(ID3D11VideoProcessorEnumerator), "pEnum"), (UINT, "RateConversionIndex"), Out(Pointer(ObjPointer(ID3D11VideoProcessor)), "ppVideoProcessor")]),
2082 StdMethod(HRESULT, "CreateAuthenticatedChannel", [(D3D11_AUTHENTICATED_CHANNEL_TYPE, "ChannelType"), Out(Pointer(ObjPointer(ID3D11AuthenticatedChannel)), "ppAuthenticatedChannel")]),
2083 StdMethod(HRESULT, "CreateCryptoSession", [(Pointer(Const(GUID)), "pCryptoType"), (Pointer(Const(GUID)), "pDecoderProfile"), (Pointer(Const(GUID)), "pKeyExchangeType"), (Pointer(ObjPointer(ID3D11CryptoSession)), "ppCryptoSession")]),
2084 StdMethod(HRESULT, "CreateVideoDecoderOutputView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoDecoderOutputView)), "ppVDOVView")]),
2085 StdMethod(HRESULT, "CreateVideoProcessorInputView", [(ObjPointer(ID3D11Resource), "pResource"), (ObjPointer(ID3D11VideoProcessorEnumerator), "pEnum"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoProcessorInputView)), "ppVPIView")]),
2086 StdMethod(HRESULT, "CreateVideoProcessorOutputView", [(ObjPointer(ID3D11Resource), "pResource"), (ObjPointer(ID3D11VideoProcessorEnumerator), "pEnum"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoProcessorOutputView)), "ppVPOView")]),
2087 StdMethod(HRESULT, "CreateVideoProcessorEnumerator", [(Pointer(Const(D3D11_VIDEO_PROCESSOR_CONTENT_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoProcessorEnumerator)), "ppEnum")]),
2088 StdMethod(UINT, "GetVideoDecoderProfileCount", [], sideeffects=False),
2089 StdMethod(HRESULT, "GetVideoDecoderProfile", [(UINT, "Index"), Out(Pointer(GUID), "pDecoderProfile")], sideeffects=False),
2090 StdMethod(HRESULT, "CheckVideoDecoderFormat", [(Pointer(Const(GUID)), "pDecoderProfile"), (DXGI_FORMAT, "Format"), Out(Pointer(BOOL), "pSupported")], sideeffects=False),
2091 StdMethod(HRESULT, "GetVideoDecoderConfigCount", [(Pointer(Const(D3D11_VIDEO_DECODER_DESC)), "pDesc"), Out(Pointer(UINT), "pCount")]),
2092 StdMethod(HRESULT, "GetVideoDecoderConfig", [(Pointer(Const(D3D11_VIDEO_DECODER_DESC)), "pDesc"), (UINT, "Index"), Out(Pointer(D3D11_VIDEO_DECODER_CONFIG), "pConfig")], sideeffects=False),
2093 StdMethod(HRESULT, "GetContentProtectionCaps", [(Pointer(Const(GUID)), "pCryptoType"), (Pointer(Const(GUID)), "pDecoderProfile"), Out(Pointer(D3D11_VIDEO_CONTENT_PROTECTION_CAPS), "pCaps")], sideeffects=False),
2094 StdMethod(HRESULT, "CheckCryptoKeyExchange", [(Pointer(Const(GUID)), "pCryptoType"), (Pointer(Const(GUID)), "pDecoderProfile"), (UINT, "Index"), Out(Pointer(GUID), "pKeyExchangeType")]),
2095 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
2096 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
2097]
2098
2099d3d11.addInterfaces([
2100 ID3D11VideoContext,
2101 ID3D11VideoDevice,
2102])
2103
2104
José Fonseca50bee952015-02-07 22:32:19 +00002105
2106#
2107# D3D11.1
2108#
2109
José Fonseca50bee952015-02-07 22:32:19 +00002110D3D_MIN_PRECISION = Enum("D3D_MIN_PRECISION", [
2111 "D3D_MIN_PRECISION_DEFAULT",
2112 "D3D_MIN_PRECISION_FLOAT_16",
2113 "D3D_MIN_PRECISION_FLOAT_2_8",
2114 "D3D_MIN_PRECISION_RESERVED",
2115 "D3D_MIN_PRECISION_SINT_16",
2116 "D3D_MIN_PRECISION_UINT_16",
2117 "D3D_MIN_PRECISION_ANY_16",
2118 "D3D_MIN_PRECISION_ANY_10",
2119])
2120
2121ID3D11BlendState1 = Interface("ID3D11BlendState1", ID3D11BlendState)
2122ID3D11RasterizerState1 = Interface("ID3D11RasterizerState1", ID3D11RasterizerState)
2123ID3DDeviceContextState = Interface("ID3DDeviceContextState", ID3D11DeviceChild)
2124ID3D11DeviceContext1 = Interface("ID3D11DeviceContext1", ID3D11DeviceContext)
2125ID3D11Device1 = Interface("ID3D11Device1", ID3D11Device)
2126ID3DUserDefinedAnnotation = Interface("ID3DUserDefinedAnnotation", IUnknown)
2127
2128
2129D3D11_COPY_FLAGS = Flags(UINT, [
2130 "D3D11_COPY_NO_OVERWRITE",
2131 "D3D11_COPY_DISCARD",
2132])
2133
2134D3D11_LOGIC_OP = Enum("D3D11_LOGIC_OP", [
2135 "D3D11_LOGIC_OP_CLEAR",
2136 "D3D11_LOGIC_OP_SET",
2137 "D3D11_LOGIC_OP_COPY",
2138 "D3D11_LOGIC_OP_COPY_INVERTED",
2139 "D3D11_LOGIC_OP_NOOP",
2140 "D3D11_LOGIC_OP_INVERT",
2141 "D3D11_LOGIC_OP_AND",
2142 "D3D11_LOGIC_OP_NAND",
2143 "D3D11_LOGIC_OP_OR",
2144 "D3D11_LOGIC_OP_NOR",
2145 "D3D11_LOGIC_OP_XOR",
2146 "D3D11_LOGIC_OP_EQUIV",
2147 "D3D11_LOGIC_OP_AND_REVERSE",
2148 "D3D11_LOGIC_OP_AND_INVERTED",
2149 "D3D11_LOGIC_OP_OR_REVERSE",
2150 "D3D11_LOGIC_OP_OR_INVERTED",
2151])
2152
2153D3D11_RENDER_TARGET_BLEND_DESC1 = Struct("D3D11_RENDER_TARGET_BLEND_DESC1", [
2154 (BOOL, "BlendEnable"),
2155 (BOOL, "LogicOpEnable"),
2156 (D3D11_BLEND, "SrcBlend"),
2157 (D3D11_BLEND, "DestBlend"),
2158 (D3D11_BLEND_OP, "BlendOp"),
2159 (D3D11_BLEND, "SrcBlendAlpha"),
2160 (D3D11_BLEND, "DestBlendAlpha"),
2161 (D3D11_BLEND_OP, "BlendOpAlpha"),
2162 (D3D11_LOGIC_OP, "LogicOp"),
2163 (UINT8, "RenderTargetWriteMask"),
2164])
2165
Jose Fonsecaa9b61382015-06-10 22:04:45 +01002166D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8
2167
José Fonseca50bee952015-02-07 22:32:19 +00002168D3D11_BLEND_DESC1 = Struct("D3D11_BLEND_DESC1", [
2169 (BOOL, "AlphaToCoverageEnable"),
2170 (BOOL, "IndependentBlendEnable"),
Jose Fonsecaa9b61382015-06-10 22:04:45 +01002171 (Array(D3D11_RENDER_TARGET_BLEND_DESC1, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT), "RenderTarget"),
José Fonseca50bee952015-02-07 22:32:19 +00002172])
2173
2174ID3D11BlendState1.methods += [
2175 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_BLEND_DESC1), "pDesc")], sideeffects=False),
2176]
2177
2178D3D11_RASTERIZER_DESC1 = Struct("D3D11_RASTERIZER_DESC1", [
2179 (D3D11_FILL_MODE, "FillMode"),
2180 (D3D11_CULL_MODE, "CullMode"),
2181 (BOOL, "FrontCounterClockwise"),
2182 (INT, "DepthBias"),
2183 (FLOAT, "DepthBiasClamp"),
2184 (FLOAT, "SlopeScaledDepthBias"),
2185 (BOOL, "DepthClipEnable"),
2186 (BOOL, "ScissorEnable"),
2187 (BOOL, "MultisampleEnable"),
2188 (BOOL, "AntialiasedLineEnable"),
2189 (UINT, "ForcedSampleCount"),
2190])
2191
2192ID3D11RasterizerState1.methods += [
2193 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_RASTERIZER_DESC1), "pDesc")], sideeffects=False),
2194]
2195
2196D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG = Flags(UINT, [
2197 "D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED",
2198])
2199
2200ID3D11DeviceContext1.methods += [
2201 StdMethod(Void, "CopySubresourceRegion1", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (UINT, "DstX"), (UINT, "DstY"), (UINT, "DstZ"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (Pointer(Const(D3D11_BOX)), "pSrcBox"), (D3D11_COPY_FLAGS, "CopyFlags")]),
2202 StdMethod(Void, "UpdateSubresource1", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (Pointer(Const(D3D11_BOX)), "pDstBox"), (Blob(Const(Void), "_calcSubresourceSize(pDstResource, DstSubresource, pDstBox, SrcRowPitch, SrcDepthPitch)"), "pSrcData"), (UINT, "SrcRowPitch"), (UINT, "SrcDepthPitch"), (D3D11_COPY_FLAGS, "CopyFlags")]),
2203 StdMethod(Void, "DiscardResource", [(ObjPointer(ID3D11Resource), "pResource")]),
2204 StdMethod(Void, "DiscardView", [(ObjPointer(ID3D11View), "pResourceView")]),
2205 StdMethod(Void, "DiscardView1", [(ObjPointer(ID3D11View), "pResourceView"), (Array(Const(D3D11_RECT), "NumRects"), "pRect"), (UINT, "NumRects")]),
2206 StdMethod(Void, "VSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2207 StdMethod(Void, "HSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2208 StdMethod(Void, "DSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2209 StdMethod(Void, "GSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2210 StdMethod(Void, "PSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2211 StdMethod(Void, "CSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2212 StdMethod(Void, "VSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2213 StdMethod(Void, "HSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2214 StdMethod(Void, "DSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2215 StdMethod(Void, "GSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2216 StdMethod(Void, "PSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2217 StdMethod(Void, "CSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2218 StdMethod(Void, "SwapDeviceContextState", [(ObjPointer(ID3DDeviceContextState), "pState"), Out(Pointer(ObjPointer(ID3DDeviceContextState)), "ppPreviousState")]),
Jose Fonseca4ccc8772015-05-20 17:18:31 +01002219 StdMethod(Void, "ClearView", [(ObjPointer(ID3D11View), "pView"), (Array(Const(FLOAT), 4), "Color"), (Array(Const(D3D11_RECT), "NumRects"), "pRect"), (UINT, "NumRects")]),
José Fonseca50bee952015-02-07 22:32:19 +00002220]
2221
2222
2223ID3D11Device1.methods += [
2224 StdMethod(Void, "GetImmediateContext1", [Out(Pointer(ObjPointer(ID3D11DeviceContext1)), "ppImmediateContext")]),
2225 StdMethod(HRESULT, "CreateDeferredContext1", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext1)), "ppDeferredContext")]),
2226 StdMethod(HRESULT, "CreateBlendState1", [(Pointer(Const(D3D11_BLEND_DESC1)), "pBlendStateDesc"), Out(Pointer(ObjPointer(ID3D11BlendState1)), "ppBlendState")]),
2227 StdMethod(HRESULT, "CreateRasterizerState1", [(Pointer(Const(D3D11_RASTERIZER_DESC1)), "pRasterizerDesc"), Out(Pointer(ObjPointer(ID3D11RasterizerState1)), "ppRasterizerState")]),
2228 StdMethod(HRESULT, "CreateDeviceContextState", [(D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG, "Flags"), (Array(Const(D3D_FEATURE_LEVEL), "FeatureLevels"), "pFeatureLevels"), (UINT, "FeatureLevels"), (UINT, "SDKVersion"), (REFIID, "EmulatedInterface"), Out(Pointer(D3D_FEATURE_LEVEL), "pChosenFeatureLevel"), Out(Pointer(ObjPointer(ID3DDeviceContextState)), "ppContextState")]),
2229 StdMethod(HRESULT, "OpenSharedResource1", [(HANDLE, "hResource"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
2230 StdMethod(HRESULT, "OpenSharedResourceByName", [(LPCWSTR, "lpName"), (DXGI_SHARED_RESOURCE_FLAG, "dwDesiredAccess"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
2231]
2232
2233ID3DUserDefinedAnnotation.methods += [
2234 StdMethod(INT, "BeginEvent", [(LPCWSTR, "Name")], sideeffects=False),
2235 StdMethod(INT, "EndEvent", [], sideeffects=False),
2236 StdMethod(Void, "SetMarker", [(LPCWSTR, "Name")], sideeffects=False),
2237 StdMethod(BOOL, "GetStatus", [], sideeffects=False),
2238]
2239
2240d3d11.addInterfaces([
2241 ID3D11Device1,
2242 ID3DUserDefinedAnnotation,
2243])
José Fonseca40b82ca2015-02-07 22:55:49 +00002244
2245
2246
2247#
2248# D3D11.2
2249#
2250
2251D3D11_TILED_RESOURCE_COORDINATE = Struct("D3D11_TILED_RESOURCE_COORDINATE", [
2252 (UINT, "X"),
2253 (UINT, "Y"),
2254 (UINT, "Z"),
2255 (UINT, "Subresource"),
2256])
2257
2258D3D11_TILE_REGION_SIZE = Struct("D3D11_TILE_REGION_SIZE", [
2259 (UINT, "NumTiles"),
2260 (BOOL, "bUseBox"),
2261 (UINT, "Width"),
2262 (UINT16, "Height"),
2263 (UINT16, "Depth"),
2264])
2265
2266D3D11_TILE_MAPPING_FLAG = Flags(UINT, [
2267 "D3D11_TILE_MAPPING_NO_OVERWRITE",
2268])
2269
2270D3D11_TILE_RANGE_FLAG = Flags(UINT, [
2271 "D3D11_TILE_RANGE_NULL",
2272 "D3D11_TILE_RANGE_SKIP",
2273 "D3D11_TILE_RANGE_REUSE_SINGLE_TILE",
2274])
2275
2276D3D11_SUBRESOURCE_TILING = Struct("D3D11_SUBRESOURCE_TILING", [
2277 (UINT, "WidthInTiles"),
2278 (UINT16, "HeightInTiles"),
2279 (UINT16, "DepthInTiles"),
2280 (FakeEnum(UINT, ["D3D11_PACKED_TILE"]), "StartTileIndexInOverallResource"),
2281])
2282
2283D3D11_TILE_SHAPE = Struct("D3D11_TILE_SHAPE", [
2284 (UINT, "WidthInTexels"),
2285 (UINT, "HeightInTexels"),
2286 (UINT, "DepthInTexels"),
2287])
2288
2289D3D11_PACKED_MIP_DESC = Struct("D3D11_PACKED_MIP_DESC", [
2290 (UINT8, "NumStandardMips"),
2291 (UINT8, "NumPackedMips"),
2292 (UINT, "NumTilesForPackedMips"),
2293 (UINT, "StartTileIndexInOverallResource"),
2294])
2295
2296D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG = Flags(UINT, [
2297 "D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE",
2298])
2299
2300D3D11_TILE_COPY_FLAG = Flags(UINT, [
2301 "D3D11_TILE_COPY_NO_OVERWRITE",
2302 "D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE",
2303 "D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER",
2304])
2305
2306ID3D11DeviceContext2 = Interface("ID3D11DeviceContext2", ID3D11DeviceContext1)
2307ID3D11DeviceContext2.methods += [
2308 StdMethod(HRESULT, "UpdateTileMappings", [(ObjPointer(ID3D11Resource), "pTiledResource"), (UINT, "NumTiledResourceRegions"), (Array(Const(D3D11_TILED_RESOURCE_COORDINATE), "NumTiledResourceRegions"), "pTiledResourceRegionStartCoordinates"), (Array(Const(D3D11_TILE_REGION_SIZE), "NumTiledResourceRegions"), "pTiledResourceRegionSizes"), (ObjPointer(ID3D11Buffer), "pTilePool"), (UINT, "NumRanges"), (Array(Const(D3D11_TILE_RANGE_FLAG), "NumRanges"), "pRangeFlags"), (Array(Const(UINT), "NumRanges"), "pTilePoolStartOffsets"), (Array(Const(UINT), "NumRanges"), "pRangeTileCounts"), (D3D11_TILE_MAPPING_FLAG, "Flags")]),
2309 StdMethod(HRESULT, "CopyTileMappings", [(ObjPointer(ID3D11Resource), "pDestTiledResource"), (Pointer(Const(D3D11_TILED_RESOURCE_COORDINATE)), "pDestRegionStartCoordinate"), (ObjPointer(ID3D11Resource), "pSourceTiledResource"), (Pointer(Const(D3D11_TILED_RESOURCE_COORDINATE)), "pSourceRegionStartCoordinate"), (Pointer(Const(D3D11_TILE_REGION_SIZE)), "pTileRegionSize"), (D3D11_TILE_MAPPING_FLAG, "Flags")]),
2310 StdMethod(Void, "CopyTiles", [(ObjPointer(ID3D11Resource), "pTiledResource"), (Pointer(Const(D3D11_TILED_RESOURCE_COORDINATE)), "pTileRegionStartCoordinate"), (Pointer(Const(D3D11_TILE_REGION_SIZE)), "pTileRegionSize"), (ObjPointer(ID3D11Buffer), "pBuffer"), (UINT64, "BufferStartOffsetInBytes"), (D3D11_TILE_COPY_FLAG, "Flags")]),
2311 StdMethod(Void, "UpdateTiles", [(ObjPointer(ID3D11Resource), "pDestTiledResource"), (Pointer(Const(D3D11_TILED_RESOURCE_COORDINATE)), "pDestTileRegionStartCoordinate"), (Pointer(Const(D3D11_TILE_REGION_SIZE)), "pDestTileRegionSize"), (OpaquePointer(Const(Void)), "pSourceTileData"), (D3D11_TILE_COPY_FLAG, "Flags")]), # FIXME
2312 StdMethod(HRESULT, "ResizeTilePool", [(ObjPointer(ID3D11Buffer), "pTilePool"), (UINT64, "NewSizeInBytes")]),
2313 StdMethod(Void, "TiledResourceBarrier", [(ObjPointer(ID3D11DeviceChild), "pTiledResourceOrViewAccessBeforeBarrier"), (ObjPointer(ID3D11DeviceChild), "pTiledResourceOrViewAccessAfterBarrier")]),
2314 StdMethod(BOOL, "IsAnnotationEnabled", [], sideeffects=False),
2315 StdMethod(Void, "SetMarkerInt", [(LPCWSTR, "pLabel"), (INT, "Data")]),
2316 StdMethod(Void, "BeginEventInt", [(LPCWSTR, "pLabel"), (INT, "Data")]),
2317 StdMethod(Void, "EndEvent", []),
2318]
2319
2320ID3D11Device2 = Interface("ID3D11Device2", ID3D11Device1)
2321ID3D11Device2.methods += [
2322 StdMethod(Void, "GetImmediateContext2", [Out(Pointer(ObjPointer(ID3D11DeviceContext2)), "ppImmediateContext")]),
2323 StdMethod(HRESULT, "CreateDeferredContext2", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext2)), "ppDeferredContext")]),
2324 StdMethod(Void, "GetResourceTiling", [(ObjPointer(ID3D11Resource), "pTiledResource"), Out(Pointer(UINT), "pNumTilesForEntireResource"), Out(Pointer(D3D11_PACKED_MIP_DESC), "pPackedMipDesc"), Out(Pointer(D3D11_TILE_SHAPE), "pStandardTileShapeForNonPackedMips"), Out(Pointer(UINT), "pNumSubresourceTilings"), (UINT, "FirstSubresourceTilingToGet"), Out(Pointer(D3D11_SUBRESOURCE_TILING), "pSubresourceTilingsForNonPackedMips")]),
2325 StdMethod(HRESULT, "CheckMultisampleQualityLevels1", [(DXGI_FORMAT, "Format"), (UINT, "SampleCount"), (D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG, "Flags"), Out(Pointer(UINT), "pNumQualityLevels")], sideeffects=False),
2326]
2327
2328d3d11.addInterfaces([
2329 ID3D11Device2,
2330 ID3D11DeviceContext2,
2331])