blob: 0534d20bce50ebeb2b14596f81c83204f2d56551 [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",
Jose Fonseca4713c3b2015-08-12 11:06:34 +0100348 "D3D11_RESOURCE_MISC_HW_PROTECTED",
José Fonseca5b6fb752012-04-14 14:56:45 +0100349])
350
José Fonsecaee590be2012-04-16 13:25:06 +0100351D3D11_MAP = Enum("D3D11_MAP", [
352 "D3D11_MAP_READ",
353 "D3D11_MAP_WRITE",
354 "D3D11_MAP_READ_WRITE",
355 "D3D11_MAP_WRITE_DISCARD",
356 "D3D11_MAP_WRITE_NO_OVERWRITE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100357])
358
359D3D11_MAP_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100360 "D3D11_MAP_FLAG_DO_NOT_WAIT",
José Fonseca5b6fb752012-04-14 14:56:45 +0100361])
362
363D3D11_RAISE_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100364 "D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100365])
366
367D3D11_CLEAR_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100368 "D3D11_CLEAR_DEPTH",
369 "D3D11_CLEAR_STENCIL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100370])
371
José Fonsecaee590be2012-04-16 13:25:06 +0100372D3D11_RECT = Alias("D3D11_RECT", RECT)
373D3D11_BOX = Struct("D3D11_BOX", [
374 (UINT, "left"),
375 (UINT, "top"),
376 (UINT, "front"),
377 (UINT, "right"),
378 (UINT, "bottom"),
379 (UINT, "back"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100380])
381
382ID3D11DeviceChild.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +0100383 StdMethod(Void, "GetDevice", [Out(Pointer(ObjPointer(ID3D11Device)), "ppDevice")]),
José Fonseca9eec9342014-10-03 22:24:50 +0100384 StdMethod(HRESULT, "GetPrivateData", [(REFGUID, "guid"), InOut(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")], sideeffects=False),
José Fonseca3be2c672015-02-06 15:36:40 +0000385 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
José Fonsecabc10e452012-11-08 10:24:45 +0000386 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100387]
388
José Fonsecaee590be2012-04-16 13:25:06 +0100389D3D11_COMPARISON_FUNC = Enum("D3D11_COMPARISON_FUNC", [
390 "D3D11_COMPARISON_NEVER",
391 "D3D11_COMPARISON_LESS",
392 "D3D11_COMPARISON_EQUAL",
393 "D3D11_COMPARISON_LESS_EQUAL",
394 "D3D11_COMPARISON_GREATER",
395 "D3D11_COMPARISON_NOT_EQUAL",
396 "D3D11_COMPARISON_GREATER_EQUAL",
397 "D3D11_COMPARISON_ALWAYS",
José Fonseca5b6fb752012-04-14 14:56:45 +0100398])
399
José Fonsecaee590be2012-04-16 13:25:06 +0100400D3D11_DEPTH_WRITE_MASK = Enum("D3D11_DEPTH_WRITE_MASK", [
401 "D3D11_DEPTH_WRITE_MASK_ZERO",
402 "D3D11_DEPTH_WRITE_MASK_ALL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100403])
404
José Fonsecaee590be2012-04-16 13:25:06 +0100405D3D11_STENCIL_OP = Enum("D3D11_STENCIL_OP", [
406 "D3D11_STENCIL_OP_KEEP",
407 "D3D11_STENCIL_OP_ZERO",
408 "D3D11_STENCIL_OP_REPLACE",
409 "D3D11_STENCIL_OP_INCR_SAT",
410 "D3D11_STENCIL_OP_DECR_SAT",
411 "D3D11_STENCIL_OP_INVERT",
412 "D3D11_STENCIL_OP_INCR",
413 "D3D11_STENCIL_OP_DECR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100414])
415
José Fonsecaee590be2012-04-16 13:25:06 +0100416D3D11_DEPTH_STENCILOP_DESC = Struct("D3D11_DEPTH_STENCILOP_DESC", [
417 (D3D11_STENCIL_OP, "StencilFailOp"),
418 (D3D11_STENCIL_OP, "StencilDepthFailOp"),
419 (D3D11_STENCIL_OP, "StencilPassOp"),
420 (D3D11_COMPARISON_FUNC, "StencilFunc"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100421])
422
José Fonsecaee590be2012-04-16 13:25:06 +0100423D3D11_DEPTH_STENCIL_DESC = Struct("D3D11_DEPTH_STENCIL_DESC", [
424 (BOOL, "DepthEnable"),
425 (D3D11_DEPTH_WRITE_MASK, "DepthWriteMask"),
426 (D3D11_COMPARISON_FUNC, "DepthFunc"),
427 (BOOL, "StencilEnable"),
428 (UINT8, "StencilReadMask"),
429 (UINT8, "StencilWriteMask"),
430 (D3D11_DEPTH_STENCILOP_DESC, "FrontFace"),
431 (D3D11_DEPTH_STENCILOP_DESC, "BackFace"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100432])
433
434ID3D11DepthStencilState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000435 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_DEPTH_STENCIL_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100436]
437
José Fonsecaee590be2012-04-16 13:25:06 +0100438D3D11_BLEND = Enum("D3D11_BLEND", [
439 "D3D11_BLEND_ZERO",
440 "D3D11_BLEND_ONE",
441 "D3D11_BLEND_SRC_COLOR",
442 "D3D11_BLEND_INV_SRC_COLOR",
443 "D3D11_BLEND_SRC_ALPHA",
444 "D3D11_BLEND_INV_SRC_ALPHA",
445 "D3D11_BLEND_DEST_ALPHA",
446 "D3D11_BLEND_INV_DEST_ALPHA",
447 "D3D11_BLEND_DEST_COLOR",
448 "D3D11_BLEND_INV_DEST_COLOR",
449 "D3D11_BLEND_SRC_ALPHA_SAT",
450 "D3D11_BLEND_BLEND_FACTOR",
451 "D3D11_BLEND_INV_BLEND_FACTOR",
452 "D3D11_BLEND_SRC1_COLOR",
453 "D3D11_BLEND_INV_SRC1_COLOR",
454 "D3D11_BLEND_SRC1_ALPHA",
455 "D3D11_BLEND_INV_SRC1_ALPHA",
José Fonseca5b6fb752012-04-14 14:56:45 +0100456])
457
José Fonsecaee590be2012-04-16 13:25:06 +0100458D3D11_BLEND_OP = Enum("D3D11_BLEND_OP", [
459 "D3D11_BLEND_OP_ADD",
460 "D3D11_BLEND_OP_SUBTRACT",
461 "D3D11_BLEND_OP_REV_SUBTRACT",
462 "D3D11_BLEND_OP_MIN",
463 "D3D11_BLEND_OP_MAX",
José Fonseca5b6fb752012-04-14 14:56:45 +0100464])
465
José Fonsecaee590be2012-04-16 13:25:06 +0100466D3D11_COLOR_WRITE_ENABLE = Enum("D3D11_COLOR_WRITE_ENABLE", [
467 "D3D11_COLOR_WRITE_ENABLE_ALL",
468 "D3D11_COLOR_WRITE_ENABLE_RED",
469 "D3D11_COLOR_WRITE_ENABLE_GREEN",
470 "D3D11_COLOR_WRITE_ENABLE_BLUE",
471 "D3D11_COLOR_WRITE_ENABLE_ALPHA",
José Fonseca5b6fb752012-04-14 14:56:45 +0100472])
473
José Fonsecaee590be2012-04-16 13:25:06 +0100474D3D11_RENDER_TARGET_BLEND_DESC = Struct("D3D11_RENDER_TARGET_BLEND_DESC", [
475 (BOOL, "BlendEnable"),
476 (D3D11_BLEND, "SrcBlend"),
477 (D3D11_BLEND, "DestBlend"),
478 (D3D11_BLEND_OP, "BlendOp"),
479 (D3D11_BLEND, "SrcBlendAlpha"),
480 (D3D11_BLEND, "DestBlendAlpha"),
481 (D3D11_BLEND_OP, "BlendOpAlpha"),
482 (UINT8, "RenderTargetWriteMask"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100483])
484
José Fonsecaee590be2012-04-16 13:25:06 +0100485D3D11_BLEND_DESC = Struct("D3D11_BLEND_DESC", [
486 (BOOL, "AlphaToCoverageEnable"),
487 (BOOL, "IndependentBlendEnable"),
488 (Array(D3D11_RENDER_TARGET_BLEND_DESC, 8), "RenderTarget"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100489])
490
491ID3D11BlendState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000492 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_BLEND_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100493]
494
José Fonsecaee590be2012-04-16 13:25:06 +0100495D3D11_RASTERIZER_DESC = Struct("D3D11_RASTERIZER_DESC", [
496 (D3D11_FILL_MODE, "FillMode"),
497 (D3D11_CULL_MODE, "CullMode"),
498 (BOOL, "FrontCounterClockwise"),
499 (INT, "DepthBias"),
500 (FLOAT, "DepthBiasClamp"),
501 (FLOAT, "SlopeScaledDepthBias"),
502 (BOOL, "DepthClipEnable"),
503 (BOOL, "ScissorEnable"),
504 (BOOL, "MultisampleEnable"),
505 (BOOL, "AntialiasedLineEnable"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100506])
507
508ID3D11RasterizerState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000509 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_RASTERIZER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100510]
511
José Fonsecaee590be2012-04-16 13:25:06 +0100512D3D11_SUBRESOURCE_DATA = Struct("D3D11_SUBRESOURCE_DATA", [
José Fonseca8f6e0e32012-11-07 19:22:20 +0000513 (Blob(Const(Void), "_calcSubresourceSize(pDesc, {i}, {self}.SysMemPitch, {self}.SysMemSlicePitch)"), "pSysMem"),
José Fonsecaee590be2012-04-16 13:25:06 +0100514 (UINT, "SysMemPitch"),
515 (UINT, "SysMemSlicePitch"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100516])
517
José Fonsecaee590be2012-04-16 13:25:06 +0100518D3D11_MAPPED_SUBRESOURCE = Struct("D3D11_MAPPED_SUBRESOURCE", [
José Fonsecae6bde442012-11-14 08:45:58 +0000519 (LinearPointer(Void, "_MappedSize"), "pData"),
José Fonsecaee590be2012-04-16 13:25:06 +0100520 (UINT, "RowPitch"),
521 (UINT, "DepthPitch"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100522])
523
524ID3D11Resource.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000525 StdMethod(Void, "GetType", [Out(Pointer(D3D11_RESOURCE_DIMENSION), "pResourceDimension")], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +0100526 StdMethod(Void, "SetEvictionPriority", [(UINT, "EvictionPriority")]),
José Fonseca2b807452012-11-10 09:50:10 +0000527 StdMethod(UINT, "GetEvictionPriority", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100528]
529
José Fonsecaee590be2012-04-16 13:25:06 +0100530D3D11_BUFFER_DESC = Struct("D3D11_BUFFER_DESC", [
531 (UINT, "ByteWidth"),
532 (D3D11_USAGE, "Usage"),
533 (D3D11_BIND_FLAG, "BindFlags"),
534 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
535 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
536 (UINT, "StructureByteStride"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100537])
538
539ID3D11Buffer.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000540 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_BUFFER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100541]
542
José Fonsecaee590be2012-04-16 13:25:06 +0100543D3D11_TEXTURE1D_DESC = Struct("D3D11_TEXTURE1D_DESC", [
544 (UINT, "Width"),
545 (UINT, "MipLevels"),
546 (UINT, "ArraySize"),
547 (DXGI_FORMAT, "Format"),
548 (D3D11_USAGE, "Usage"),
549 (D3D11_BIND_FLAG, "BindFlags"),
550 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
551 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100552])
553
554ID3D11Texture1D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000555 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE1D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100556]
557
José Fonsecaee590be2012-04-16 13:25:06 +0100558D3D11_TEXTURE2D_DESC = Struct("D3D11_TEXTURE2D_DESC", [
559 (UINT, "Width"),
560 (UINT, "Height"),
561 (UINT, "MipLevels"),
562 (UINT, "ArraySize"),
563 (DXGI_FORMAT, "Format"),
564 (DXGI_SAMPLE_DESC, "SampleDesc"),
565 (D3D11_USAGE, "Usage"),
566 (D3D11_BIND_FLAG, "BindFlags"),
567 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
568 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100569])
570
571ID3D11Texture2D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000572 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE2D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100573]
574
José Fonsecaee590be2012-04-16 13:25:06 +0100575D3D11_TEXTURE3D_DESC = Struct("D3D11_TEXTURE3D_DESC", [
576 (UINT, "Width"),
577 (UINT, "Height"),
578 (UINT, "Depth"),
579 (UINT, "MipLevels"),
580 (DXGI_FORMAT, "Format"),
581 (D3D11_USAGE, "Usage"),
582 (D3D11_BIND_FLAG, "BindFlags"),
583 (D3D11_CPU_ACCESS_FLAG, "CPUAccessFlags"),
584 (D3D11_RESOURCE_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100585])
586
587ID3D11Texture3D.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000588 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_TEXTURE3D_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100589]
590
José Fonsecaee590be2012-04-16 13:25:06 +0100591D3D11_TEXTURECUBE_FACE = Enum("D3D11_TEXTURECUBE_FACE", [
592 "D3D11_TEXTURECUBE_FACE_POSITIVE_X",
593 "D3D11_TEXTURECUBE_FACE_NEGATIVE_X",
594 "D3D11_TEXTURECUBE_FACE_POSITIVE_Y",
595 "D3D11_TEXTURECUBE_FACE_NEGATIVE_Y",
596 "D3D11_TEXTURECUBE_FACE_POSITIVE_Z",
597 "D3D11_TEXTURECUBE_FACE_NEGATIVE_Z",
José Fonseca5b6fb752012-04-14 14:56:45 +0100598])
599
600ID3D11View.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +0100601 StdMethod(Void, "GetResource", [Out(Pointer(ObjPointer(ID3D11Resource)), "ppResource")]),
José Fonseca5b6fb752012-04-14 14:56:45 +0100602]
603
José Fonsecaee590be2012-04-16 13:25:06 +0100604D3D11_BUFFER_SRV = Struct("D3D11_BUFFER_SRV", [
José Fonseca5f4b6e32012-11-20 10:47:10 +0000605 (UINT, "FirstElement"),
606 (UINT, "NumElements"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100607])
608
609D3D11_BUFFEREX_SRV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100610 "D3D11_BUFFEREX_SRV_FLAG_RAW",
José Fonseca5b6fb752012-04-14 14:56:45 +0100611])
612
José Fonsecaee590be2012-04-16 13:25:06 +0100613D3D11_BUFFEREX_SRV = Struct("D3D11_BUFFEREX_SRV", [
614 (UINT, "FirstElement"),
615 (UINT, "NumElements"),
616 (D3D11_BUFFEREX_SRV_FLAG, "Flags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100617])
618
José Fonsecaee590be2012-04-16 13:25:06 +0100619D3D11_TEX1D_SRV = Struct("D3D11_TEX1D_SRV", [
620 (UINT, "MostDetailedMip"),
621 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100622])
623
José Fonsecaee590be2012-04-16 13:25:06 +0100624D3D11_TEX1D_ARRAY_SRV = Struct("D3D11_TEX1D_ARRAY_SRV", [
625 (UINT, "MostDetailedMip"),
626 (UINT, "MipLevels"),
627 (UINT, "FirstArraySlice"),
628 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100629])
630
José Fonsecaee590be2012-04-16 13:25:06 +0100631D3D11_TEX2D_SRV = Struct("D3D11_TEX2D_SRV", [
632 (UINT, "MostDetailedMip"),
633 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100634])
635
José Fonsecaee590be2012-04-16 13:25:06 +0100636D3D11_TEX2D_ARRAY_SRV = Struct("D3D11_TEX2D_ARRAY_SRV", [
637 (UINT, "MostDetailedMip"),
638 (UINT, "MipLevels"),
639 (UINT, "FirstArraySlice"),
640 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100641])
642
José Fonsecaee590be2012-04-16 13:25:06 +0100643D3D11_TEX3D_SRV = Struct("D3D11_TEX3D_SRV", [
644 (UINT, "MostDetailedMip"),
645 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100646])
647
José Fonsecaee590be2012-04-16 13:25:06 +0100648D3D11_TEXCUBE_SRV = Struct("D3D11_TEXCUBE_SRV", [
649 (UINT, "MostDetailedMip"),
650 (UINT, "MipLevels"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100651])
652
José Fonsecaee590be2012-04-16 13:25:06 +0100653D3D11_TEXCUBE_ARRAY_SRV = Struct("D3D11_TEXCUBE_ARRAY_SRV", [
654 (UINT, "MostDetailedMip"),
655 (UINT, "MipLevels"),
656 (UINT, "First2DArrayFace"),
657 (UINT, "NumCubes"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100658])
659
José Fonsecaee590be2012-04-16 13:25:06 +0100660D3D11_TEX2DMS_SRV = Struct("D3D11_TEX2DMS_SRV", [
661 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100662])
663
José Fonsecaee590be2012-04-16 13:25:06 +0100664D3D11_TEX2DMS_ARRAY_SRV = Struct("D3D11_TEX2DMS_ARRAY_SRV", [
665 (UINT, "FirstArraySlice"),
666 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100667])
668
José Fonsecaee590be2012-04-16 13:25:06 +0100669D3D11_SHADER_RESOURCE_VIEW_DESC = Struct("D3D11_SHADER_RESOURCE_VIEW_DESC", [
670 (DXGI_FORMAT, "Format"),
671 (D3D11_SRV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000672 (Union("{self}.ViewDimension", [
673 ("D3D11_SRV_DIMENSION_BUFFER", D3D11_BUFFER_SRV, "Buffer"),
674 ("D3D11_SRV_DIMENSION_TEXTURE1D", D3D11_TEX1D_SRV, "Texture1D"),
675 ("D3D11_SRV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_SRV, "Texture1DArray"),
Jose Fonseca4713c3b2015-08-12 11:06:34 +0100676 ("D3D11_SRV_DIMENSION_TEXTURE2D", D3D11_TEX2D_SRV, "Texture2D"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000677 ("D3D11_SRV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_SRV, "Texture2DArray"),
678 ("D3D11_SRV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_SRV, "Texture2DMS"),
679 ("D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_SRV, "Texture2DMSArray"),
680 ("D3D11_SRV_DIMENSION_TEXTURE3D", D3D11_TEX3D_SRV, "Texture3D"),
681 ("D3D11_SRV_DIMENSION_TEXTURECUBE", D3D11_TEXCUBE_SRV, "TextureCube"),
682 ("D3D11_SRV_DIMENSION_TEXTURECUBEARRAY", D3D11_TEXCUBE_ARRAY_SRV, "TextureCubeArray"),
683 ("D3D11_SRV_DIMENSION_BUFFEREX", D3D11_BUFFEREX_SRV, "BufferEx"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100684 ]), None),
685])
686
687ID3D11ShaderResourceView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000688 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_SHADER_RESOURCE_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100689]
690
José Fonsecaee590be2012-04-16 13:25:06 +0100691D3D11_BUFFER_RTV = Struct("D3D11_BUFFER_RTV", [
José Fonseca5f4b6e32012-11-20 10:47:10 +0000692 (UINT, "FirstElement"),
693 (UINT, "NumElements"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100694])
695
José Fonsecaee590be2012-04-16 13:25:06 +0100696D3D11_TEX1D_RTV = Struct("D3D11_TEX1D_RTV", [
697 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100698])
699
José Fonsecaee590be2012-04-16 13:25:06 +0100700D3D11_TEX1D_ARRAY_RTV = Struct("D3D11_TEX1D_ARRAY_RTV", [
701 (UINT, "MipSlice"),
702 (UINT, "FirstArraySlice"),
703 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100704])
705
José Fonsecaee590be2012-04-16 13:25:06 +0100706D3D11_TEX2D_RTV = Struct("D3D11_TEX2D_RTV", [
707 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100708])
709
José Fonsecaee590be2012-04-16 13:25:06 +0100710D3D11_TEX2DMS_RTV = Struct("D3D11_TEX2DMS_RTV", [
711 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100712])
713
José Fonsecaee590be2012-04-16 13:25:06 +0100714D3D11_TEX2D_ARRAY_RTV = Struct("D3D11_TEX2D_ARRAY_RTV", [
715 (UINT, "MipSlice"),
716 (UINT, "FirstArraySlice"),
717 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100718])
719
José Fonsecaee590be2012-04-16 13:25:06 +0100720D3D11_TEX2DMS_ARRAY_RTV = Struct("D3D11_TEX2DMS_ARRAY_RTV", [
721 (UINT, "FirstArraySlice"),
722 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100723])
724
José Fonsecaee590be2012-04-16 13:25:06 +0100725D3D11_TEX3D_RTV = Struct("D3D11_TEX3D_RTV", [
726 (UINT, "MipSlice"),
727 (UINT, "FirstWSlice"),
728 (UINT, "WSize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100729])
730
José Fonsecaee590be2012-04-16 13:25:06 +0100731D3D11_RENDER_TARGET_VIEW_DESC = Struct("D3D11_RENDER_TARGET_VIEW_DESC", [
732 (DXGI_FORMAT, "Format"),
733 (D3D11_RTV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000734 (Union("{self}.ViewDimension", [
José Fonsecaeb216e62012-11-20 11:08:08 +0000735 ("D3D11_RTV_DIMENSION_BUFFER", D3D11_BUFFER_RTV, "Buffer"),
736 ("D3D11_RTV_DIMENSION_TEXTURE1D", D3D11_TEX1D_RTV, "Texture1D"),
737 ("D3D11_RTV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_RTV, "Texture1DArray"),
738 ("D3D11_RTV_DIMENSION_TEXTURE2D", D3D11_TEX2D_RTV, "Texture2D"),
739 ("D3D11_RTV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_RTV, "Texture2DArray"),
740 ("D3D11_RTV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_RTV, "Texture2DMS"),
741 ("D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_RTV, "Texture2DMSArray"),
742 ("D3D11_RTV_DIMENSION_TEXTURE3D", D3D11_TEX3D_RTV, "Texture3D"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100743 ]), None),
744])
745
746ID3D11RenderTargetView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000747 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_RENDER_TARGET_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100748]
749
José Fonsecaee590be2012-04-16 13:25:06 +0100750D3D11_TEX1D_DSV = Struct("D3D11_TEX1D_DSV", [
751 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100752])
753
José Fonsecaee590be2012-04-16 13:25:06 +0100754D3D11_TEX1D_ARRAY_DSV = Struct("D3D11_TEX1D_ARRAY_DSV", [
755 (UINT, "MipSlice"),
756 (UINT, "FirstArraySlice"),
757 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100758])
759
José Fonsecaee590be2012-04-16 13:25:06 +0100760D3D11_TEX2D_DSV = Struct("D3D11_TEX2D_DSV", [
761 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100762])
763
José Fonsecaee590be2012-04-16 13:25:06 +0100764D3D11_TEX2D_ARRAY_DSV = Struct("D3D11_TEX2D_ARRAY_DSV", [
765 (UINT, "MipSlice"),
766 (UINT, "FirstArraySlice"),
767 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100768])
769
José Fonsecaee590be2012-04-16 13:25:06 +0100770D3D11_TEX2DMS_DSV = Struct("D3D11_TEX2DMS_DSV", [
771 (UINT, "UnusedField_NothingToDefine"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100772])
773
José Fonsecaee590be2012-04-16 13:25:06 +0100774D3D11_TEX2DMS_ARRAY_DSV = Struct("D3D11_TEX2DMS_ARRAY_DSV", [
775 (UINT, "FirstArraySlice"),
776 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100777])
778
779D3D11_DSV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100780 "D3D11_DSV_READ_ONLY_DEPTH",
781 "D3D11_DSV_READ_ONLY_STENCIL",
José Fonseca5b6fb752012-04-14 14:56:45 +0100782])
783
José Fonsecaee590be2012-04-16 13:25:06 +0100784D3D11_DEPTH_STENCIL_VIEW_DESC = Struct("D3D11_DEPTH_STENCIL_VIEW_DESC", [
785 (DXGI_FORMAT, "Format"),
786 (D3D11_DSV_DIMENSION, "ViewDimension"),
787 (D3D11_DSV_FLAG, "Flags"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000788 (Union("{self}.ViewDimension", [
789 ("D3D11_DSV_DIMENSION_TEXTURE1D", D3D11_TEX1D_DSV, "Texture1D"),
790 ("D3D11_DSV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_DSV, "Texture1DArray"),
791 ("D3D11_DSV_DIMENSION_TEXTURE2D", D3D11_TEX2D_DSV, "Texture2D"),
792 ("D3D11_DSV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_DSV, "Texture2DArray"),
793 ("D3D11_DSV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_DSV, "Texture2DMS"),
794 ("D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_DSV, "Texture2DMSArray"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100795 ]), None),
796])
797
798ID3D11DepthStencilView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000799 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_DEPTH_STENCIL_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100800]
801
802D3D11_BUFFER_UAV_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100803 "D3D11_BUFFER_UAV_FLAG_RAW",
804 "D3D11_BUFFER_UAV_FLAG_APPEND",
805 "D3D11_BUFFER_UAV_FLAG_COUNTER",
José Fonseca5b6fb752012-04-14 14:56:45 +0100806])
807
José Fonsecaee590be2012-04-16 13:25:06 +0100808D3D11_BUFFER_UAV = Struct("D3D11_BUFFER_UAV", [
809 (UINT, "FirstElement"),
810 (UINT, "NumElements"),
811 (D3D11_BUFFER_UAV_FLAG, "Flags"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100812])
813
José Fonsecaee590be2012-04-16 13:25:06 +0100814D3D11_TEX1D_UAV = Struct("D3D11_TEX1D_UAV", [
815 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100816])
817
José Fonsecaee590be2012-04-16 13:25:06 +0100818D3D11_TEX1D_ARRAY_UAV = Struct("D3D11_TEX1D_ARRAY_UAV", [
819 (UINT, "MipSlice"),
820 (UINT, "FirstArraySlice"),
821 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100822])
823
José Fonsecaee590be2012-04-16 13:25:06 +0100824D3D11_TEX2D_UAV = Struct("D3D11_TEX2D_UAV", [
825 (UINT, "MipSlice"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100826])
827
José Fonsecaee590be2012-04-16 13:25:06 +0100828D3D11_TEX2D_ARRAY_UAV = Struct("D3D11_TEX2D_ARRAY_UAV", [
829 (UINT, "MipSlice"),
830 (UINT, "FirstArraySlice"),
831 (UINT, "ArraySize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100832])
833
José Fonsecaee590be2012-04-16 13:25:06 +0100834D3D11_TEX3D_UAV = Struct("D3D11_TEX3D_UAV", [
835 (UINT, "MipSlice"),
836 (UINT, "FirstWSlice"),
837 (UINT, "WSize"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100838])
839
José Fonsecaee590be2012-04-16 13:25:06 +0100840D3D11_UNORDERED_ACCESS_VIEW_DESC = Struct("D3D11_UNORDERED_ACCESS_VIEW_DESC", [
841 (DXGI_FORMAT, "Format"),
842 (D3D11_UAV_DIMENSION, "ViewDimension"),
José Fonsecadbf714b2012-11-20 17:03:43 +0000843 (Union("{self}.ViewDimension", [
844 ("D3D11_UAV_DIMENSION_BUFFER", D3D11_BUFFER_UAV, "Buffer"),
845 ("D3D11_UAV_DIMENSION_TEXTURE1D", D3D11_TEX1D_UAV, "Texture1D"),
846 ("D3D11_UAV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_UAV, "Texture1DArray"),
847 ("D3D11_UAV_DIMENSION_TEXTURE2D", D3D11_TEX2D_UAV, "Texture2D"),
848 ("D3D11_UAV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_UAV, "Texture2DArray"),
849 ("D3D11_UAV_DIMENSION_TEXTURE3D", D3D11_TEX3D_UAV, "Texture3D"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100850 ]), None),
851])
852
853ID3D11UnorderedAccessView.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000854 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_UNORDERED_ACCESS_VIEW_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100855]
856
José Fonsecaee590be2012-04-16 13:25:06 +0100857D3D11_FILTER = Enum("D3D11_FILTER", [
858 "D3D11_FILTER_MIN_MAG_MIP_POINT",
859 "D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR",
860 "D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT",
861 "D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR",
862 "D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT",
863 "D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
864 "D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT",
865 "D3D11_FILTER_MIN_MAG_MIP_LINEAR",
866 "D3D11_FILTER_ANISOTROPIC",
867 "D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT",
868 "D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR",
869 "D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT",
870 "D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR",
871 "D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT",
872 "D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
873 "D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT",
874 "D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR",
875 "D3D11_FILTER_COMPARISON_ANISOTROPIC",
Jose Fonseca503fde92015-07-16 17:00:30 +0100876 "D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT",
877 "D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR",
878 "D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT",
879 "D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR",
880 "D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT",
881 "D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
882 "D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT",
883 "D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR",
884 "D3D11_FILTER_MINIMUM_ANISOTROPIC",
885 "D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT",
886 "D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR",
887 "D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT",
888 "D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR",
889 "D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT",
890 "D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR",
891 "D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT",
892 "D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR",
893 "D3D11_FILTER_MAXIMUM_ANISOTROPIC",
José Fonseca5b6fb752012-04-14 14:56:45 +0100894])
895
José Fonsecaee590be2012-04-16 13:25:06 +0100896D3D11_FILTER_TYPE = Enum("D3D11_FILTER_TYPE", [
897 "D3D11_FILTER_TYPE_POINT",
898 "D3D11_FILTER_TYPE_LINEAR",
José Fonseca5b6fb752012-04-14 14:56:45 +0100899])
900
José Fonsecaee590be2012-04-16 13:25:06 +0100901D3D11_TEXTURE_ADDRESS_MODE = Enum("D3D11_TEXTURE_ADDRESS_MODE", [
902 "D3D11_TEXTURE_ADDRESS_WRAP",
903 "D3D11_TEXTURE_ADDRESS_MIRROR",
904 "D3D11_TEXTURE_ADDRESS_CLAMP",
905 "D3D11_TEXTURE_ADDRESS_BORDER",
906 "D3D11_TEXTURE_ADDRESS_MIRROR_ONCE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100907])
908
José Fonsecaee590be2012-04-16 13:25:06 +0100909D3D11_SAMPLER_DESC = Struct("D3D11_SAMPLER_DESC", [
910 (D3D11_FILTER, "Filter"),
911 (D3D11_TEXTURE_ADDRESS_MODE, "AddressU"),
912 (D3D11_TEXTURE_ADDRESS_MODE, "AddressV"),
913 (D3D11_TEXTURE_ADDRESS_MODE, "AddressW"),
914 (FLOAT, "MipLODBias"),
915 (UINT, "MaxAnisotropy"),
916 (D3D11_COMPARISON_FUNC, "ComparisonFunc"),
917 (Array(FLOAT, 4), "BorderColor"),
918 (FLOAT, "MinLOD"),
919 (FLOAT, "MaxLOD"),
José Fonseca5b6fb752012-04-14 14:56:45 +0100920])
921
922ID3D11SamplerState.methods += [
José Fonseca2b807452012-11-10 09:50:10 +0000923 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_SAMPLER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100924]
925
José Fonsecaee590be2012-04-16 13:25:06 +0100926D3D11_FORMAT_SUPPORT = Flags(UINT, [
927 "D3D11_FORMAT_SUPPORT_BUFFER",
928 "D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER",
929 "D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER",
930 "D3D11_FORMAT_SUPPORT_SO_BUFFER",
931 "D3D11_FORMAT_SUPPORT_TEXTURE1D",
932 "D3D11_FORMAT_SUPPORT_TEXTURE2D",
933 "D3D11_FORMAT_SUPPORT_TEXTURE3D",
934 "D3D11_FORMAT_SUPPORT_TEXTURECUBE",
935 "D3D11_FORMAT_SUPPORT_SHADER_LOAD",
936 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE",
937 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON",
938 "D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT",
939 "D3D11_FORMAT_SUPPORT_MIP",
940 "D3D11_FORMAT_SUPPORT_MIP_AUTOGEN",
941 "D3D11_FORMAT_SUPPORT_RENDER_TARGET",
942 "D3D11_FORMAT_SUPPORT_BLENDABLE",
943 "D3D11_FORMAT_SUPPORT_DEPTH_STENCIL",
944 "D3D11_FORMAT_SUPPORT_CPU_LOCKABLE",
945 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE",
946 "D3D11_FORMAT_SUPPORT_DISPLAY",
947 "D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT",
948 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET",
949 "D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD",
950 "D3D11_FORMAT_SUPPORT_SHADER_GATHER",
951 "D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST",
952 "D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW",
953 "D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON",
Jose Fonseca503fde92015-07-16 17:00:30 +0100954 "D3D11_FORMAT_SUPPORT_DECODER_OUTPUT",
955 "D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT",
956 "D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT",
957 "D3D11_FORMAT_SUPPORT_VIDEO_ENCODER",
José Fonseca5b6fb752012-04-14 14:56:45 +0100958])
959
José Fonsecaee590be2012-04-16 13:25:06 +0100960D3D11_FORMAT_SUPPORT2 = Enum("D3D11_FORMAT_SUPPORT2", [
961 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD",
962 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS",
963 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE",
964 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE",
965 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX",
966 "D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX",
967 "D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD",
968 "D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE",
Jose Fonseca503fde92015-07-16 17:00:30 +0100969 "D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP",
970 "D3D11_FORMAT_SUPPORT2_TILED",
971 "D3D11_FORMAT_SUPPORT2_SHAREABLE",
José Fonseca5b6fb752012-04-14 14:56:45 +0100972])
973
974ID3D11Asynchronous.methods += [
José Fonsecabc10e452012-11-08 10:24:45 +0000975 StdMethod(UINT, "GetDataSize", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +0100976]
977
978D3D11_ASYNC_GETDATA_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +0100979 "D3D11_ASYNC_GETDATA_DONOTFLUSH",
José Fonseca5b6fb752012-04-14 14:56:45 +0100980])
981
José Fonsecaee590be2012-04-16 13:25:06 +0100982D3D11_QUERY = Enum("D3D11_QUERY", [
983 "D3D11_QUERY_EVENT",
984 "D3D11_QUERY_OCCLUSION",
985 "D3D11_QUERY_TIMESTAMP",
986 "D3D11_QUERY_TIMESTAMP_DISJOINT",
987 "D3D11_QUERY_PIPELINE_STATISTICS",
988 "D3D11_QUERY_OCCLUSION_PREDICATE",
989 "D3D11_QUERY_SO_STATISTICS",
990 "D3D11_QUERY_SO_OVERFLOW_PREDICATE",
991 "D3D11_QUERY_SO_STATISTICS_STREAM0",
992 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0",
993 "D3D11_QUERY_SO_STATISTICS_STREAM1",
994 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1",
995 "D3D11_QUERY_SO_STATISTICS_STREAM2",
996 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2",
997 "D3D11_QUERY_SO_STATISTICS_STREAM3",
998 "D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3",
José Fonseca5b6fb752012-04-14 14:56:45 +0100999])
1000
1001D3D11_QUERY_MISC_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +01001002 "D3D11_QUERY_MISC_PREDICATEHINT",
José Fonseca5b6fb752012-04-14 14:56:45 +01001003])
1004
José Fonsecaee590be2012-04-16 13:25:06 +01001005D3D11_QUERY_DESC = Struct("D3D11_QUERY_DESC", [
1006 (D3D11_QUERY, "Query"),
1007 (D3D11_QUERY_MISC_FLAG, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001008])
1009
1010ID3D11Query.methods += [
José Fonseca2b807452012-11-10 09:50:10 +00001011 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_QUERY_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001012]
1013
José Fonsecaee590be2012-04-16 13:25:06 +01001014D3D11_QUERY_DATA_TIMESTAMP_DISJOINT = Struct("D3D11_QUERY_DATA_TIMESTAMP_DISJOINT", [
1015 (UINT64, "Frequency"),
1016 (BOOL, "Disjoint"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001017])
1018
José Fonsecaee590be2012-04-16 13:25:06 +01001019D3D11_QUERY_DATA_PIPELINE_STATISTICS = Struct("D3D11_QUERY_DATA_PIPELINE_STATISTICS", [
1020 (UINT64, "IAVertices"),
1021 (UINT64, "IAPrimitives"),
1022 (UINT64, "VSInvocations"),
1023 (UINT64, "GSInvocations"),
1024 (UINT64, "GSPrimitives"),
1025 (UINT64, "CInvocations"),
1026 (UINT64, "CPrimitives"),
1027 (UINT64, "PSInvocations"),
1028 (UINT64, "HSInvocations"),
1029 (UINT64, "DSInvocations"),
1030 (UINT64, "CSInvocations"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001031])
1032
José Fonsecaee590be2012-04-16 13:25:06 +01001033D3D11_QUERY_DATA_SO_STATISTICS = Struct("D3D11_QUERY_DATA_SO_STATISTICS", [
1034 (UINT64, "NumPrimitivesWritten"),
1035 (UINT64, "PrimitivesStorageNeeded"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001036])
1037
José Fonsecadbc46f02014-08-15 17:04:17 +01001038D3D11_QUERY_DATA = Polymorphic("_getQueryType(pAsync)", [
1039 ("D3D11_QUERY_EVENT", Pointer(BOOL)),
1040 ("D3D11_QUERY_OCCLUSION", Pointer(UINT64)),
1041 ("D3D11_QUERY_TIMESTAMP", Pointer(UINT64)),
1042 ("D3D11_QUERY_TIMESTAMP_DISJOINT", Pointer(D3D11_QUERY_DATA_TIMESTAMP_DISJOINT)),
1043 ("D3D11_QUERY_PIPELINE_STATISTICS", Pointer(D3D11_QUERY_DATA_PIPELINE_STATISTICS)),
1044 ("D3D11_QUERY_OCCLUSION_PREDICATE", Pointer(BOOL)),
1045 ("D3D11_QUERY_SO_STATISTICS", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1046 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE", Pointer(BOOL)),
1047 ("D3D11_QUERY_SO_STATISTICS_STREAM0", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1048 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0", Pointer(BOOL)),
1049 ("D3D11_QUERY_SO_STATISTICS_STREAM1", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1050 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1", Pointer(BOOL)),
1051 ("D3D11_QUERY_SO_STATISTICS_STREAM2", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1052 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2", Pointer(BOOL)),
1053 ("D3D11_QUERY_SO_STATISTICS_STREAM3", Pointer(D3D11_QUERY_DATA_SO_STATISTICS)),
1054 ("D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3", Pointer(BOOL)),
1055], Blob(Void, "DataSize"), contextLess=False)
1056
José Fonsecaee590be2012-04-16 13:25:06 +01001057D3D11_COUNTER = Enum("D3D11_COUNTER", [
1058 "D3D11_COUNTER_DEVICE_DEPENDENT_0",
José Fonseca5b6fb752012-04-14 14:56:45 +01001059])
1060
José Fonsecaee590be2012-04-16 13:25:06 +01001061D3D11_COUNTER_TYPE = Enum("D3D11_COUNTER_TYPE", [
1062 "D3D11_COUNTER_TYPE_FLOAT32",
1063 "D3D11_COUNTER_TYPE_UINT16",
1064 "D3D11_COUNTER_TYPE_UINT32",
1065 "D3D11_COUNTER_TYPE_UINT64",
José Fonseca5b6fb752012-04-14 14:56:45 +01001066])
1067
José Fonsecaee590be2012-04-16 13:25:06 +01001068D3D11_COUNTER_DESC = Struct("D3D11_COUNTER_DESC", [
1069 (D3D11_COUNTER, "Counter"),
1070 (UINT, "MiscFlags"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001071])
1072
José Fonsecaee590be2012-04-16 13:25:06 +01001073D3D11_COUNTER_INFO = Struct("D3D11_COUNTER_INFO", [
1074 (D3D11_COUNTER, "LastDeviceDependentCounter"),
1075 (UINT, "NumSimultaneousCounters"),
1076 (UINT8, "NumDetectableParallelUnits"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001077])
1078
1079ID3D11Counter.methods += [
José Fonseca2b807452012-11-10 09:50:10 +00001080 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_COUNTER_DESC), "pDesc")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001081]
1082
Jose Fonsecad5d61982017-08-13 13:08:13 +01001083D3D11_QUALITY_LEVEL = FakeEnum(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +01001084 "D3D11_STANDARD_MULTISAMPLE_PATTERN",
1085 "D3D11_CENTER_MULTISAMPLE_PATTERN",
José Fonseca5b6fb752012-04-14 14:56:45 +01001086])
Jose Fonsecad5d61982017-08-13 13:08:13 +01001087assert DXGI_SAMPLE_DESC.members[1][1] == "Quality"
1088DXGI_SAMPLE_DESC.members[1] = (D3D11_QUALITY_LEVEL, "Quality")
José Fonseca5b6fb752012-04-14 14:56:45 +01001089
José Fonsecaee590be2012-04-16 13:25:06 +01001090D3D11_DEVICE_CONTEXT_TYPE = Enum("D3D11_DEVICE_CONTEXT_TYPE", [
1091 "D3D11_DEVICE_CONTEXT_IMMEDIATE",
1092 "D3D11_DEVICE_CONTEXT_DEFERRED",
José Fonseca5b6fb752012-04-14 14:56:45 +01001093])
1094
José Fonsecaee590be2012-04-16 13:25:06 +01001095D3D11_CLASS_INSTANCE_DESC = Struct("D3D11_CLASS_INSTANCE_DESC", [
1096 (UINT, "InstanceId"),
1097 (UINT, "InstanceIndex"),
1098 (UINT, "TypeId"),
1099 (UINT, "ConstantBuffer"),
1100 (UINT, "BaseConstantBufferOffset"),
1101 (UINT, "BaseTexture"),
1102 (UINT, "BaseSampler"),
1103 (BOOL, "Created"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001104])
1105
1106
1107ID3D11ClassInstance.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001108 StdMethod(Void, "GetClassLinkage", [Out(Pointer(ObjPointer(ID3D11ClassLinkage)), "ppLinkage")]),
José Fonsecabc10e452012-11-08 10:24:45 +00001109 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_CLASS_INSTANCE_DESC), "pDesc")], sideeffects=False),
1110 StdMethod(Void, "GetInstanceName", [Out(LPSTR, "pInstanceName"), Out(Pointer(SIZE_T), "pBufferLength")], sideeffects=False),
1111 StdMethod(Void, "GetTypeName", [Out(LPSTR, "pTypeName"), Out(Pointer(SIZE_T), "pBufferLength")], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001112]
1113
1114ID3D11ClassLinkage.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001115 StdMethod(HRESULT, "GetClassInstance", [(LPCSTR, "pClassInstanceName"), (UINT, "InstanceIndex"), Out(Pointer(ObjPointer(ID3D11ClassInstance)), "ppInstance")]),
1116 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 +01001117]
1118
1119ID3D11CommandList.methods += [
José Fonseca2b807452012-11-10 09:50:10 +00001120 StdMethod(UINT, "GetContextFlags", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001121]
1122
José Fonsecaee590be2012-04-16 13:25:06 +01001123D3D11_FEATURE_DATA_THREADING = Struct("D3D11_FEATURE_DATA_THREADING", [
1124 (BOOL, "DriverConcurrentCreates"),
1125 (BOOL, "DriverCommandLists"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001126])
1127
José Fonsecaee590be2012-04-16 13:25:06 +01001128D3D11_FEATURE_DATA_DOUBLES = Struct("D3D11_FEATURE_DATA_DOUBLES", [
1129 (BOOL, "DoublePrecisionFloatShaderOps"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001130])
1131
José Fonsecaee590be2012-04-16 13:25:06 +01001132D3D11_FEATURE_DATA_FORMAT_SUPPORT = Struct("D3D11_FEATURE_DATA_FORMAT_SUPPORT", [
1133 (DXGI_FORMAT, "InFormat"),
1134 (D3D11_FORMAT_SUPPORT, "OutFormatSupport"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001135])
1136
José Fonsecaee590be2012-04-16 13:25:06 +01001137D3D11_FEATURE_DATA_FORMAT_SUPPORT2 = Struct("D3D11_FEATURE_DATA_FORMAT_SUPPORT2", [
1138 (DXGI_FORMAT, "InFormat"),
1139 (D3D11_FORMAT_SUPPORT2, "OutFormatSupport2"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001140])
1141
José Fonsecaee590be2012-04-16 13:25:06 +01001142D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS", [
1143 (BOOL, "ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x"),
José Fonseca5b6fb752012-04-14 14:56:45 +01001144])
1145
José Fonseca9a8d0cf2014-10-03 15:38:14 +01001146D3D11_FEATURE_DATA_D3D11_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D11_OPTIONS", [
1147 (BOOL, "OutputMergerLogicOp"),
1148 (BOOL, "UAVOnlyRenderingForcedSampleCount"),
1149 (BOOL, "DiscardAPIsSeenByDriver"),
1150 (BOOL, "FlagsForUpdateAndCopySeenByDriver"),
1151 (BOOL, "ClearView"),
1152 (BOOL, "CopyWithOverlap"),
1153 (BOOL, "ConstantBufferPartialUpdate"),
1154 (BOOL, "ConstantBufferOffsetting"),
1155 (BOOL, "MapNoOverwriteOnDynamicConstantBuffer"),
1156 (BOOL, "MapNoOverwriteOnDynamicBufferSRV"),
1157 (BOOL, "MultisampleRTVWithForcedSampleCountOne"),
1158 (BOOL, "SAD4ShaderInstructions"),
1159 (BOOL, "ExtendedDoublesShaderInstructions"),
1160 (BOOL, "ExtendedResourceSharing"),
1161])
1162
1163D3D11_FEATURE_DATA_ARCHITECTURE_INFO = Struct("D3D11_FEATURE_DATA_ARCHITECTURE_INFO", [
1164 (BOOL, "TileBasedDeferredRenderer"),
1165])
1166
1167D3D11_FEATURE_DATA_D3D9_OPTIONS = Struct("D3D11_FEATURE_DATA_D3D9_OPTIONS", [
1168 (BOOL, "FullNonPow2TextureSupport"),
1169])
1170
1171D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT = Struct("D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT", [
1172 (BOOL, "SupportsDepthAsTextureWithLessEqualComparisonFilter"),
1173])
1174
1175D3D11_SHADER_MIN_PRECISION_SUPPORT = Enum("D3D11_SHADER_MIN_PRECISION_SUPPORT", [
1176 "D3D11_SHADER_MIN_PRECISION_10_BIT",
1177 "D3D11_SHADER_MIN_PRECISION_16_BIT",
1178])
1179
1180D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT = Struct("D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT", [
1181 (UINT, "PixelShaderMinPrecision"),
1182 (UINT, "AllOtherShaderStagesMinPrecision"),
1183])
1184
1185D3D11_TILED_RESOURCES_TIER = Enum("D3D11_TILED_RESOURCES_TIER", [
1186 "D3D11_TILED_RESOURCES_NOT_SUPPORTED",
1187 "D3D11_TILED_RESOURCES_TIER_1",
1188 "D3D11_TILED_RESOURCES_TIER_2",
1189])
1190
1191D3D11_FEATURE_DATA_D3D11_OPTIONS1 = Struct("D3D11_FEATURE_DATA_D3D11_OPTIONS1", [
1192 (D3D11_TILED_RESOURCES_TIER, "TiledResourcesTier"),
1193 (BOOL, "MinMaxFiltering"),
1194 (BOOL, "ClearViewAlsoSupportsDepthOnlyFormats"),
1195 (BOOL, "MapOnDefaultBuffers"),
1196])
1197
1198D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT = Struct("D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT", [
1199 (BOOL, "SimpleInstancingSupported"),
1200])
1201
1202D3D11_FEATURE_DATA_MARKER_SUPPORT = Struct("D3D11_FEATURE_DATA_MARKER_SUPPORT", [
1203 (BOOL, "Profile"),
1204])
1205
1206D3D11_FEATURE_DATA_D3D9_OPTIONS1 = Struct("D3D11_FEATURE_DATA_D3D9_OPTIONS1", [
1207 (BOOL, "FullNonPow2TextureSupported"),
1208 (BOOL, "DepthAsTextureWithLessEqualComparisonFilterSupported"),
1209 (BOOL, "SimpleInstancingSupported"),
1210 (BOOL, "TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported"),
1211])
1212
Jose Fonseca4713c3b2015-08-12 11:06:34 +01001213D3D11_CONSERVATIVE_RASTERIZATION_TIER = Enum("D3D11_CONSERVATIVE_RASTERIZATION_TIER", [
1214 "D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED",
1215 "D3D11_CONSERVATIVE_RASTERIZATION_TIER_1",
1216 "D3D11_CONSERVATIVE_RASTERIZATION_TIER_2",
1217 "D3D11_CONSERVATIVE_RASTERIZATION_TIER_3",
1218])
1219
1220D3D11_FEATURE_DATA_D3D11_OPTIONS2 = Struct("D3D11_FEATURE_DATA_D3D11_OPTIONS2", [
1221 (BOOL, "PSSpecifiedStencilRefSupported"),
1222 (BOOL, "TypedUAVLoadAdditionalFormats"),
1223 (BOOL, "ROVsSupported"),
1224 (D3D11_CONSERVATIVE_RASTERIZATION_TIER, "ConservativeRasterizationTier"),
1225 (D3D11_TILED_RESOURCES_TIER, "TiledResourcesTier"),
1226 (BOOL, "MapOnDefaultTextures"),
1227 (BOOL, "StandardSwizzle"),
1228 (BOOL, "UnifiedMemoryArchitecture"),
1229])
1230
1231D3D11_FEATURE_DATA_D3D11_OPTIONS3 = Struct("D3D11_FEATURE_DATA_D3D11_OPTIONS3", [
1232 (BOOL, "VPAndRTArrayIndexFromAnyShaderFeedingRasterizer"),
1233])
1234
1235D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT = Struct("D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT", [
1236 (UINT, "MaxGPUVirtualAddressBitsPerResource"),
1237 (UINT, "MaxGPUVirtualAddressBitsPerProcess"),
1238])
1239
José Fonsecab95e3722012-04-16 14:01:15 +01001240D3D11_FEATURE, D3D11_FEATURE_DATA = EnumPolymorphic("D3D11_FEATURE", "Feature", [
1241 ("D3D11_FEATURE_THREADING", Pointer(D3D11_FEATURE_DATA_THREADING)),
1242 ("D3D11_FEATURE_DOUBLES", Pointer(D3D11_FEATURE_DATA_DOUBLES)),
1243 ("D3D11_FEATURE_FORMAT_SUPPORT", Pointer(D3D11_FEATURE_DATA_FORMAT_SUPPORT)),
1244 ("D3D11_FEATURE_FORMAT_SUPPORT2", Pointer(D3D11_FEATURE_DATA_FORMAT_SUPPORT2)),
1245 ("D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS)),
José Fonseca9a8d0cf2014-10-03 15:38:14 +01001246 ("D3D11_FEATURE_D3D11_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D11_OPTIONS)),
1247 ("D3D11_FEATURE_ARCHITECTURE_INFO", Pointer(D3D11_FEATURE_DATA_ARCHITECTURE_INFO)),
1248 ("D3D11_FEATURE_D3D9_OPTIONS", Pointer(D3D11_FEATURE_DATA_D3D9_OPTIONS)),
1249 ("D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT", Pointer(D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT)),
1250 ("D3D11_FEATURE_D3D9_SHADOW_SUPPORT", Pointer(D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT)),
1251 ("D3D11_FEATURE_D3D11_OPTIONS1", Pointer(D3D11_FEATURE_DATA_D3D11_OPTIONS1)),
1252 ("D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT", Pointer(D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT)),
1253 ("D3D11_FEATURE_MARKER_SUPPORT", Pointer(D3D11_FEATURE_DATA_MARKER_SUPPORT)),
1254 ("D3D11_FEATURE_D3D9_OPTIONS1", Pointer(D3D11_FEATURE_DATA_D3D9_OPTIONS1)),
Jose Fonseca4713c3b2015-08-12 11:06:34 +01001255 ("D3D11_FEATURE_D3D11_OPTIONS2", Pointer(D3D11_FEATURE_DATA_D3D11_OPTIONS2)),
1256 ("D3D11_FEATURE_D3D11_OPTIONS3", Pointer(D3D11_FEATURE_DATA_D3D11_OPTIONS3)),
1257 ("D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT", Pointer(D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT)),
José Fonsecab95e3722012-04-16 14:01:15 +01001258], Blob(Void, "FeatureSupportDataSize"), False)
1259
José Fonseca5b6fb752012-04-14 14:56:45 +01001260ID3D11DeviceContext.methods += [
José Fonsecaee590be2012-04-16 13:25:06 +01001261 StdMethod(Void, "VSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1262 StdMethod(Void, "PSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1263 StdMethod(Void, "PSSetShader", [(ObjPointer(ID3D11PixelShader), "pPixelShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1264 StdMethod(Void, "PSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1265 StdMethod(Void, "VSSetShader", [(ObjPointer(ID3D11VertexShader), "pVertexShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1266 StdMethod(Void, "DrawIndexed", [(UINT, "IndexCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation")]),
1267 StdMethod(Void, "Draw", [(UINT, "VertexCount"), (UINT, "StartVertexLocation")]),
1268 StdMethod(HRESULT, "Map", [(ObjPointer(ID3D11Resource), "pResource"), (UINT, "Subresource"), (D3D11_MAP, "MapType"), (D3D11_MAP_FLAG, "MapFlags"), Out(Pointer(D3D11_MAPPED_SUBRESOURCE), "pMappedResource")]),
1269 StdMethod(Void, "Unmap", [(ObjPointer(ID3D11Resource), "pResource"), (UINT, "Subresource")]),
1270 StdMethod(Void, "PSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1271 StdMethod(Void, "IASetInputLayout", [(ObjPointer(ID3D11InputLayout), "pInputLayout")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001272 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 +01001273 StdMethod(Void, "IASetIndexBuffer", [(ObjPointer(ID3D11Buffer), "pIndexBuffer"), (DXGI_FORMAT, "Format"), (UINT, "Offset")]),
1274 StdMethod(Void, "DrawIndexedInstanced", [(UINT, "IndexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation"), (UINT, "StartInstanceLocation")]),
1275 StdMethod(Void, "DrawInstanced", [(UINT, "VertexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartVertexLocation"), (UINT, "StartInstanceLocation")]),
1276 StdMethod(Void, "GSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1277 StdMethod(Void, "GSSetShader", [(ObjPointer(ID3D11GeometryShader), "pShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1278 StdMethod(Void, "IASetPrimitiveTopology", [(D3D11_PRIMITIVE_TOPOLOGY, "Topology")]),
1279 StdMethod(Void, "VSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1280 StdMethod(Void, "VSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1281 StdMethod(Void, "Begin", [(ObjPointer(ID3D11Asynchronous), "pAsync")]),
1282 StdMethod(Void, "End", [(ObjPointer(ID3D11Asynchronous), "pAsync")]),
Jose Fonseca60e65142017-06-09 13:06:32 +01001283 StdMethod(HRESULT, "GetData", [(ObjPointer(ID3D11Asynchronous), "pAsync"), Out(D3D11_QUERY_DATA, "pData"), (UINT, "DataSize"), (D3D11_ASYNC_GETDATA_FLAG, "GetDataFlags")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001284 StdMethod(Void, "SetPredication", [(ObjPointer(ID3D11Predicate), "pPredicate"), (BOOL, "PredicateValue")]),
1285 StdMethod(Void, "GSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1286 StdMethod(Void, "GSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1287 StdMethod(Void, "OMSetRenderTargets", [(UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11RenderTargetView)), "NumViews"), "ppRenderTargetViews"), (ObjPointer(ID3D11DepthStencilView), "pDepthStencilView")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001288 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 +01001289 StdMethod(Void, "OMSetBlendState", [(ObjPointer(ID3D11BlendState), "pBlendState"), (Array(Const(FLOAT), 4), "BlendFactor"), (UINT, "SampleMask")]),
1290 StdMethod(Void, "OMSetDepthStencilState", [(ObjPointer(ID3D11DepthStencilState), "pDepthStencilState"), (UINT, "StencilRef")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001291 StdMethod(Void, "SOSetTargets", [(UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppSOTargets"), (Array(Const(UINT), "NumBuffers"), "pOffsets")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001292 StdMethod(Void, "DrawAuto", []),
1293 StdMethod(Void, "DrawIndexedInstancedIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1294 StdMethod(Void, "DrawInstancedIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1295 StdMethod(Void, "Dispatch", [(UINT, "ThreadGroupCountX"), (UINT, "ThreadGroupCountY"), (UINT, "ThreadGroupCountZ")]),
1296 StdMethod(Void, "DispatchIndirect", [(ObjPointer(ID3D11Buffer), "pBufferForArgs"), (UINT, "AlignedByteOffsetForArgs")]),
1297 StdMethod(Void, "RSSetState", [(ObjPointer(ID3D11RasterizerState), "pRasterizerState")]),
1298 StdMethod(Void, "RSSetViewports", [(UINT, "NumViewports"), (Array(Const(D3D11_VIEWPORT), "NumViewports"), "pViewports")]),
1299 StdMethod(Void, "RSSetScissorRects", [(UINT, "NumRects"), (Array(Const(D3D11_RECT), "NumRects"), "pRects")]),
1300 StdMethod(Void, "CopySubresourceRegion", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (UINT, "DstX"), (UINT, "DstY"), (UINT, "DstZ"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (Pointer(Const(D3D11_BOX)), "pSrcBox")]),
1301 StdMethod(Void, "CopyResource", [(ObjPointer(ID3D11Resource), "pDstResource"), (ObjPointer(ID3D11Resource), "pSrcResource")]),
José Fonsecacc9abd72012-11-08 10:47:18 +00001302 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 +01001303 StdMethod(Void, "CopyStructureCount", [(ObjPointer(ID3D11Buffer), "pDstBuffer"), (UINT, "DstAlignedByteOffset"), (ObjPointer(ID3D11UnorderedAccessView), "pSrcView")]),
1304 StdMethod(Void, "ClearRenderTargetView", [(ObjPointer(ID3D11RenderTargetView), "pRenderTargetView"), (Array(Const(FLOAT), 4), "ColorRGBA")]),
1305 StdMethod(Void, "ClearUnorderedAccessViewUint", [(ObjPointer(ID3D11UnorderedAccessView), "pUnorderedAccessView"), (Array(Const(UINT), 4), "Values")]),
1306 StdMethod(Void, "ClearUnorderedAccessViewFloat", [(ObjPointer(ID3D11UnorderedAccessView), "pUnorderedAccessView"), (Array(Const(FLOAT), 4), "Values")]),
1307 StdMethod(Void, "ClearDepthStencilView", [(ObjPointer(ID3D11DepthStencilView), "pDepthStencilView"), (D3D11_CLEAR_FLAG, "ClearFlags"), (FLOAT, "Depth"), (UINT8, "Stencil")]),
1308 StdMethod(Void, "GenerateMips", [(ObjPointer(ID3D11ShaderResourceView), "pShaderResourceView")]),
1309 StdMethod(Void, "SetResourceMinLOD", [(ObjPointer(ID3D11Resource), "pResource"), (FLOAT, "MinLOD")]),
José Fonseca2b807452012-11-10 09:50:10 +00001310 StdMethod(FLOAT, "GetResourceMinLOD", [(ObjPointer(ID3D11Resource), "pResource")], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001311 StdMethod(Void, "ResolveSubresource", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (DXGI_FORMAT, "Format")]),
1312 StdMethod(Void, "ExecuteCommandList", [(ObjPointer(ID3D11CommandList), "pCommandList"), (BOOL, "RestoreContextState")]),
1313 StdMethod(Void, "HSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1314 StdMethod(Void, "HSSetShader", [(ObjPointer(ID3D11HullShader), "pHullShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1315 StdMethod(Void, "HSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1316 StdMethod(Void, "HSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1317 StdMethod(Void, "DSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
1318 StdMethod(Void, "DSSetShader", [(ObjPointer(ID3D11DomainShader), "pDomainShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1319 StdMethod(Void, "DSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1320 StdMethod(Void, "DSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
1321 StdMethod(Void, "CSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(ObjPointer(ID3D11ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9243aa62012-11-16 19:13:20 +00001322 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 +01001323 StdMethod(Void, "CSSetShader", [(ObjPointer(ID3D11ComputeShader), "pComputeShader"), (Array(Const(ObjPointer(ID3D11ClassInstance)), "NumClassInstances"), "ppClassInstances"), (UINT, "NumClassInstances")]),
1324 StdMethod(Void, "CSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(ObjPointer(ID3D11SamplerState)), "NumSamplers"), "ppSamplers")]),
1325 StdMethod(Void, "CSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001326 StdMethod(Void, "VSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1327 StdMethod(Void, "PSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001328 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 +00001329 StdMethod(Void, "PSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001330 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 +00001331 StdMethod(Void, "PSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001332 StdMethod(Void, "IAGetInputLayout", [Out(Pointer(ObjPointer(ID3D11InputLayout)), "ppInputLayout")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001333 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 +01001334 StdMethod(Void, "IAGetIndexBuffer", [Out(Pointer(ObjPointer(ID3D11Buffer)), "pIndexBuffer"), Out(Pointer(DXGI_FORMAT), "Format"), Out(Pointer(UINT), "Offset")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001335 StdMethod(Void, "GSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001336 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 +00001337 StdMethod(Void, "IAGetPrimitiveTopology", [Out(Pointer(D3D11_PRIMITIVE_TOPOLOGY), "pTopology")], sideeffects=False),
José Fonseca8ce19e42012-11-21 21:01:05 +00001338 StdMethod(Void, "VSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1339 StdMethod(Void, "VSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001340 StdMethod(Void, "GetPredication", [Out(Pointer(ObjPointer(ID3D11Predicate)), "ppPredicate"), Out(Pointer(BOOL), "pPredicateValue")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001341 StdMethod(Void, "GSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1342 StdMethod(Void, "GSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1343 StdMethod(Void, "OMGetRenderTargets", [(UINT, "NumViews"), Out(Array(ObjPointer(ID3D11RenderTargetView), "NumViews"), "ppRenderTargetViews"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView")]),
1344 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 +01001345 StdMethod(Void, "OMGetBlendState", [Out(Pointer(ObjPointer(ID3D11BlendState)), "ppBlendState"), Out(Array(FLOAT, 4), "BlendFactor"), Out(Pointer(UINT), "pSampleMask")]),
1346 StdMethod(Void, "OMGetDepthStencilState", [Out(Pointer(ObjPointer(ID3D11DepthStencilState)), "ppDepthStencilState"), Out(Pointer(UINT), "pStencilRef")]),
José Fonseca8ce19e42012-11-21 21:01:05 +00001347 StdMethod(Void, "SOGetTargets", [(UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppSOTargets")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001348 StdMethod(Void, "RSGetState", [Out(Pointer(ObjPointer(ID3D11RasterizerState)), "ppRasterizerState")]),
José Fonseca00b9aba2014-08-13 13:18:48 +01001349 StdMethod(Void, "RSGetViewports", [InOut(Pointer(UINT), "pNumViewports"), Out(Array(D3D11_VIEWPORT, "*pNumViewports"), "pViewports")], sideeffects=False),
1350 StdMethod(Void, "RSGetScissorRects", [InOut(Pointer(UINT), "pNumRects"), Out(Array(D3D11_RECT, "*pNumRects"), "pRects")], sideeffects=False),
José Fonseca8ce19e42012-11-21 21:01:05 +00001351 StdMethod(Void, "HSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001352 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 +00001353 StdMethod(Void, "HSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1354 StdMethod(Void, "HSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1355 StdMethod(Void, "DSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001356 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 +00001357 StdMethod(Void, "DSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1358 StdMethod(Void, "DSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
1359 StdMethod(Void, "CSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(Array(ObjPointer(ID3D11ShaderResourceView), "NumViews"), "ppShaderResourceViews")]),
1360 StdMethod(Void, "CSGetUnorderedAccessViews", [(UINT, "StartSlot"), (UINT, "NumUAVs"), Out(Array(ObjPointer(ID3D11UnorderedAccessView), "NumUAVs"), "ppUnorderedAccessViews")]),
José Fonseca9eec9342014-10-03 22:24:50 +01001361 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 +00001362 StdMethod(Void, "CSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(Array(ObjPointer(ID3D11SamplerState), "NumSamplers"), "ppSamplers")]),
1363 StdMethod(Void, "CSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers")]),
José Fonsecaee590be2012-04-16 13:25:06 +01001364 StdMethod(Void, "ClearState", []),
1365 StdMethod(Void, "Flush", []),
José Fonseca2b807452012-11-10 09:50:10 +00001366 StdMethod(D3D11_DEVICE_CONTEXT_TYPE, "GetType", [], sideeffects=False),
1367 StdMethod(UINT, "GetContextFlags", [], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001368 StdMethod(HRESULT, "FinishCommandList", [(BOOL, "RestoreDeferredContextState"), Out(Pointer(ObjPointer(ID3D11CommandList)), "ppCommandList")]),
José Fonseca5b6fb752012-04-14 14:56:45 +01001369]
1370
1371D3D11_CREATE_DEVICE_FLAG = Flags(UINT, [
José Fonsecaee590be2012-04-16 13:25:06 +01001372 "D3D11_CREATE_DEVICE_SINGLETHREADED",
1373 "D3D11_CREATE_DEVICE_DEBUG",
1374 "D3D11_CREATE_DEVICE_SWITCH_TO_REF",
1375 "D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS",
1376 "D3D11_CREATE_DEVICE_BGRA_SUPPORT",
José Fonseca40b82ca2015-02-07 22:55:49 +00001377 "D3D11_CREATE_DEVICE_DEBUGGABLE",
1378 "D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY",
1379 "D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT",
1380 "D3D11_CREATE_DEVICE_VIDEO_SUPPORT",
José Fonseca5b6fb752012-04-14 14:56:45 +01001381])
1382
Jose Fonseca5f5181d2015-07-17 12:06:23 +01001383D3D_FEATURE_LEVEL = Enum("D3D_FEATURE_LEVEL", [
1384 "D3D_FEATURE_LEVEL_9_1",
1385 "D3D_FEATURE_LEVEL_9_2",
1386 "D3D_FEATURE_LEVEL_9_3",
1387 "D3D_FEATURE_LEVEL_10_0",
1388 "D3D_FEATURE_LEVEL_10_1",
1389 "D3D_FEATURE_LEVEL_11_0",
1390 "D3D_FEATURE_LEVEL_11_1",
1391])
1392
José Fonseca5b6fb752012-04-14 14:56:45 +01001393ID3D11Device.methods += [
Jose Fonsecaa9b61382015-06-10 22:04:45 +01001394 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 +00001395 StdMethod(HRESULT, "CreateTexture1D", [(Pointer(Const(D3D11_TEXTURE1D_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture1D)), "ppTexture1D")]),
1396 StdMethod(HRESULT, "CreateTexture2D", [(Pointer(Const(D3D11_TEXTURE2D_DESC)), "pDesc"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture2D)), "ppTexture2D")]),
1397 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 +01001398 StdMethod(HRESULT, "CreateShaderResourceView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_SHADER_RESOURCE_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11ShaderResourceView)), "ppSRView")]),
1399 StdMethod(HRESULT, "CreateUnorderedAccessView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_UNORDERED_ACCESS_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11UnorderedAccessView)), "ppUAView")]),
1400 StdMethod(HRESULT, "CreateRenderTargetView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_RENDER_TARGET_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11RenderTargetView)), "ppRTView")]),
1401 StdMethod(HRESULT, "CreateDepthStencilView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_DEPTH_STENCIL_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11DepthStencilView)), "ppDepthStencilView")]),
1402 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")]),
1403 StdMethod(HRESULT, "CreateVertexShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11VertexShader)), "ppVertexShader")]),
1404 StdMethod(HRESULT, "CreateGeometryShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11GeometryShader)), "ppGeometryShader")]),
1405 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")]),
1406 StdMethod(HRESULT, "CreatePixelShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11PixelShader)), "ppPixelShader")]),
1407 StdMethod(HRESULT, "CreateHullShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11HullShader)), "ppHullShader")]),
1408 StdMethod(HRESULT, "CreateDomainShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11DomainShader)), "ppDomainShader")]),
1409 StdMethod(HRESULT, "CreateComputeShader", [(Blob(Const(Void), "BytecodeLength"), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (ObjPointer(ID3D11ClassLinkage), "pClassLinkage"), Out(Pointer(ObjPointer(ID3D11ComputeShader)), "ppComputeShader")]),
1410 StdMethod(HRESULT, "CreateClassLinkage", [Out(Pointer(ObjPointer(ID3D11ClassLinkage)), "ppLinkage")]),
1411 StdMethod(HRESULT, "CreateBlendState", [(Pointer(Const(D3D11_BLEND_DESC)), "pBlendStateDesc"), Out(Pointer(ObjPointer(ID3D11BlendState)), "ppBlendState")]),
1412 StdMethod(HRESULT, "CreateDepthStencilState", [(Pointer(Const(D3D11_DEPTH_STENCIL_DESC)), "pDepthStencilDesc"), Out(Pointer(ObjPointer(ID3D11DepthStencilState)), "ppDepthStencilState")]),
1413 StdMethod(HRESULT, "CreateRasterizerState", [(Pointer(Const(D3D11_RASTERIZER_DESC)), "pRasterizerDesc"), Out(Pointer(ObjPointer(ID3D11RasterizerState)), "ppRasterizerState")]),
1414 StdMethod(HRESULT, "CreateSamplerState", [(Pointer(Const(D3D11_SAMPLER_DESC)), "pSamplerDesc"), Out(Pointer(ObjPointer(ID3D11SamplerState)), "ppSamplerState")]),
1415 StdMethod(HRESULT, "CreateQuery", [(Pointer(Const(D3D11_QUERY_DESC)), "pQueryDesc"), Out(Pointer(ObjPointer(ID3D11Query)), "ppQuery")]),
1416 StdMethod(HRESULT, "CreatePredicate", [(Pointer(Const(D3D11_QUERY_DESC)), "pPredicateDesc"), Out(Pointer(ObjPointer(ID3D11Predicate)), "ppPredicate")]),
1417 StdMethod(HRESULT, "CreateCounter", [(Pointer(Const(D3D11_COUNTER_DESC)), "pCounterDesc"), Out(Pointer(ObjPointer(ID3D11Counter)), "ppCounter")]),
1418 StdMethod(HRESULT, "CreateDeferredContext", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppDeferredContext")]),
Jose Fonseca559b5f82015-07-17 16:58:50 +01001419 StdMethod(HRESULT, "OpenSharedResource", [(RAW_HANDLE, "hResource"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
José Fonsecae088e5c2012-11-16 20:05:54 +00001420 StdMethod(HRESULT, "CheckFormatSupport", [(DXGI_FORMAT, "Format"), Out(Pointer(D3D11_FORMAT_SUPPORT), "pFormatSupport")], sideeffects=False),
1421 StdMethod(HRESULT, "CheckMultisampleQualityLevels", [(DXGI_FORMAT, "Format"), (UINT, "SampleCount"), Out(Pointer(UINT), "pNumQualityLevels")], sideeffects=False),
1422 StdMethod(Void, "CheckCounterInfo", [Out(Pointer(D3D11_COUNTER_INFO), "pCounterInfo")], sideeffects=False),
José Fonsecabc10e452012-11-08 10:24:45 +00001423 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),
1424 StdMethod(HRESULT, "CheckFeatureSupport", [(D3D11_FEATURE, "Feature"), Out(D3D11_FEATURE_DATA, "pFeatureSupportData"), (UINT, "FeatureSupportDataSize")], sideeffects=False),
José Fonseca9eec9342014-10-03 22:24:50 +01001425 StdMethod(HRESULT, "GetPrivateData", [(REFGUID, "guid"), InOut(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")], sideeffects=False),
José Fonseca3be2c672015-02-06 15:36:40 +00001426 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
José Fonsecabc10e452012-11-08 10:24:45 +00001427 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
José Fonseca2b807452012-11-10 09:50:10 +00001428 StdMethod(D3D_FEATURE_LEVEL, "GetFeatureLevel", [], sideeffects=False),
1429 StdMethod(D3D11_CREATE_DEVICE_FLAG, "GetCreationFlags", [], sideeffects=False),
1430 StdMethod(HRESULT, "GetDeviceRemovedReason", [], sideeffects=False),
José Fonsecaee590be2012-04-16 13:25:06 +01001431 StdMethod(Void, "GetImmediateContext", [Out(Pointer(ObjPointer(ID3D11DeviceContext)), "ppImmediateContext")]),
1432 StdMethod(HRESULT, "SetExceptionMode", [(D3D11_RAISE_FLAG, "RaiseFlags")]),
José Fonseca5c05fdb2014-08-13 13:19:32 +01001433 StdMethod(D3D11_RAISE_FLAG, "GetExceptionMode", [], sideeffects=False),
José Fonseca5b6fb752012-04-14 14:56:45 +01001434]
1435
Jose Fonseca5f5181d2015-07-17 12:06:23 +01001436
1437D3D_DRIVER_TYPE = Enum("D3D_DRIVER_TYPE", [
1438 "D3D_DRIVER_TYPE_UNKNOWN",
1439 "D3D_DRIVER_TYPE_HARDWARE",
1440 "D3D_DRIVER_TYPE_REFERENCE",
1441 "D3D_DRIVER_TYPE_NULL",
1442 "D3D_DRIVER_TYPE_SOFTWARE",
1443 "D3D_DRIVER_TYPE_WARP",
1444])
1445
1446
José Fonseca81301932012-11-11 00:10:20 +00001447d3d11 = Module("d3d11")
José Fonseca5b6fb752012-04-14 14:56:45 +01001448
1449d3d11.addFunctions([
José Fonsecaee590be2012-04-16 13:25:06 +01001450 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")]),
1451 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 +01001452])
1453
1454d3d11.addInterfaces([
José Fonseca5b6fb752012-04-14 14:56:45 +01001455 ID3D11Debug,
José Fonsecaf17f4642012-04-16 13:06:44 +01001456 ID3D11InfoQueue,
1457 ID3D11SwitchToRef,
José Fonseca5b6fb752012-04-14 14:56:45 +01001458])
José Fonsecafc58d052014-06-13 12:47:19 +01001459
José Fonseca50bee952015-02-07 22:32:19 +00001460
Jose Fonseca503fde92015-07-16 17:00:30 +01001461#
1462# D3D11 Video
1463#
1464
1465D3D11_VIDEO_DECODER_DESC = Struct("D3D11_VIDEO_DECODER_DESC", [
1466 (GUID, "Guid"),
1467 (UINT, "SampleWidth"),
1468 (UINT, "SampleHeight"),
1469 (DXGI_FORMAT, "OutputFormat"),
1470])
1471
1472D3D11_VIDEO_DECODER_CONFIG = Struct("D3D11_VIDEO_DECODER_CONFIG", [
1473 (GUID, "guidConfigBitstreamEncryption"),
1474 (GUID, "guidConfigMBcontrolEncryption"),
1475 (GUID, "guidConfigResidDiffEncryption"),
1476 (UINT, "ConfigBitstreamRaw"),
1477 (UINT, "ConfigMBcontrolRasterOrder"),
1478 (UINT, "ConfigResidDiffHost"),
1479 (UINT, "ConfigSpatialResid8"),
1480 (UINT, "ConfigResid8Subtraction"),
1481 (UINT, "ConfigSpatialHost8or9Clipping"),
1482 (UINT, "ConfigSpatialResidInterleaved"),
1483 (UINT, "ConfigIntraResidUnsigned"),
1484 (UINT, "ConfigResidDiffAccelerator"),
1485 (UINT, "ConfigHostInverseScan"),
1486 (UINT, "ConfigSpecificIDCT"),
1487 (UINT, "Config4GroupedCoefs"),
1488 (USHORT, "ConfigMinRenderTargetBuffCount"),
1489 (USHORT, "ConfigDecoderSpecific"),
1490])
1491
1492D3D11_VIDEO_DECODER_BUFFER_TYPE = Enum("D3D11_VIDEO_DECODER_BUFFER_TYPE", [
1493 "D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS",
1494 "D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL",
1495 "D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE",
1496 "D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL",
1497 "D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX",
1498 "D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL",
1499 "D3D11_VIDEO_DECODER_BUFFER_BITSTREAM",
1500 "D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR",
1501 "D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN",
1502])
1503
1504D3D11_AES_CTR_IV = Struct("D3D11_AES_CTR_IV", [
1505 (UINT64, "IV"),
1506 (UINT64, "Count"),
1507])
1508
1509D3D11_ENCRYPTED_BLOCK_INFO = Struct("D3D11_ENCRYPTED_BLOCK_INFO", [
1510 (UINT, "NumEncryptedBytesAtBeginning"),
1511 (UINT, "NumBytesInSkipPattern"),
1512 (UINT, "NumBytesInEncryptPattern"),
1513])
1514
1515D3D11_VIDEO_DECODER_BUFFER_DESC = Struct("D3D11_VIDEO_DECODER_BUFFER_DESC", [
1516 (D3D11_VIDEO_DECODER_BUFFER_TYPE, "BufferType"),
1517 (UINT, "BufferIndex"),
1518 (UINT, "DataOffset"),
1519 (UINT, "DataSize"),
1520 (UINT, "FirstMBaddress"),
1521 (UINT, "NumMBsInBuffer"),
1522 (UINT, "Width"),
1523 (UINT, "Height"),
1524 (UINT, "Stride"),
1525 (UINT, "ReservedBits"),
1526 (Blob(Void, "{self}.IVSize"), "pIV"),
1527 (UINT, "IVSize"),
1528 (BOOL, "PartialEncryption"),
1529 (D3D11_ENCRYPTED_BLOCK_INFO, "EncryptedBlockInfo"),
1530])
1531
1532D3D11_VIDEO_DECODER_EXTENSION = Struct("D3D11_VIDEO_DECODER_EXTENSION", [
1533 (UINT, "Function"),
1534 (Blob(Void, "{self}.PrivateInputDataSize"), "pPrivateInputData"),
1535 (UINT, "PrivateInputDataSize"),
1536 (Blob(Void, "{self}.PrivateOutputDataSize"), "pPrivateOutputData"),
1537 (UINT, "PrivateOutputDataSize"),
1538 (UINT, "ResourceCount"),
1539 (Array(ObjPointer(ID3D11Resource), "{self}.ResourceCount"), "ppResourceList"),
1540])
1541
1542ID3D11VideoDecoder = Interface("ID3D11VideoDecoder", ID3D11DeviceChild)
1543ID3D11VideoDecoder.methods += [
1544 StdMethod(HRESULT, "GetCreationParameters", [Out(Pointer(D3D11_VIDEO_DECODER_DESC), "pVideoDesc"), Out(Pointer(D3D11_VIDEO_DECODER_CONFIG), "pConfig")], sideeffects=False),
1545 StdMethod(HRESULT, "GetDriverHandle", [Out(Pointer(HANDLE), "pDriverHandle")]),
1546]
1547
1548D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT = Flags(UINT, [
1549 "D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT",
1550 "D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT",
1551])
1552
1553D3D11_VIDEO_PROCESSOR_DEVICE_CAPS = Flags(UINT, [
1554 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE",
1555 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC",
1556 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION",
1557 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION",
1558 "D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE",
1559])
1560
1561D3D11_VIDEO_PROCESSOR_FEATURE_CAPS = Flags(UINT, [
1562 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL",
1563 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION",
1564 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY",
1565 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE",
1566 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY",
1567 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO",
1568 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION",
1569 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM",
1570 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO",
Jose Fonseca4713c3b2015-08-12 11:06:34 +01001571 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR",
1572 "D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE",
Jose Fonseca503fde92015-07-16 17:00:30 +01001573])
1574
1575D3D11_VIDEO_PROCESSOR_FILTER_CAPS = Flags(UINT, [
1576 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS",
1577 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST",
1578 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE",
1579 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION",
1580 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION",
1581 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT",
1582 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING",
1583 "D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT",
1584])
1585
1586D3D11_VIDEO_PROCESSOR_FORMAT_CAPS = Flags(UINT, [
1587 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED",
1588 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP",
1589 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY",
1590 "D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED",
1591])
1592
1593D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS = Flags(UINT, [
1594 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE",
1595 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING",
1596 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT",
1597 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION",
1598 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING",
1599 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION",
1600 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION",
1601 "D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING",
1602])
1603
1604D3D11_VIDEO_PROCESSOR_STEREO_CAPS = Flags(UINT, [
1605 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET",
1606 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED",
1607 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED",
1608 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD",
1609 "D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE",
1610])
1611
1612D3D11_VIDEO_PROCESSOR_CAPS = Struct("D3D11_VIDEO_PROCESSOR_CAPS", [
1613 (D3D11_VIDEO_PROCESSOR_DEVICE_CAPS, "DeviceCaps"),
1614 (D3D11_VIDEO_PROCESSOR_FEATURE_CAPS, "FeatureCaps"),
1615 (D3D11_VIDEO_PROCESSOR_FILTER_CAPS, "FilterCaps"),
1616 (D3D11_VIDEO_PROCESSOR_FORMAT_CAPS, "InputFormatCaps"),
1617 (D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS, "AutoStreamCaps"),
1618 (D3D11_VIDEO_PROCESSOR_STEREO_CAPS, "StereoCaps"),
1619 (UINT, "RateConversionCapsCount"),
1620 (UINT, "MaxInputStreams"),
1621 (UINT, "MaxStreamStates"),
1622])
1623
1624D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS = Flags(UINT, [
1625 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND",
1626 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB",
1627 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE",
1628 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION",
1629 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE",
1630 "D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION",
1631])
1632
1633D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS = Flags(UINT, [
1634 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32",
1635 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22",
1636 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224",
1637 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332",
1638 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322",
1639 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55",
1640 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64",
1641 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87",
1642 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223",
1643 "D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER",
1644])
1645
1646D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS = Struct("D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS", [
1647 (UINT, "PastFrames"),
1648 (UINT, "FutureFrames"),
1649 (D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS, "ProcessorCaps"),
1650 (D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS, "ITelecineCaps"),
1651 (UINT, "CustomRateCount"),
1652])
1653
1654D3D11_CONTENT_PROTECTION_CAPS = Flags(UINT, [
1655 "D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE",
1656 "D3D11_CONTENT_PROTECTION_CAPS_HARDWARE",
1657 "D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON",
1658 "D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION",
1659 "D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY",
1660 "D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY",
1661 "D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK",
1662 "D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY",
1663 "D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV",
1664 "D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY",
1665 "D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT",
Jose Fonseca4713c3b2015-08-12 11:06:34 +01001666 "D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED",
1667 "D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE",
1668 "D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN",
1669 "D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION",
Jose Fonseca503fde92015-07-16 17:00:30 +01001670])
1671
1672D3D11_VIDEO_CONTENT_PROTECTION_CAPS = Struct("D3D11_VIDEO_CONTENT_PROTECTION_CAPS", [
1673 (D3D11_CONTENT_PROTECTION_CAPS, "Caps"),
1674 (UINT, "KeyExchangeTypeCount"),
1675 (UINT, "BlockAlignmentSize"),
1676 (ULONGLONG, "ProtectedMemorySize"),
1677])
1678
1679D3D11_VIDEO_PROCESSOR_CUSTOM_RATE = Struct("D3D11_VIDEO_PROCESSOR_CUSTOM_RATE", [
1680 (DXGI_RATIONAL, "CustomRate"),
1681 (UINT, "OutputFrames"),
1682 (BOOL, "InputInterlaced"),
1683 (UINT, "InputFramesOrFields"),
1684])
1685
1686D3D11_VIDEO_PROCESSOR_FILTER = Enum("D3D11_VIDEO_PROCESSOR_FILTER", [
1687 "D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS",
1688 "D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST",
1689 "D3D11_VIDEO_PROCESSOR_FILTER_HUE",
1690 "D3D11_VIDEO_PROCESSOR_FILTER_SATURATION",
1691 "D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION",
1692 "D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT",
1693 "D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING",
1694 "D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT",
1695])
1696
1697D3D11_VIDEO_PROCESSOR_FILTER_RANGE = Struct("D3D11_VIDEO_PROCESSOR_FILTER_RANGE", [
1698 (Int, "Minimum"),
1699 (Int, "Maximum"),
1700 (Int, "Default"),
1701 (Float, "Multiplier"),
1702])
1703
1704D3D11_VIDEO_FRAME_FORMAT = Enum("D3D11_VIDEO_FRAME_FORMAT", [
1705 "D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE",
1706 "D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST",
1707 "D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST",
1708])
1709
1710D3D11_VIDEO_USAGE = Enum("D3D11_VIDEO_USAGE", [
1711 "D3D11_VIDEO_USAGE_PLAYBACK_NORMAL",
1712 "D3D11_VIDEO_USAGE_OPTIMAL_SPEED",
1713 "D3D11_VIDEO_USAGE_OPTIMAL_QUALITY",
1714])
1715
1716D3D11_VIDEO_PROCESSOR_CONTENT_DESC = Struct("D3D11_VIDEO_PROCESSOR_CONTENT_DESC", [
1717 (D3D11_VIDEO_FRAME_FORMAT, "InputFrameFormat"),
1718 (DXGI_RATIONAL, "InputFrameRate"),
1719 (UINT, "InputWidth"),
1720 (UINT, "InputHeight"),
1721 (DXGI_RATIONAL, "OutputFrameRate"),
1722 (UINT, "OutputWidth"),
1723 (UINT, "OutputHeight"),
1724 (D3D11_VIDEO_USAGE, "Usage"),
1725])
1726
1727ID3D11VideoProcessorEnumerator = Interface("ID3D11VideoProcessorEnumerator", ID3D11DeviceChild)
1728ID3D11VideoProcessorEnumerator.methods += [
1729 StdMethod(HRESULT, "GetVideoProcessorContentDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_CONTENT_DESC), "pContentDesc")], sideeffects=False),
1730 StdMethod(HRESULT, "CheckVideoProcessorFormat", [(DXGI_FORMAT, "Format"), Out(Pointer(D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT), "pFlags")], sideeffects=False),
1731 StdMethod(HRESULT, "GetVideoProcessorCaps", [Out(Pointer(D3D11_VIDEO_PROCESSOR_CAPS), "pCaps")], sideeffects=False),
1732 StdMethod(HRESULT, "GetVideoProcessorRateConversionCaps", [(UINT, "TypeIndex"), Out(Pointer(D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS), "pCaps")], sideeffects=False),
1733 StdMethod(HRESULT, "GetVideoProcessorCustomRate", [(UINT, "TypeIndex"), (UINT, "CustomRateIndex"), Out(Pointer(D3D11_VIDEO_PROCESSOR_CUSTOM_RATE), "pRate")], sideeffects=False),
1734 StdMethod(HRESULT, "GetVideoProcessorFilterRange", [(D3D11_VIDEO_PROCESSOR_FILTER, "Filter"), Out(Pointer(D3D11_VIDEO_PROCESSOR_FILTER_RANGE), "pRange")], sideeffects=False),
1735]
1736
1737D3D11_VIDEO_COLOR_RGBA = Struct("D3D11_VIDEO_COLOR_RGBA", [
1738 (Float, "R"),
1739 (Float, "G"),
1740 (Float, "B"),
1741 (Float, "A"),
1742])
1743
1744D3D11_VIDEO_COLOR_YCbCrA = Struct("D3D11_VIDEO_COLOR_YCbCrA", [
1745 (Float, "Y"),
1746 (Float, "Cb"),
1747 (Float, "Cr"),
1748 (Float, "A"),
1749])
1750
1751D3D11_VIDEO_COLOR = Struct("D3D11_VIDEO_COLOR", [
1752 (D3D11_VIDEO_COLOR_YCbCrA, "YCbCr"),
1753 #(D3D11_VIDEO_COLOR_RGBA, "RGBA"),
1754])
1755
1756D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE = FakeEnum(UINT, [
1757 "D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED",
1758 "D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235",
1759 "D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255",
1760])
1761
1762D3D11_VIDEO_PROCESSOR_COLOR_SPACE = Struct("D3D11_VIDEO_PROCESSOR_COLOR_SPACE", [
1763 (UINT, "Usage"),
1764 (UINT, "RGB_Range"),
1765 (UINT, "YCbCr_Matrix"),
1766 (UINT, "YCbCr_xvYCC"),
1767 (D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE, "Nominal_Range"),
1768 (UINT, "Reserved"),
1769])
1770
1771D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE = Enum("D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE", [
1772 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE",
1773 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND",
1774 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION",
1775 "D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM",
1776])
1777
1778D3D11_VIDEO_PROCESSOR_OUTPUT_RATE = Enum("D3D11_VIDEO_PROCESSOR_OUTPUT_RATE", [
1779 "D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL",
1780 "D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF",
1781 "D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM",
1782])
1783
1784D3D11_VIDEO_PROCESSOR_STEREO_FORMAT = Enum("D3D11_VIDEO_PROCESSOR_STEREO_FORMAT", [
1785 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO",
1786 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL",
1787 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL",
1788 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE",
1789 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET",
1790 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED",
1791 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED",
1792 "D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD",
1793])
1794
1795D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE = Enum("D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE", [
1796 "D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE",
1797 "D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0",
1798 "D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1",
1799])
1800
1801D3D11_VIDEO_PROCESSOR_ROTATION = Enum("D3D11_VIDEO_PROCESSOR_ROTATION", [
1802 "D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY",
1803 "D3D11_VIDEO_PROCESSOR_ROTATION_90",
1804 "D3D11_VIDEO_PROCESSOR_ROTATION_180",
1805 "D3D11_VIDEO_PROCESSOR_ROTATION_270",
1806])
1807
1808ID3D11VideoProcessorInputView = Interface("ID3D11VideoProcessorInputView", ID3D11View)
1809
1810D3D11_VIDEO_PROCESSOR_STREAM = Struct("D3D11_VIDEO_PROCESSOR_STREAM", [
1811 (BOOL, "Enable"),
1812 (UINT, "OutputIndex"),
1813 (UINT, "InputFrameOrField"),
1814 (UINT, "PastFrames"),
1815 (UINT, "FutureFrames"),
1816 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.PastFrames"), "ppPastSurfaces"),
1817 (ObjPointer(ID3D11VideoProcessorInputView), "pInputSurface"),
1818 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.FutureFrames"), "ppFutureSurfaces"),
1819 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.PastFrames"), "ppPastSurfacesRight"),
1820 (ObjPointer(ID3D11VideoProcessorInputView), "pInputSurfaceRight"),
1821 (Array(ObjPointer(ID3D11VideoProcessorInputView), "{self}.FutureFrames"), "ppFutureSurfacesRight"),
1822])
1823
1824ID3D11VideoProcessor = Interface("ID3D11VideoProcessor", ID3D11DeviceChild)
1825ID3D11VideoProcessor.methods += [
1826 StdMethod(Void, "GetContentDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_CONTENT_DESC), "pDesc")], sideeffects=False),
1827 StdMethod(Void, "GetRateConversionCaps", [Out(Pointer(D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS), "pCaps")], sideeffects=False),
1828]
1829
1830D3D11_OMAC = Struct("D3D11_OMAC", [
1831 (Array(BYTE, 16), "Omac"),
1832])
1833
1834D3D11_AUTHENTICATED_CHANNEL_TYPE = Enum("D3D11_AUTHENTICATED_CHANNEL_TYPE", [
1835 "D3D11_AUTHENTICATED_CHANNEL_D3D11",
1836 "D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE",
1837 "D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE",
1838])
1839
1840ID3D11AuthenticatedChannel = Interface("ID3D11AuthenticatedChannel", ID3D11DeviceChild)
1841ID3D11AuthenticatedChannel.methods += [
1842 StdMethod(HRESULT, "GetCertificateSize", [Out(Pointer(UINT), "pCertificateSize")], sideeffects=False),
1843 StdMethod(HRESULT, "GetCertificate", [(UINT, "CertificateSize"), Out(Array(BYTE, "CertificateSize"), "pCertificate")], sideeffects=False),
1844 StdMethod(Void, "GetChannelHandle", [Out(Pointer(HANDLE), "pChannelHandle")]),
1845]
1846
1847D3D11_AUTHENTICATED_QUERY_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_INPUT", [
1848 (GUID, "QueryType"),
1849 (HANDLE, "hChannel"),
1850 (UINT, "SequenceNumber"),
1851])
1852
1853D3D11_AUTHENTICATED_QUERY_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT", [
1854 (D3D11_OMAC, "omac"),
1855 (GUID, "QueryType"),
1856 (HANDLE, "hChannel"),
1857 (UINT, "SequenceNumber"),
1858 (HRESULT, "ReturnCode"),
1859])
1860
1861D3D11_AUTHENTICATED_PROTECTION_FLAGS = Struct("D3D11_AUTHENTICATED_PROTECTION_FLAGS", [
1862 (UINT, "ProtectionEnabled"),
1863 (UINT, "OverlayOrFullscreenRequired"),
1864 (UINT, "Reserved"),
1865])
1866
1867D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT", [
1868 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1869 (D3D11_AUTHENTICATED_PROTECTION_FLAGS, "ProtectionFlags"),
1870])
1871
1872D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT", [
1873 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1874 (D3D11_AUTHENTICATED_CHANNEL_TYPE, "ChannelType"),
1875])
1876
1877D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT", [
1878 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1879 (HANDLE, "DeviceHandle"),
1880])
1881
1882D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT", [
1883 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1884 (HANDLE, "DecoderHandle"),
1885])
1886
1887D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT", [
1888 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1889 (HANDLE, "DecoderHandle"),
1890 (HANDLE, "CryptoSessionHandle"),
1891 (HANDLE, "DeviceHandle"),
1892])
1893
1894D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT", [
1895 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1896 (UINT, "RestrictedSharedResourceProcessCount"),
1897])
1898
1899D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT", [
1900 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1901 (UINT, "ProcessIndex"),
1902])
1903
1904D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE = Enum("D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE", [
1905 "D3D11_PROCESSIDTYPE_UNKNOWN",
1906 "D3D11_PROCESSIDTYPE_DWM",
1907 "D3D11_PROCESSIDTYPE_HANDLE",
1908])
1909
1910D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT", [
1911 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1912 (UINT, "ProcessIndex"),
1913 (D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, "ProcessIdentifier"),
1914 (HANDLE, "ProcessHandle"),
1915])
1916
1917D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT", [
1918 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1919 (UINT, "UnrestrictedProtectedSharedResourceCount"),
1920])
1921
1922D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT", [
1923 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1924 (HANDLE, "DeviceHandle"),
1925 (HANDLE, "CryptoSessionHandle"),
1926])
1927
1928D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT", [
1929 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1930 (HANDLE, "DeviceHandle"),
1931 (HANDLE, "CryptoSessionHandle"),
1932 (UINT, "OutputIDCount"),
1933])
1934
1935D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT", [
1936 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1937 (HANDLE, "DeviceHandle"),
1938 (HANDLE, "CryptoSessionHandle"),
1939 (UINT, "OutputIDIndex"),
1940])
1941
1942D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT", [
1943 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1944 (HANDLE, "DeviceHandle"),
1945 (HANDLE, "CryptoSessionHandle"),
1946 (UINT, "OutputIDIndex"),
1947 (UINT64, "OutputID"),
1948])
1949
1950D3D11_BUS_TYPE = Enum("D3D11_BUS_TYPE", [
1951 "D3D11_BUS_TYPE_OTHER",
1952 "D3D11_BUS_TYPE_PCI",
1953 "D3D11_BUS_TYPE_PCIX",
1954 "D3D11_BUS_TYPE_AGP",
1955 "D3D11_BUS_TYPE_PCIEXPRESS",
1956 # XXX: Flags
1957 "D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET",
1958 "D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP",
1959 "D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET",
1960 "D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR",
1961 "D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE",
1962 "D3D11_BUS_IMPL_MODIFIER_NON_STANDARD",
1963])
1964
1965D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT", [
1966 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1967 (D3D11_BUS_TYPE, "BusType"),
1968 (BOOL, "AccessibleInContiguousBlocks"),
1969 (BOOL, "AccessibleInNonContiguousBlocks"),
1970])
1971
1972D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT", [
1973 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1974 (UINT, "EncryptionGuidCount"),
1975])
1976
1977D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT", [
1978 (D3D11_AUTHENTICATED_QUERY_INPUT, "Input"),
1979 (UINT, "EncryptionGuidIndex"),
1980])
1981
1982D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT", [
1983 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1984 (UINT, "EncryptionGuidIndex"),
1985 (GUID, "EncryptionGuid"),
1986])
1987
1988D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT = Struct("D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT", [
1989 (D3D11_AUTHENTICATED_QUERY_OUTPUT, "Output"),
1990 (GUID, "EncryptionGuid"),
1991])
1992
1993D3D11_AUTHENTICATED_CONFIGURE_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_INPUT", [
1994 (D3D11_OMAC, "omac"),
1995 (GUID, "ConfigureType"),
1996 (HANDLE, "hChannel"),
1997 (UINT, "SequenceNumber"),
1998])
1999
2000D3D11_AUTHENTICATED_CONFIGURE_OUTPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_OUTPUT", [
2001 (D3D11_OMAC, "omac"),
2002 (GUID, "ConfigureType"),
2003 (HANDLE, "hChannel"),
2004 (UINT, "SequenceNumber"),
2005 (HRESULT, "ReturnCode"),
2006])
2007
2008D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT", [
2009 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
2010 (UINT, "StartSequenceQuery"),
2011 (UINT, "StartSequenceConfigure"),
2012])
2013
2014D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT", [
2015 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
2016 (D3D11_AUTHENTICATED_PROTECTION_FLAGS, "Protections"),
2017])
2018
2019D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT", [
2020 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
2021 (HANDLE, "DecoderHandle"),
2022 (HANDLE, "CryptoSessionHandle"),
2023 (HANDLE, "DeviceHandle"),
2024])
2025
2026D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT", [
2027 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
2028 (D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, "ProcessType"),
2029 (HANDLE, "ProcessHandle"),
2030 (BOOL, "AllowAccess"),
2031])
2032
2033D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT = Struct("D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT", [
2034 (D3D11_AUTHENTICATED_CONFIGURE_INPUT, "Parameters"),
2035 (GUID, "EncryptionGuid"),
2036])
2037
2038ID3D11CryptoSession = Interface("ID3D11CryptoSession", ID3D11DeviceChild)
2039ID3D11CryptoSession.methods += [
2040 StdMethod(Void, "GetCryptoType", [Out(Pointer(GUID), "pCryptoType")], sideeffects=False),
2041 StdMethod(Void, "GetDecoderProfile", [Out(Pointer(GUID), "pDecoderProfile")], sideeffects=False),
2042 StdMethod(HRESULT, "GetCertificateSize", [Out(Pointer(UINT), "pCertificateSize")], sideeffects=False),
2043 StdMethod(HRESULT, "GetCertificate", [(UINT, "CertificateSize"), Out(Pointer(BYTE), "pCertificate")], sideeffects=False),
2044 StdMethod(Void, "GetCryptoSessionHandle", [Out(Pointer(HANDLE), "pCryptoSessionHandle")]),
2045]
2046
2047D3D11_VDOV_DIMENSION = Enum("D3D11_VDOV_DIMENSION", [
2048 "D3D11_VDOV_DIMENSION_UNKNOWN",
2049 "D3D11_VDOV_DIMENSION_TEXTURE2D",
2050])
2051
2052D3D11_TEX2D_VDOV = Struct("D3D11_TEX2D_VDOV", [
2053 (UINT, "ArraySlice"),
2054])
2055
2056D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC = Struct("D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC", [
2057 (GUID, "DecodeProfile"),
2058 (D3D11_VDOV_DIMENSION, "ViewDimension"),
2059 (Union("{self}.ViewDimension", [
2060 ("D3D11_VDOV_DIMENSION_TEXTURE2D", D3D11_TEX2D_VDOV, "Texture2D"),
2061 ]), None),
2062])
2063
2064ID3D11VideoDecoderOutputView = Interface("ID3D11VideoDecoderOutputView", ID3D11View)
2065ID3D11VideoDecoderOutputView.methods += [
2066 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC), "pDesc")], sideeffects=None),
2067]
2068
2069D3D11_VPIV_DIMENSION = Enum("D3D11_VPIV_DIMENSION", [
2070 "D3D11_VPIV_DIMENSION_UNKNOWN",
2071 "D3D11_VPIV_DIMENSION_TEXTURE2D",
2072])
2073
2074D3D11_TEX2D_VPIV = Struct("D3D11_TEX2D_VPIV", [
2075 (UINT, "MipSlice"),
2076 (UINT, "ArraySlice"),
2077])
2078
2079D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC = Struct("D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC", [
2080 (UINT, "FourCC"),
2081 (D3D11_VPIV_DIMENSION, "ViewDimension"),
2082 (Union("{self}.ViewDimension", [
2083 ("D3D11_VPIV_DIMENSION_TEXTURE2D", D3D11_TEX2D_VPIV, "Texture2D"),
2084 ]), None),
2085])
2086
2087ID3D11VideoProcessorInputView.methods += [
2088 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC), "pDesc")], sideeffects=None),
2089]
2090
2091D3D11_VPOV_DIMENSION = Enum("D3D11_VPOV_DIMENSION", [
2092 "D3D11_VPOV_DIMENSION_UNKNOWN",
2093 "D3D11_VPOV_DIMENSION_TEXTURE2D",
2094 "D3D11_VPOV_DIMENSION_TEXTURE2DARRAY",
2095])
2096
2097D3D11_TEX2D_VPOV = Struct("D3D11_TEX2D_VPOV", [
2098 (UINT, "MipSlice"),
2099])
2100
2101D3D11_TEX2D_ARRAY_VPOV = Struct("D3D11_TEX2D_ARRAY_VPOV", [
2102 (UINT, "MipSlice"),
2103 (UINT, "FirstArraySlice"),
2104 (UINT, "ArraySize"),
2105])
2106
2107D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC = Struct("D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC", [
2108 (D3D11_VPOV_DIMENSION, "ViewDimension"),
2109 (Union("{self}.ViewDimension", [
2110 ("D3D11_VPOV_DIMENSION_TEXTURE2D", D3D11_TEX2D_VPOV, "Texture2D"),
2111 ("D3D11_VPOV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_VPOV, "Texture2DArray"),
2112 ]), None),
2113])
2114
2115ID3D11VideoProcessorOutputView = Interface("ID3D11VideoProcessorOutputView", ID3D11View)
2116ID3D11VideoProcessorOutputView.methods += [
2117 StdMethod(Void, "GetDesc", [Out(Pointer(D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC), "pDesc")], sideeffects=None),
2118]
2119
2120ID3D11VideoContext = Interface("ID3D11VideoContext", ID3D11DeviceChild)
2121ID3D11VideoContext.methods += [
Jose Fonseca91403b62016-05-19 15:10:03 +01002122 StdMethod(HRESULT, "GetDecoderBuffer", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (D3D11_VIDEO_DECODER_BUFFER_TYPE, "Type"), Out(Pointer(UINT), "pBufferSize"), Out(Pointer(LinearPointer(Void, "*pBufferSize")), "ppBuffer")]),
Jose Fonseca503fde92015-07-16 17:00:30 +01002123 StdMethod(HRESULT, "ReleaseDecoderBuffer", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (D3D11_VIDEO_DECODER_BUFFER_TYPE, "Type")]),
2124 StdMethod(HRESULT, "DecoderBeginFrame", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (ObjPointer(ID3D11VideoDecoderOutputView), "pView"), (UINT, "ContentKeySize"), (Blob(Const(Void), "ContentKeySize"), "pContentKey")]),
2125 StdMethod(HRESULT, "DecoderEndFrame", [(ObjPointer(ID3D11VideoDecoder), "pDecoder")]),
Jose Fonseca91403b62016-05-19 15:10:03 +01002126 StdMethod(HRESULT, "SubmitDecoderBuffers", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (UINT, "NumBuffers"), (Array(Const(D3D11_VIDEO_DECODER_BUFFER_DESC), "NumBuffers"), "pBufferDesc")]),
Jose Fonseca503fde92015-07-16 17:00:30 +01002127 StdMethod(HRESULT, "DecoderExtension", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (Pointer(Const(D3D11_VIDEO_DECODER_EXTENSION)), "pExtensionData")]),
2128 StdMethod(Void, "VideoProcessorSetOutputTargetRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "Enable"), (Pointer(Const(RECT)), "pRect")]),
2129 StdMethod(Void, "VideoProcessorSetOutputBackgroundColor", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "YCbCr"), (Pointer(Const(D3D11_VIDEO_COLOR)), "pColor")]),
2130 StdMethod(Void, "VideoProcessorSetOutputColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_COLOR_SPACE)), "pColorSpace")]),
2131 StdMethod(Void, "VideoProcessorSetOutputAlphaFillMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, "AlphaFillMode"), (UINT, "StreamIndex")]),
2132 StdMethod(Void, "VideoProcessorSetOutputConstriction", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "Enable"), (SIZE, "Size")]),
2133 StdMethod(Void, "VideoProcessorSetOutputStereoMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "Enable")]),
2134 StdMethod(HRESULT, "VideoProcessorSetOutputExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), (Blob(Void, "DataSize"), "pData")]),
2135 StdMethod(Void, "VideoProcessorGetOutputTargetRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "Enabled"), Out(Pointer(RECT), "pRect")], sideeffects=False),
2136 StdMethod(Void, "VideoProcessorGetOutputBackgroundColor", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "pYCbCr"), Out(Pointer(D3D11_VIDEO_COLOR), "pColor")], sideeffects=False),
2137 StdMethod(Void, "VideoProcessorGetOutputColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(D3D11_VIDEO_PROCESSOR_COLOR_SPACE), "pColorSpace")], sideeffects=False),
2138 StdMethod(Void, "VideoProcessorGetOutputAlphaFillMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE), "pAlphaFillMode"), Out(Pointer(UINT), "pStreamIndex")], sideeffects=False),
2139 StdMethod(Void, "VideoProcessorGetOutputConstriction", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(SIZE), "pSize")], sideeffects=False),
2140 StdMethod(Void, "VideoProcessorGetOutputStereoMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), Out(Pointer(BOOL), "pEnabled")], sideeffects=False),
2141 StdMethod(HRESULT, "VideoProcessorGetOutputExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False),
2142 StdMethod(Void, "VideoProcessorSetStreamFrameFormat", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_FRAME_FORMAT, "FrameFormat")]),
2143 StdMethod(Void, "VideoProcessorSetStreamColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_COLOR_SPACE)), "pColorSpace")]),
2144 StdMethod(Void, "VideoProcessorSetStreamOutputRate", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, "OutputRate"), (BOOL, "RepeatFrame"), (Pointer(Const(DXGI_RATIONAL)), "pCustomRate")]),
2145 StdMethod(Void, "VideoProcessorSetStreamSourceRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (Pointer(Const(RECT)), "pRect")]),
2146 StdMethod(Void, "VideoProcessorSetStreamDestRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (Pointer(Const(RECT)), "pRect")]),
2147 StdMethod(Void, "VideoProcessorSetStreamAlpha", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (FLOAT, "Alpha")]),
2148 StdMethod(Void, "VideoProcessorSetStreamPalette", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (UINT, "Count"), (Pointer(Const(UINT)), "pEntries")]),
2149 StdMethod(Void, "VideoProcessorSetStreamPixelAspectRatio", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (Pointer(Const(DXGI_RATIONAL)), "pSourceAspectRatio"), (Pointer(Const(DXGI_RATIONAL)), "pDestinationAspectRatio")]),
2150 StdMethod(Void, "VideoProcessorSetStreamLumaKey", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (FLOAT, "Lower"), (FLOAT, "Upper")]),
2151 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")]),
2152 StdMethod(Void, "VideoProcessorSetStreamAutoProcessingMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable")]),
2153 StdMethod(Void, "VideoProcessorSetStreamFilter", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_PROCESSOR_FILTER, "Filter"), (BOOL, "Enable"), (Int, "Level")]),
2154 StdMethod(HRESULT, "VideoProcessorSetStreamExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), (Blob(Void, "DataSize"), "pData")]),
2155 StdMethod(Void, "VideoProcessorGetStreamFrameFormat", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(D3D11_VIDEO_FRAME_FORMAT), "pFrameFormat")], sideeffects=False),
2156 StdMethod(Void, "VideoProcessorGetStreamColorSpace", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(D3D11_VIDEO_PROCESSOR_COLOR_SPACE), "pColorSpace")], sideeffects=False),
2157 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),
2158 StdMethod(Void, "VideoProcessorGetStreamSourceRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(RECT), "pRect")], sideeffects=False),
2159 StdMethod(Void, "VideoProcessorGetStreamDestRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(RECT), "pRect")], sideeffects=False),
2160 StdMethod(Void, "VideoProcessorGetStreamAlpha", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(FLOAT), "pAlpha")], sideeffects=False),
2161 StdMethod(Void, "VideoProcessorGetStreamPalette", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (UINT, "Count"), Out(Array(UINT, "Count"), "pEntries")], sideeffects=False),
2162 StdMethod(Void, "VideoProcessorGetStreamPixelAspectRatio", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(DXGI_RATIONAL), "pSourceAspectRatio"), Out(Pointer(DXGI_RATIONAL), "pDestinationAspectRatio")], sideeffects=False),
2163 StdMethod(Void, "VideoProcessorGetStreamLumaKey", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(FLOAT), "pLower"), Out(Pointer(FLOAT), "pUpper")], sideeffects=False),
2164 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),
2165 StdMethod(Void, "VideoProcessorGetStreamAutoProcessingMode", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnabled")], sideeffects=False),
2166 StdMethod(Void, "VideoProcessorGetStreamFilter", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (D3D11_VIDEO_PROCESSOR_FILTER, "Filter"), Out(Pointer(BOOL), "pEnabled"), Out(Pointer(Int), "pLevel")], sideeffects=False),
2167 StdMethod(HRESULT, "VideoProcessorGetStreamExtension", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (Pointer(Const(GUID)), "pExtensionGuid"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False), # FIXME
2168 StdMethod(HRESULT, "VideoProcessorBlt", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (ObjPointer(ID3D11VideoProcessorOutputView), "pView"), (UINT, "OutputFrame"), (UINT, "StreamCount"), (Array(Const(D3D11_VIDEO_PROCESSOR_STREAM), "StreamCount"), "pStreams")]),
2169 StdMethod(HRESULT, "NegotiateCryptoSessionKeyExchange", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False), # FIXME
2170 StdMethod(Void, "EncryptionBlt", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (ObjPointer(ID3D11Texture2D), "pSrcSurface"), (ObjPointer(ID3D11Texture2D), "pDstSurface"), (UINT, "IVSize"), Out(OpaqueBlob(Void, "IVSize"), "pIV")], sideeffects=False), # FIXME
2171 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
2172 StdMethod(Void, "StartSessionKeyRefresh", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (UINT, "RandomNumberSize"), Out(OpaqueBlob(Void, "RandomNumberSize"), "pRandomNumber")], sideeffects=False), # FIXME
2173 StdMethod(Void, "FinishSessionKeyRefresh", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession")]),
2174 StdMethod(HRESULT, "GetEncryptionBltKey", [(ObjPointer(ID3D11CryptoSession), "pCryptoSession"), (UINT, "KeySize"), Out(OpaqueBlob(Void, "KeySize"), "pReadbackKey")], sideeffects=False), # FIXME
2175 StdMethod(HRESULT, "NegotiateAuthenticatedChannelKeyExchange", [(ObjPointer(ID3D11AuthenticatedChannel), "pChannel"), (UINT, "DataSize"), Out(OpaqueBlob(Void, "DataSize"), "pData")], sideeffects=False), # FIXME
2176 StdMethod(HRESULT, "QueryAuthenticatedChannel", [(ObjPointer(ID3D11AuthenticatedChannel), "pChannel"), (UINT, "InputSize"), (Blob(Const(Void), "InputSize"), "pInput"), (UINT, "OutputSize"), Out(OpaqueBlob(Void, "OutputSize"), "pOutput")], sideeffects=False), # FIXME
2177 StdMethod(HRESULT, "ConfigureAuthenticatedChannel", [(ObjPointer(ID3D11AuthenticatedChannel), "pChannel"), (UINT, "InputSize"), (Blob(Const(Void), "InputSize"), "pInput"), Out(Pointer(D3D11_AUTHENTICATED_CONFIGURE_OUTPUT), "pOutput")]),
2178 StdMethod(Void, "VideoProcessorSetStreamRotation", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), (BOOL, "Enable"), (D3D11_VIDEO_PROCESSOR_ROTATION, "Rotation")]),
2179 StdMethod(Void, "VideoProcessorGetStreamRotation", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (UINT, "StreamIndex"), Out(Pointer(BOOL), "pEnable"), Out(Pointer(D3D11_VIDEO_PROCESSOR_ROTATION), "pRotation")], sideeffects=False),
2180]
2181
2182ID3D11VideoDevice = Interface("ID3D11VideoDevice", IUnknown)
2183ID3D11VideoDevice.methods += [
2184 StdMethod(HRESULT, "CreateVideoDecoder", [(Pointer(Const(D3D11_VIDEO_DECODER_DESC)), "pVideoDesc"), (Pointer(Const(D3D11_VIDEO_DECODER_CONFIG)), "pConfig"), Out(Pointer(ObjPointer(ID3D11VideoDecoder)), "ppDecoder")]),
2185 StdMethod(HRESULT, "CreateVideoProcessor", [(ObjPointer(ID3D11VideoProcessorEnumerator), "pEnum"), (UINT, "RateConversionIndex"), Out(Pointer(ObjPointer(ID3D11VideoProcessor)), "ppVideoProcessor")]),
2186 StdMethod(HRESULT, "CreateAuthenticatedChannel", [(D3D11_AUTHENTICATED_CHANNEL_TYPE, "ChannelType"), Out(Pointer(ObjPointer(ID3D11AuthenticatedChannel)), "ppAuthenticatedChannel")]),
2187 StdMethod(HRESULT, "CreateCryptoSession", [(Pointer(Const(GUID)), "pCryptoType"), (Pointer(Const(GUID)), "pDecoderProfile"), (Pointer(Const(GUID)), "pKeyExchangeType"), (Pointer(ObjPointer(ID3D11CryptoSession)), "ppCryptoSession")]),
2188 StdMethod(HRESULT, "CreateVideoDecoderOutputView", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoDecoderOutputView)), "ppVDOVView")]),
2189 StdMethod(HRESULT, "CreateVideoProcessorInputView", [(ObjPointer(ID3D11Resource), "pResource"), (ObjPointer(ID3D11VideoProcessorEnumerator), "pEnum"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoProcessorInputView)), "ppVPIView")]),
2190 StdMethod(HRESULT, "CreateVideoProcessorOutputView", [(ObjPointer(ID3D11Resource), "pResource"), (ObjPointer(ID3D11VideoProcessorEnumerator), "pEnum"), (Pointer(Const(D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoProcessorOutputView)), "ppVPOView")]),
2191 StdMethod(HRESULT, "CreateVideoProcessorEnumerator", [(Pointer(Const(D3D11_VIDEO_PROCESSOR_CONTENT_DESC)), "pDesc"), Out(Pointer(ObjPointer(ID3D11VideoProcessorEnumerator)), "ppEnum")]),
2192 StdMethod(UINT, "GetVideoDecoderProfileCount", [], sideeffects=False),
2193 StdMethod(HRESULT, "GetVideoDecoderProfile", [(UINT, "Index"), Out(Pointer(GUID), "pDecoderProfile")], sideeffects=False),
2194 StdMethod(HRESULT, "CheckVideoDecoderFormat", [(Pointer(Const(GUID)), "pDecoderProfile"), (DXGI_FORMAT, "Format"), Out(Pointer(BOOL), "pSupported")], sideeffects=False),
2195 StdMethod(HRESULT, "GetVideoDecoderConfigCount", [(Pointer(Const(D3D11_VIDEO_DECODER_DESC)), "pDesc"), Out(Pointer(UINT), "pCount")]),
2196 StdMethod(HRESULT, "GetVideoDecoderConfig", [(Pointer(Const(D3D11_VIDEO_DECODER_DESC)), "pDesc"), (UINT, "Index"), Out(Pointer(D3D11_VIDEO_DECODER_CONFIG), "pConfig")], sideeffects=False),
2197 StdMethod(HRESULT, "GetContentProtectionCaps", [(Pointer(Const(GUID)), "pCryptoType"), (Pointer(Const(GUID)), "pDecoderProfile"), Out(Pointer(D3D11_VIDEO_CONTENT_PROTECTION_CAPS), "pCaps")], sideeffects=False),
2198 StdMethod(HRESULT, "CheckCryptoKeyExchange", [(Pointer(Const(GUID)), "pCryptoType"), (Pointer(Const(GUID)), "pDecoderProfile"), (UINT, "Index"), Out(Pointer(GUID), "pKeyExchangeType")]),
2199 StdMethod(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaqueBlob(Const(Void), "DataSize"), "pData")]),
2200 StdMethod(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")], sideeffects=False),
2201]
2202
2203d3d11.addInterfaces([
2204 ID3D11VideoContext,
2205 ID3D11VideoDevice,
2206])
2207
2208
José Fonseca50bee952015-02-07 22:32:19 +00002209
2210#
2211# D3D11.1
2212#
2213
José Fonseca50bee952015-02-07 22:32:19 +00002214D3D_MIN_PRECISION = Enum("D3D_MIN_PRECISION", [
2215 "D3D_MIN_PRECISION_DEFAULT",
2216 "D3D_MIN_PRECISION_FLOAT_16",
2217 "D3D_MIN_PRECISION_FLOAT_2_8",
2218 "D3D_MIN_PRECISION_RESERVED",
2219 "D3D_MIN_PRECISION_SINT_16",
2220 "D3D_MIN_PRECISION_UINT_16",
2221 "D3D_MIN_PRECISION_ANY_16",
2222 "D3D_MIN_PRECISION_ANY_10",
2223])
2224
2225ID3D11BlendState1 = Interface("ID3D11BlendState1", ID3D11BlendState)
2226ID3D11RasterizerState1 = Interface("ID3D11RasterizerState1", ID3D11RasterizerState)
2227ID3DDeviceContextState = Interface("ID3DDeviceContextState", ID3D11DeviceChild)
2228ID3D11DeviceContext1 = Interface("ID3D11DeviceContext1", ID3D11DeviceContext)
2229ID3D11Device1 = Interface("ID3D11Device1", ID3D11Device)
2230ID3DUserDefinedAnnotation = Interface("ID3DUserDefinedAnnotation", IUnknown)
2231
2232
2233D3D11_COPY_FLAGS = Flags(UINT, [
2234 "D3D11_COPY_NO_OVERWRITE",
2235 "D3D11_COPY_DISCARD",
2236])
2237
2238D3D11_LOGIC_OP = Enum("D3D11_LOGIC_OP", [
2239 "D3D11_LOGIC_OP_CLEAR",
2240 "D3D11_LOGIC_OP_SET",
2241 "D3D11_LOGIC_OP_COPY",
2242 "D3D11_LOGIC_OP_COPY_INVERTED",
2243 "D3D11_LOGIC_OP_NOOP",
2244 "D3D11_LOGIC_OP_INVERT",
2245 "D3D11_LOGIC_OP_AND",
2246 "D3D11_LOGIC_OP_NAND",
2247 "D3D11_LOGIC_OP_OR",
2248 "D3D11_LOGIC_OP_NOR",
2249 "D3D11_LOGIC_OP_XOR",
2250 "D3D11_LOGIC_OP_EQUIV",
2251 "D3D11_LOGIC_OP_AND_REVERSE",
2252 "D3D11_LOGIC_OP_AND_INVERTED",
2253 "D3D11_LOGIC_OP_OR_REVERSE",
2254 "D3D11_LOGIC_OP_OR_INVERTED",
2255])
2256
2257D3D11_RENDER_TARGET_BLEND_DESC1 = Struct("D3D11_RENDER_TARGET_BLEND_DESC1", [
2258 (BOOL, "BlendEnable"),
2259 (BOOL, "LogicOpEnable"),
2260 (D3D11_BLEND, "SrcBlend"),
2261 (D3D11_BLEND, "DestBlend"),
2262 (D3D11_BLEND_OP, "BlendOp"),
2263 (D3D11_BLEND, "SrcBlendAlpha"),
2264 (D3D11_BLEND, "DestBlendAlpha"),
2265 (D3D11_BLEND_OP, "BlendOpAlpha"),
2266 (D3D11_LOGIC_OP, "LogicOp"),
2267 (UINT8, "RenderTargetWriteMask"),
2268])
2269
Jose Fonsecaa9b61382015-06-10 22:04:45 +01002270D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8
2271
José Fonseca50bee952015-02-07 22:32:19 +00002272D3D11_BLEND_DESC1 = Struct("D3D11_BLEND_DESC1", [
2273 (BOOL, "AlphaToCoverageEnable"),
2274 (BOOL, "IndependentBlendEnable"),
Jose Fonsecaa9b61382015-06-10 22:04:45 +01002275 (Array(D3D11_RENDER_TARGET_BLEND_DESC1, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT), "RenderTarget"),
José Fonseca50bee952015-02-07 22:32:19 +00002276])
2277
2278ID3D11BlendState1.methods += [
2279 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_BLEND_DESC1), "pDesc")], sideeffects=False),
2280]
2281
2282D3D11_RASTERIZER_DESC1 = Struct("D3D11_RASTERIZER_DESC1", [
2283 (D3D11_FILL_MODE, "FillMode"),
2284 (D3D11_CULL_MODE, "CullMode"),
2285 (BOOL, "FrontCounterClockwise"),
2286 (INT, "DepthBias"),
2287 (FLOAT, "DepthBiasClamp"),
2288 (FLOAT, "SlopeScaledDepthBias"),
2289 (BOOL, "DepthClipEnable"),
2290 (BOOL, "ScissorEnable"),
2291 (BOOL, "MultisampleEnable"),
2292 (BOOL, "AntialiasedLineEnable"),
2293 (UINT, "ForcedSampleCount"),
2294])
2295
2296ID3D11RasterizerState1.methods += [
2297 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_RASTERIZER_DESC1), "pDesc")], sideeffects=False),
2298]
2299
2300D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG = Flags(UINT, [
2301 "D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED",
2302])
2303
2304ID3D11DeviceContext1.methods += [
2305 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")]),
2306 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")]),
2307 StdMethod(Void, "DiscardResource", [(ObjPointer(ID3D11Resource), "pResource")]),
2308 StdMethod(Void, "DiscardView", [(ObjPointer(ID3D11View), "pResourceView")]),
2309 StdMethod(Void, "DiscardView1", [(ObjPointer(ID3D11View), "pResourceView"), (Array(Const(D3D11_RECT), "NumRects"), "pRect"), (UINT, "NumRects")]),
2310 StdMethod(Void, "VSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2311 StdMethod(Void, "HSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2312 StdMethod(Void, "DSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2313 StdMethod(Void, "GSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2314 StdMethod(Void, "PSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2315 StdMethod(Void, "CSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
2316 StdMethod(Void, "VSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2317 StdMethod(Void, "HSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2318 StdMethod(Void, "DSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2319 StdMethod(Void, "GSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2320 StdMethod(Void, "PSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2321 StdMethod(Void, "CSGetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(Array(ObjPointer(ID3D11Buffer), "NumBuffers"), "ppConstantBuffers"), Out(Array(UINT, "NumBuffers"), "pFirstConstant"), Out(Array(UINT, "NumBuffers"), "pNumConstants")]),
2322 StdMethod(Void, "SwapDeviceContextState", [(ObjPointer(ID3DDeviceContextState), "pState"), Out(Pointer(ObjPointer(ID3DDeviceContextState)), "ppPreviousState")]),
Jose Fonseca4ccc8772015-05-20 17:18:31 +01002323 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 +00002324]
2325
2326
2327ID3D11Device1.methods += [
2328 StdMethod(Void, "GetImmediateContext1", [Out(Pointer(ObjPointer(ID3D11DeviceContext1)), "ppImmediateContext")]),
2329 StdMethod(HRESULT, "CreateDeferredContext1", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext1)), "ppDeferredContext")]),
2330 StdMethod(HRESULT, "CreateBlendState1", [(Pointer(Const(D3D11_BLEND_DESC1)), "pBlendStateDesc"), Out(Pointer(ObjPointer(ID3D11BlendState1)), "ppBlendState")]),
2331 StdMethod(HRESULT, "CreateRasterizerState1", [(Pointer(Const(D3D11_RASTERIZER_DESC1)), "pRasterizerDesc"), Out(Pointer(ObjPointer(ID3D11RasterizerState1)), "ppRasterizerState")]),
2332 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")]),
2333 StdMethod(HRESULT, "OpenSharedResource1", [(HANDLE, "hResource"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
2334 StdMethod(HRESULT, "OpenSharedResourceByName", [(LPCWSTR, "lpName"), (DXGI_SHARED_RESOURCE_FLAG, "dwDesiredAccess"), (REFIID, "ReturnedInterface"), Out(Pointer(ObjPointer(Void)), "ppResource")]),
2335]
2336
2337ID3DUserDefinedAnnotation.methods += [
2338 StdMethod(INT, "BeginEvent", [(LPCWSTR, "Name")], sideeffects=False),
2339 StdMethod(INT, "EndEvent", [], sideeffects=False),
2340 StdMethod(Void, "SetMarker", [(LPCWSTR, "Name")], sideeffects=False),
2341 StdMethod(BOOL, "GetStatus", [], sideeffects=False),
2342]
2343
2344d3d11.addInterfaces([
2345 ID3D11Device1,
2346 ID3DUserDefinedAnnotation,
2347])
José Fonseca40b82ca2015-02-07 22:55:49 +00002348
2349
2350
2351#
2352# D3D11.2
2353#
2354
2355D3D11_TILED_RESOURCE_COORDINATE = Struct("D3D11_TILED_RESOURCE_COORDINATE", [
2356 (UINT, "X"),
2357 (UINT, "Y"),
2358 (UINT, "Z"),
2359 (UINT, "Subresource"),
2360])
2361
2362D3D11_TILE_REGION_SIZE = Struct("D3D11_TILE_REGION_SIZE", [
2363 (UINT, "NumTiles"),
2364 (BOOL, "bUseBox"),
2365 (UINT, "Width"),
2366 (UINT16, "Height"),
2367 (UINT16, "Depth"),
2368])
2369
2370D3D11_TILE_MAPPING_FLAG = Flags(UINT, [
2371 "D3D11_TILE_MAPPING_NO_OVERWRITE",
2372])
2373
2374D3D11_TILE_RANGE_FLAG = Flags(UINT, [
2375 "D3D11_TILE_RANGE_NULL",
2376 "D3D11_TILE_RANGE_SKIP",
2377 "D3D11_TILE_RANGE_REUSE_SINGLE_TILE",
2378])
2379
2380D3D11_SUBRESOURCE_TILING = Struct("D3D11_SUBRESOURCE_TILING", [
2381 (UINT, "WidthInTiles"),
2382 (UINT16, "HeightInTiles"),
2383 (UINT16, "DepthInTiles"),
2384 (FakeEnum(UINT, ["D3D11_PACKED_TILE"]), "StartTileIndexInOverallResource"),
2385])
2386
2387D3D11_TILE_SHAPE = Struct("D3D11_TILE_SHAPE", [
2388 (UINT, "WidthInTexels"),
2389 (UINT, "HeightInTexels"),
2390 (UINT, "DepthInTexels"),
2391])
2392
2393D3D11_PACKED_MIP_DESC = Struct("D3D11_PACKED_MIP_DESC", [
2394 (UINT8, "NumStandardMips"),
2395 (UINT8, "NumPackedMips"),
2396 (UINT, "NumTilesForPackedMips"),
2397 (UINT, "StartTileIndexInOverallResource"),
2398])
2399
2400D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG = Flags(UINT, [
2401 "D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE",
2402])
2403
2404D3D11_TILE_COPY_FLAG = Flags(UINT, [
2405 "D3D11_TILE_COPY_NO_OVERWRITE",
2406 "D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE",
2407 "D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER",
2408])
2409
2410ID3D11DeviceContext2 = Interface("ID3D11DeviceContext2", ID3D11DeviceContext1)
2411ID3D11DeviceContext2.methods += [
2412 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")]),
2413 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")]),
2414 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")]),
2415 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
2416 StdMethod(HRESULT, "ResizeTilePool", [(ObjPointer(ID3D11Buffer), "pTilePool"), (UINT64, "NewSizeInBytes")]),
2417 StdMethod(Void, "TiledResourceBarrier", [(ObjPointer(ID3D11DeviceChild), "pTiledResourceOrViewAccessBeforeBarrier"), (ObjPointer(ID3D11DeviceChild), "pTiledResourceOrViewAccessAfterBarrier")]),
2418 StdMethod(BOOL, "IsAnnotationEnabled", [], sideeffects=False),
2419 StdMethod(Void, "SetMarkerInt", [(LPCWSTR, "pLabel"), (INT, "Data")]),
2420 StdMethod(Void, "BeginEventInt", [(LPCWSTR, "pLabel"), (INT, "Data")]),
2421 StdMethod(Void, "EndEvent", []),
2422]
2423
2424ID3D11Device2 = Interface("ID3D11Device2", ID3D11Device1)
2425ID3D11Device2.methods += [
2426 StdMethod(Void, "GetImmediateContext2", [Out(Pointer(ObjPointer(ID3D11DeviceContext2)), "ppImmediateContext")]),
2427 StdMethod(HRESULT, "CreateDeferredContext2", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext2)), "ppDeferredContext")]),
2428 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")]),
2429 StdMethod(HRESULT, "CheckMultisampleQualityLevels1", [(DXGI_FORMAT, "Format"), (UINT, "SampleCount"), (D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG, "Flags"), Out(Pointer(UINT), "pNumQualityLevels")], sideeffects=False),
2430]
2431
2432d3d11.addInterfaces([
2433 ID3D11Device2,
2434 ID3D11DeviceContext2,
2435])
Jose Fonseca4713c3b2015-08-12 11:06:34 +01002436
2437
2438
2439#
2440# D3D11.3
2441#
2442
2443D3D11_CONTEXT_TYPE = Enum("D3D11_CONTEXT_TYPE", [
2444 "D3D11_CONTEXT_TYPE_ALL",
2445 "D3D11_CONTEXT_TYPE_3D",
2446 "D3D11_CONTEXT_TYPE_COMPUTE",
2447 "D3D11_CONTEXT_TYPE_COPY",
2448 "D3D11_CONTEXT_TYPE_VIDEO",
2449])
2450
2451D3D11_TEXTURE_LAYOUT = Enum("D3D11_TEXTURE_LAYOUT", [
2452 "D3D11_TEXTURE_LAYOUT_UNDEFINED",
2453 "D3D11_TEXTURE_LAYOUT_ROW_MAJOR",
2454 "D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE",
2455])
2456
2457D3D11_TEXTURE2D_DESC1 = Struct("D3D11_TEXTURE2D_DESC1", [
2458 (UINT, "Width"),
2459 (UINT, "Height"),
2460 (UINT, "MipLevels"),
2461 (UINT, "ArraySize"),
2462 (DXGI_FORMAT, "Format"),
2463 (DXGI_SAMPLE_DESC, "SampleDesc"),
2464 (D3D11_USAGE, "Usage"),
2465 (UINT, "BindFlags"),
2466 (UINT, "CPUAccessFlags"),
2467 (UINT, "MiscFlags"),
2468 (D3D11_TEXTURE_LAYOUT, "TextureLayout"),
2469])
2470
2471ID3D11Texture2D1 = Interface("ID3D11Texture2D1", ID3D11Texture2D)
2472ID3D11Texture2D1.methods += [
2473 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_TEXTURE2D_DESC1), "pDesc")], sideeffects=False),
2474]
2475D3D11_TEXTURE3D_DESC1 = Struct("D3D11_TEXTURE3D_DESC1", [
2476 (UINT, "Width"),
2477 (UINT, "Height"),
2478 (UINT, "Depth"),
2479 (UINT, "MipLevels"),
2480 (DXGI_FORMAT, "Format"),
2481 (D3D11_USAGE, "Usage"),
2482 (UINT, "BindFlags"),
2483 (UINT, "CPUAccessFlags"),
2484 (UINT, "MiscFlags"),
2485 (D3D11_TEXTURE_LAYOUT, "TextureLayout"),
2486])
2487
2488ID3D11Texture3D1 = Interface("ID3D11Texture3D1", ID3D11Texture3D)
2489ID3D11Texture3D1.methods += [
2490 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_TEXTURE3D_DESC1), "pDesc")], sideeffects=False),
2491]
2492
2493D3D11_CONSERVATIVE_RASTERIZATION_MODE = Enum("D3D11_CONSERVATIVE_RASTERIZATION_MODE", [
2494 "D3D11_CONSERVATIVE_RASTERIZATION_MODE_OFF",
2495 "D3D11_CONSERVATIVE_RASTERIZATION_MODE_ON",
2496])
2497
2498D3D11_RASTERIZER_DESC2 = Struct("D3D11_RASTERIZER_DESC2", [
2499 (D3D11_FILL_MODE, "FillMode"),
2500 (D3D11_CULL_MODE, "CullMode"),
2501 (BOOL, "FrontCounterClockwise"),
2502 (INT, "DepthBias"),
2503 (FLOAT, "DepthBiasClamp"),
2504 (FLOAT, "SlopeScaledDepthBias"),
2505 (BOOL, "DepthClipEnable"),
2506 (BOOL, "ScissorEnable"),
2507 (BOOL, "MultisampleEnable"),
2508 (BOOL, "AntialiasedLineEnable"),
2509 (UINT, "ForcedSampleCount"),
2510 (D3D11_CONSERVATIVE_RASTERIZATION_MODE, "ConservativeRaster"),
2511])
2512
2513ID3D11RasterizerState2 = Interface("ID3D11RasterizerState2", ID3D11RasterizerState1)
2514ID3D11RasterizerState2.methods += [
2515 StdMethod(Void, "GetDesc2", [Out(Pointer(D3D11_RASTERIZER_DESC2), "pDesc")], sideeffects=False),
2516]
2517
2518D3D11_TEX2D_SRV1 = Struct("D3D11_TEX2D_SRV1", [
2519 (UINT, "MostDetailedMip"),
2520 (UINT, "MipLevels"),
2521 (UINT, "PlaneSlice"),
2522])
2523
2524D3D11_TEX2D_ARRAY_SRV1 = Struct("D3D11_TEX2D_ARRAY_SRV1", [
2525 (UINT, "MostDetailedMip"),
2526 (UINT, "MipLevels"),
2527 (UINT, "FirstArraySlice"),
2528 (UINT, "ArraySize"),
2529 (UINT, "PlaneSlice"),
2530])
2531
2532D3D11_SHADER_RESOURCE_VIEW_DESC1 = Struct("D3D11_SHADER_RESOURCE_VIEW_DESC1", [
2533 (DXGI_FORMAT, "Format"),
2534 (D3D11_SRV_DIMENSION, "ViewDimension"),
2535 (Union("{self}.ViewDimension", [
2536 ("D3D11_SRV_DIMENSION_BUFFER", D3D11_BUFFER_SRV, "Buffer"),
2537 ("D3D11_SRV_DIMENSION_TEXTURE1D", D3D11_TEX1D_SRV, "Texture1D"),
2538 ("D3D11_SRV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_SRV, "Texture1DArray"),
2539 ("D3D11_SRV_DIMENSION_TEXTURE2D", D3D11_TEX2D_SRV1, "Texture2D"),
2540 ("D3D11_SRV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_SRV1, "Texture2DArray"),
2541 ("D3D11_SRV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_SRV, "Texture2DMS"),
2542 ("D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_SRV, "Texture2DMSArray"),
2543 ("D3D11_SRV_DIMENSION_TEXTURE3D", D3D11_TEX3D_SRV, "Texture3D"),
2544 ("D3D11_SRV_DIMENSION_TEXTURECUBE", D3D11_TEXCUBE_SRV, "TextureCube"),
2545 ("D3D11_SRV_DIMENSION_TEXTURECUBEARRAY", D3D11_TEXCUBE_ARRAY_SRV, "TextureCubeArray"),
2546 ("D3D11_SRV_DIMENSION_BUFFEREX", D3D11_BUFFEREX_SRV, "BufferEx"),
2547 ]), None),
2548])
2549
2550
2551ID3D11ShaderResourceView1 = Interface("ID3D11ShaderResourceView1", ID3D11ShaderResourceView)
2552ID3D11ShaderResourceView1.methods += [
2553 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_SHADER_RESOURCE_VIEW_DESC1), "pDesc1")], sideeffects=False),
2554]
2555
2556D3D11_TEX2D_RTV1 = Struct("D3D11_TEX2D_RTV1", [
2557 (UINT, "MipSlice"),
2558 (UINT, "PlaneSlice"),
2559])
2560
2561D3D11_TEX2D_ARRAY_RTV1 = Struct("D3D11_TEX2D_ARRAY_RTV1", [
2562 (UINT, "MipSlice"),
2563 (UINT, "FirstArraySlice"),
2564 (UINT, "ArraySize"),
2565 (UINT, "PlaneSlice"),
2566])
2567
2568D3D11_RENDER_TARGET_VIEW_DESC1 = Struct("D3D11_RENDER_TARGET_VIEW_DESC1", [
2569 (DXGI_FORMAT, "Format"),
2570 (D3D11_RTV_DIMENSION, "ViewDimension"),
2571 (Union("{self}.ViewDimension", [
2572 ("D3D11_RTV_DIMENSION_BUFFER", D3D11_BUFFER_RTV, "Buffer"),
2573 ("D3D11_RTV_DIMENSION_TEXTURE1D", D3D11_TEX1D_RTV, "Texture1D"),
2574 ("D3D11_RTV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_RTV, "Texture1DArray"),
2575 ("D3D11_RTV_DIMENSION_TEXTURE2D", D3D11_TEX2D_RTV1, "Texture2D"),
2576 ("D3D11_RTV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_RTV1, "Texture2DArray"),
2577 ("D3D11_RTV_DIMENSION_TEXTURE2DMS", D3D11_TEX2DMS_RTV, "Texture2DMS"),
2578 ("D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY", D3D11_TEX2DMS_ARRAY_RTV, "Texture2DMSArray"),
2579 ("D3D11_RTV_DIMENSION_TEXTURE3D", D3D11_TEX3D_RTV, "Texture3D"),
2580 ]), None),
2581])
2582
2583ID3D11RenderTargetView1 = Interface("ID3D11RenderTargetView1", ID3D11RenderTargetView)
2584ID3D11RenderTargetView1.methods += [
2585 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_RENDER_TARGET_VIEW_DESC1), "pDesc1")], sideeffects=False),
2586]
2587
2588D3D11_TEX2D_UAV1 = Struct("D3D11_TEX2D_UAV1", [
2589 (UINT, "MipSlice"),
2590 (UINT, "PlaneSlice"),
2591])
2592
2593D3D11_TEX2D_ARRAY_UAV1 = Struct("D3D11_TEX2D_ARRAY_UAV1", [
2594 (UINT, "MipSlice"),
2595 (UINT, "FirstArraySlice"),
2596 (UINT, "ArraySize"),
2597 (UINT, "PlaneSlice"),
2598])
2599
2600D3D11_UNORDERED_ACCESS_VIEW_DESC1 = Struct("D3D11_UNORDERED_ACCESS_VIEW_DESC1", [
2601 (DXGI_FORMAT, "Format"),
2602 (D3D11_UAV_DIMENSION, "ViewDimension"),
2603 (Union("{self}.ViewDimension", [
2604 ("D3D11_UAV_DIMENSION_BUFFER", D3D11_BUFFER_UAV, "Buffer"),
2605 ("D3D11_UAV_DIMENSION_TEXTURE1D", D3D11_TEX1D_UAV, "Texture1D"),
2606 ("D3D11_UAV_DIMENSION_TEXTURE1DARRAY", D3D11_TEX1D_ARRAY_UAV, "Texture1DArray"),
2607 ("D3D11_UAV_DIMENSION_TEXTURE2D", D3D11_TEX2D_UAV1, "Texture2D"),
2608 ("D3D11_UAV_DIMENSION_TEXTURE2DARRAY", D3D11_TEX2D_ARRAY_UAV1, "Texture2DArray"),
2609 ("D3D11_UAV_DIMENSION_TEXTURE3D", D3D11_TEX3D_UAV, "Texture3D"),
2610 ]), None),
2611])
2612
2613ID3D11UnorderedAccessView1 = Interface("ID3D11UnorderedAccessView1", ID3D11UnorderedAccessView)
2614ID3D11UnorderedAccessView1.methods += [
2615 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_UNORDERED_ACCESS_VIEW_DESC1), "pDesc1")], sideeffects=False),
2616]
2617
2618D3D11_QUERY_DESC1 = Struct("D3D11_QUERY_DESC1", [
2619 (D3D11_QUERY, "Query"),
2620 (D3D11_QUERY_MISC_FLAG, "MiscFlags"),
2621 (D3D11_CONTEXT_TYPE, "ContextType"),
2622])
2623
2624ID3D11Query1 = Interface("ID3D11Query1", ID3D11Query)
2625ID3D11Query1.methods += [
2626 StdMethod(Void, "GetDesc1", [Out(Pointer(D3D11_QUERY_DESC1), "pDesc1")], sideeffects=False),
2627]
2628
2629ID3D11DeviceContext3 = Interface("ID3D11DeviceContext3", ID3D11DeviceContext2)
2630ID3D11DeviceContext3.methods += [
2631 StdMethod(Void, "Flush1", [(D3D11_CONTEXT_TYPE, "ContextType"), (HANDLE, "hEvent")]),
2632 StdMethod(Void, "SetHardwareProtectionState", [(BOOL, "HwProtectionEnable")]),
2633 StdMethod(Void, "GetHardwareProtectionState", [Out(Pointer(BOOL), "pHwProtectionEnable")], sideeffects=False),
2634]
2635
2636ID3D11Device3 = Interface("ID3D11Device3", ID3D11Device2)
2637ID3D11Device3.methods += [
2638 StdMethod(HRESULT, "CreateTexture2D1", [(Pointer(Const(D3D11_TEXTURE2D_DESC1)), "pDesc1"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc1)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture2D1)), "ppTexture2D")]),
2639 StdMethod(HRESULT, "CreateTexture3D1", [(Pointer(Const(D3D11_TEXTURE3D_DESC1)), "pDesc1"), (Array(Const(D3D11_SUBRESOURCE_DATA), "_getNumSubResources(pDesc1)"), "pInitialData"), Out(Pointer(ObjPointer(ID3D11Texture3D1)), "ppTexture3D")]),
2640 StdMethod(HRESULT, "CreateRasterizerState2", [(Pointer(Const(D3D11_RASTERIZER_DESC2)), "pRasterizerDesc"), Out(Pointer(ObjPointer(ID3D11RasterizerState2)), "ppRasterizerState")]),
2641 StdMethod(HRESULT, "CreateShaderResourceView1", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_SHADER_RESOURCE_VIEW_DESC1)), "pDesc1"), Out(Pointer(ObjPointer(ID3D11ShaderResourceView1)), "ppSRView1")]),
2642 StdMethod(HRESULT, "CreateUnorderedAccessView1", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_UNORDERED_ACCESS_VIEW_DESC1)), "pDesc1"), Out(Pointer(ObjPointer(ID3D11UnorderedAccessView1)), "ppUAView1")]),
2643 StdMethod(HRESULT, "CreateRenderTargetView1", [(ObjPointer(ID3D11Resource), "pResource"), (Pointer(Const(D3D11_RENDER_TARGET_VIEW_DESC1)), "pDesc1"), Out(Pointer(ObjPointer(ID3D11RenderTargetView1)), "ppRTView1")]),
2644 StdMethod(HRESULT, "CreateQuery1", [(Pointer(Const(D3D11_QUERY_DESC1)), "pQueryDesc1"), Out(Pointer(ObjPointer(ID3D11Query1)), "ppQuery1")]),
2645 StdMethod(Void, "GetImmediateContext3", [Out(Pointer(ObjPointer(ID3D11DeviceContext3)), "ppImmediateContext")]),
2646 StdMethod(HRESULT, "CreateDeferredContext3", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext3)), "ppDeferredContext")]),
Jose Fonsecae82b4a12016-05-18 15:23:41 +01002647 StdMethod(Void, "WriteToSubresource", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (Pointer(Const(D3D11_BOX)), "pDstBox"), (Blob(Const(Void), '_calcSubresourceSize(pDstResource, DstSubresource, pDstBox, SrcRowPitch, SrcDepthPitch)'), "pSrcData"), (UINT, "SrcRowPitch"), (UINT, "SrcDepthPitch")]),
Jose Fonseca4713c3b2015-08-12 11:06:34 +01002648 StdMethod(Void, "ReadFromSubresource", [Out(OpaquePointer(Void), "pDstData"), (UINT, "DstRowPitch"), (UINT, "DstDepthPitch"), (ObjPointer(ID3D11Resource), "pSrcResource"), (UINT, "SrcSubresource"), (Pointer(Const(D3D11_BOX)), "pSrcBox")], sideeffects=False), # FIXME
2649]
2650
2651d3d11.addInterfaces([
2652 ID3D11Device3,
2653 ID3D11DeviceContext3,
2654])