blob: cec92941b0f7482809174f5c443e71b5b8719415 [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 *
José Fonseca5b6fb752012-04-14 14:56:45 +010028from d3d11sdklayers import *
29
30
José Fonseca73841ad2012-04-16 20:47:56 +010031HRESULT = MAKE_HRESULT([
José Fonseca5b6fb752012-04-14 14:56:45 +010032 "D3D11_ERROR_FILE_NOT_FOUND",
33 "D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS",
34 "D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS",
35 "D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD",
36 "D3DERR_INVALIDCALL",
37 "D3DERR_WASSTILLDRAWING",
José Fonseca5b6fb752012-04-14 14:56:45 +010038])
39
40
José Fonsecaee590be2012-04-16 13:25:06 +010041ID3D11DepthStencilState = Interface("ID3D11DepthStencilState", ID3D11DeviceChild)
42ID3D11BlendState = Interface("ID3D11BlendState", ID3D11DeviceChild)
43ID3D11RasterizerState = Interface("ID3D11RasterizerState", ID3D11DeviceChild)
44ID3D11Resource = Interface("ID3D11Resource", ID3D11DeviceChild)
45ID3D11Buffer = Interface("ID3D11Buffer", ID3D11Resource)
46ID3D11Texture1D = Interface("ID3D11Texture1D", ID3D11Resource)
47ID3D11Texture2D = Interface("ID3D11Texture2D", ID3D11Resource)
48ID3D11Texture3D = Interface("ID3D11Texture3D", ID3D11Resource)
49ID3D11View = Interface("ID3D11View", ID3D11DeviceChild)
50ID3D11ShaderResourceView = Interface("ID3D11ShaderResourceView", ID3D11View)
51ID3D11RenderTargetView = Interface("ID3D11RenderTargetView", ID3D11View)
52ID3D11DepthStencilView = Interface("ID3D11DepthStencilView", ID3D11View)
53ID3D11UnorderedAccessView = Interface("ID3D11UnorderedAccessView", ID3D11View)
54ID3D11VertexShader = Interface("ID3D11VertexShader", ID3D11DeviceChild)
55ID3D11HullShader = Interface("ID3D11HullShader", ID3D11DeviceChild)
56ID3D11DomainShader = Interface("ID3D11DomainShader", ID3D11DeviceChild)
57ID3D11GeometryShader = Interface("ID3D11GeometryShader", ID3D11DeviceChild)
58ID3D11PixelShader = Interface("ID3D11PixelShader", ID3D11DeviceChild)
59ID3D11ComputeShader = Interface("ID3D11ComputeShader", ID3D11DeviceChild)
60ID3D11InputLayout = Interface("ID3D11InputLayout", ID3D11DeviceChild)
61ID3D11SamplerState = Interface("ID3D11SamplerState", ID3D11DeviceChild)
62ID3D11Asynchronous = Interface("ID3D11Asynchronous", ID3D11DeviceChild)
63ID3D11Query = Interface("ID3D11Query", ID3D11Asynchronous)
64ID3D11Predicate = Interface("ID3D11Predicate", ID3D11Query)
65ID3D11Counter = Interface("ID3D11Counter", ID3D11Asynchronous)
66ID3D11ClassInstance = Interface("ID3D11ClassInstance", ID3D11DeviceChild)
67ID3D11ClassLinkage = Interface("ID3D11ClassLinkage", ID3D11DeviceChild)
68ID3D11CommandList = Interface("ID3D11CommandList", ID3D11DeviceChild)
69ID3D11Device = Interface("ID3D11Device", IUnknown)
José Fonseca5b6fb752012-04-14 14:56:45 +010070
71
Jose Fonseca5f5181d2015-07-17 12:06:23 +010072D3D11_PRIMITIVE_TOPOLOGY = Enum("D3D11_PRIMITIVE_TOPOLOGY", [
73 "D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED",
74 "D3D11_PRIMITIVE_TOPOLOGY_POINTLIST",
75 "D3D11_PRIMITIVE_TOPOLOGY_LINELIST",
76 "D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP",
77 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST",
78 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP",
79 "D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ",
80 "D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ",
81 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ",
82 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ",
83 "D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST",
84 "D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST",
85 "D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST",
86 "D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST",
87 "D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST",
88 "D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST",
89 "D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST",
90 "D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST",
91 "D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST",
92 "D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST",
93 "D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST",
94 "D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST",
95 "D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST",
96 "D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST",
97 "D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST",
98 "D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST",
99 "D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST",
100 "D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST",
101 "D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST",
102 "D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST",
103 "D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST",
104 "D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST",
105 "D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST",
106 "D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST",
107 "D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST",
108 "D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST",
109 "D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST",
110 "D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST",
111 "D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST",
112 "D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST",
113 "D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST",
114 "D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST",
115])
116
José Fonsecaee590be2012-04-16 13:25:06 +0100117D3D11_INPUT_CLASSIFICATION = Enum("D3D11_INPUT_CLASSIFICATION", [
118 "D3D11_INPUT_PER_VERTEX_DATA",
119 "D3D11_INPUT_PER_INSTANCE_DATA",
José Fonseca5b6fb752012-04-14 14:56:45 +0100120])
121
122D3D11_INPUT_ELEMENT_ALIGNED_BYTE_OFFSET = FakeEnum(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100123 "D3D11_APPEND_ALIGNED_ELEMENT",
José Fonseca5b6fb752012-04-14 14:56:45 +0100124])
125
José Fonsecaee590be2012-04-16 13:25:06 +0100126D3D11_INPUT_ELEMENT_DESC = Struct("D3D11_INPUT_ELEMENT_DESC", [
127 (LPCSTR, "SemanticName"),
128 (UINT, "SemanticIndex"),
129 (DXGI_FORMAT, "Format"),
130 (UINT, "InputSlot"),
131 (D3D11_INPUT_ELEMENT_ALIGNED_BYTE_OFFSET, "AlignedByteOffset"),
132 (D3D11_INPUT_CLASSIFICATION, "InputSlotClass"),
133 (UINT, "InstanceDataStepRate"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100134])
135
José Fonsecaee590be2012-04-16 13:25:06 +0100136D3D11_FILL_MODE = Enum("D3D11_FILL_MODE", [
137 "D3D11_FILL_WIREFRAME",
138 "D3D11_FILL_SOLID",
José Fonseca5b6fb752012-04-14 14:56:45 +0100139])
140
José Fonsecaee590be2012-04-16 13:25:06 +0100141D3D11_PRIMITIVE_TOPOLOGY = Enum("D3D11_PRIMITIVE_TOPOLOGY", [
142 "D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED",
143 "D3D11_PRIMITIVE_TOPOLOGY_POINTLIST",
144 "D3D11_PRIMITIVE_TOPOLOGY_LINELIST",
145 "D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP",
146 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST",
147 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP",
148 "D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ",
149 "D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ",
150 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ",
151 "D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ",
152 "D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST",
153 "D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST",
154 "D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST",
155 "D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST",
156 "D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST",
157 "D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST",
158 "D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST",
159 "D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST",
160 "D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST",
161 "D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST",
162 "D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST",
163 "D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST",
164 "D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST",
165 "D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST",
166 "D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST",
167 "D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST",
168 "D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST",
169 "D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST",
170 "D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST",
171 "D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST",
172 "D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST",
173 "D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST",
174 "D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST",
175 "D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST",
176 "D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST",
177 "D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST",
178 "D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST",
179 "D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST",
180 "D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST",
181 "D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST",
182 "D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST",
183 "D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST",
José Fonseca5b6fb752012-04-14 14:56:45 +0100184])
185
José Fonsecaee590be2012-04-16 13:25:06 +0100186D3D11_PRIMITIVE = Enum("D3D11_PRIMITIVE", [
187 "D3D11_PRIMITIVE_UNDEFINED",
188 "D3D11_PRIMITIVE_POINT",
189 "D3D11_PRIMITIVE_LINE",
190 "D3D11_PRIMITIVE_TRIANGLE",
191 "D3D11_PRIMITIVE_LINE_ADJ",
192 "D3D11_PRIMITIVE_TRIANGLE_ADJ",
193 "D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH",
194 "D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH",
195 "D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH",
196 "D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH",
197 "D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH",
198 "D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH",
199 "D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH",
200 "D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH",
201 "D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH",
202 "D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH",
203 "D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH",
204 "D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH",
205 "D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH",
206 "D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH",
207 "D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH",
208 "D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH",
209 "D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH",
210 "D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH",
211 "D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH",
212 "D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH",
213 "D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH",
214 "D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH",
215 "D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH",
216 "D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH",
217 "D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH",
218 "D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH",
219 "D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH",
220 "D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH",
221 "D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH",
222 "D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH",
223 "D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH",
224 "D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH",
José Fonseca5b6fb752012-04-14 14:56:45 +0100225])
226
José Fonsecaee590be2012-04-16 13:25:06 +0100227D3D11_CULL_MODE = Enum("D3D11_CULL_MODE", [
228 "D3D11_CULL_NONE",
229 "D3D11_CULL_FRONT",
230 "D3D11_CULL_BACK",
José Fonseca5b6fb752012-04-14 14:56:45 +0100231])
232
José Fonsecaee590be2012-04-16 13:25:06 +0100233D3D11_SO_DECLARATION_ENTRY = Struct("D3D11_SO_DECLARATION_ENTRY", [
234 (UINT, "Stream"),
235 (LPCSTR, "SemanticName"),
236 (UINT, "SemanticIndex"),
237 (BYTE, "StartComponent"),
238 (BYTE, "ComponentCount"),
239 (BYTE, "OutputSlot"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100240])
241
José Fonsecaee590be2012-04-16 13:25:06 +0100242D3D11_VIEWPORT = Struct("D3D11_VIEWPORT", [
243 (FLOAT, "TopLeftX"),
244 (FLOAT, "TopLeftY"),
245 (FLOAT, "Width"),
246 (FLOAT, "Height"),
247 (FLOAT, "MinDepth"),
248 (FLOAT, "MaxDepth"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100249])
250
José Fonsecaee590be2012-04-16 13:25:06 +0100251D3D11_RESOURCE_DIMENSION = Enum("D3D11_RESOURCE_DIMENSION", [
252 "D3D11_RESOURCE_DIMENSION_UNKNOWN",
253 "D3D11_RESOURCE_DIMENSION_BUFFER",
254 "D3D11_RESOURCE_DIMENSION_TEXTURE1D",
255 "D3D11_RESOURCE_DIMENSION_TEXTURE2D",
256 "D3D11_RESOURCE_DIMENSION_TEXTURE3D",
José Fonseca5b6fb752012-04-14 14:56:45 +0100257])
258
José Fonsecaee590be2012-04-16 13:25:06 +0100259D3D11_SRV_DIMENSION = Enum("D3D11_SRV_DIMENSION", [
260 "D3D11_SRV_DIMENSION_UNKNOWN",
261 "D3D11_SRV_DIMENSION_BUFFER",
262 "D3D11_SRV_DIMENSION_TEXTURE1D",
263 "D3D11_SRV_DIMENSION_TEXTURE1DARRAY",
264 "D3D11_SRV_DIMENSION_TEXTURE2D",
265 "D3D11_SRV_DIMENSION_TEXTURE2DARRAY",
266 "D3D11_SRV_DIMENSION_TEXTURE2DMS",
267 "D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY",
268 "D3D11_SRV_DIMENSION_TEXTURE3D",
269 "D3D11_SRV_DIMENSION_TEXTURECUBE",
270 "D3D11_SRV_DIMENSION_TEXTURECUBEARRAY",
271 "D3D11_SRV_DIMENSION_BUFFEREX",
José Fonseca5b6fb752012-04-14 14:56:45 +0100272])
273
José Fonsecaee590be2012-04-16 13:25:06 +0100274D3D11_DSV_DIMENSION = Enum("D3D11_DSV_DIMENSION", [
275 "D3D11_DSV_DIMENSION_UNKNOWN",
276 "D3D11_DSV_DIMENSION_TEXTURE1D",
277 "D3D11_DSV_DIMENSION_TEXTURE1DARRAY",
278 "D3D11_DSV_DIMENSION_TEXTURE2D",
279 "D3D11_DSV_DIMENSION_TEXTURE2DARRAY",
280 "D3D11_DSV_DIMENSION_TEXTURE2DMS",
281 "D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY",
José Fonseca5b6fb752012-04-14 14:56:45 +0100282])
283
José Fonsecaee590be2012-04-16 13:25:06 +0100284D3D11_RTV_DIMENSION = Enum("D3D11_RTV_DIMENSION", [
285 "D3D11_RTV_DIMENSION_UNKNOWN",
286 "D3D11_RTV_DIMENSION_BUFFER",
287 "D3D11_RTV_DIMENSION_TEXTURE1D",
288 "D3D11_RTV_DIMENSION_TEXTURE1DARRAY",
289 "D3D11_RTV_DIMENSION_TEXTURE2D",
290 "D3D11_RTV_DIMENSION_TEXTURE2DARRAY",
291 "D3D11_RTV_DIMENSION_TEXTURE2DMS",
292 "D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY",
293 "D3D11_RTV_DIMENSION_TEXTURE3D",
José Fonseca5b6fb752012-04-14 14:56:45 +0100294])
295
José Fonsecaee590be2012-04-16 13:25:06 +0100296D3D11_UAV_DIMENSION = Enum("D3D11_UAV_DIMENSION", [
297 "D3D11_UAV_DIMENSION_UNKNOWN",
298 "D3D11_UAV_DIMENSION_BUFFER",
299 "D3D11_UAV_DIMENSION_TEXTURE1D",
300 "D3D11_UAV_DIMENSION_TEXTURE1DARRAY",
301 "D3D11_UAV_DIMENSION_TEXTURE2D",
302 "D3D11_UAV_DIMENSION_TEXTURE2DARRAY",
303 "D3D11_UAV_DIMENSION_TEXTURE3D",
José Fonseca5b6fb752012-04-14 14:56:45 +0100304])
305
José Fonsecaee590be2012-04-16 13:25:06 +0100306D3D11_USAGE = Enum("D3D11_USAGE", [
307 "D3D11_USAGE_DEFAULT",
308 "D3D11_USAGE_IMMUTABLE",
309 "D3D11_USAGE_DYNAMIC",
310 "D3D11_USAGE_STAGING",
José Fonseca5b6fb752012-04-14 14:56:45 +0100311])
312
313D3D11_BIND_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100314 "D3D11_BIND_VERTEX_BUFFER",
315 "D3D11_BIND_INDEX_BUFFER",
316 "D3D11_BIND_CONSTANT_BUFFER",
317 "D3D11_BIND_SHADER_RESOURCE",
318 "D3D11_BIND_STREAM_OUTPUT",
319 "D3D11_BIND_RENDER_TARGET",
320 "D3D11_BIND_DEPTH_STENCIL",
321 "D3D11_BIND_UNORDERED_ACCESS",
Jose Fonseca503fde92015-07-16 17:00:30 +0100322 "D3D11_BIND_DECODER",
323 "D3D11_BIND_VIDEO_ENCODER",
José Fonseca5b6fb752012-04-14 14:56:45 +0100324])
325
326D3D11_CPU_ACCESS_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100327 "D3D11_CPU_ACCESS_WRITE",
328 "D3D11_CPU_ACCESS_READ",
José Fonseca5b6fb752012-04-14 14:56:45 +0100329])
330
331D3D11_RESOURCE_MISC_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100332 "D3D11_RESOURCE_MISC_GENERATE_MIPS",
333 "D3D11_RESOURCE_MISC_SHARED",
334 "D3D11_RESOURCE_MISC_TEXTURECUBE",
335 "D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS",
336 "D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS",
337 "D3D11_RESOURCE_MISC_BUFFER_STRUCTURED",
338 "D3D11_RESOURCE_MISC_RESOURCE_CLAMP",
339 "D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX",
340 "D3D11_RESOURCE_MISC_GDI_COMPATIBLE",
José Fonsecaf7b8d572014-09-26 10:38:43 +0100341 "D3D11_RESOURCE_MISC_SHARED_NTHANDLE",
342 "D3D11_RESOURCE_MISC_RESTRICTED_CONTENT",
343 "D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE",
344 "D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER",
345 "D3D11_RESOURCE_MISC_GUARDED",
346 "D3D11_RESOURCE_MISC_TILE_POOL",
347 "D3D11_RESOURCE_MISC_TILED",
José Fonseca5b6fb752012-04-14 14:56:45 +0100348])
349
José Fonsecaee590be2012-04-16 13:25:06 +0100350D3D11_MAP = Enum("D3D11_MAP", [
351 "D3D11_MAP_READ",
352 "D3D11_MAP_WRITE",
353 "D3D11_MAP_READ_WRITE",
354 "D3D11_MAP_WRITE_DISCARD",
355 "D3D11_MAP_WRITE_NO_OVERWRITE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100356])
357
358D3D11_MAP_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100359 "D3D11_MAP_FLAG_DO_NOT_WAIT",
José Fonseca5b6fb752012-04-14 14:56:45 +0100360])
361
362D3D11_RAISE_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100363 "D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100364])
365
366D3D11_CLEAR_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100367 "D3D11_CLEAR_DEPTH",
368 "D3D11_CLEAR_STENCIL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100369])
370
José Fonsecaee590be2012-04-16 13:25:06 +0100371D3D11_RECT = Alias("D3D11_RECT", RECT)
372D3D11_BOX = Struct("D3D11_BOX", [
373 (UINT, "left"),
374 (UINT, "top"),
375 (UINT, "front"),
376 (UINT, "right"),
377 (UINT, "bottom"),
378 (UINT, "back"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100379])
380
381ID3D11DeviceChild.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +0100382 StdMethod(Void, "GetDevice", [Out(Pointer(ObjPointer(ID3D11Device)), "ppDevice")]),
José Fonseca9eec9342014-10-03 22:24:50 +0100383 StdMethod(HRESULT, "GetPrivateData", [(REFGUID, "guid"), InOut(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")], sideeffects=False),
José Fonseca3be2c672015-02-06 15:36:40 +0000384 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
José Fonsecabc10e452012-11-08 10:24:45 +0000385 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100386]
387
José Fonsecaee590be2012-04-16 13:25:06 +0100388D3D11_COMPARISON_FUNC = Enum("D3D11_COMPARISON_FUNC", [
389 "D3D11_COMPARISON_NEVER",
390 "D3D11_COMPARISON_LESS",
391 "D3D11_COMPARISON_EQUAL",
392 "D3D11_COMPARISON_LESS_EQUAL",
393 "D3D11_COMPARISON_GREATER",
394 "D3D11_COMPARISON_NOT_EQUAL",
395 "D3D11_COMPARISON_GREATER_EQUAL",
396 "D3D11_COMPARISON_ALWAYS",
José Fonseca5b6fb752012-04-14 14:56:45 +0100397])
398
José Fonsecaee590be2012-04-16 13:25:06 +0100399D3D11_DEPTH_WRITE_MASK = Enum("D3D11_DEPTH_WRITE_MASK", [
400 "D3D11_DEPTH_WRITE_MASK_ZERO",
401 "D3D11_DEPTH_WRITE_MASK_ALL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100402])
403
José Fonsecaee590be2012-04-16 13:25:06 +0100404D3D11_STENCIL_OP = Enum("D3D11_STENCIL_OP", [
405 "D3D11_STENCIL_OP_KEEP",
406 "D3D11_STENCIL_OP_ZERO",
407 "D3D11_STENCIL_OP_REPLACE",
408 "D3D11_STENCIL_OP_INCR_SAT",
409 "D3D11_STENCIL_OP_DECR_SAT",
410 "D3D11_STENCIL_OP_INVERT",
411 "D3D11_STENCIL_OP_INCR",
412 "D3D11_STENCIL_OP_DECR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100413])
414
José Fonsecaee590be2012-04-16 13:25:06 +0100415D3D11_DEPTH_STENCILOP_DESC = Struct("D3D11_DEPTH_STENCILOP_DESC", [
416 (D3D11_STENCIL_OP, "StencilFailOp"),
417 (D3D11_STENCIL_OP, "StencilDepthFailOp"),
418 (D3D11_STENCIL_OP, "StencilPassOp"),
419 (D3D11_COMPARISON_FUNC, "StencilFunc"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100420])
421
José Fonsecaee590be2012-04-16 13:25:06 +0100422D3D11_DEPTH_STENCIL_DESC = Struct("D3D11_DEPTH_STENCIL_DESC", [
423 (BOOL, "DepthEnable"),
424 (D3D11_DEPTH_WRITE_MASK, "DepthWriteMask"),
425 (D3D11_COMPARISON_FUNC, "DepthFunc"),
426 (BOOL, "StencilEnable"),
427 (UINT8, "StencilReadMask"),
428 (UINT8, "StencilWriteMask"),
429 (D3D11_DEPTH_STENCILOP_DESC, "FrontFace"),
430 (D3D11_DEPTH_STENCILOP_DESC, "BackFace"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100431])
432
433ID3D11DepthStencilState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000434 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_DEPTH_STENCIL_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100435]
436
José Fonsecaee590be2012-04-16 13:25:06 +0100437D3D11_BLEND = Enum("D3D11_BLEND", [
438 "D3D11_BLEND_ZERO",
439 "D3D11_BLEND_ONE",
440 "D3D11_BLEND_SRC_COLOR",
441 "D3D11_BLEND_INV_SRC_COLOR",
442 "D3D11_BLEND_SRC_ALPHA",
443 "D3D11_BLEND_INV_SRC_ALPHA",
444 "D3D11_BLEND_DEST_ALPHA",
445 "D3D11_BLEND_INV_DEST_ALPHA",
446 "D3D11_BLEND_DEST_COLOR",
447 "D3D11_BLEND_INV_DEST_COLOR",
448 "D3D11_BLEND_SRC_ALPHA_SAT",
449 "D3D11_BLEND_BLEND_FACTOR",
450 "D3D11_BLEND_INV_BLEND_FACTOR",
451 "D3D11_BLEND_SRC1_COLOR",
452 "D3D11_BLEND_INV_SRC1_COLOR",
453 "D3D11_BLEND_SRC1_ALPHA",
454 "D3D11_BLEND_INV_SRC1_ALPHA",
José Fonseca5b6fb752012-04-14 14:56:45 +0100455])
456
José Fonsecaee590be2012-04-16 13:25:06 +0100457D3D11_BLEND_OP = Enum("D3D11_BLEND_OP", [
458 "D3D11_BLEND_OP_ADD",
459 "D3D11_BLEND_OP_SUBTRACT",
460 "D3D11_BLEND_OP_REV_SUBTRACT",
461 "D3D11_BLEND_OP_MIN",
462 "D3D11_BLEND_OP_MAX",
José Fonseca5b6fb752012-04-14 14:56:45 +0100463])
464
José Fonsecaee590be2012-04-16 13:25:06 +0100465D3D11_COLOR_WRITE_ENABLE = Enum("D3D11_COLOR_WRITE_ENABLE", [
466 "D3D11_COLOR_WRITE_ENABLE_ALL",
467 "D3D11_COLOR_WRITE_ENABLE_RED",
468 "D3D11_COLOR_WRITE_ENABLE_GREEN",
469 "D3D11_COLOR_WRITE_ENABLE_BLUE",
470 "D3D11_COLOR_WRITE_ENABLE_ALPHA",
José Fonseca5b6fb752012-04-14 14:56:45 +0100471])
472
José Fonsecaee590be2012-04-16 13:25:06 +0100473D3D11_RENDER_TARGET_BLEND_DESC = Struct("D3D11_RENDER_TARGET_BLEND_DESC", [
474 (BOOL, "BlendEnable"),
475 (D3D11_BLEND, "SrcBlend"),
476 (D3D11_BLEND, "DestBlend"),
477 (D3D11_BLEND_OP, "BlendOp"),
478 (D3D11_BLEND, "SrcBlendAlpha"),
479 (D3D11_BLEND, "DestBlendAlpha"),
480 (D3D11_BLEND_OP, "BlendOpAlpha"),
481 (UINT8, "RenderTargetWriteMask"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100482])
483
José Fonsecaee590be2012-04-16 13:25:06 +0100484D3D11_BLEND_DESC = Struct("D3D11_BLEND_DESC", [
485 (BOOL, "AlphaToCoverageEnable"),
486 (BOOL, "IndependentBlendEnable"),
487 (Array(D3D11_RENDER_TARGET_BLEND_DESC, 8), "RenderTarget"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100488])
489
490ID3D11BlendState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000491 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_BLEND_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100492]
493
José Fonsecaee590be2012-04-16 13:25:06 +0100494D3D11_RASTERIZER_DESC = Struct("D3D11_RASTERIZER_DESC", [
495 (D3D11_FILL_MODE, "FillMode"),
496 (D3D11_CULL_MODE, "CullMode"),
497 (BOOL, "FrontCounterClockwise"),
498 (INT, "DepthBias"),
499 (FLOAT, "DepthBiasClamp"),
500 (FLOAT, "SlopeScaledDepthBias"),
501 (BOOL, "DepthClipEnable"),
502 (BOOL, "ScissorEnable"),
503 (BOOL, "MultisampleEnable"),
504 (BOOL, "AntialiasedLineEnable"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100505])
506
507ID3D11RasterizerState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000508 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_RASTERIZER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100509]
510
José Fonsecaee590be2012-04-16 13:25:06 +0100511D3D11_SUBRESOURCE_DATA = Struct("D3D11_SUBRESOURCE_DATA", [
José Fonseca8f6e0e32012-11-07 19:22:20 +0000512 (Blob(Const(Void), "_calcSubresourceSize(pDesc, {i}, {self}.SysMemPitch, {self}.SysMemSlicePitch)"), "pSysMem"),
José Fonsecaee590be2012-04-16 13:25:06 +0100513 (UINT, "SysMemPitch"),
514 (UINT, "SysMemSlicePitch"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100515])
516
José Fonsecaee590be2012-04-16 13:25:06 +0100517D3D11_MAPPED_SUBRESOURCE = Struct("D3D11_MAPPED_SUBRESOURCE", [
José Fonsecae6bde442012-11-14 08:45:58 +0000518 (LinearPointer(Void, "_MappedSize"), "pData"),
José Fonsecaee590be2012-04-16 13:25:06 +0100519 (UINT, "RowPitch"),
520 (UINT, "DepthPitch"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100521])
522
523ID3D11Resource.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000524 StdMethod(Void, "GetType", [Out(Pointer(D3D11_RESOURCE_DIMENSION), "pResourceDimension")], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +0100525 StdMethod(Void, "SetEvictionPriority", [(UINT, "EvictionPriority")]),
José Fonseca2b807452012-11-10 09:50:10 +0000526 StdMethod(UINT, "GetEvictionPriority", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100527]
528
José Fonsecaee590be2012-04-16 13:25:06 +0100529D3D11_BUFFER_DESC = Struct("D3D11_BUFFER_DESC", [
530 (UINT, "ByteWidth"),
531 (D3D11_USAGE, "Usage"),
532 (D3D11_BIND_FLAG, "BindFlags"),
533 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
534 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
535 (UINT, "StructureByteStride"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100536])
537
538ID3D11Buffer.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000539 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_BUFFER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100540]
541
José Fonsecaee590be2012-04-16 13:25:06 +0100542D3D11_TEXTURE1D_DESC = Struct("D3D11_TEXTURE1D_DESC", [
543 (UINT, "Width"),
544 (UINT, "MipLevels"),
545 (UINT, "ArraySize"),
546 (DXGI_FORMAT, "Format"),
547 (D3D11_USAGE, "Usage"),
548 (D3D11_BIND_FLAG, "BindFlags"),
549 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
550 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100551])
552
553ID3D11Texture1D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000554 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE1D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100555]
556
José Fonsecaee590be2012-04-16 13:25:06 +0100557D3D11_TEXTURE2D_DESC = Struct("D3D11_TEXTURE2D_DESC", [
558 (UINT, "Width"),
559 (UINT, "Height"),
560 (UINT, "MipLevels"),
561 (UINT, "ArraySize"),
562 (DXGI_FORMAT, "Format"),
563 (DXGI_SAMPLE_DESC, "SampleDesc"),
564 (D3D11_USAGE, "Usage"),
565 (D3D11_BIND_FLAG, "BindFlags"),
566 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
567 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100568])
569
570ID3D11Texture2D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000571 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE2D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100572]
573
José Fonsecaee590be2012-04-16 13:25:06 +0100574D3D11_TEXTURE3D_DESC = Struct("D3D11_TEXTURE3D_DESC", [
575 (UINT, "Width"),
576 (UINT, "Height"),
577 (UINT, "Depth"),
578 (UINT, "MipLevels"),
579 (DXGI_FORMAT, "Format"),
580 (D3D11_USAGE, "Usage"),
581 (D3D11_BIND_FLAG, "BindFlags"),
582 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
583 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100584])
585
586ID3D11Texture3D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000587 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE3D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100588]
589
José Fonsecaee590be2012-04-16 13:25:06 +0100590D3D11_TEXTURECUBE_FACE = Enum("D3D11_TEXTURECUBE_FACE", [
591 "D3D11_TEXTURECUBE_FACE_POSITIVE_X",
592 "D3D11_TEXTURECUBE_FACE_NEGATIVE_X",
593 "D3D11_TEXTURECUBE_FACE_POSITIVE_Y",
594 "D3D11_TEXTURECUBE_FACE_NEGATIVE_Y",
595 "D3D11_TEXTURECUBE_FACE_POSITIVE_Z",
596 "D3D11_TEXTURECUBE_FACE_NEGATIVE_Z",
José Fonseca5b6fb752012-04-14 14:56:45 +0100597])
598
599ID3D11View.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +0100600 StdMethod(Void, "GetResource", [Out(Pointer(ObjPointer(ID3D11Resource)), "ppResource")]),
José Fonseca5b6fb752012-04-14 14:56:45 +0100601]
602
José Fonsecaee590be2012-04-16 13:25:06 +0100603D3D11_BUFFER_SRV = Struct("D3D11_BUFFER_SRV", [
José Fonseca5f4b6e32012-11-20 10:47:10 +0000604 (UINT, "FirstElement"),
605 (UINT, "NumElements"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100606])
607
608D3D11_BUFFEREX_SRV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100609 "D3D11_BUFFEREX_SRV_FLAG_RAW",
José Fonseca5b6fb752012-04-14 14:56:45 +0100610])
611
José Fonsecaee590be2012-04-16 13:25:06 +0100612D3D11_BUFFEREX_SRV = Struct("D3D11_BUFFEREX_SRV", [
613 (UINT, "FirstElement"),
614 (UINT, "NumElements"),
615 (D3D11_BUFFEREX_SRV_FLAG, "Flags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100616])
617
José Fonsecaee590be2012-04-16 13:25:06 +0100618D3D11_TEX1D_SRV = Struct("D3D11_TEX1D_SRV", [
619 (UINT, "MostDetailedMip"),
620 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100621])
622
José Fonsecaee590be2012-04-16 13:25:06 +0100623D3D11_TEX1D_ARRAY_SRV = Struct("D3D11_TEX1D_ARRAY_SRV", [
624 (UINT, "MostDetailedMip"),
625 (UINT, "MipLevels"),
626 (UINT, "FirstArraySlice"),
627 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100628])
629
José Fonsecaee590be2012-04-16 13:25:06 +0100630D3D11_TEX2D_SRV = Struct("D3D11_TEX2D_SRV", [
631 (UINT, "MostDetailedMip"),
632 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100633])
634
José Fonsecaee590be2012-04-16 13:25:06 +0100635D3D11_TEX2D_ARRAY_SRV = Struct("D3D11_TEX2D_ARRAY_SRV", [
636 (UINT, "MostDetailedMip"),
637 (UINT, "MipLevels"),
638 (UINT, "FirstArraySlice"),
639 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100640])
641
José Fonsecaee590be2012-04-16 13:25:06 +0100642D3D11_TEX3D_SRV = Struct("D3D11_TEX3D_SRV", [
643 (UINT, "MostDetailedMip"),
644 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100645])
646
José Fonsecaee590be2012-04-16 13:25:06 +0100647D3D11_TEXCUBE_SRV = Struct("D3D11_TEXCUBE_SRV", [
648 (UINT, "MostDetailedMip"),
649 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100650])
651
José Fonsecaee590be2012-04-16 13:25:06 +0100652D3D11_TEXCUBE_ARRAY_SRV = Struct("D3D11_TEXCUBE_ARRAY_SRV", [
653 (UINT, "MostDetailedMip"),
654 (UINT, "MipLevels"),
655 (UINT, "First2DArrayFace"),
656 (UINT, "NumCubes"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100657])
658
José Fonsecaee590be2012-04-16 13:25:06 +0100659D3D11_TEX2DMS_SRV = Struct("D3D11_TEX2DMS_SRV", [
660 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100661])
662
José Fonsecaee590be2012-04-16 13:25:06 +0100663D3D11_TEX2DMS_ARRAY_SRV = Struct("D3D11_TEX2DMS_ARRAY_SRV", [
664 (UINT, "FirstArraySlice"),
665 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100666])
667
José Fonsecaee590be2012-04-16 13:25:06 +0100668D3D11_SHADER_RESOURCE_VIEW_DESC = Struct("D3D11_SHADER_RESOURCE_VIEW_DESC", [
669 (DXGI_FORMAT, "Format"),
670 (D3D11_SRV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000671 (Union("{self}.ViewDimension", [
672 ("D3D11_SRV_DIMENSION_BUFFER", D3D11_BUFFER_SRV, "Buffer"),
673 ("D3D11_SRV_DIMENSION_TEXTURE1D", D3D11_TEX1D_SRV, "Texture1D"),
674 ("D3D11_SRV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_SRV, "Texture1DArray"),
675 ("D3D11_SRV_DIMENSION_TEXTURE2D", D3D11_TEX2D_SRV, "Texture2D"),
676 ("D3D11_SRV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_SRV, "Texture2DArray"),
677 ("D3D11_SRV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_SRV, "Texture2DMS"),
678 ("D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_SRV, "Texture2DMSArray"),
679 ("D3D11_SRV_DIMENSION_TEXTURE3D", D3D11_TEX3D_SRV, "Texture3D"),
680 ("D3D11_SRV_DIMENSION_TEXTURECUBE", D3D11_TEXCUBE_SRV, "TextureCube"),
681 ("D3D11_SRV_DIMENSION_TEXTURECUBEARRAY", D3D11_TEXCUBE_ARRAY_SRV, "TextureCubeArray"),
682 ("D3D11_SRV_DIMENSION_BUFFEREX", D3D11_BUFFEREX_SRV, "BufferEx"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100683 ]), None),
684])
685
686ID3D11ShaderResourceView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000687 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_SHADER_RESOURCE_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100688]
689
José Fonsecaee590be2012-04-16 13:25:06 +0100690D3D11_BUFFER_RTV = Struct("D3D11_BUFFER_RTV", [
José Fonseca5f4b6e32012-11-20 10:47:10 +0000691 (UINT, "FirstElement"),
692 (UINT, "NumElements"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100693])
694
José Fonsecaee590be2012-04-16 13:25:06 +0100695D3D11_TEX1D_RTV = Struct("D3D11_TEX1D_RTV", [
696 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100697])
698
José Fonsecaee590be2012-04-16 13:25:06 +0100699D3D11_TEX1D_ARRAY_RTV = Struct("D3D11_TEX1D_ARRAY_RTV", [
700 (UINT, "MipSlice"),
701 (UINT, "FirstArraySlice"),
702 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100703])
704
José Fonsecaee590be2012-04-16 13:25:06 +0100705D3D11_TEX2D_RTV = Struct("D3D11_TEX2D_RTV", [
706 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100707])
708
José Fonsecaee590be2012-04-16 13:25:06 +0100709D3D11_TEX2DMS_RTV = Struct("D3D11_TEX2DMS_RTV", [
710 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100711])
712
José Fonsecaee590be2012-04-16 13:25:06 +0100713D3D11_TEX2D_ARRAY_RTV = Struct("D3D11_TEX2D_ARRAY_RTV", [
714 (UINT, "MipSlice"),
715 (UINT, "FirstArraySlice"),
716 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100717])
718
José Fonsecaee590be2012-04-16 13:25:06 +0100719D3D11_TEX2DMS_ARRAY_RTV = Struct("D3D11_TEX2DMS_ARRAY_RTV", [
720 (UINT, "FirstArraySlice"),
721 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100722])
723
José Fonsecaee590be2012-04-16 13:25:06 +0100724D3D11_TEX3D_RTV = Struct("D3D11_TEX3D_RTV", [
725 (UINT, "MipSlice"),
726 (UINT, "FirstWSlice"),
727 (UINT, "WSize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100728])
729
José Fonsecaee590be2012-04-16 13:25:06 +0100730D3D11_RENDER_TARGET_VIEW_DESC = Struct("D3D11_RENDER_TARGET_VIEW_DESC", [
731 (DXGI_FORMAT, "Format"),
732 (D3D11_RTV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000733 (Union("{self}.ViewDimension", [
José Fonsecaeb216e62012-11-20 11:08:08 +0000734 ("D3D11_RTV_DIMENSION_BUFFER", D3D11_BUFFER_RTV, "Buffer"),
735 ("D3D11_RTV_DIMENSION_TEXTURE1D", D3D11_TEX1D_RTV, "Texture1D"),
736 ("D3D11_RTV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_RTV, "Texture1DArray"),
737 ("D3D11_RTV_DIMENSION_TEXTURE2D", D3D11_TEX2D_RTV, "Texture2D"),
738 ("D3D11_RTV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_RTV, "Texture2DArray"),
739 ("D3D11_RTV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_RTV, "Texture2DMS"),
740 ("D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_RTV, "Texture2DMSArray"),
741 ("D3D11_RTV_DIMENSION_TEXTURE3D", D3D11_TEX3D_RTV, "Texture3D"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100742 ]), None),
743])
744
745ID3D11RenderTargetView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000746 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_RENDER_TARGET_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100747]
748
José Fonsecaee590be2012-04-16 13:25:06 +0100749D3D11_TEX1D_DSV = Struct("D3D11_TEX1D_DSV", [
750 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100751])
752
José Fonsecaee590be2012-04-16 13:25:06 +0100753D3D11_TEX1D_ARRAY_DSV = Struct("D3D11_TEX1D_ARRAY_DSV", [
754 (UINT, "MipSlice"),
755 (UINT, "FirstArraySlice"),
756 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100757])
758
José Fonsecaee590be2012-04-16 13:25:06 +0100759D3D11_TEX2D_DSV = Struct("D3D11_TEX2D_DSV", [
760 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100761])
762
José Fonsecaee590be2012-04-16 13:25:06 +0100763D3D11_TEX2D_ARRAY_DSV = Struct("D3D11_TEX2D_ARRAY_DSV", [
764 (UINT, "MipSlice"),
765 (UINT, "FirstArraySlice"),
766 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100767])
768
José Fonsecaee590be2012-04-16 13:25:06 +0100769D3D11_TEX2DMS_DSV = Struct("D3D11_TEX2DMS_DSV", [
770 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100771])
772
José Fonsecaee590be2012-04-16 13:25:06 +0100773D3D11_TEX2DMS_ARRAY_DSV = Struct("D3D11_TEX2DMS_ARRAY_DSV", [
774 (UINT, "FirstArraySlice"),
775 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100776])
777
778D3D11_DSV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100779 "D3D11_DSV_READ_ONLY_DEPTH",
780 "D3D11_DSV_READ_ONLY_STENCIL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100781])
782
José Fonsecaee590be2012-04-16 13:25:06 +0100783D3D11_DEPTH_STENCIL_VIEW_DESC = Struct("D3D11_DEPTH_STENCIL_VIEW_DESC", [
784 (DXGI_FORMAT, "Format"),
785 (D3D11_DSV_DIMENSION, "ViewDimension"),
786 (D3D11_DSV_FLAG, "Flags"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000787 (Union("{self}.ViewDimension", [
788 ("D3D11_DSV_DIMENSION_TEXTURE1D", D3D11_TEX1D_DSV, "Texture1D"),
789 ("D3D11_DSV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_DSV, "Texture1DArray"),
790 ("D3D11_DSV_DIMENSION_TEXTURE2D", D3D11_TEX2D_DSV, "Texture2D"),
791 ("D3D11_DSV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_DSV, "Texture2DArray"),
792 ("D3D11_DSV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_DSV, "Texture2DMS"),
793 ("D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_DSV, "Texture2DMSArray"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100794 ]), None),
795])
796
797ID3D11DepthStencilView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000798 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_DEPTH_STENCIL_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100799]
800
801D3D11_BUFFER_UAV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100802 "D3D11_BUFFER_UAV_FLAG_RAW",
803 "D3D11_BUFFER_UAV_FLAG_APPEND",
804 "D3D11_BUFFER_UAV_FLAG_COUNTER",
José Fonseca5b6fb752012-04-14 14:56:45 +0100805])
806
José Fonsecaee590be2012-04-16 13:25:06 +0100807D3D11_BUFFER_UAV = Struct("D3D11_BUFFER_UAV", [
808 (UINT, "FirstElement"),
809 (UINT, "NumElements"),
810 (D3D11_BUFFER_UAV_FLAG, "Flags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100811])
812
José Fonsecaee590be2012-04-16 13:25:06 +0100813D3D11_TEX1D_UAV = Struct("D3D11_TEX1D_UAV", [
814 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100815])
816
José Fonsecaee590be2012-04-16 13:25:06 +0100817D3D11_TEX1D_ARRAY_UAV = Struct("D3D11_TEX1D_ARRAY_UAV", [
818 (UINT, "MipSlice"),
819 (UINT, "FirstArraySlice"),
820 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100821])
822
José Fonsecaee590be2012-04-16 13:25:06 +0100823D3D11_TEX2D_UAV = Struct("D3D11_TEX2D_UAV", [
824 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100825])
826
José Fonsecaee590be2012-04-16 13:25:06 +0100827D3D11_TEX2D_ARRAY_UAV = Struct("D3D11_TEX2D_ARRAY_UAV", [
828 (UINT, "MipSlice"),
829 (UINT, "FirstArraySlice"),
830 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100831])
832
José Fonsecaee590be2012-04-16 13:25:06 +0100833D3D11_TEX3D_UAV = Struct("D3D11_TEX3D_UAV", [
834 (UINT, "MipSlice"),
835 (UINT, "FirstWSlice"),
836 (UINT, "WSize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100837])
838
José Fonsecaee590be2012-04-16 13:25:06 +0100839D3D11_UNORDERED_ACCESS_VIEW_DESC = Struct("D3D11_UNORDERED_ACCESS_VIEW_DESC", [
840 (DXGI_FORMAT, "Format"),
841 (D3D11_UAV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000842 (Union("{self}.ViewDimension", [
843 ("D3D11_UAV_DIMENSION_BUFFER", D3D11_BUFFER_UAV, "Buffer"),
844 ("D3D11_UAV_DIMENSION_TEXTURE1D", D3D11_TEX1D_UAV, "Texture1D"),
845 ("D3D11_UAV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_UAV, "Texture1DArray"),
846 ("D3D11_UAV_DIMENSION_TEXTURE2D", D3D11_TEX2D_UAV, "Texture2D"),
847 ("D3D11_UAV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_UAV, "Texture2DArray"),
848 ("D3D11_UAV_DIMENSION_TEXTURE3D", D3D11_TEX3D_UAV, "Texture3D"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100849 ]), None),
850])
851
852ID3D11UnorderedAccessView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000853 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_UNORDERED_ACCESS_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100854]
855
José Fonsecaee590be2012-04-16 13:25:06 +0100856D3D11_FILTER = Enum("D3D11_FILTER", [
857 "D3D11_FILTER_MIN_MAG_MIP_POINT",
858 "D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR",
859 "D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT",
860 "D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR",
861 "D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT",
862 "D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
863 "D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT",
864 "D3D11_FILTER_MIN_MAG_MIP_LINEAR",
865 "D3D11_FILTER_ANISOTROPIC",
866 "D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT",
867 "D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR",
868 "D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT",
869 "D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR",
870 "D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT",
871 "D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
872 "D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT",
873 "D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR",
874 "D3D11_FILTER_COMPARISON_ANISOTROPIC",
Jose Fonseca503fde92015-07-16 17:00:30 +0100875 "D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT",
876 "D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR",
877 "D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT",
878 "D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR",
879 "D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT",
880 "D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
881 "D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT",
882 "D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR",
883 "D3D11_FILTER_MINIMUM_ANISOTROPIC",
884 "D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT",
885 "D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR",
886 "D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT",
887 "D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR",
888 "D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT",
889 "D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
890 "D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT",
891 "D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR",
892 "D3D11_FILTER_MAXIMUM_ANISOTROPIC",
José Fonseca5b6fb752012-04-14 14:56:45 +0100893])
894
José Fonsecaee590be2012-04-16 13:25:06 +0100895D3D11_FILTER_TYPE = Enum("D3D11_FILTER_TYPE", [
896 "D3D11_FILTER_TYPE_POINT",
897 "D3D11_FILTER_TYPE_LINEAR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100898])
899
José Fonsecaee590be2012-04-16 13:25:06 +0100900D3D11_TEXTURE_ADDRESS_MODE = Enum("D3D11_TEXTURE_ADDRESS_MODE", [
901 "D3D11_TEXTURE_ADDRESS_WRAP",
902 "D3D11_TEXTURE_ADDRESS_MIRROR",
903 "D3D11_TEXTURE_ADDRESS_CLAMP",
904 "D3D11_TEXTURE_ADDRESS_BORDER",
905 "D3D11_TEXTURE_ADDRESS_MIRROR_ONCE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100906])
907
José Fonsecaee590be2012-04-16 13:25:06 +0100908D3D11_SAMPLER_DESC = Struct("D3D11_SAMPLER_DESC", [
909 (D3D11_FILTER, "Filter"),
910 (D3D11_TEXTURE_ADDRESS_MODE, "AddressU"),
911 (D3D11_TEXTURE_ADDRESS_MODE, "AddressV"),
912 (D3D11_TEXTURE_ADDRESS_MODE, "AddressW"),
913 (FLOAT, "MipLODBias"),
914 (UINT, "MaxAnisotropy"),
915 (D3D11_COMPARISON_FUNC, "ComparisonFunc"),
916 (Array(FLOAT, 4), "BorderColor"),
917 (FLOAT, "MinLOD"),
918 (FLOAT, "MaxLOD"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100919])
920
921ID3D11SamplerState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000922 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_SAMPLER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100923]
924
José Fonsecaee590be2012-04-16 13:25:06 +0100925D3D11_FORMAT_SUPPORT = Flags(UINT, [
926 "D3D11_FORMAT_SUPPORT_BUFFER",
927 "D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER",
928 "D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER",
929 "D3D11_FORMAT_SUPPORT_SO_BUFFER",
930 "D3D11_FORMAT_SUPPORT_TEXTURE1D",
931 "D3D11_FORMAT_SUPPORT_TEXTURE2D",
932 "D3D11_FORMAT_SUPPORT_TEXTURE3D",
933 "D3D11_FORMAT_SUPPORT_TEXTURECUBE",
934 "D3D11_FORMAT_SUPPORT_SHADER_LOAD",
935 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE",
936 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON",
937 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT",
938 "D3D11_FORMAT_SUPPORT_MIP",
939 "D3D11_FORMAT_SUPPORT_MIP_AUTOGEN",
940 "D3D11_FORMAT_SUPPORT_RENDER_TARGET",
941 "D3D11_FORMAT_SUPPORT_BLENDABLE",
942 "D3D11_FORMAT_SUPPORT_DEPTH_STENCIL",
943 "D3D11_FORMAT_SUPPORT_CPU_LOCKABLE",
944 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE",
945 "D3D11_FORMAT_SUPPORT_DISPLAY",
946 "D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT",
947 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET",
948 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD",
949 "D3D11_FORMAT_SUPPORT_SHADER_GATHER",
950 "D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST",
951 "D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW",
952 "D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON",
Jose Fonseca503fde92015-07-16 17:00:30 +0100953 "D3D11_FORMAT_SUPPORT_DECODER_OUTPUT",
954 "D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT",
955 "D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT",
956 "D3D11_FORMAT_SUPPORT_VIDEO_ENCODER",
José Fonseca5b6fb752012-04-14 14:56:45 +0100957])
958
José Fonsecaee590be2012-04-16 13:25:06 +0100959D3D11_FORMAT_SUPPORT2 = Enum("D3D11_FORMAT_SUPPORT2", [
960 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD",
961 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS",
962 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE",
963 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE",
964 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX",
965 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX",
966 "D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD",
967 "D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE",
Jose Fonseca503fde92015-07-16 17:00:30 +0100968 "D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP",
969 "D3D11_FORMAT_SUPPORT2_TILED",
970 "D3D11_FORMAT_SUPPORT2_SHAREABLE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100971])
972
973ID3D11Asynchronous.methods += [
José Fonsecabc10e452012-11-08 10:24:45 +0000974 StdMethod(UINT, "GetDataSize", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100975]
976
977D3D11_ASYNC_GETDATA_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100978 "D3D11_ASYNC_GETDATA_DONOTFLUSH",
José Fonseca5b6fb752012-04-14 14:56:45 +0100979])
980
José Fonsecaee590be2012-04-16 13:25:06 +0100981D3D11_QUERY = Enum("D3D11_QUERY", [
982 "D3D11_QUERY_EVENT",
983 "D3D11_QUERY_OCCLUSION",
984 "D3D11_QUERY_TIMESTAMP",
985 "D3D11_QUERY_TIMESTAMP_DISJOINT",
986 "D3D11_QUERY_PIPELINE_STATISTICS",
987 "D3D11_QUERY_OCCLUSION_PREDICATE",
988 "D3D11_QUERY_SO_STATISTICS",
989 "D3D11_QUERY_SO_OVERFLOW_PREDICATE",
990 "D3D11_QUERY_SO_STATISTICS_STREAM0",
991 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0",
992 "D3D11_QUERY_SO_STATISTICS_STREAM1",
993 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1",
994 "D3D11_QUERY_SO_STATISTICS_STREAM2",
995 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2",
996 "D3D11_QUERY_SO_STATISTICS_STREAM3",
997 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3",
José Fonseca5b6fb752012-04-14 14:56:45 +0100998])
999
1000D3D11_QUERY_MISC_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +01001001 "D3D11_QUERY_MISC_PREDICATEHINT",
José Fonseca5b6fb752012-04-14 14:56:45 +01001002])
1003
José Fonsecaee590be2012-04-16 13:25:06 +01001004D3D11_QUERY_DESC = Struct("D3D11_QUERY_DESC", [
1005 (D3D11_QUERY, "Query"),
1006 (D3D11_QUERY_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001007])
1008
1009ID3D11Query.methods += [
José Fonseca2b807452012-11-10 09:50:10 +00001010 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_QUERY_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001011]
1012
José Fonsecaee590be2012-04-16 13:25:06 +01001013D3D11_QUERY_DATA_TIMESTAMP_DISJOINT = Struct("D3D11_QUERY_DATA_TIMESTAMP_DISJOINT", [
1014 (UINT64, "Frequency"),
1015 (BOOL, "Disjoint"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001016])
1017
José Fonsecaee590be2012-04-16 13:25:06 +01001018D3D11_QUERY_DATA_PIPELINE_STATISTICS = Struct("D3D11_QUERY_DATA_PIPELINE_STATISTICS", [
1019 (UINT64, "IAVertices"),
1020 (UINT64, "IAPrimitives"),
1021 (UINT64, "VSInvocations"),
1022 (UINT64, "GSInvocations"),
1023 (UINT64, "GSPrimitives"),
1024 (UINT64, "CInvocations"),
1025 (UINT64, "CPrimitives"),
1026 (UINT64, "PSInvocations"),
1027 (UINT64, "HSInvocations"),
1028 (UINT64, "DSInvocations"),
1029 (UINT64, "CSInvocations"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001030])
1031
José Fonsecaee590be2012-04-16 13:25:06 +01001032D3D11_QUERY_DATA_SO_STATISTICS = Struct("D3D11_QUERY_DATA_SO_STATISTICS", [
1033 (UINT64, "NumPrimitivesWritten"),
1034 (UINT64, "PrimitivesStorageNeeded"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001035])
1036
José Fonsecadbc46f02014-08-15 17:04:17 +01001037D3D11_QUERY_DATA = Polymorphic("_getQueryType(pAsync)", [
1038 ("D3D11_QUERY_EVENT", Pointer(BOOL)),
1039 ("D3D11_QUERY_OCCLUSION", Pointer(UINT64)),
1040 ("D3D11_QUERY_TIMESTAMP", Pointer(UINT64)),
1041 ("D3D11_QUERY_TIMESTAMP_DISJOINT", Pointer(D3D11_QUERY_DATA_TIMESTAMP_DISJOINT)),
1042 ("D3D11_QUERY_PIPELINE_STATISTICS", Pointer(D3D11_QUERY_DATA_PIPELINE_STATISTICS)),
1043 ("D3D11_QUERY_OCCLUSION_PREDICATE", Pointer(BOOL)),
1044 ("D3D11_QUERY_SO_STATISTICS", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1045 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE", Pointer(BOOL)),
1046 ("D3D11_QUERY_SO_STATISTICS_STREAM0", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1047 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0", Pointer(BOOL)),
1048 ("D3D11_QUERY_SO_STATISTICS_STREAM1", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1049 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1", Pointer(BOOL)),
1050 ("D3D11_QUERY_SO_STATISTICS_STREAM2", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1051 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2", Pointer(BOOL)),
1052 ("D3D11_QUERY_SO_STATISTICS_STREAM3", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1053 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3", Pointer(BOOL)),
1054], Blob(Void, "DataSize"), contextLess=False)
1055
José Fonsecaee590be2012-04-16 13:25:06 +01001056D3D11_COUNTER = Enum("D3D11_COUNTER", [
1057 "D3D11_COUNTER_DEVICE_DEPENDENT_0",
José Fonseca5b6fb752012-04-14 14:56:45 +01001058])
1059
José Fonsecaee590be2012-04-16 13:25:06 +01001060D3D11_COUNTER_TYPE = Enum("D3D11_COUNTER_TYPE", [
1061 "D3D11_COUNTER_TYPE_FLOAT32",
1062 "D3D11_COUNTER_TYPE_UINT16",
1063 "D3D11_COUNTER_TYPE_UINT32",
1064 "D3D11_COUNTER_TYPE_UINT64",
José Fonseca5b6fb752012-04-14 14:56:45 +01001065])
1066
José Fonsecaee590be2012-04-16 13:25:06 +01001067D3D11_COUNTER_DESC = Struct("D3D11_COUNTER_DESC", [
1068 (D3D11_COUNTER, "Counter"),
1069 (UINT, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001070])
1071
José Fonsecaee590be2012-04-16 13:25:06 +01001072D3D11_COUNTER_INFO = Struct("D3D11_COUNTER_INFO", [
1073 (D3D11_COUNTER, "LastDeviceDependentCounter"),
1074 (UINT, "NumSimultaneousCounters"),
1075 (UINT8, "NumDetectableParallelUnits"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001076])
1077
1078ID3D11Counter.methods += [
José Fonseca2b807452012-11-10 09:50:10 +00001079 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_COUNTER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001080]
1081
José Fonsecaee590be2012-04-16 13:25:06 +01001082D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS = Enum("D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS", [
1083 "D3D11_STANDARD_MULTISAMPLE_PATTERN",
1084 "D3D11_CENTER_MULTISAMPLE_PATTERN",
José Fonseca5b6fb752012-04-14 14:56:45 +01001085])
1086
José Fonsecaee590be2012-04-16 13:25:06 +01001087D3D11_DEVICE_CONTEXT_TYPE = Enum("D3D11_DEVICE_CONTEXT_TYPE", [
1088 "D3D11_DEVICE_CONTEXT_IMMEDIATE",
1089 "D3D11_DEVICE_CONTEXT_DEFERRED",
José Fonseca5b6fb752012-04-14 14:56:45 +01001090])
1091
José Fonsecaee590be2012-04-16 13:25:06 +01001092D3D11_CLASS_INSTANCE_DESC = Struct("D3D11_CLASS_INSTANCE_DESC", [
1093 (UINT, "InstanceId"),
1094 (UINT, "InstanceIndex"),
1095 (UINT, "TypeId"),
1096 (UINT, "ConstantBuffer"),
1097 (UINT, "BaseConstantBufferOffset"),
1098 (UINT, "BaseTexture"),
1099 (UINT, "BaseSampler"),
1100 (BOOL, "Created"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001101])
1102
1103
1104ID3D11ClassInstance.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001105 StdMethod(Void, "GetClassLinkage", [Out(Pointer(ObjPointer(ID3D11ClassLinkage)), "ppLinkage")]),
José Fonsecabc10e452012-11-08 10:24:45 +00001106 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_CLASS_INSTANCE_DESC), "pDesc")], sideeffects=False),
1107 StdMethod(Void, "GetInstanceName", [Out(LPSTR, "pInstanceName"), Out(Pointer(SIZE_T), "pBufferLength")], sideeffects=False),
1108 StdMethod(Void, "GetTypeName", [Out(LPSTR, "pTypeName"), Out(Pointer(SIZE_T), "pBufferLength")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001109]
1110
1111ID3D11ClassLinkage.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001112 StdMethod(HRESULT, "GetClassInstance", [(LPCSTR, "pClassInstanceName"), (UINT, "InstanceIndex"), Out(Pointer(ObjPointer(ID3D11ClassInstance)), "ppInstance")]),
1113 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 +01001114]
1115
1116ID3D11CommandList.methods += [
José Fonseca2b807452012-11-10 09:50:10 +00001117 StdMethod(UINT, "GetContextFlags", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001118]
1119
José Fonsecaee590be2012-04-16 13:25:06 +01001120D3D11_FEATURE_DATA_THREADING = Struct("D3D11_FEATURE_DATA_THREADING", [
1121 (BOOL, "DriverConcurrentCreates"),
1122 (BOOL, "DriverCommandLists"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001123])
1124
José Fonsecaee590be2012-04-16 13:25:06 +01001125D3D11_FEATURE_DATA_DOUBLES = Struct("D3D11_FEATURE_DATA_DOUBLES", [
1126 (BOOL, "DoublePrecisionFloatShaderOps"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001127])
1128
José Fonsecaee590be2012-04-16 13:25:06 +01001129D3D11_FEATURE_DATA_FORMAT_SUPPORT = Struct("D3D11_FEATURE_DATA_FORMAT_SUPPORT", [
1130 (DXGI_FORMAT, "InFormat"),
1131 (D3D11_FORMAT_SUPPORT, "OutFormatSupport"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001132])
1133
José Fonsecaee590be2012-04-16 13:25:06 +01001134D3D11_FEATURE_DATA_FORMAT_SUPPORT2 = Struct("D3D11_FEATURE_DATA_FORMAT_SUPPORT2", [
1135 (DXGI_FORMAT, "InFormat"),
1136 (D3D11_FORMAT_SUPPORT2, "OutFormatSupport2"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001137])
1138
José Fonsecaee590be2012-04-16 13:25:06 +01001139D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS", [
1140 (BOOL, "ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001141])
1142
José Fonseca9a8d0cf2014-10-03 15:38:14 +01001143D3D11_FEATURE_DATA_D3D11_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D11_OPTIONS", [
1144 (BOOL, "OutputMergerLogicOp"),
1145 (BOOL, "UAVOnlyRenderingForcedSampleCount"),
1146 (BOOL, "DiscardAPIsSeenByDriver"),
1147 (BOOL, "FlagsForUpdateAndCopySeenByDriver"),
1148 (BOOL, "ClearView"),
1149 (BOOL, "CopyWithOverlap"),
1150 (BOOL, "ConstantBufferPartialUpdate"),
1151 (BOOL, "ConstantBufferOffsetting"),
1152 (BOOL, "MapNoOverwriteOnDynamicConstantBuffer"),
1153 (BOOL, "MapNoOverwriteOnDynamicBufferSRV"),
1154 (BOOL, "MultisampleRTVWithForcedSampleCountOne"),
1155 (BOOL, "SAD4ShaderInstructions"),
1156 (BOOL, "ExtendedDoublesShaderInstructions"),
1157 (BOOL, "ExtendedResourceSharing"),
1158])
1159
1160D3D11_FEATURE_DATA_ARCHITECTURE_INFO = Struct("D3D11_FEATURE_DATA_ARCHITECTURE_INFO", [
1161 (BOOL, "TileBasedDeferredRenderer"),
1162])
1163
1164D3D11_FEATURE_DATA_D3D9_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D9_OPTIONS", [
1165 (BOOL, "FullNonPow2TextureSupport"),
1166])
1167
1168D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT = Struct("D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT", [
1169 (BOOL, "SupportsDepthAsTextureWithLessEqualComparisonFilter"),
1170])
1171
1172D3D11_SHADER_MIN_PRECISION_SUPPORT = Enum("D3D11_SHADER_MIN_PRECISION_SUPPORT", [
1173 "D3D11_SHADER_MIN_PRECISION_10_BIT",
1174 "D3D11_SHADER_MIN_PRECISION_16_BIT",
1175])
1176
1177D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT = Struct("D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT", [
1178 (UINT, "PixelShaderMinPrecision"),
1179 (UINT, "AllOtherShaderStagesMinPrecision"),
1180])
1181
1182D3D11_TILED_RESOURCES_TIER = Enum("D3D11_TILED_RESOURCES_TIER", [
1183 "D3D11_TILED_RESOURCES_NOT_SUPPORTED",
1184 "D3D11_TILED_RESOURCES_TIER_1",
1185 "D3D11_TILED_RESOURCES_TIER_2",
1186])
1187
1188D3D11_FEATURE_DATA_D3D11_OPTIONS1 = Struct("D3D11_FEATURE_DATA_D3D11_OPTIONS1", [
1189 (D3D11_TILED_RESOURCES_TIER, "TiledResourcesTier"),
1190 (BOOL, "MinMaxFiltering"),
1191 (BOOL, "ClearViewAlsoSupportsDepthOnlyFormats"),
1192 (BOOL, "MapOnDefaultBuffers"),
1193])
1194
1195D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT = Struct("D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT", [
1196 (BOOL, "SimpleInstancingSupported"),
1197])
1198
1199D3D11_FEATURE_DATA_MARKER_SUPPORT = Struct("D3D11_FEATURE_DATA_MARKER_SUPPORT", [
1200 (BOOL, "Profile"),
1201])
1202
1203D3D11_FEATURE_DATA_D3D9_OPTIONS1 = Struct("D3D11_FEATURE_DATA_D3D9_OPTIONS1", [
1204 (BOOL, "FullNonPow2TextureSupported"),
1205 (BOOL, "DepthAsTextureWithLessEqualComparisonFilterSupported"),
1206 (BOOL, "SimpleInstancingSupported"),
1207 (BOOL, "TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported"),
1208])
1209
José Fonsecab95e3722012-04-16 14:01:15 +01001210D3D11_FEATURE, D3D11_FEATURE_DATA = EnumPolymorphic("D3D11_FEATURE", "Feature", [
1211 ("D3D11_FEATURE_THREADING", Pointer(D3D11_FEATURE_DATA_THREADING)),
1212 ("D3D11_FEATURE_DOUBLES", Pointer(D3D11_FEATURE_DATA_DOUBLES)),
1213 ("D3D11_FEATURE_FORMAT_SUPPORT", Pointer(D3D11_FEATURE_DATA_FORMAT_SUPPORT)),
1214 ("D3D11_FEATURE_FORMAT_SUPPORT2", Pointer(D3D11_FEATURE_DATA_FORMAT_SUPPORT2)),
1215 ("D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS)),
José Fonseca9a8d0cf2014-10-03 15:38:14 +01001216 ("D3D11_FEATURE_D3D11_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D11_OPTIONS)),
1217 ("D3D11_FEATURE_ARCHITECTURE_INFO", Pointer(D3D11_FEATURE_DATA_ARCHITECTURE_INFO)),
1218 ("D3D11_FEATURE_D3D9_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D9_OPTIONS)),
1219 ("D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT", Pointer(D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT)),
1220 ("D3D11_FEATURE_D3D9_SHADOW_SUPPORT", Pointer(D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT)),
1221 ("D3D11_FEATURE_D3D11_OPTIONS1", Pointer(D3D11_FEATURE_DATA_D3D11_OPTIONS1)),
1222 ("D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT", Pointer(D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT)),
1223 ("D3D11_FEATURE_MARKER_SUPPORT", Pointer(D3D11_FEATURE_DATA_MARKER_SUPPORT)),
1224 ("D3D11_FEATURE_D3D9_OPTIONS1", Pointer(D3D11_FEATURE_DATA_D3D9_OPTIONS1)),
José Fonsecab95e3722012-04-16 14:01:15 +01001225], Blob(Void, "FeatureSupportDataSize"), False)
1226
José Fonseca5b6fb752012-04-14 14:56:45 +01001227ID3D11DeviceContext.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001228 StdMethod(Void, "VSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1229 StdMethod(Void, "PSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1230 StdMethod(Void, "PSSetShader", [(ObjPointer(ID3D11PixelShader), "pPixelShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1231 StdMethod(Void, "PSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1232 StdMethod(Void, "VSSetShader", [(ObjPointer(ID3D11VertexShader), "pVertexShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1233 StdMethod(Void, "DrawIndexed", [(UINT, "IndexCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation")]),
1234 StdMethod(Void, "Draw", [(UINT, "VertexCount"), (UINT, "StartVertexLocation")]),
1235 StdMethod(HRESULT, "Map", [(ObjPointer(ID3D11Resource), "pResource"), (UINT, "Subresource"), (D3D11_MAP, "MapType"), (D3D11_MAP_FLAG, "MapFlags"), Out(Pointer(D3D11_MAPPED_SUBRESOURCE), "pMappedResource")]),
1236 StdMethod(Void, "Unmap", [(ObjPointer(ID3D11Resource), "pResource"), (UINT, "Subresource")]),
1237 StdMethod(Void, "PSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1238 StdMethod(Void, "IASetInputLayout", [(ObjPointer(ID3D11InputLayout), "pInputLayout")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001239 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 +01001240 StdMethod(Void, "IASetIndexBuffer", [(ObjPointer(ID3D11Buffer), "pIndexBuffer"), (DXGI_FORMAT, "Format"), (UINT, "Offset")]),
1241 StdMethod(Void, "DrawIndexedInstanced", [(UINT, "IndexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation"), (UINT, "StartInstanceLocation")]),
1242 StdMethod(Void, "DrawInstanced", [(UINT, "VertexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartVertexLocation"), (UINT, "StartInstanceLocation")]),
1243 StdMethod(Void, "GSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1244 StdMethod(Void, "GSSetShader", [(ObjPointer(ID3D11GeometryShader), "pShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1245 StdMethod(Void, "IASetPrimitiveTopology", [(D3D11_PRIMITIVE_TOPOLOGY, "Topology")]),
1246 StdMethod(Void, "VSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1247 StdMethod(Void, "VSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1248 StdMethod(Void, "Begin", [(ObjPointer(ID3D11Asynchronous), "pAsync")]),
1249 StdMethod(Void, "End", [(ObjPointer(ID3D11Asynchronous), "pAsync")]),
José Fonsecadbc46f02014-08-15 17:04:17 +01001250 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 +01001251 StdMethod(Void, "SetPredication", [(ObjPointer(ID3D11Predicate), "pPredicate"), (BOOL, "PredicateValue")]),
1252 StdMethod(Void, "GSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1253 StdMethod(Void, "GSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1254 StdMethod(Void, "OMSetRenderTargets", [(UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11RenderTargetView)), "NumViews"), "ppRenderTargetViews"), (ObjPointer(ID3D11DepthStencilView), "pDepthStencilView")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001255 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 +01001256 StdMethod(Void, "OMSetBlendState", [(ObjPointer(ID3D11BlendState), "pBlendState"), (Array(Const(FLOAT), 4), "BlendFactor"), (UINT, "SampleMask")]),
1257 StdMethod(Void, "OMSetDepthStencilState", [(ObjPointer(ID3D11DepthStencilState), "pDepthStencilState"), (UINT, "StencilRef")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001258 StdMethod(Void, "SOSetTargets", [(UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppSOTargets"), (Array(Const(UINT), "NumBuffers"), "pOffsets")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001259 StdMethod(Void, "DrawAuto", []),
1260 StdMethod(Void, "DrawIndexedInstancedIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1261 StdMethod(Void, "DrawInstancedIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1262 StdMethod(Void, "Dispatch", [(UINT, "ThreadGroupCountX"), (UINT, "ThreadGroupCountY"), (UINT, "ThreadGroupCountZ")]),
1263 StdMethod(Void, "DispatchIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1264 StdMethod(Void, "RSSetState", [(ObjPointer(ID3D11RasterizerState), "pRasterizerState")]),
1265 StdMethod(Void, "RSSetViewports", [(UINT, "NumViewports"), (Array(Const(D3D11_VIEWPORT), "NumViewports"), "pViewports")]),
1266 StdMethod(Void, "RSSetScissorRects", [(UINT, "NumRects"), (Array(Const(D3D11_RECT), "NumRects"), "pRects")]),
1267 StdMethod(Void, "CopySubresourceRegion", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (UINT, "DstX"), (UINT, "DstY"), (UINT, "DstZ"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (Pointer(Const(D3D11_BOX)), "pSrcBox")]),
1268 StdMethod(Void, "CopyResource", [(ObjPointer(ID3D11Resource), "pDstResource"), (ObjPointer(ID3D11Resource), "pSrcResource")]),
José Fonsecacc9abd72012-11-08 10:47:18 +00001269 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 +01001270 StdMethod(Void, "CopyStructureCount", [(ObjPointer(ID3D11Buffer), "pDstBuffer"), (UINT, "DstAlignedByteOffset"), (ObjPointer(ID3D11UnorderedAccessView), "pSrcView")]),
1271 StdMethod(Void, "ClearRenderTargetView", [(ObjPointer(ID3D11RenderTargetView), "pRenderTargetView"), (Array(Const(FLOAT), 4), "ColorRGBA")]),
1272 StdMethod(Void, "ClearUnorderedAccessViewUint", [(ObjPointer(ID3D11UnorderedAccessView), "pUnorderedAccessView"), (Array(Const(UINT), 4), "Values")]),
1273 StdMethod(Void, "ClearUnorderedAccessViewFloat", [(ObjPointer(ID3D11UnorderedAccessView), "pUnorderedAccessView"), (Array(Const(FLOAT), 4), "Values")]),
1274 StdMethod(Void, "ClearDepthStencilView", [(ObjPointer(ID3D11DepthStencilView), "pDepthStencilView"), (D3D11_CLEAR_FLAG, "ClearFlags"), (FLOAT, "Depth"), (UINT8, "Stencil")]),
1275 StdMethod(Void, "GenerateMips", [(ObjPointer(ID3D11ShaderResourceView), "pShaderResourceView")]),
1276 StdMethod(Void, "SetResourceMinLOD", [(ObjPointer(ID3D11Resource), "pResource"), (FLOAT, "MinLOD")]),
José Fonseca2b807452012-11-10 09:50:10 +00001277 StdMethod(FLOAT, "GetResourceMinLOD", [(ObjPointer(ID3D11Resource), "pResource")], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001278 StdMethod(Void, "ResolveSubresource", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (DXGI_FORMAT, "Format")]),
1279 StdMethod(Void, "ExecuteCommandList", [(ObjPointer(ID3D11CommandList), "pCommandList"), (BOOL, "RestoreContextState")]),
1280 StdMethod(Void, "HSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1281 StdMethod(Void, "HSSetShader", [(ObjPointer(ID3D11HullShader), "pHullShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1282 StdMethod(Void, "HSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1283 StdMethod(Void, "HSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1284 StdMethod(Void, "DSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1285 StdMethod(Void, "DSSetShader", [(ObjPointer(ID3D11DomainShader), "pDomainShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1286 StdMethod(Void, "DSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1287 StdMethod(Void, "DSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1288 StdMethod(Void, "CSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001289 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 +01001290 StdMethod(Void, "CSSetShader", [(ObjPointer(ID3D11ComputeShader), "pComputeShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1291 StdMethod(Void, "CSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1292 StdMethod(Void, "CSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001293 StdMethod(Void, "VSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1294 StdMethod(Void, "PSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001295 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 +00001296 StdMethod(Void, "PSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001297 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 +00001298 StdMethod(Void, "PSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001299 StdMethod(Void, "IAGetInputLayout", [Out(Pointer(ObjPointer(ID3D11InputLayout)), "ppInputLayout")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001300 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 +01001301 StdMethod(Void, "IAGetIndexBuffer", [Out(Pointer(ObjPointer(ID3D11Buffer)), "pIndexBuffer"), Out(Pointer(DXGI_FORMAT), "Format"), Out(Pointer(UINT), "Offset")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001302 StdMethod(Void, "GSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001303 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 +00001304 StdMethod(Void, "IAGetPrimitiveTopology", [Out(Pointer(D3D11_PRIMITIVE_TOPOLOGY), "pTopology")], sideeffects=False),
José Fonseca8ce19e42012-11-21 21:01:05 +00001305 StdMethod(Void, "VSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1306 StdMethod(Void, "VSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001307 StdMethod(Void, "GetPredication", [Out(Pointer(ObjPointer(ID3D11Predicate)), "ppPredicate"), Out(Pointer(BOOL), "pPredicateValue")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001308 StdMethod(Void, "GSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1309 StdMethod(Void, "GSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1310 StdMethod(Void, "OMGetRenderTargets", [(UINT, "NumViews"), Out(Array(ObjPointer(ID3D11RenderTargetView), "NumViews"), "ppRenderTargetViews"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView")]),
1311 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 +01001312 StdMethod(Void, "OMGetBlendState", [Out(Pointer(ObjPointer(ID3D11BlendState)), "ppBlendState"), Out(Array(FLOAT, 4), "BlendFactor"), Out(Pointer(UINT), "pSampleMask")]),
1313 StdMethod(Void, "OMGetDepthStencilState", [Out(Pointer(ObjPointer(ID3D11DepthStencilState)), "ppDepthStencilState"), Out(Pointer(UINT), "pStencilRef")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001314 StdMethod(Void, "SOGetTargets", [(UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppSOTargets")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001315 StdMethod(Void, "RSGetState", [Out(Pointer(ObjPointer(ID3D11RasterizerState)), "ppRasterizerState")]),
José Fonseca00b9aba2014-08-13 13:18:48 +01001316 StdMethod(Void, "RSGetViewports", [InOut(Pointer(UINT), "pNumViewports"), Out(Array(D3D11_VIEWPORT, "*pNumViewports"), "pViewports")], sideeffects=False),
1317 StdMethod(Void, "RSGetScissorRects", [InOut(Pointer(UINT), "pNumRects"), Out(Array(D3D11_RECT, "*pNumRects"), "pRects")], sideeffects=False),
José Fonseca8ce19e42012-11-21 21:01:05 +00001318 StdMethod(Void, "HSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001319 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 +00001320 StdMethod(Void, "HSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1321 StdMethod(Void, "HSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1322 StdMethod(Void, "DSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001323 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 +00001324 StdMethod(Void, "DSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1325 StdMethod(Void, "DSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1326 StdMethod(Void, "CSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1327 StdMethod(Void, "CSGetUnorderedAccessViews", [(UINT, "StartSlot"), (UINT, "NumUAVs"), Out(Array(ObjPointer(ID3D11UnorderedAccessView), "NumUAVs"), "ppUnorderedAccessViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001328 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 +00001329 StdMethod(Void, "CSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1330 StdMethod(Void, "CSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001331 StdMethod(Void, "ClearState", []),
1332 StdMethod(Void, "Flush", []),
José Fonseca2b807452012-11-10 09:50:10 +00001333 StdMethod(D3D11_DEVICE_CONTEXT_TYPE, "GetType", [], sideeffects=False),
1334 StdMethod(UINT, "GetContextFlags", [], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001335 StdMethod(HRESULT, "FinishCommandList", [(BOOL, "RestoreDeferredContextState"), Out(Pointer(ObjPointer(ID3D11CommandList)), "ppCommandList")]),
José Fonseca5b6fb752012-04-14 14:56:45 +01001336]
1337
1338D3D11_CREATE_DEVICE_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +01001339 "D3D11_CREATE_DEVICE_SINGLETHREADED",
1340 "D3D11_CREATE_DEVICE_DEBUG",
1341 "D3D11_CREATE_DEVICE_SWITCH_TO_REF",
1342 "D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS",
1343 "D3D11_CREATE_DEVICE_BGRA_SUPPORT",
José Fonseca40b82ca2015-02-07 22:55:49 +00001344 "D3D11_CREATE_DEVICE_DEBUGGABLE",
1345 "D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY",
1346 "D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT",
1347 "D3D11_CREATE_DEVICE_VIDEO_SUPPORT",
José Fonseca5b6fb752012-04-14 14:56:45 +01001348])
1349
Jose Fonseca5f5181d2015-07-17 12:06:23 +01001350D3D_FEATURE_LEVEL = Enum("D3D_FEATURE_LEVEL", [
1351 "D3D_FEATURE_LEVEL_9_1",
1352 "D3D_FEATURE_LEVEL_9_2",
1353 "D3D_FEATURE_LEVEL_9_3",
1354 "D3D_FEATURE_LEVEL_10_0",
1355 "D3D_FEATURE_LEVEL_10_1",
1356 "D3D_FEATURE_LEVEL_11_0",
1357 "D3D_FEATURE_LEVEL_11_1",
1358])
1359
José Fonseca5b6fb752012-04-14 14:56:45 +01001360ID3D11Device.methods += [
Jose Fonsecaa9b61382015-06-10 22:04:45 +01001361 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 +00001362 StdMethod(HRESULT, "CreateTexture1D", [(Pointer(Const(D3D11_TEXTURE1D_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture1D)), "ppTexture1D")]),
1363 StdMethod(HRESULT, "CreateTexture2D", [(Pointer(Const(D3D11_TEXTURE2D_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture2D)), "ppTexture2D")]),
1364 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 +01001365 StdMethod(HRESULT, "CreateShaderResourceView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_SHADER_RESOURCE_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11ShaderResourceView)), "ppSRView")]),
1366 StdMethod(HRESULT, "CreateUnorderedAccessView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_UNORDERED_ACCESS_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11UnorderedAccessView)), "ppUAView")]),
1367 StdMethod(HRESULT, "CreateRenderTargetView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_RENDER_TARGET_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11RenderTargetView)), "ppRTView")]),
1368 StdMethod(HRESULT, "CreateDepthStencilView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_DEPTH_STENCIL_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView")]),
1369 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")]),
1370 StdMethod(HRESULT, "CreateVertexShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11VertexShader)), "ppVertexShader")]),
1371 StdMethod(HRESULT, "CreateGeometryShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11GeometryShader)), "ppGeometryShader")]),
1372 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")]),
1373 StdMethod(HRESULT, "CreatePixelShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11PixelShader)), "ppPixelShader")]),
1374 StdMethod(HRESULT, "CreateHullShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11HullShader)), "ppHullShader")]),
1375 StdMethod(HRESULT, "CreateDomainShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11DomainShader)), "ppDomainShader")]),
1376 StdMethod(HRESULT, "CreateComputeShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11ComputeShader)), "ppComputeShader")]),
1377 StdMethod(HRESULT, "CreateClassLinkage", [Out(Pointer(ObjPointer(ID3D11ClassLinkage)), "ppLinkage")]),
1378 StdMethod(HRESULT, "CreateBlendState", [(Pointer(Const(D3D11_BLEND_DESC)), "pBlendStateDesc"), Out(Pointer(ObjPointer(ID3D11BlendState)), "ppBlendState")]),
1379 StdMethod(HRESULT, "CreateDepthStencilState", [(Pointer(Const(D3D11_DEPTH_STENCIL_DESC)), "pDepthStencilDesc"), Out(Pointer(ObjPointer(ID3D11DepthStencilState)), "ppDepthStencilState")]),
1380 StdMethod(HRESULT, "CreateRasterizerState", [(Pointer(Const(D3D11_RASTERIZER_DESC)), "pRasterizerDesc"), Out(Pointer(ObjPointer(ID3D11RasterizerState)), "ppRasterizerState")]),
1381 StdMethod(HRESULT, "CreateSamplerState", [(Pointer(Const(D3D11_SAMPLER_DESC)), "pSamplerDesc"), Out(Pointer(ObjPointer(ID3D11SamplerState)), "ppSamplerState")]),
1382 StdMethod(HRESULT, "CreateQuery", [(Pointer(Const(D3D11_QUERY_DESC)), "pQueryDesc"), Out(Pointer(ObjPointer(ID3D11Query)), "ppQuery")]),
1383 StdMethod(HRESULT, "CreatePredicate", [(Pointer(Const(D3D11_QUERY_DESC)), "pPredicateDesc"), Out(Pointer(ObjPointer(ID3D11Predicate)), "ppPredicate")]),
1384 StdMethod(HRESULT, "CreateCounter", [(Pointer(Const(D3D11_COUNTER_DESC)), "pCounterDesc"), Out(Pointer(ObjPointer(ID3D11Counter)), "ppCounter")]),
1385 StdMethod(HRESULT, "CreateDeferredContext", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppDeferredContext")]),
Jose Fonseca559b5f82015-07-17 16:58:50 +01001386 StdMethod(HRESULT, "OpenSharedResource", [(RAW_HANDLE, "hResource"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
José Fonsecae088e5c2012-11-16 20:05:54 +00001387 StdMethod(HRESULT, "CheckFormatSupport", [(DXGI_FORMAT, "Format"), Out(Pointer(D3D11_FORMAT_SUPPORT), "pFormatSupport")], sideeffects=False),
1388 StdMethod(HRESULT, "CheckMultisampleQualityLevels", [(DXGI_FORMAT, "Format"), (UINT, "SampleCount"), Out(Pointer(UINT), "pNumQualityLevels")], sideeffects=False),
1389 StdMethod(Void, "CheckCounterInfo", [Out(Pointer(D3D11_COUNTER_INFO), "pCounterInfo")], sideeffects=False),
José Fonsecabc10e452012-11-08 10:24:45 +00001390 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),
1391 StdMethod(HRESULT, "CheckFeatureSupport", [(D3D11_FEATURE, "Feature"), Out(D3D11_FEATURE_DATA, "pFeatureSupportData"), (UINT, "FeatureSupportDataSize")], sideeffects=False),
José Fonseca9eec9342014-10-03 22:24:50 +01001392 StdMethod(HRESULT, "GetPrivateData", [(REFGUID, "guid"), InOut(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")], sideeffects=False),
José Fonseca3be2c672015-02-06 15:36:40 +00001393 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
José Fonsecabc10e452012-11-08 10:24:45 +00001394 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
José Fonseca2b807452012-11-10 09:50:10 +00001395 StdMethod(D3D_FEATURE_LEVEL, "GetFeatureLevel", [], sideeffects=False),
1396 StdMethod(D3D11_CREATE_DEVICE_FLAG, "GetCreationFlags", [], sideeffects=False),
1397 StdMethod(HRESULT, "GetDeviceRemovedReason", [], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001398 StdMethod(Void, "GetImmediateContext", [Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppImmediateContext")]),
1399 StdMethod(HRESULT, "SetExceptionMode", [(D3D11_RAISE_FLAG, "RaiseFlags")]),
José Fonseca5c05fdb2014-08-13 13:19:32 +01001400 StdMethod(D3D11_RAISE_FLAG, "GetExceptionMode", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001401]
1402
Jose Fonseca5f5181d2015-07-17 12:06:23 +01001403
1404D3D_DRIVER_TYPE = Enum("D3D_DRIVER_TYPE", [
1405 "D3D_DRIVER_TYPE_UNKNOWN",
1406 "D3D_DRIVER_TYPE_HARDWARE",
1407 "D3D_DRIVER_TYPE_REFERENCE",
1408 "D3D_DRIVER_TYPE_NULL",
1409 "D3D_DRIVER_TYPE_SOFTWARE",
1410 "D3D_DRIVER_TYPE_WARP",
1411])
1412
1413
José Fonseca81301932012-11-11 00:10:20 +00001414d3d11 = Module("d3d11")
José Fonseca5b6fb752012-04-14 14:56:45 +01001415
1416d3d11.addFunctions([
José Fonsecaee590be2012-04-16 13:25:06 +01001417 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")]),
1418 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 +01001419])
1420
1421d3d11.addInterfaces([
José Fonseca5b6fb752012-04-14 14:56:45 +01001422 ID3D11Debug,
José Fonsecaf17f4642012-04-16 13:06:44 +01001423 ID3D11InfoQueue,
1424 ID3D11SwitchToRef,
José Fonseca5b6fb752012-04-14 14:56:45 +01001425])
José Fonsecafc58d052014-06-13 12:47:19 +01001426
José Fonseca50bee952015-02-07 22:32:19 +00001427
Jose Fonseca503fde92015-07-16 17:00:30 +01001428#
1429# D3D11 Video
1430#
1431
1432D3D11_VIDEO_DECODER_DESC = Struct("D3D11_VIDEO_DECODER_DESC", [
1433 (GUID, "Guid"),
1434 (UINT, "SampleWidth"),
1435 (UINT, "SampleHeight"),
1436 (DXGI_FORMAT, "OutputFormat"),
1437])
1438
1439D3D11_VIDEO_DECODER_CONFIG = Struct("D3D11_VIDEO_DECODER_CONFIG", [
1440 (GUID, "guidConfigBitstreamEncryption"),
1441 (GUID, "guidConfigMBcontrolEncryption"),
1442 (GUID, "guidConfigResidDiffEncryption"),
1443 (UINT, "ConfigBitstreamRaw"),
1444 (UINT, "ConfigMBcontrolRasterOrder"),
1445 (UINT, "ConfigResidDiffHost"),
1446 (UINT, "ConfigSpatialResid8"),
1447 (UINT, "ConfigResid8Subtraction"),
1448 (UINT, "ConfigSpatialHost8or9Clipping"),
1449 (UINT, "ConfigSpatialResidInterleaved"),
1450 (UINT, "ConfigIntraResidUnsigned"),
1451 (UINT, "ConfigResidDiffAccelerator"),
1452 (UINT, "ConfigHostInverseScan"),
1453 (UINT, "ConfigSpecificIDCT"),
1454 (UINT, "Config4GroupedCoefs"),
1455 (USHORT, "ConfigMinRenderTargetBuffCount"),
1456 (USHORT, "ConfigDecoderSpecific"),
1457])
1458
1459D3D11_VIDEO_DECODER_BUFFER_TYPE = Enum("D3D11_VIDEO_DECODER_BUFFER_TYPE", [
1460 "D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS",
1461 "D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL",
1462 "D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE",
1463 "D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL",
1464 "D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX",
1465 "D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL",
1466 "D3D11_VIDEO_DECODER_BUFFER_BITSTREAM",
1467 "D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR",
1468 "D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN",
1469])
1470
1471D3D11_AES_CTR_IV = Struct("D3D11_AES_CTR_IV", [
1472 (UINT64, "IV"),
1473 (UINT64, "Count"),
1474])
1475
1476D3D11_ENCRYPTED_BLOCK_INFO = Struct("D3D11_ENCRYPTED_BLOCK_INFO", [
1477 (UINT, "NumEncryptedBytesAtBeginning"),
1478 (UINT, "NumBytesInSkipPattern"),
1479 (UINT, "NumBytesInEncryptPattern"),
1480])
1481
1482D3D11_VIDEO_DECODER_BUFFER_DESC = Struct("D3D11_VIDEO_DECODER_BUFFER_DESC", [
1483 (D3D11_VIDEO_DECODER_BUFFER_TYPE, "BufferType"),
1484 (UINT, "BufferIndex"),
1485 (UINT, "DataOffset"),
1486 (UINT, "DataSize"),
1487 (UINT, "FirstMBaddress"),
1488 (UINT, "NumMBsInBuffer"),
1489 (UINT, "Width"),
1490 (UINT, "Height"),
1491 (UINT, "Stride"),
1492 (UINT, "ReservedBits"),
1493 (Blob(Void, "{self}.IVSize"), "pIV"),
1494 (UINT, "IVSize"),
1495 (BOOL, "PartialEncryption"),
1496 (D3D11_ENCRYPTED_BLOCK_INFO, "EncryptedBlockInfo"),
1497])
1498
1499D3D11_VIDEO_DECODER_EXTENSION = Struct("D3D11_VIDEO_DECODER_EXTENSION", [
1500 (UINT, "Function"),
1501 (Blob(Void, "{self}.PrivateInputDataSize"), "pPrivateInputData"),
1502 (UINT, "PrivateInputDataSize"),
1503 (Blob(Void, "{self}.PrivateOutputDataSize"), "pPrivateOutputData"),
1504 (UINT, "PrivateOutputDataSize"),
1505 (UINT, "ResourceCount"),
1506 (Array(ObjPointer(ID3D11Resource), "{self}.ResourceCount"), "ppResourceList"),
1507])
1508
1509ID3D11VideoDecoder = Interface("ID3D11VideoDecoder", ID3D11DeviceChild)
1510ID3D11VideoDecoder.methods += [
1511 StdMethod(HRESULT, "GetCreationParameters", [Out(Pointer(D3D11_VIDEO_DECODER_DESC), "pVideoDesc"), Out(Pointer(D3D11_VIDEO_DECODER_CONFIG), "pConfig")], sideeffects=False),
1512 StdMethod(HRESULT, "GetDriverHandle", [Out(Pointer(HANDLE), "pDriverHandle")]),
1513]
1514
1515D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT = Flags(UINT, [
1516 "D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT",
1517 "D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT",
1518])
1519
1520D3D11_VIDEO_PROCESSOR_DEVICE_CAPS = Flags(UINT, [
1521 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE",
1522 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC",
1523 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION",
1524 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION",
1525 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE",
1526])
1527
1528D3D11_VIDEO_PROCESSOR_FEATURE_CAPS = Flags(UINT, [
1529 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL",
1530 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION",
1531 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY",
1532 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE",
1533 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY",
1534 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO",
1535 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION",
1536 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM",
1537 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO",
1538])
1539
1540D3D11_VIDEO_PROCESSOR_FILTER_CAPS = Flags(UINT, [
1541 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS",
1542 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST",
1543 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE",
1544 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION",
1545 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION",
1546 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT",
1547 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING",
1548 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT",
1549])
1550
1551D3D11_VIDEO_PROCESSOR_FORMAT_CAPS = Flags(UINT, [
1552 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED",
1553 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP",
1554 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY",
1555 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED",
1556])
1557
1558D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS = Flags(UINT, [
1559 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE",
1560 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING",
1561 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT",
1562 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION",
1563 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING",
1564 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION",
1565 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION",
1566 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING",
1567])
1568
1569D3D11_VIDEO_PROCESSOR_STEREO_CAPS = Flags(UINT, [
1570 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET",
1571 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED",
1572 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED",
1573 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD",
1574 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE",
1575])
1576
1577D3D11_VIDEO_PROCESSOR_CAPS = Struct("D3D11_VIDEO_PROCESSOR_CAPS", [
1578 (D3D11_VIDEO_PROCESSOR_DEVICE_CAPS, "DeviceCaps"),
1579 (D3D11_VIDEO_PROCESSOR_FEATURE_CAPS, "FeatureCaps"),
1580 (D3D11_VIDEO_PROCESSOR_FILTER_CAPS, "FilterCaps"),
1581 (D3D11_VIDEO_PROCESSOR_FORMAT_CAPS, "InputFormatCaps"),
1582 (D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS, "AutoStreamCaps"),
1583 (D3D11_VIDEO_PROCESSOR_STEREO_CAPS, "StereoCaps"),
1584 (UINT, "RateConversionCapsCount"),
1585 (UINT, "MaxInputStreams"),
1586 (UINT, "MaxStreamStates"),
1587])
1588
1589D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS = Flags(UINT, [
1590 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND",
1591 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB",
1592 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE",
1593 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION",
1594 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE",
1595 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION",
1596])
1597
1598D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS = Flags(UINT, [
1599 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32",
1600 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22",
1601 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224",
1602 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332",
1603 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322",
1604 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55",
1605 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64",
1606 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87",
1607 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223",
1608 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER",
1609])
1610
1611D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS = Struct("D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS", [
1612 (UINT, "PastFrames"),
1613 (UINT, "FutureFrames"),
1614 (D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS, "ProcessorCaps"),
1615 (D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS, "ITelecineCaps"),
1616 (UINT, "CustomRateCount"),
1617])
1618
1619D3D11_CONTENT_PROTECTION_CAPS = Flags(UINT, [
1620 "D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE",
1621 "D3D11_CONTENT_PROTECTION_CAPS_HARDWARE",
1622 "D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON",
1623 "D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION",
1624 "D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY",
1625 "D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY",
1626 "D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK",
1627 "D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY",
1628 "D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV",
1629 "D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY",
1630 "D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT",
1631])
1632
1633D3D11_VIDEO_CONTENT_PROTECTION_CAPS = Struct("D3D11_VIDEO_CONTENT_PROTECTION_CAPS", [
1634 (D3D11_CONTENT_PROTECTION_CAPS, "Caps"),
1635 (UINT, "KeyExchangeTypeCount"),
1636 (UINT, "BlockAlignmentSize"),
1637 (ULONGLONG, "ProtectedMemorySize"),
1638])
1639
1640D3D11_VIDEO_PROCESSOR_CUSTOM_RATE = Struct("D3D11_VIDEO_PROCESSOR_CUSTOM_RATE", [
1641 (DXGI_RATIONAL, "CustomRate"),
1642 (UINT, "OutputFrames"),
1643 (BOOL, "InputInterlaced"),
1644 (UINT, "InputFramesOrFields"),
1645])
1646
1647D3D11_VIDEO_PROCESSOR_FILTER = Enum("D3D11_VIDEO_PROCESSOR_FILTER", [
1648 "D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS",
1649 "D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST",
1650 "D3D11_VIDEO_PROCESSOR_FILTER_HUE",
1651 "D3D11_VIDEO_PROCESSOR_FILTER_SATURATION",
1652 "D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION",
1653 "D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT",
1654 "D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING",
1655 "D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT",
1656])
1657
1658D3D11_VIDEO_PROCESSOR_FILTER_RANGE = Struct("D3D11_VIDEO_PROCESSOR_FILTER_RANGE", [
1659 (Int, "Minimum"),
1660 (Int, "Maximum"),
1661 (Int, "Default"),
1662 (Float, "Multiplier"),
1663])
1664
1665D3D11_VIDEO_FRAME_FORMAT = Enum("D3D11_VIDEO_FRAME_FORMAT", [
1666 "D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE",
1667 "D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST",
1668 "D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST",
1669])
1670
1671D3D11_VIDEO_USAGE = Enum("D3D11_VIDEO_USAGE", [
1672 "D3D11_VIDEO_USAGE_PLAYBACK_NORMAL",
1673 "D3D11_VIDEO_USAGE_OPTIMAL_SPEED",
1674 "D3D11_VIDEO_USAGE_OPTIMAL_QUALITY",
1675])
1676
1677D3D11_VIDEO_PROCESSOR_CONTENT_DESC = Struct("D3D11_VIDEO_PROCESSOR_CONTENT_DESC", [
1678 (D3D11_VIDEO_FRAME_FORMAT, "InputFrameFormat"),
1679 (DXGI_RATIONAL, "InputFrameRate"),
1680 (UINT, "InputWidth"),
1681 (UINT, "InputHeight"),
1682 (DXGI_RATIONAL, "OutputFrameRate"),
1683 (UINT, "OutputWidth"),
1684 (UINT, "OutputHeight"),
1685 (D3D11_VIDEO_USAGE, "Usage"),
1686])
1687
1688ID3D11VideoProcessorEnumerator = Interface("ID3D11VideoProcessorEnumerator", ID3D11DeviceChild)
1689ID3D11VideoProcessorEnumerator.methods += [
1690 StdMethod(HRESULT, "GetVideoProcessorContentDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_CONTENT_DESC), "pContentDesc")], sideeffects=False),
1691 StdMethod(HRESULT, "CheckVideoProcessorFormat", [(DXGI_FORMAT, "Format"), Out(Pointer(D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT), "pFlags")], sideeffects=False),
1692 StdMethod(HRESULT, "GetVideoProcessorCaps", [Out(Pointer(D3D11_VIDEO_PROCESSOR_CAPS), "pCaps")], sideeffects=False),
1693 StdMethod(HRESULT, "GetVideoProcessorRateConversionCaps", [(UINT, "TypeIndex"), Out(Pointer(D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS), "pCaps")], sideeffects=False),
1694 StdMethod(HRESULT, "GetVideoProcessorCustomRate", [(UINT, "TypeIndex"), (UINT, "CustomRateIndex"), Out(Pointer(D3D11_VIDEO_PROCESSOR_CUSTOM_RATE), "pRate")], sideeffects=False),
1695 StdMethod(HRESULT, "GetVideoProcessorFilterRange", [(D3D11_VIDEO_PROCESSOR_FILTER, "Filter"), Out(Pointer(D3D11_VIDEO_PROCESSOR_FILTER_RANGE), "pRange")], sideeffects=False),
1696]
1697
1698D3D11_VIDEO_COLOR_RGBA = Struct("D3D11_VIDEO_COLOR_RGBA", [
1699 (Float, "R"),
1700 (Float, "G"),
1701 (Float, "B"),
1702 (Float, "A"),
1703])
1704
1705D3D11_VIDEO_COLOR_YCbCrA = Struct("D3D11_VIDEO_COLOR_YCbCrA", [
1706 (Float, "Y"),
1707 (Float, "Cb"),
1708 (Float, "Cr"),
1709 (Float, "A"),
1710])
1711
1712D3D11_VIDEO_COLOR = Struct("D3D11_VIDEO_COLOR", [
1713 (D3D11_VIDEO_COLOR_YCbCrA, "YCbCr"),
1714 #(D3D11_VIDEO_COLOR_RGBA, "RGBA"),
1715])
1716
1717D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE = FakeEnum(UINT, [
1718 "D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED",
1719 "D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235",
1720 "D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255",
1721])
1722
1723D3D11_VIDEO_PROCESSOR_COLOR_SPACE = Struct("D3D11_VIDEO_PROCESSOR_COLOR_SPACE", [
1724 (UINT, "Usage"),
1725 (UINT, "RGB_Range"),
1726 (UINT, "YCbCr_Matrix"),
1727 (UINT, "YCbCr_xvYCC"),
1728 (D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE, "Nominal_Range"),
1729 (UINT, "Reserved"),
1730])
1731
1732D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE = Enum("D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE", [
1733 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE",
1734 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND",
1735 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION",
1736 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM",
1737])
1738
1739D3D11_VIDEO_PROCESSOR_OUTPUT_RATE = Enum("D3D11_VIDEO_PROCESSOR_OUTPUT_RATE", [
1740 "D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL",
1741 "D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF",
1742 "D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM",
1743])
1744
1745D3D11_VIDEO_PROCESSOR_STEREO_FORMAT = Enum("D3D11_VIDEO_PROCESSOR_STEREO_FORMAT", [
1746 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO",
1747 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL",
1748 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL",
1749 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE",
1750 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET",
1751 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED",
1752 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED",
1753 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD",
1754])
1755
1756D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE = Enum("D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE", [
1757 "D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE",
1758 "D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0",
1759 "D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1",
1760])
1761
1762D3D11_VIDEO_PROCESSOR_ROTATION = Enum("D3D11_VIDEO_PROCESSOR_ROTATION", [
1763 "D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY",
1764 "D3D11_VIDEO_PROCESSOR_ROTATION_90",
1765 "D3D11_VIDEO_PROCESSOR_ROTATION_180",
1766 "D3D11_VIDEO_PROCESSOR_ROTATION_270",
1767])
1768
1769ID3D11VideoProcessorInputView = Interface("ID3D11VideoProcessorInputView", ID3D11View)
1770
1771D3D11_VIDEO_PROCESSOR_STREAM = Struct("D3D11_VIDEO_PROCESSOR_STREAM", [
1772 (BOOL, "Enable"),
1773 (UINT, "OutputIndex"),
1774 (UINT, "InputFrameOrField"),
1775 (UINT, "PastFrames"),
1776 (UINT, "FutureFrames"),
1777 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.PastFrames"), "ppPastSurfaces"),
1778 (ObjPointer(ID3D11VideoProcessorInputView), "pInputSurface"),
1779 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.FutureFrames"), "ppFutureSurfaces"),
1780 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.PastFrames"), "ppPastSurfacesRight"),
1781 (ObjPointer(ID3D11VideoProcessorInputView), "pInputSurfaceRight"),
1782 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.FutureFrames"), "ppFutureSurfacesRight"),
1783])
1784
1785ID3D11VideoProcessor = Interface("ID3D11VideoProcessor", ID3D11DeviceChild)
1786ID3D11VideoProcessor.methods += [
1787 StdMethod(Void, "GetContentDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_CONTENT_DESC), "pDesc")], sideeffects=False),
1788 StdMethod(Void, "GetRateConversionCaps", [Out(Pointer(D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS), "pCaps")], sideeffects=False),
1789]
1790
1791D3D11_OMAC = Struct("D3D11_OMAC", [
1792 (Array(BYTE, 16), "Omac"),
1793])
1794
1795D3D11_AUTHENTICATED_CHANNEL_TYPE = Enum("D3D11_AUTHENTICATED_CHANNEL_TYPE", [
1796 "D3D11_AUTHENTICATED_CHANNEL_D3D11",
1797 "D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE",
1798 "D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE",
1799])
1800
1801ID3D11AuthenticatedChannel = Interface("ID3D11AuthenticatedChannel", ID3D11DeviceChild)
1802ID3D11AuthenticatedChannel.methods += [
1803 StdMethod(HRESULT, "GetCertificateSize", [Out(Pointer(UINT), "pCertificateSize")], sideeffects=False),
1804 StdMethod(HRESULT, "GetCertificate", [(UINT, "CertificateSize"), Out(Array(BYTE, "CertificateSize"), "pCertificate")], sideeffects=False),
1805 StdMethod(Void, "GetChannelHandle", [Out(Pointer(HANDLE), "pChannelHandle")]),
1806]
1807
1808D3D11_AUTHENTICATED_QUERY_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_INPUT", [
1809 (GUID, "QueryType"),
1810 (HANDLE, "hChannel"),
1811 (UINT, "SequenceNumber"),
1812])
1813
1814D3D11_AUTHENTICATED_QUERY_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT", [
1815 (D3D11_OMAC, "omac"),
1816 (GUID, "QueryType"),
1817 (HANDLE, "hChannel"),
1818 (UINT, "SequenceNumber"),
1819 (HRESULT, "ReturnCode"),
1820])
1821
1822D3D11_AUTHENTICATED_PROTECTION_FLAGS = Struct("D3D11_AUTHENTICATED_PROTECTION_FLAGS", [
1823 (UINT, "ProtectionEnabled"),
1824 (UINT, "OverlayOrFullscreenRequired"),
1825 (UINT, "Reserved"),
1826])
1827
1828D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT", [
1829 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1830 (D3D11_AUTHENTICATED_PROTECTION_FLAGS, "ProtectionFlags"),
1831])
1832
1833D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT", [
1834 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1835 (D3D11_AUTHENTICATED_CHANNEL_TYPE, "ChannelType"),
1836])
1837
1838D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT", [
1839 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1840 (HANDLE, "DeviceHandle"),
1841])
1842
1843D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT", [
1844 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1845 (HANDLE, "DecoderHandle"),
1846])
1847
1848D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT", [
1849 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1850 (HANDLE, "DecoderHandle"),
1851 (HANDLE, "CryptoSessionHandle"),
1852 (HANDLE, "DeviceHandle"),
1853])
1854
1855D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT", [
1856 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1857 (UINT, "RestrictedSharedResourceProcessCount"),
1858])
1859
1860D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT", [
1861 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1862 (UINT, "ProcessIndex"),
1863])
1864
1865D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE = Enum("D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE", [
1866 "D3D11_PROCESSIDTYPE_UNKNOWN",
1867 "D3D11_PROCESSIDTYPE_DWM",
1868 "D3D11_PROCESSIDTYPE_HANDLE",
1869])
1870
1871D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT", [
1872 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1873 (UINT, "ProcessIndex"),
1874 (D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, "ProcessIdentifier"),
1875 (HANDLE, "ProcessHandle"),
1876])
1877
1878D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT", [
1879 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1880 (UINT, "UnrestrictedProtectedSharedResourceCount"),
1881])
1882
1883D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT", [
1884 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1885 (HANDLE, "DeviceHandle"),
1886 (HANDLE, "CryptoSessionHandle"),
1887])
1888
1889D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT", [
1890 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1891 (HANDLE, "DeviceHandle"),
1892 (HANDLE, "CryptoSessionHandle"),
1893 (UINT, "OutputIDCount"),
1894])
1895
1896D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT", [
1897 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1898 (HANDLE, "DeviceHandle"),
1899 (HANDLE, "CryptoSessionHandle"),
1900 (UINT, "OutputIDIndex"),
1901])
1902
1903D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT", [
1904 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1905 (HANDLE, "DeviceHandle"),
1906 (HANDLE, "CryptoSessionHandle"),
1907 (UINT, "OutputIDIndex"),
1908 (UINT64, "OutputID"),
1909])
1910
1911D3D11_BUS_TYPE = Enum("D3D11_BUS_TYPE", [
1912 "D3D11_BUS_TYPE_OTHER",
1913 "D3D11_BUS_TYPE_PCI",
1914 "D3D11_BUS_TYPE_PCIX",
1915 "D3D11_BUS_TYPE_AGP",
1916 "D3D11_BUS_TYPE_PCIEXPRESS",
1917 # XXX: Flags
1918 "D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET",
1919 "D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP",
1920 "D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET",
1921 "D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR",
1922 "D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE",
1923 "D3D11_BUS_IMPL_MODIFIER_NON_STANDARD",
1924])
1925
1926D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT", [
1927 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1928 (D3D11_BUS_TYPE, "BusType"),
1929 (BOOL, "AccessibleInContiguousBlocks"),
1930 (BOOL, "AccessibleInNonContiguousBlocks"),
1931])
1932
1933D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT", [
1934 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1935 (UINT, "EncryptionGuidCount"),
1936])
1937
1938D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT", [
1939 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1940 (UINT, "EncryptionGuidIndex"),
1941])
1942
1943D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT", [
1944 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1945 (UINT, "EncryptionGuidIndex"),
1946 (GUID, "EncryptionGuid"),
1947])
1948
1949D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT", [
1950 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1951 (GUID, "EncryptionGuid"),
1952])
1953
1954D3D11_AUTHENTICATED_CONFIGURE_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_INPUT", [
1955 (D3D11_OMAC, "omac"),
1956 (GUID, "ConfigureType"),
1957 (HANDLE, "hChannel"),
1958 (UINT, "SequenceNumber"),
1959])
1960
1961D3D11_AUTHENTICATED_CONFIGURE_OUTPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_OUTPUT", [
1962 (D3D11_OMAC, "omac"),
1963 (GUID, "ConfigureType"),
1964 (HANDLE, "hChannel"),
1965 (UINT, "SequenceNumber"),
1966 (HRESULT, "ReturnCode"),
1967])
1968
1969D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT", [
1970 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
1971 (UINT, "StartSequenceQuery"),
1972 (UINT, "StartSequenceConfigure"),
1973])
1974
1975D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT", [
1976 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
1977 (D3D11_AUTHENTICATED_PROTECTION_FLAGS, "Protections"),
1978])
1979
1980D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT", [
1981 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
1982 (HANDLE, "DecoderHandle"),
1983 (HANDLE, "CryptoSessionHandle"),
1984 (HANDLE, "DeviceHandle"),
1985])
1986
1987D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT", [
1988 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
1989 (D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, "ProcessType"),
1990 (HANDLE, "ProcessHandle"),
1991 (BOOL, "AllowAccess"),
1992])
1993
1994D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT", [
1995 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
1996 (GUID, "EncryptionGuid"),
1997])
1998
1999ID3D11CryptoSession = Interface("ID3D11CryptoSession", ID3D11DeviceChild)
2000ID3D11CryptoSession.methods += [
2001 StdMethod(Void, "GetCryptoType", [Out(Pointer(GUID), "pCryptoType")], sideeffects=False),
2002 StdMethod(Void, "GetDecoderProfile", [Out(Pointer(GUID), "pDecoderProfile")], sideeffects=False),
2003 StdMethod(HRESULT, "GetCertificateSize", [Out(Pointer(UINT), "pCertificateSize")], sideeffects=False),
2004 StdMethod(HRESULT, "GetCertificate", [(UINT, "CertificateSize"), Out(Pointer(BYTE), "pCertificate")], sideeffects=False),
2005 StdMethod(Void, "GetCryptoSessionHandle", [Out(Pointer(HANDLE), "pCryptoSessionHandle")]),
2006]
2007
2008D3D11_VDOV_DIMENSION = Enum("D3D11_VDOV_DIMENSION", [
2009 "D3D11_VDOV_DIMENSION_UNKNOWN",
2010 "D3D11_VDOV_DIMENSION_TEXTURE2D",
2011])
2012
2013D3D11_TEX2D_VDOV = Struct("D3D11_TEX2D_VDOV", [
2014 (UINT, "ArraySlice"),
2015])
2016
2017D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC = Struct("D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC", [
2018 (GUID, "DecodeProfile"),
2019 (D3D11_VDOV_DIMENSION, "ViewDimension"),
2020 (Union("{self}.ViewDimension", [
2021 ("D3D11_VDOV_DIMENSION_TEXTURE2D", D3D11_TEX2D_VDOV, "Texture2D"),
2022 ]), None),
2023])
2024
2025ID3D11VideoDecoderOutputView = Interface("ID3D11VideoDecoderOutputView", ID3D11View)
2026ID3D11VideoDecoderOutputView.methods += [
2027 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC), "pDesc")], sideeffects=None),
2028]
2029
2030D3D11_VPIV_DIMENSION = Enum("D3D11_VPIV_DIMENSION", [
2031 "D3D11_VPIV_DIMENSION_UNKNOWN",
2032 "D3D11_VPIV_DIMENSION_TEXTURE2D",
2033])
2034
2035D3D11_TEX2D_VPIV = Struct("D3D11_TEX2D_VPIV", [
2036 (UINT, "MipSlice"),
2037 (UINT, "ArraySlice"),
2038])
2039
2040D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC = Struct("D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC", [
2041 (UINT, "FourCC"),
2042 (D3D11_VPIV_DIMENSION, "ViewDimension"),
2043 (Union("{self}.ViewDimension", [
2044 ("D3D11_VPIV_DIMENSION_TEXTURE2D", D3D11_TEX2D_VPIV, "Texture2D"),
2045 ]), None),
2046])
2047
2048ID3D11VideoProcessorInputView.methods += [
2049 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC), "pDesc")], sideeffects=None),
2050]
2051
2052D3D11_VPOV_DIMENSION = Enum("D3D11_VPOV_DIMENSION", [
2053 "D3D11_VPOV_DIMENSION_UNKNOWN",
2054 "D3D11_VPOV_DIMENSION_TEXTURE2D",
2055 "D3D11_VPOV_DIMENSION_TEXTURE2DARRAY",
2056])
2057
2058D3D11_TEX2D_VPOV = Struct("D3D11_TEX2D_VPOV", [
2059 (UINT, "MipSlice"),
2060])
2061
2062D3D11_TEX2D_ARRAY_VPOV = Struct("D3D11_TEX2D_ARRAY_VPOV", [
2063 (UINT, "MipSlice"),
2064 (UINT, "FirstArraySlice"),
2065 (UINT, "ArraySize"),
2066])
2067
2068D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC = Struct("D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC", [
2069 (D3D11_VPOV_DIMENSION, "ViewDimension"),
2070 (Union("{self}.ViewDimension", [
2071 ("D3D11_VPOV_DIMENSION_TEXTURE2D", D3D11_TEX2D_VPOV, "Texture2D"),
2072 ("D3D11_VPOV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_VPOV, "Texture2DArray"),
2073 ]), None),
2074])
2075
2076ID3D11VideoProcessorOutputView = Interface("ID3D11VideoProcessorOutputView", ID3D11View)
2077ID3D11VideoProcessorOutputView.methods += [
2078 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC), "pDesc")], sideeffects=None),
2079]
2080
2081ID3D11VideoContext = Interface("ID3D11VideoContext", ID3D11DeviceChild)
2082ID3D11VideoContext.methods += [
2083 StdMethod(HRESULT, "GetDecoderBuffer", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (D3D11_VIDEO_DECODER_BUFFER_TYPE, "Type"), Out(Pointer(UINT), "pBufferSize"), Out(Pointer(OpaqueBlob(Void, "*pBufferSize")), "ppBuffer")]),
2084 StdMethod(HRESULT, "ReleaseDecoderBuffer", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (D3D11_VIDEO_DECODER_BUFFER_TYPE, "Type")]),
2085 StdMethod(HRESULT, "DecoderBeginFrame", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (ObjPointer(ID3D11VideoDecoderOutputView), "pView"), (UINT, "ContentKeySize"), (Blob(Const(Void), "ContentKeySize"), "pContentKey")]),
2086 StdMethod(HRESULT, "DecoderEndFrame", [(ObjPointer(ID3D11VideoDecoder), "pDecoder")]),
2087 StdMethod(HRESULT, "SubmitDecoderBuffers", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (UINT, "NumBuffers"), (Pointer(Const(D3D11_VIDEO_DECODER_BUFFER_DESC)), "pBufferDesc")]),
2088 StdMethod(HRESULT, "DecoderExtension", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (Pointer(Const(D3D11_VIDEO_DECODER_EXTENSION)), "pExtensionData")]),
2089 StdMethod(Void, "VideoProcessorSetOutputTargetRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "Enable"), (Pointer(Const(RECT)), "pRect")]),
2090 StdMethod(Void, "VideoProcessorSetOutputBackgroundColor", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "YCbCr"), (Pointer(Const(D3D11_VIDEO_COLOR)), "pColor")]),
2091 StdMethod(Void, "VideoProcessorSetOutputColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_COLOR_SPACE)), "pColorSpace")]),
2092 StdMethod(Void, "VideoProcessorSetOutputAlphaFillMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, "AlphaFillMode"), (UINT, "StreamIndex")]),
2093 StdMethod(Void, "VideoProcessorSetOutputConstriction", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "Enable"), (SIZE, "Size")]),
2094 StdMethod(Void, "VideoProcessorSetOutputStereoMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "Enable")]),
2095 StdMethod(HRESULT, "VideoProcessorSetOutputExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), (Blob(Void, "DataSize"), "pData")]),
2096 StdMethod(Void, "VideoProcessorGetOutputTargetRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "Enabled"), Out(Pointer(RECT), "pRect")], sideeffects=False),
2097 StdMethod(Void, "VideoProcessorGetOutputBackgroundColor", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "pYCbCr"), Out(Pointer(D3D11_VIDEO_COLOR), "pColor")], sideeffects=False),
2098 StdMethod(Void, "VideoProcessorGetOutputColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(D3D11_VIDEO_PROCESSOR_COLOR_SPACE), "pColorSpace")], sideeffects=False),
2099 StdMethod(Void, "VideoProcessorGetOutputAlphaFillMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE), "pAlphaFillMode"), Out(Pointer(UINT), "pStreamIndex")], sideeffects=False),
2100 StdMethod(Void, "VideoProcessorGetOutputConstriction", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(SIZE), "pSize")], sideeffects=False),
2101 StdMethod(Void, "VideoProcessorGetOutputStereoMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "pEnabled")], sideeffects=False),
2102 StdMethod(HRESULT, "VideoProcessorGetOutputExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False),
2103 StdMethod(Void, "VideoProcessorSetStreamFrameFormat", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_FRAME_FORMAT, "FrameFormat")]),
2104 StdMethod(Void, "VideoProcessorSetStreamColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_COLOR_SPACE)), "pColorSpace")]),
2105 StdMethod(Void, "VideoProcessorSetStreamOutputRate", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, "OutputRate"), (BOOL, "RepeatFrame"), (Pointer(Const(DXGI_RATIONAL)), "pCustomRate")]),
2106 StdMethod(Void, "VideoProcessorSetStreamSourceRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (Pointer(Const(RECT)), "pRect")]),
2107 StdMethod(Void, "VideoProcessorSetStreamDestRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (Pointer(Const(RECT)), "pRect")]),
2108 StdMethod(Void, "VideoProcessorSetStreamAlpha", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (FLOAT, "Alpha")]),
2109 StdMethod(Void, "VideoProcessorSetStreamPalette", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (UINT, "Count"), (Pointer(Const(UINT)), "pEntries")]),
2110 StdMethod(Void, "VideoProcessorSetStreamPixelAspectRatio", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (Pointer(Const(DXGI_RATIONAL)), "pSourceAspectRatio"), (Pointer(Const(DXGI_RATIONAL)), "pDestinationAspectRatio")]),
2111 StdMethod(Void, "VideoProcessorSetStreamLumaKey", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (FLOAT, "Lower"), (FLOAT, "Upper")]),
2112 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")]),
2113 StdMethod(Void, "VideoProcessorSetStreamAutoProcessingMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable")]),
2114 StdMethod(Void, "VideoProcessorSetStreamFilter", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_PROCESSOR_FILTER, "Filter"), (BOOL, "Enable"), (Int, "Level")]),
2115 StdMethod(HRESULT, "VideoProcessorSetStreamExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), (Blob(Void, "DataSize"), "pData")]),
2116 StdMethod(Void, "VideoProcessorGetStreamFrameFormat", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(D3D11_VIDEO_FRAME_FORMAT), "pFrameFormat")], sideeffects=False),
2117 StdMethod(Void, "VideoProcessorGetStreamColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(D3D11_VIDEO_PROCESSOR_COLOR_SPACE), "pColorSpace")], sideeffects=False),
2118 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),
2119 StdMethod(Void, "VideoProcessorGetStreamSourceRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(RECT), "pRect")], sideeffects=False),
2120 StdMethod(Void, "VideoProcessorGetStreamDestRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(RECT), "pRect")], sideeffects=False),
2121 StdMethod(Void, "VideoProcessorGetStreamAlpha", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(FLOAT), "pAlpha")], sideeffects=False),
2122 StdMethod(Void, "VideoProcessorGetStreamPalette", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (UINT, "Count"), Out(Array(UINT, "Count"), "pEntries")], sideeffects=False),
2123 StdMethod(Void, "VideoProcessorGetStreamPixelAspectRatio", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(DXGI_RATIONAL), "pSourceAspectRatio"), Out(Pointer(DXGI_RATIONAL), "pDestinationAspectRatio")], sideeffects=False),
2124 StdMethod(Void, "VideoProcessorGetStreamLumaKey", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(FLOAT), "pLower"), Out(Pointer(FLOAT), "pUpper")], sideeffects=False),
2125 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),
2126 StdMethod(Void, "VideoProcessorGetStreamAutoProcessingMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled")], sideeffects=False),
2127 StdMethod(Void, "VideoProcessorGetStreamFilter", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_PROCESSOR_FILTER, "Filter"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(Int), "pLevel")], sideeffects=False),
2128 StdMethod(HRESULT, "VideoProcessorGetStreamExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False), # FIXME
2129 StdMethod(HRESULT, "VideoProcessorBlt", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (ObjPointer(ID3D11VideoProcessorOutputView), "pView"), (UINT, "OutputFrame"), (UINT, "StreamCount"), (Array(Const(D3D11_VIDEO_PROCESSOR_STREAM), "StreamCount"), "pStreams")]),
2130 StdMethod(HRESULT, "NegotiateCryptoSessionKeyExchange", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False), # FIXME
2131 StdMethod(Void, "EncryptionBlt", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (ObjPointer(ID3D11Texture2D), "pSrcSurface"), (ObjPointer(ID3D11Texture2D), "pDstSurface"), (UINT, "IVSize"), Out(OpaqueBlob(Void, "IVSize"), "pIV")], sideeffects=False), # FIXME
2132 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
2133 StdMethod(Void, "StartSessionKeyRefresh", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (UINT, "RandomNumberSize"), Out(OpaqueBlob(Void, "RandomNumberSize"), "pRandomNumber")], sideeffects=False), # FIXME
2134 StdMethod(Void, "FinishSessionKeyRefresh", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession")]),
2135 StdMethod(HRESULT, "GetEncryptionBltKey", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (UINT, "KeySize"), Out(OpaqueBlob(Void, "KeySize"), "pReadbackKey")], sideeffects=False), # FIXME
2136 StdMethod(HRESULT, "NegotiateAuthenticatedChannelKeyExchange", [(ObjPointer(ID3D11AuthenticatedChannel), "pChannel"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False), # FIXME
2137 StdMethod(HRESULT, "QueryAuthenticatedChannel", [(ObjPointer(ID3D11AuthenticatedChannel), "pChannel"), (UINT, "InputSize"), (Blob(Const(Void), "InputSize"), "pInput"), (UINT, "OutputSize"), Out(OpaqueBlob(Void, "OutputSize"), "pOutput")], sideeffects=False), # FIXME
2138 StdMethod(HRESULT, "ConfigureAuthenticatedChannel", [(ObjPointer(ID3D11AuthenticatedChannel), "pChannel"), (UINT, "InputSize"), (Blob(Const(Void), "InputSize"), "pInput"), Out(Pointer(D3D11_AUTHENTICATED_CONFIGURE_OUTPUT), "pOutput")]),
2139 StdMethod(Void, "VideoProcessorSetStreamRotation", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (D3D11_VIDEO_PROCESSOR_ROTATION, "Rotation")]),
2140 StdMethod(Void, "VideoProcessorGetStreamRotation", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnable"), Out(Pointer(D3D11_VIDEO_PROCESSOR_ROTATION), "pRotation")], sideeffects=False),
2141]
2142
2143ID3D11VideoDevice = Interface("ID3D11VideoDevice", IUnknown)
2144ID3D11VideoDevice.methods += [
2145 StdMethod(HRESULT, "CreateVideoDecoder", [(Pointer(Const(D3D11_VIDEO_DECODER_DESC)), "pVideoDesc"), (Pointer(Const(D3D11_VIDEO_DECODER_CONFIG)), "pConfig"), Out(Pointer(ObjPointer(ID3D11VideoDecoder)), "ppDecoder")]),
2146 StdMethod(HRESULT, "CreateVideoProcessor", [(ObjPointer(ID3D11VideoProcessorEnumerator), "pEnum"), (UINT, "RateConversionIndex"), Out(Pointer(ObjPointer(ID3D11VideoProcessor)), "ppVideoProcessor")]),
2147 StdMethod(HRESULT, "CreateAuthenticatedChannel", [(D3D11_AUTHENTICATED_CHANNEL_TYPE, "ChannelType"), Out(Pointer(ObjPointer(ID3D11AuthenticatedChannel)), "ppAuthenticatedChannel")]),
2148 StdMethod(HRESULT, "CreateCryptoSession", [(Pointer(Const(GUID)), "pCryptoType"), (Pointer(Const(GUID)), "pDecoderProfile"), (Pointer(Const(GUID)), "pKeyExchangeType"), (Pointer(ObjPointer(ID3D11CryptoSession)), "ppCryptoSession")]),
2149 StdMethod(HRESULT, "CreateVideoDecoderOutputView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoDecoderOutputView)), "ppVDOVView")]),
2150 StdMethod(HRESULT, "CreateVideoProcessorInputView", [(ObjPointer(ID3D11Resource), "pResource"), (ObjPointer(ID3D11VideoProcessorEnumerator), "pEnum"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoProcessorInputView)), "ppVPIView")]),
2151 StdMethod(HRESULT, "CreateVideoProcessorOutputView", [(ObjPointer(ID3D11Resource), "pResource"), (ObjPointer(ID3D11VideoProcessorEnumerator), "pEnum"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoProcessorOutputView)), "ppVPOView")]),
2152 StdMethod(HRESULT, "CreateVideoProcessorEnumerator", [(Pointer(Const(D3D11_VIDEO_PROCESSOR_CONTENT_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoProcessorEnumerator)), "ppEnum")]),
2153 StdMethod(UINT, "GetVideoDecoderProfileCount", [], sideeffects=False),
2154 StdMethod(HRESULT, "GetVideoDecoderProfile", [(UINT, "Index"), Out(Pointer(GUID), "pDecoderProfile")], sideeffects=False),
2155 StdMethod(HRESULT, "CheckVideoDecoderFormat", [(Pointer(Const(GUID)), "pDecoderProfile"), (DXGI_FORMAT, "Format"), Out(Pointer(BOOL), "pSupported")], sideeffects=False),
2156 StdMethod(HRESULT, "GetVideoDecoderConfigCount", [(Pointer(Const(D3D11_VIDEO_DECODER_DESC)), "pDesc"), Out(Pointer(UINT), "pCount")]),
2157 StdMethod(HRESULT, "GetVideoDecoderConfig", [(Pointer(Const(D3D11_VIDEO_DECODER_DESC)), "pDesc"), (UINT, "Index"), Out(Pointer(D3D11_VIDEO_DECODER_CONFIG), "pConfig")], sideeffects=False),
2158 StdMethod(HRESULT, "GetContentProtectionCaps", [(Pointer(Const(GUID)), "pCryptoType"), (Pointer(Const(GUID)), "pDecoderProfile"), Out(Pointer(D3D11_VIDEO_CONTENT_PROTECTION_CAPS), "pCaps")], sideeffects=False),
2159 StdMethod(HRESULT, "CheckCryptoKeyExchange", [(Pointer(Const(GUID)), "pCryptoType"), (Pointer(Const(GUID)), "pDecoderProfile"), (UINT, "Index"), Out(Pointer(GUID), "pKeyExchangeType")]),
2160 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
2161 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
2162]
2163
2164d3d11.addInterfaces([
2165 ID3D11VideoContext,
2166 ID3D11VideoDevice,
2167])
2168
2169
José Fonseca50bee952015-02-07 22:32:19 +00002170
2171#
2172# D3D11.1
2173#
2174
José Fonseca50bee952015-02-07 22:32:19 +00002175D3D_MIN_PRECISION = Enum("D3D_MIN_PRECISION", [
2176 "D3D_MIN_PRECISION_DEFAULT",
2177 "D3D_MIN_PRECISION_FLOAT_16",
2178 "D3D_MIN_PRECISION_FLOAT_2_8",
2179 "D3D_MIN_PRECISION_RESERVED",
2180 "D3D_MIN_PRECISION_SINT_16",
2181 "D3D_MIN_PRECISION_UINT_16",
2182 "D3D_MIN_PRECISION_ANY_16",
2183 "D3D_MIN_PRECISION_ANY_10",
2184])
2185
2186ID3D11BlendState1 = Interface("ID3D11BlendState1", ID3D11BlendState)
2187ID3D11RasterizerState1 = Interface("ID3D11RasterizerState1", ID3D11RasterizerState)
2188ID3DDeviceContextState = Interface("ID3DDeviceContextState", ID3D11DeviceChild)
2189ID3D11DeviceContext1 = Interface("ID3D11DeviceContext1", ID3D11DeviceContext)
2190ID3D11Device1 = Interface("ID3D11Device1", ID3D11Device)
2191ID3DUserDefinedAnnotation = Interface("ID3DUserDefinedAnnotation", IUnknown)
2192
2193
2194D3D11_COPY_FLAGS = Flags(UINT, [
2195 "D3D11_COPY_NO_OVERWRITE",
2196 "D3D11_COPY_DISCARD",
2197])
2198
2199D3D11_LOGIC_OP = Enum("D3D11_LOGIC_OP", [
2200 "D3D11_LOGIC_OP_CLEAR",
2201 "D3D11_LOGIC_OP_SET",
2202 "D3D11_LOGIC_OP_COPY",
2203 "D3D11_LOGIC_OP_COPY_INVERTED",
2204 "D3D11_LOGIC_OP_NOOP",
2205 "D3D11_LOGIC_OP_INVERT",
2206 "D3D11_LOGIC_OP_AND",
2207 "D3D11_LOGIC_OP_NAND",
2208 "D3D11_LOGIC_OP_OR",
2209 "D3D11_LOGIC_OP_NOR",
2210 "D3D11_LOGIC_OP_XOR",
2211 "D3D11_LOGIC_OP_EQUIV",
2212 "D3D11_LOGIC_OP_AND_REVERSE",
2213 "D3D11_LOGIC_OP_AND_INVERTED",
2214 "D3D11_LOGIC_OP_OR_REVERSE",
2215 "D3D11_LOGIC_OP_OR_INVERTED",
2216])
2217
2218D3D11_RENDER_TARGET_BLEND_DESC1 = Struct("D3D11_RENDER_TARGET_BLEND_DESC1", [
2219 (BOOL, "BlendEnable"),
2220 (BOOL, "LogicOpEnable"),
2221 (D3D11_BLEND, "SrcBlend"),
2222 (D3D11_BLEND, "DestBlend"),
2223 (D3D11_BLEND_OP, "BlendOp"),
2224 (D3D11_BLEND, "SrcBlendAlpha"),
2225 (D3D11_BLEND, "DestBlendAlpha"),
2226 (D3D11_BLEND_OP, "BlendOpAlpha"),
2227 (D3D11_LOGIC_OP, "LogicOp"),
2228 (UINT8, "RenderTargetWriteMask"),
2229])
2230
Jose Fonsecaa9b61382015-06-10 22:04:45 +01002231D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8
2232
José Fonseca50bee952015-02-07 22:32:19 +00002233D3D11_BLEND_DESC1 = Struct("D3D11_BLEND_DESC1", [
2234 (BOOL, "AlphaToCoverageEnable"),
2235 (BOOL, "IndependentBlendEnable"),
Jose Fonsecaa9b61382015-06-10 22:04:45 +01002236 (Array(D3D11_RENDER_TARGET_BLEND_DESC1, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT), "RenderTarget"),
José Fonseca50bee952015-02-07 22:32:19 +00002237])
2238
2239ID3D11BlendState1.methods += [
2240 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_BLEND_DESC1), "pDesc")], sideeffects=False),
2241]
2242
2243D3D11_RASTERIZER_DESC1 = Struct("D3D11_RASTERIZER_DESC1", [
2244 (D3D11_FILL_MODE, "FillMode"),
2245 (D3D11_CULL_MODE, "CullMode"),
2246 (BOOL, "FrontCounterClockwise"),
2247 (INT, "DepthBias"),
2248 (FLOAT, "DepthBiasClamp"),
2249 (FLOAT, "SlopeScaledDepthBias"),
2250 (BOOL, "DepthClipEnable"),
2251 (BOOL, "ScissorEnable"),
2252 (BOOL, "MultisampleEnable"),
2253 (BOOL, "AntialiasedLineEnable"),
2254 (UINT, "ForcedSampleCount"),
2255])
2256
2257ID3D11RasterizerState1.methods += [
2258 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_RASTERIZER_DESC1), "pDesc")], sideeffects=False),
2259]
2260
2261D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG = Flags(UINT, [
2262 "D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED",
2263])
2264
2265ID3D11DeviceContext1.methods += [
2266 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")]),
2267 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")]),
2268 StdMethod(Void, "DiscardResource", [(ObjPointer(ID3D11Resource), "pResource")]),
2269 StdMethod(Void, "DiscardView", [(ObjPointer(ID3D11View), "pResourceView")]),
2270 StdMethod(Void, "DiscardView1", [(ObjPointer(ID3D11View), "pResourceView"), (Array(Const(D3D11_RECT), "NumRects"), "pRect"), (UINT, "NumRects")]),
2271 StdMethod(Void, "VSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2272 StdMethod(Void, "HSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2273 StdMethod(Void, "DSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2274 StdMethod(Void, "GSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2275 StdMethod(Void, "PSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2276 StdMethod(Void, "CSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2277 StdMethod(Void, "VSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2278 StdMethod(Void, "HSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2279 StdMethod(Void, "DSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2280 StdMethod(Void, "GSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2281 StdMethod(Void, "PSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2282 StdMethod(Void, "CSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2283 StdMethod(Void, "SwapDeviceContextState", [(ObjPointer(ID3DDeviceContextState), "pState"), Out(Pointer(ObjPointer(ID3DDeviceContextState)), "ppPreviousState")]),
Jose Fonseca4ccc8772015-05-20 17:18:31 +01002284 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 +00002285]
2286
2287
2288ID3D11Device1.methods += [
2289 StdMethod(Void, "GetImmediateContext1", [Out(Pointer(ObjPointer(ID3D11DeviceContext1)), "ppImmediateContext")]),
2290 StdMethod(HRESULT, "CreateDeferredContext1", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext1)), "ppDeferredContext")]),
2291 StdMethod(HRESULT, "CreateBlendState1", [(Pointer(Const(D3D11_BLEND_DESC1)), "pBlendStateDesc"), Out(Pointer(ObjPointer(ID3D11BlendState1)), "ppBlendState")]),
2292 StdMethod(HRESULT, "CreateRasterizerState1", [(Pointer(Const(D3D11_RASTERIZER_DESC1)), "pRasterizerDesc"), Out(Pointer(ObjPointer(ID3D11RasterizerState1)), "ppRasterizerState")]),
2293 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")]),
2294 StdMethod(HRESULT, "OpenSharedResource1", [(HANDLE, "hResource"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
2295 StdMethod(HRESULT, "OpenSharedResourceByName", [(LPCWSTR, "lpName"), (DXGI_SHARED_RESOURCE_FLAG, "dwDesiredAccess"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
2296]
2297
2298ID3DUserDefinedAnnotation.methods += [
2299 StdMethod(INT, "BeginEvent", [(LPCWSTR, "Name")], sideeffects=False),
2300 StdMethod(INT, "EndEvent", [], sideeffects=False),
2301 StdMethod(Void, "SetMarker", [(LPCWSTR, "Name")], sideeffects=False),
2302 StdMethod(BOOL, "GetStatus", [], sideeffects=False),
2303]
2304
2305d3d11.addInterfaces([
2306 ID3D11Device1,
2307 ID3DUserDefinedAnnotation,
2308])
José Fonseca40b82ca2015-02-07 22:55:49 +00002309
2310
2311
2312#
2313# D3D11.2
2314#
2315
2316D3D11_TILED_RESOURCE_COORDINATE = Struct("D3D11_TILED_RESOURCE_COORDINATE", [
2317 (UINT, "X"),
2318 (UINT, "Y"),
2319 (UINT, "Z"),
2320 (UINT, "Subresource"),
2321])
2322
2323D3D11_TILE_REGION_SIZE = Struct("D3D11_TILE_REGION_SIZE", [
2324 (UINT, "NumTiles"),
2325 (BOOL, "bUseBox"),
2326 (UINT, "Width"),
2327 (UINT16, "Height"),
2328 (UINT16, "Depth"),
2329])
2330
2331D3D11_TILE_MAPPING_FLAG = Flags(UINT, [
2332 "D3D11_TILE_MAPPING_NO_OVERWRITE",
2333])
2334
2335D3D11_TILE_RANGE_FLAG = Flags(UINT, [
2336 "D3D11_TILE_RANGE_NULL",
2337 "D3D11_TILE_RANGE_SKIP",
2338 "D3D11_TILE_RANGE_REUSE_SINGLE_TILE",
2339])
2340
2341D3D11_SUBRESOURCE_TILING = Struct("D3D11_SUBRESOURCE_TILING", [
2342 (UINT, "WidthInTiles"),
2343 (UINT16, "HeightInTiles"),
2344 (UINT16, "DepthInTiles"),
2345 (FakeEnum(UINT, ["D3D11_PACKED_TILE"]), "StartTileIndexInOverallResource"),
2346])
2347
2348D3D11_TILE_SHAPE = Struct("D3D11_TILE_SHAPE", [
2349 (UINT, "WidthInTexels"),
2350 (UINT, "HeightInTexels"),
2351 (UINT, "DepthInTexels"),
2352])
2353
2354D3D11_PACKED_MIP_DESC = Struct("D3D11_PACKED_MIP_DESC", [
2355 (UINT8, "NumStandardMips"),
2356 (UINT8, "NumPackedMips"),
2357 (UINT, "NumTilesForPackedMips"),
2358 (UINT, "StartTileIndexInOverallResource"),
2359])
2360
2361D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG = Flags(UINT, [
2362 "D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE",
2363])
2364
2365D3D11_TILE_COPY_FLAG = Flags(UINT, [
2366 "D3D11_TILE_COPY_NO_OVERWRITE",
2367 "D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE",
2368 "D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER",
2369])
2370
2371ID3D11DeviceContext2 = Interface("ID3D11DeviceContext2", ID3D11DeviceContext1)
2372ID3D11DeviceContext2.methods += [
2373 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")]),
2374 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")]),
2375 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")]),
2376 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
2377 StdMethod(HRESULT, "ResizeTilePool", [(ObjPointer(ID3D11Buffer), "pTilePool"), (UINT64, "NewSizeInBytes")]),
2378 StdMethod(Void, "TiledResourceBarrier", [(ObjPointer(ID3D11DeviceChild), "pTiledResourceOrViewAccessBeforeBarrier"), (ObjPointer(ID3D11DeviceChild), "pTiledResourceOrViewAccessAfterBarrier")]),
2379 StdMethod(BOOL, "IsAnnotationEnabled", [], sideeffects=False),
2380 StdMethod(Void, "SetMarkerInt", [(LPCWSTR, "pLabel"), (INT, "Data")]),
2381 StdMethod(Void, "BeginEventInt", [(LPCWSTR, "pLabel"), (INT, "Data")]),
2382 StdMethod(Void, "EndEvent", []),
2383]
2384
2385ID3D11Device2 = Interface("ID3D11Device2", ID3D11Device1)
2386ID3D11Device2.methods += [
2387 StdMethod(Void, "GetImmediateContext2", [Out(Pointer(ObjPointer(ID3D11DeviceContext2)), "ppImmediateContext")]),
2388 StdMethod(HRESULT, "CreateDeferredContext2", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext2)), "ppDeferredContext")]),
2389 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")]),
2390 StdMethod(HRESULT, "CheckMultisampleQualityLevels1", [(DXGI_FORMAT, "Format"), (UINT, "SampleCount"), (D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG, "Flags"), Out(Pointer(UINT), "pNumQualityLevels")], sideeffects=False),
2391]
2392
2393d3d11.addInterfaces([
2394 ID3D11Device2,
2395 ID3D11DeviceContext2,
2396])