RetroArch
d3d12.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------------------
2  *
3  * Copyright (c) Microsoft Corporation
4  *
5  *-------------------------------------------------------------------------------------*/
6 
7 
8 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
9 
10 
11  /* File created by MIDL compiler version 8.00.0613 */
12 
13 
14 
15 /* verify that the <rpcndr.h> version is high enough to compile this file*/
16 #ifndef __REQUIRED_RPCNDR_H_VERSION__
17 #define __REQUIRED_RPCNDR_H_VERSION__ 475
18 #endif
19 
20 /* verify that the <rpcsal.h> version is high enough to compile this file*/
21 #ifndef __REQUIRED_RPCSAL_H_VERSION__
22 #define __REQUIRED_RPCSAL_H_VERSION__ 100
23 #endif
24 
25 #include "rpc.h"
26 #include "rpcndr.h"
27 
28 #ifndef __RPCNDR_H_VERSION__
29 #error this stub requires an updated version of <rpcndr.h>
30 #endif /* __RPCNDR_H_VERSION__ */
31 
32 #ifndef COM_NO_WINDOWS_H
33 #include "windows.h"
34 #include "ole2.h"
35 #endif /*COM_NO_WINDOWS_H*/
36 
37 #ifndef __d3d12_h__
38 #define __d3d12_h__
39 
40 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
41 #pragma once
42 #endif
43 
44 /* Forward Declarations */
45 
46 #ifndef __ID3D12Object_FWD_DEFINED__
47 #define __ID3D12Object_FWD_DEFINED__
48 typedef interface ID3D12Object ID3D12Object;
49 
50 #endif /* __ID3D12Object_FWD_DEFINED__ */
51 
52 
53 #ifndef __ID3D12DeviceChild_FWD_DEFINED__
54 #define __ID3D12DeviceChild_FWD_DEFINED__
56 
57 #endif /* __ID3D12DeviceChild_FWD_DEFINED__ */
58 
59 
60 #ifndef __ID3D12RootSignature_FWD_DEFINED__
61 #define __ID3D12RootSignature_FWD_DEFINED__
63 
64 #endif /* __ID3D12RootSignature_FWD_DEFINED__ */
65 
66 
67 #ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__
68 #define __ID3D12RootSignatureDeserializer_FWD_DEFINED__
70 
71 #endif /* __ID3D12RootSignatureDeserializer_FWD_DEFINED__ */
72 
73 
74 #ifndef __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
75 #define __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
77 
78 #endif /* __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ */
79 
80 
81 #ifndef __ID3D12Pageable_FWD_DEFINED__
82 #define __ID3D12Pageable_FWD_DEFINED__
83 typedef interface ID3D12Pageable ID3D12Pageable;
84 
85 #endif /* __ID3D12Pageable_FWD_DEFINED__ */
86 
87 
88 #ifndef __ID3D12Heap_FWD_DEFINED__
89 #define __ID3D12Heap_FWD_DEFINED__
90 typedef interface ID3D12Heap ID3D12Heap;
91 
92 #endif /* __ID3D12Heap_FWD_DEFINED__ */
93 
94 
95 #ifndef __ID3D12Resource_FWD_DEFINED__
96 #define __ID3D12Resource_FWD_DEFINED__
97 typedef interface ID3D12Resource ID3D12Resource;
98 
99 #endif /* __ID3D12Resource_FWD_DEFINED__ */
100 
101 
102 #ifndef __ID3D12CommandAllocator_FWD_DEFINED__
103 #define __ID3D12CommandAllocator_FWD_DEFINED__
105 
106 #endif /* __ID3D12CommandAllocator_FWD_DEFINED__ */
107 
108 
109 #ifndef __ID3D12Fence_FWD_DEFINED__
110 #define __ID3D12Fence_FWD_DEFINED__
111 typedef interface ID3D12Fence ID3D12Fence;
112 
113 #endif /* __ID3D12Fence_FWD_DEFINED__ */
114 
115 
116 #ifndef __ID3D12Fence1_FWD_DEFINED__
117 #define __ID3D12Fence1_FWD_DEFINED__
118 typedef interface ID3D12Fence1 ID3D12Fence1;
119 
120 #endif /* __ID3D12Fence1_FWD_DEFINED__ */
121 
122 
123 #ifndef __ID3D12PipelineState_FWD_DEFINED__
124 #define __ID3D12PipelineState_FWD_DEFINED__
126 
127 #endif /* __ID3D12PipelineState_FWD_DEFINED__ */
128 
129 
130 #ifndef __ID3D12DescriptorHeap_FWD_DEFINED__
131 #define __ID3D12DescriptorHeap_FWD_DEFINED__
133 
134 #endif /* __ID3D12DescriptorHeap_FWD_DEFINED__ */
135 
136 
137 #ifndef __ID3D12QueryHeap_FWD_DEFINED__
138 #define __ID3D12QueryHeap_FWD_DEFINED__
140 
141 #endif /* __ID3D12QueryHeap_FWD_DEFINED__ */
142 
143 
144 #ifndef __ID3D12CommandSignature_FWD_DEFINED__
145 #define __ID3D12CommandSignature_FWD_DEFINED__
147 
148 #endif /* __ID3D12CommandSignature_FWD_DEFINED__ */
149 
150 
151 #ifndef __ID3D12CommandList_FWD_DEFINED__
152 #define __ID3D12CommandList_FWD_DEFINED__
154 
155 #endif /* __ID3D12CommandList_FWD_DEFINED__ */
156 
157 
158 #ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__
159 #define __ID3D12GraphicsCommandList_FWD_DEFINED__
161 
162 #endif /* __ID3D12GraphicsCommandList_FWD_DEFINED__ */
163 
164 
165 #ifndef __ID3D12GraphicsCommandList1_FWD_DEFINED__
166 #define __ID3D12GraphicsCommandList1_FWD_DEFINED__
168 
169 #endif /* __ID3D12GraphicsCommandList1_FWD_DEFINED__ */
170 
171 
172 #ifndef __ID3D12GraphicsCommandList2_FWD_DEFINED__
173 #define __ID3D12GraphicsCommandList2_FWD_DEFINED__
175 
176 #endif /* __ID3D12GraphicsCommandList2_FWD_DEFINED__ */
177 
178 
179 #ifndef __ID3D12CommandQueue_FWD_DEFINED__
180 #define __ID3D12CommandQueue_FWD_DEFINED__
182 
183 #endif /* __ID3D12CommandQueue_FWD_DEFINED__ */
184 
185 
186 #ifndef __ID3D12Device_FWD_DEFINED__
187 #define __ID3D12Device_FWD_DEFINED__
188 typedef interface ID3D12Device ID3D12Device;
189 
190 #endif /* __ID3D12Device_FWD_DEFINED__ */
191 
192 
193 #ifndef __ID3D12PipelineLibrary_FWD_DEFINED__
194 #define __ID3D12PipelineLibrary_FWD_DEFINED__
196 
197 #endif /* __ID3D12PipelineLibrary_FWD_DEFINED__ */
198 
199 
200 #ifndef __ID3D12PipelineLibrary1_FWD_DEFINED__
201 #define __ID3D12PipelineLibrary1_FWD_DEFINED__
203 
204 #endif /* __ID3D12PipelineLibrary1_FWD_DEFINED__ */
205 
206 
207 #ifndef __ID3D12Device1_FWD_DEFINED__
208 #define __ID3D12Device1_FWD_DEFINED__
209 typedef interface ID3D12Device1 ID3D12Device1;
210 
211 #endif /* __ID3D12Device1_FWD_DEFINED__ */
212 
213 
214 #ifndef __ID3D12Device2_FWD_DEFINED__
215 #define __ID3D12Device2_FWD_DEFINED__
216 typedef interface ID3D12Device2 ID3D12Device2;
217 
218 #endif /* __ID3D12Device2_FWD_DEFINED__ */
219 
220 
221 #ifndef __ID3D12Device3_FWD_DEFINED__
222 #define __ID3D12Device3_FWD_DEFINED__
223 typedef interface ID3D12Device3 ID3D12Device3;
224 
225 #endif /* __ID3D12Device3_FWD_DEFINED__ */
226 
227 
228 #ifndef __ID3D12Tools_FWD_DEFINED__
229 #define __ID3D12Tools_FWD_DEFINED__
230 typedef interface ID3D12Tools ID3D12Tools;
231 
232 #endif /* __ID3D12Tools_FWD_DEFINED__ */
233 
234 
235 /* header files for imported files */
236 #include "oaidl.h"
237 #include "ocidl.h"
238 #include "dxgicommon.h"
239 #include "dxgiformat.h"
240 #include "d3dcommon.h"
241 
242 #ifdef __cplusplus
243 extern "C"{
244 #endif
245 
246 
247 /* interface __MIDL_itf_d3d12_0000_0000 */
248 /* [local] */
249 
250 /*#include <winapifamily.h>*/
251 /*#pragma region App Family*/
252 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)*/
253 #ifndef _D3D12_CONSTANTS
254 #define _D3D12_CONSTANTS
255 #define D3D12_16BIT_INDEX_STRIP_CUT_VALUE ( 0xffff )
256 
257 #define D3D12_32BIT_INDEX_STRIP_CUT_VALUE ( 0xffffffff )
258 
259 #define D3D12_8BIT_INDEX_STRIP_CUT_VALUE ( 0xff )
260 
261 #define D3D12_APPEND_ALIGNED_ELEMENT ( 0xffffffff )
262 
263 #define D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT ( 9 )
264 
265 #define D3D12_CLIP_OR_CULL_DISTANCE_COUNT ( 8 )
266 
267 #define D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT ( 2 )
268 
269 #define D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT ( 14 )
270 
271 #define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS ( 4 )
272 
273 #define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT ( 32 )
274 
275 #define D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT ( 15 )
276 
277 #define D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT ( 16 )
278 
279 #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
280 
281 #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT ( 15 )
282 
283 #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
284 
285 #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
286 
287 #define D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT ( 64 )
288 
289 #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
290 
291 #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT ( 1 )
292 
293 #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
294 
295 #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
296 
297 #define D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT ( 32 )
298 
299 #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS ( 1 )
300 
301 #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT ( 128 )
302 
303 #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST ( 1 )
304 
305 #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS ( 1 )
306 
307 #define D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT ( 128 )
308 
309 #define D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS ( 1 )
310 
311 #define D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT ( 16 )
312 
313 #define D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST ( 1 )
314 
315 #define D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS ( 1 )
316 
317 #define D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT ( 16 )
318 
319 #define D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT ( 32 )
320 
321 #define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS ( 4 )
322 
323 #define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT ( 32 )
324 
325 #define D3D12_COMMONSHADER_TEMP_REGISTER_COUNT ( 4096 )
326 
327 #define D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 )
328 
329 #define D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS ( 3 )
330 
331 #define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 )
332 
333 #define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 )
334 
335 #define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE ( -8 )
336 
337 #define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE ( 7 )
338 
339 #define D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT ( 256 )
340 
341 #define D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 256 )
342 
343 #define D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP ( 64 )
344 
345 #define D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 240 )
346 
347 #define D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP ( 68 )
348 
349 #define D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 224 )
350 
351 #define D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP ( 72 )
352 
353 #define D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 208 )
354 
355 #define D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP ( 76 )
356 
357 #define D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 192 )
358 
359 #define D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP ( 84 )
360 
361 #define D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 176 )
362 
363 #define D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP ( 92 )
364 
365 #define D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 160 )
366 
367 #define D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP ( 100 )
368 
369 #define D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 144 )
370 
371 #define D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP ( 112 )
372 
373 #define D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 128 )
374 
375 #define D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP ( 128 )
376 
377 #define D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 112 )
378 
379 #define D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP ( 144 )
380 
381 #define D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 96 )
382 
383 #define D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP ( 168 )
384 
385 #define D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 80 )
386 
387 #define D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP ( 204 )
388 
389 #define D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 64 )
390 
391 #define D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP ( 256 )
392 
393 #define D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 48 )
394 
395 #define D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP ( 340 )
396 
397 #define D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 32 )
398 
399 #define D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP ( 512 )
400 
401 #define D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 16 )
402 
403 #define D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP ( 768 )
404 
405 #define D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION ( 1 )
406 
407 #define D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT ( 256 )
408 
409 #define D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 768 )
410 
411 #define D3D12_CS_4_X_THREAD_GROUP_MAX_X ( 768 )
412 
413 #define D3D12_CS_4_X_THREAD_GROUP_MAX_Y ( 768 )
414 
415 #define D3D12_CS_4_X_UAV_REGISTER_COUNT ( 1 )
416 
417 #define D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION ( 65535 )
418 
419 #define D3D12_CS_TGSM_REGISTER_COUNT ( 8192 )
420 
421 #define D3D12_CS_TGSM_REGISTER_READS_PER_INST ( 1 )
422 
423 #define D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS ( 1 )
424 
425 #define D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS ( 1 )
426 
427 #define D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS ( 3 )
428 
429 #define D3D12_CS_THREADGROUPID_REGISTER_COUNT ( 1 )
430 
431 #define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS ( 1 )
432 
433 #define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT ( 1 )
434 
435 #define D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS ( 3 )
436 
437 #define D3D12_CS_THREADIDINGROUP_REGISTER_COUNT ( 1 )
438 
439 #define D3D12_CS_THREADID_REGISTER_COMPONENTS ( 3 )
440 
441 #define D3D12_CS_THREADID_REGISTER_COUNT ( 1 )
442 
443 #define D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 1024 )
444 
445 #define D3D12_CS_THREAD_GROUP_MAX_X ( 1024 )
446 
447 #define D3D12_CS_THREAD_GROUP_MAX_Y ( 1024 )
448 
449 #define D3D12_CS_THREAD_GROUP_MAX_Z ( 64 )
450 
451 #define D3D12_CS_THREAD_GROUP_MIN_X ( 1 )
452 
453 #define D3D12_CS_THREAD_GROUP_MIN_Y ( 1 )
454 
455 #define D3D12_CS_THREAD_GROUP_MIN_Z ( 1 )
456 
457 #define D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL ( 16384 )
458 
459 #define D3D12_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )
460 #define D3D12_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )
461 #define D3D12_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )
462 #define D3D12_DEFAULT_BLEND_FACTOR_RED ( 1.0f )
463 #define D3D12_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )
464 #define D3D12_DEFAULT_DEPTH_BIAS ( 0 )
465 
466 #define D3D12_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )
467 #define D3D12_DEFAULT_MAX_ANISOTROPY ( 16 )
468 
469 #define D3D12_DEFAULT_MIP_LOD_BIAS ( 0.0f )
470 #define D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 4194304 )
471 
472 #define D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 )
473 
474 #define D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )
475 
476 #define D3D12_DEFAULT_SAMPLE_MASK ( 0xffffffff )
477 
478 #define D3D12_DEFAULT_SCISSOR_ENDX ( 0 )
479 
480 #define D3D12_DEFAULT_SCISSOR_ENDY ( 0 )
481 
482 #define D3D12_DEFAULT_SCISSOR_STARTX ( 0 )
483 
484 #define D3D12_DEFAULT_SCISSOR_STARTY ( 0 )
485 
486 #define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )
487 #define D3D12_DEFAULT_STENCIL_READ_MASK ( 0xff )
488 
489 #define D3D12_DEFAULT_STENCIL_REFERENCE ( 0 )
490 
491 #define D3D12_DEFAULT_STENCIL_WRITE_MASK ( 0xff )
492 
493 #define D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX ( 0 )
494 
495 #define D3D12_DEFAULT_VIEWPORT_HEIGHT ( 0 )
496 
497 #define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )
498 #define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )
499 #define D3D12_DEFAULT_VIEWPORT_TOPLEFTX ( 0 )
500 
501 #define D3D12_DEFAULT_VIEWPORT_TOPLEFTY ( 0 )
502 
503 #define D3D12_DEFAULT_VIEWPORT_WIDTH ( 0 )
504 
505 #define D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND ( 0xffffffff )
506 
507 #define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END ( 0xfffffff7 )
508 
509 #define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )
510 
511 #define D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
512 
513 #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
514 
515 #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
516 
517 #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT ( 32 )
518 
519 #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
520 
521 #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
522 
523 #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS ( 3 )
524 
525 #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
526 
527 #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT ( 1 )
528 
529 #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST ( 2 )
530 
531 #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS ( 1 )
532 
533 #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
534 
535 #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
536 
537 #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
538 
539 #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
540 
541 #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
542 
543 #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
544 
545 #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
546 
547 #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
548 
549 #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
550 
551 #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
552 
553 #define D3D12_DS_OUTPUT_REGISTER_COMPONENTS ( 4 )
554 
555 #define D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
556 
557 #define D3D12_DS_OUTPUT_REGISTER_COUNT ( 32 )
558 
559 #define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )
560 #define D3D12_FLOAT32_MAX ( 3.402823466e+38f )
561 #define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )
562 #define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )
563 #define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )
564 #define D3D12_FLOAT_TO_SRGB_OFFSET ( 0.055f )
565 #define D3D12_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )
566 #define D3D12_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )
567 #define D3D12_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )
568 #define D3D12_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )
569 #define D3D12_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )
570 #define D3D12_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )
571 #define D3D12_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )
572 #define D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST ( 2 )
573 
574 #define D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS ( 1 )
575 
576 #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
577 
578 #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
579 
580 #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT ( 1 )
581 
582 #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS ( 1 )
583 
584 #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT ( 32 )
585 
586 #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT ( 1 )
587 
588 #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST ( 2 )
589 
590 #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS ( 1 )
591 
592 #define D3D12_GS_INPUT_REGISTER_COMPONENTS ( 4 )
593 
594 #define D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
595 
596 #define D3D12_GS_INPUT_REGISTER_COUNT ( 32 )
597 
598 #define D3D12_GS_INPUT_REGISTER_READS_PER_INST ( 2 )
599 
600 #define D3D12_GS_INPUT_REGISTER_READ_PORTS ( 1 )
601 
602 #define D3D12_GS_INPUT_REGISTER_VERTICES ( 32 )
603 
604 #define D3D12_GS_MAX_INSTANCE_COUNT ( 32 )
605 
606 #define D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES ( 1024 )
607 
608 #define D3D12_GS_OUTPUT_ELEMENTS ( 32 )
609 
610 #define D3D12_GS_OUTPUT_REGISTER_COMPONENTS ( 4 )
611 
612 #define D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
613 
614 #define D3D12_GS_OUTPUT_REGISTER_COUNT ( 32 )
615 
616 #define D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT ( 32 )
617 
618 #define D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT ( 32 )
619 
620 #define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
621 
622 #define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
623 
624 #define D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
625 
626 #define D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
627 
628 #define D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
629 
630 #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
631 
632 #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
633 
634 #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT ( 1 )
635 
636 #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
637 
638 #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
639 
640 #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
641 
642 #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
643 
644 #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT ( 1 )
645 
646 #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
647 
648 #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
649 
650 #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
651 
652 #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
653 
654 #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
655 
656 #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
657 
658 #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
659 
660 #define D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
661 
662 #define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND ( 1.0f )
663 #define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND ( 64.0f )
664 #define D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
665 
666 #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS ( 1 )
667 
668 #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
669 
670 #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT ( 1 )
671 
672 #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST ( 2 )
673 
674 #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS ( 1 )
675 
676 #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
677 
678 #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
679 
680 #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
681 
682 #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
683 
684 #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
685 
686 #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS ( 128 )
687 
688 #define D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES ( 0 )
689 
690 #define D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY ( 0 )
691 
692 #define D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES ( 0 )
693 
694 #define D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT ( 1 )
695 
696 #define D3D12_IA_INSTANCE_ID_BIT_COUNT ( 32 )
697 
698 #define D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT ( 32 )
699 
700 #define D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT ( 32 )
701 
702 #define D3D12_IA_PRIMITIVE_ID_BIT_COUNT ( 32 )
703 
704 #define D3D12_IA_VERTEX_ID_BIT_COUNT ( 32 )
705 
706 #define D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ( 32 )
707 
708 #define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS ( 128 )
709 
710 #define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 32 )
711 
712 #define D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT ( 0xffffffff )
713 
714 #define D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER ( 0xffffffff )
715 
716 #define D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL ( 0xffffffff )
717 
718 #define D3D12_KEEP_UNORDERED_ACCESS_VIEWS ( 0xffffffff )
719 
720 #define D3D12_LINEAR_GAMMA ( 1.0f )
721 #define D3D12_MAJOR_VERSION ( 12 )
722 
723 #define D3D12_MAX_BORDER_COLOR_COMPONENT ( 1.0f )
724 #define D3D12_MAX_DEPTH ( 1.0f )
725 #define D3D12_MAX_LIVE_STATIC_SAMPLERS ( 2032 )
726 
727 #define D3D12_MAX_MAXANISOTROPY ( 16 )
728 
729 #define D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT ( 32 )
730 
731 #define D3D12_MAX_POSITION_VALUE ( 3.402823466e+34f )
732 #define D3D12_MAX_ROOT_COST ( 64 )
733 
734 #define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 ( 1000000 )
735 
736 #define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 ( 1000000 )
737 
738 #define D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE ( 2048 )
739 
740 #define D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP ( 17 )
741 
742 #define D3D12_MAX_VIEW_INSTANCE_COUNT ( 4 )
743 
744 #define D3D12_MINOR_VERSION ( 0 )
745 
746 #define D3D12_MIN_BORDER_COLOR_COMPONENT ( 0.0f )
747 #define D3D12_MIN_DEPTH ( 0.0f )
748 #define D3D12_MIN_MAXANISOTROPY ( 0 )
749 
750 #define D3D12_MIP_LOD_BIAS_MAX ( 15.99f )
751 #define D3D12_MIP_LOD_BIAS_MIN ( -16.0f )
752 #define D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT ( 8 )
753 
754 #define D3D12_MIP_LOD_RANGE_BIT_COUNT ( 8 )
755 
756 #define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )
757 #define D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT ( 0 )
758 
759 #define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )
760 
761 #define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff8 )
762 
763 #define D3D12_PACKED_TILE ( 0xffffffff )
764 
765 #define D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 15 )
766 
767 #define D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
768 
769 #define D3D12_PS_CS_UAV_REGISTER_COMPONENTS ( 1 )
770 
771 #define D3D12_PS_CS_UAV_REGISTER_COUNT ( 8 )
772 
773 #define D3D12_PS_CS_UAV_REGISTER_READS_PER_INST ( 1 )
774 
775 #define D3D12_PS_CS_UAV_REGISTER_READ_PORTS ( 1 )
776 
777 #define D3D12_PS_FRONTFACING_DEFAULT_VALUE ( 0xffffffff )
778 
779 #define D3D12_PS_FRONTFACING_FALSE_VALUE ( 0 )
780 
781 #define D3D12_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff )
782 
783 #define D3D12_PS_INPUT_REGISTER_COMPONENTS ( 4 )
784 
785 #define D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
786 
787 #define D3D12_PS_INPUT_REGISTER_COUNT ( 32 )
788 
789 #define D3D12_PS_INPUT_REGISTER_READS_PER_INST ( 2 )
790 
791 #define D3D12_PS_INPUT_REGISTER_READ_PORTS ( 1 )
792 
793 #define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )
794 #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS ( 1 )
795 
796 #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT ( 32 )
797 
798 #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT ( 1 )
799 
800 #define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS ( 1 )
801 
802 #define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT ( 32 )
803 
804 #define D3D12_PS_OUTPUT_MASK_REGISTER_COUNT ( 1 )
805 
806 #define D3D12_PS_OUTPUT_REGISTER_COMPONENTS ( 4 )
807 
808 #define D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
809 
810 #define D3D12_PS_OUTPUT_REGISTER_COUNT ( 8 )
811 
812 #define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )
813 #define D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT ( 16 )
814 
815 #define D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE ( 4096 )
816 
817 #define D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP ( 27 )
818 
819 #define D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
820 
821 #define D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE ( 4096 )
822 
823 #define D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 32 )
824 
825 #define D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP ( 32 )
826 
827 #define D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION ( 16384 )
828 
829 #define D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT ( 1024 )
830 
831 #define D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
832 
833 #define D3D12_REQ_MAXANISOTROPY ( 16 )
834 
835 #define D3D12_REQ_MIP_LEVELS ( 15 )
836 
837 #define D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 )
838 
839 #define D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE ( 4096 )
840 
841 #define D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 16384 )
842 
843 #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM ( 128 )
844 
845 #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM ( 0.25f )
846 #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM ( 2048 )
847 
848 #define D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP ( 20 )
849 
850 #define D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE ( 4096 )
851 
852 #define D3D12_REQ_SUBRESOURCES ( 30720 )
853 
854 #define D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION ( 2048 )
855 
856 #define D3D12_REQ_TEXTURE1D_U_DIMENSION ( 16384 )
857 
858 #define D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 2048 )
859 
860 #define D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION ( 16384 )
861 
862 #define D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION ( 2048 )
863 
864 #define D3D12_REQ_TEXTURECUBE_DIMENSION ( 16384 )
865 
866 #define D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL ( 0 )
867 
868 #define D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES ( 0xffffffff )
869 
870 #define D3D12_SHADER_MAJOR_VERSION ( 5 )
871 
872 #define D3D12_SHADER_MAX_INSTANCES ( 65535 )
873 
874 #define D3D12_SHADER_MAX_INTERFACES ( 253 )
875 
876 #define D3D12_SHADER_MAX_INTERFACE_CALL_SITES ( 4096 )
877 
878 #define D3D12_SHADER_MAX_TYPES ( 65535 )
879 
880 #define D3D12_SHADER_MINOR_VERSION ( 1 )
881 
882 #define D3D12_SHIFT_INSTRUCTION_PAD_VALUE ( 0 )
883 
884 #define D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT ( 5 )
885 
886 #define D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ( 8 )
887 
888 #define D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )
889 
890 #define D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT ( 4096 )
891 
892 #define D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES ( 2048 )
893 
894 #define D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES ( 512 )
895 
896 #define D3D12_SO_BUFFER_SLOT_COUNT ( 4 )
897 
898 #define D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP ( 0xffffffff )
899 
900 #define D3D12_SO_NO_RASTERIZED_STREAM ( 0xffffffff )
901 
902 #define D3D12_SO_OUTPUT_COMPONENT_COUNT ( 128 )
903 
904 #define D3D12_SO_STREAM_COUNT ( 4 )
905 
906 #define D3D12_SPEC_DATE_DAY ( 14 )
907 
908 #define D3D12_SPEC_DATE_MONTH ( 11 )
909 
910 #define D3D12_SPEC_DATE_YEAR ( 2014 )
911 
912 #define D3D12_SPEC_VERSION ( 1.16 )
913 #define D3D12_SRGB_GAMMA ( 2.2f )
914 #define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )
915 #define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )
916 #define D3D12_SRGB_TO_FLOAT_EXPONENT ( 2.4f )
917 #define D3D12_SRGB_TO_FLOAT_OFFSET ( 0.055f )
918 #define D3D12_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )
919 #define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )
920 #define D3D12_STANDARD_COMPONENT_BIT_COUNT ( 32 )
921 
922 #define D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED ( 64 )
923 
924 #define D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 )
925 
926 #define D3D12_STANDARD_PIXEL_COMPONENT_COUNT ( 128 )
927 
928 #define D3D12_STANDARD_PIXEL_ELEMENT_COUNT ( 32 )
929 
930 #define D3D12_STANDARD_VECTOR_SIZE ( 4 )
931 
932 #define D3D12_STANDARD_VERTEX_ELEMENT_COUNT ( 32 )
933 
934 #define D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT ( 64 )
935 
936 #define D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT ( 8 )
937 
938 #define D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT ( 8 )
939 
940 #define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )
941 
942 #define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )
943 
944 #define D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR ( 64 )
945 
946 #define D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 64 )
947 
948 #define D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR ( 63 )
949 
950 #define D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR ( 64 )
951 
952 #define D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR ( 2 )
953 
954 #define D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 1 )
955 
956 #define D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR ( 1 )
957 
958 #define D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
959 
960 #define D3D12_TEXTURE_DATA_PITCH_ALIGNMENT ( 256 )
961 
962 #define D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT ( 512 )
963 
964 #define D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )
965 
966 #define D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT ( 4096 )
967 
968 #define D3D12_UAV_SLOT_COUNT ( 64 )
969 
970 #define D3D12_UNBOUND_MEMORY_ACCESS_RESULT ( 0 )
971 
972 #define D3D12_VIDEO_DECODE_MAX_ARGUMENTS ( 10 )
973 
974 #define D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN ( 0xffffffff )
975 
976 #define D3D12_VIDEO_PROCESS_MAX_FILTERS ( 32 )
977 
978 #define D3D12_VIDEO_PROCESS_STEREO_VIEWS ( 2 )
979 
980 #define D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX ( 15 )
981 
982 #define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE ( 16 )
983 
984 #define D3D12_VIEWPORT_BOUNDS_MAX ( 32767 )
985 
986 #define D3D12_VIEWPORT_BOUNDS_MIN ( -32768 )
987 
988 #define D3D12_VS_INPUT_REGISTER_COMPONENTS ( 4 )
989 
990 #define D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
991 
992 #define D3D12_VS_INPUT_REGISTER_COUNT ( 32 )
993 
994 #define D3D12_VS_INPUT_REGISTER_READS_PER_INST ( 2 )
995 
996 #define D3D12_VS_INPUT_REGISTER_READ_PORTS ( 1 )
997 
998 #define D3D12_VS_OUTPUT_REGISTER_COMPONENTS ( 4 )
999 
1000 #define D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
1001 
1002 #define D3D12_VS_OUTPUT_REGISTER_COUNT ( 32 )
1003 
1004 #define D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT ( 10 )
1005 
1006 #define D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 25 )
1007 
1008 #define D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP ( 25 )
1009 
1010 #endif
1011 
1013 
1014 typedef
1016  {
1024 
1025 typedef
1027  {
1031 
1033 typedef
1035  {
1040 
1042  {
1048 
1049 typedef
1051  {
1058 
1059 typedef
1061  {
1065 
1067  {
1076 
1077 typedef
1078 enum D3D12_FILL_MODE
1079  {
1082  } D3D12_FILL_MODE;
1083 
1085 
1087 
1088 typedef
1089 enum D3D12_CULL_MODE
1090  {
1094  } D3D12_CULL_MODE;
1095 
1097  {
1105 
1106 typedef struct D3D12_VIEWPORT
1107  {
1114  } D3D12_VIEWPORT;
1115 
1116 typedef RECT D3D12_RECT;
1117 
1118 typedef struct D3D12_BOX
1119  {
1126  } D3D12_BOX;
1127 
1128 typedef
1130  {
1140 
1141 typedef
1143  {
1147 
1148 typedef
1149 enum D3D12_STENCIL_OP
1150  {
1159  } D3D12_STENCIL_OP;
1160 
1162  {
1168 
1170  {
1180 
1182  {
1193 
1194 typedef
1195 enum D3D12_BLEND
1196  {
1214  } D3D12_BLEND;
1215 
1216 typedef
1217 enum D3D12_BLEND_OP
1218  {
1224  } D3D12_BLEND_OP;
1225 
1226 typedef
1228  {
1235 
1236 typedef
1237 enum D3D12_LOGIC_OP
1238  {
1255  } D3D12_LOGIC_OP;
1256 
1258  {
1270 
1271 typedef struct D3D12_BLEND_DESC
1272  {
1276  } D3D12_BLEND_DESC;
1277 
1278 /* Note, the array size for RenderTarget[] above is D3D12_SIMULTANEOUS_RENDERTARGET_COUNT.
1279  IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */
1280 typedef
1282  {
1286 
1288  {
1301 
1302 
1303 
1304 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_c_ifspec;
1305 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_s_ifspec;
1306 
1307 #ifndef __ID3D12Object_INTERFACE_DEFINED__
1308 #define __ID3D12Object_INTERFACE_DEFINED__
1309 
1310 /* interface ID3D12Object */
1311 /* [unique][local][object][uuid] */
1312 
1313 
1314 EXTERN_C const IID IID_ID3D12Object;
1315 
1316 #if defined(__cplusplus) && !defined(CINTERFACE)
1317 
1318  MIDL_INTERFACE("c4fec28f-7966-4e95-9f94-f431cb56c3b8")
1319  ID3D12Object : public IUnknown
1320  {
1321  public:
1322  virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
1323  _In_ REFGUID guid,
1324  _Inout_ UINT *pDataSize,
1325  _Out_writes_bytes_opt_( *pDataSize ) void *pData) = 0;
1326 
1327  virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
1328  _In_ REFGUID guid,
1329  _In_ UINT DataSize,
1330  _In_reads_bytes_opt_( DataSize ) const void *pData) = 0;
1331 
1332  virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
1333  _In_ REFGUID guid,
1334  _In_opt_ const IUnknown *pData) = 0;
1335 
1336  virtual HRESULT STDMETHODCALLTYPE SetName(
1337  _In_z_ LPCWSTR Name) = 0;
1338 
1339  };
1340 
1341 
1342 #else /* C style interface */
1343 
1344  typedef struct ID3D12ObjectVtbl
1345  {
1346  BEGIN_INTERFACE
1347 
1348  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1349  ID3D12Object * This,
1350  REFIID riid,
1351  _COM_Outptr_ void **ppvObject);
1352 
1353  ULONG ( STDMETHODCALLTYPE *AddRef )(
1354  ID3D12Object * This);
1355 
1356  ULONG ( STDMETHODCALLTYPE *Release )(
1357  ID3D12Object * This);
1358 
1359  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1360  ID3D12Object * This,
1361  _In_ REFGUID guid,
1362  _Inout_ UINT *pDataSize,
1363  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
1364 
1365  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1366  ID3D12Object * This,
1367  _In_ REFGUID guid,
1368  _In_ UINT DataSize,
1369  _In_reads_bytes_opt_( DataSize ) const void *pData);
1370 
1371  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1372  ID3D12Object * This,
1373  _In_ REFGUID guid,
1374  _In_opt_ const IUnknown *pData);
1375 
1376  HRESULT ( STDMETHODCALLTYPE *SetName )(
1377  ID3D12Object * This,
1378  _In_z_ LPCWSTR Name);
1379 
1380  END_INTERFACE
1381  } ID3D12ObjectVtbl;
1382 
1383  interface ID3D12Object
1384  {
1385  CONST_VTBL struct ID3D12ObjectVtbl *lpVtbl;
1386  };
1387 
1388 
1389 
1390 #ifdef COBJMACROS
1391 
1392 
1393 #define ID3D12Object_QueryInterface(This,riid,ppvObject) \
1394  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1395 
1396 #define ID3D12Object_AddRef(This) \
1397  ( (This)->lpVtbl -> AddRef(This) )
1398 
1399 #define ID3D12Object_Release(This) \
1400  ( (This)->lpVtbl -> Release(This) )
1401 
1402 
1403 #define ID3D12Object_GetPrivateData(This,guid,pDataSize,pData) \
1404  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1405 
1406 #define ID3D12Object_SetPrivateData(This,guid,DataSize,pData) \
1407  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
1408 
1409 #define ID3D12Object_SetPrivateDataInterface(This,guid,pData) \
1410  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
1411 
1412 #define ID3D12Object_SetName(This,Name) \
1413  ( (This)->lpVtbl -> SetName(This,Name) )
1414 
1415 #endif /* COBJMACROS */
1416 
1417 
1418 #endif /* C style interface */
1419 
1420 
1421 
1422 
1423 #endif /* __ID3D12Object_INTERFACE_DEFINED__ */
1424 
1425 
1426 #ifndef __ID3D12DeviceChild_INTERFACE_DEFINED__
1427 #define __ID3D12DeviceChild_INTERFACE_DEFINED__
1428 
1429 /* interface ID3D12DeviceChild */
1430 /* [unique][local][object][uuid] */
1431 
1432 
1433 EXTERN_C const IID IID_ID3D12DeviceChild;
1434 
1435 #if defined(__cplusplus) && !defined(CINTERFACE)
1436 
1437  MIDL_INTERFACE("905db94b-a00c-4140-9df5-2b64ca9ea357")
1439  {
1440  public:
1441  virtual HRESULT STDMETHODCALLTYPE GetDevice(
1442  REFIID riid,
1443  _COM_Outptr_opt_ void **ppvDevice) = 0;
1444 
1445  };
1446 
1447 
1448 #else /* C style interface */
1449 
1450  typedef struct ID3D12DeviceChildVtbl
1451  {
1452  BEGIN_INTERFACE
1453 
1454  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1455  ID3D12DeviceChild * This,
1456  REFIID riid,
1457  _COM_Outptr_ void **ppvObject);
1458 
1459  ULONG ( STDMETHODCALLTYPE *AddRef )(
1460  ID3D12DeviceChild * This);
1461 
1462  ULONG ( STDMETHODCALLTYPE *Release )(
1463  ID3D12DeviceChild * This);
1464 
1465  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1466  ID3D12DeviceChild * This,
1467  _In_ REFGUID guid,
1468  _Inout_ UINT *pDataSize,
1469  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
1470 
1471  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1472  ID3D12DeviceChild * This,
1473  _In_ REFGUID guid,
1474  _In_ UINT DataSize,
1475  _In_reads_bytes_opt_( DataSize ) const void *pData);
1476 
1477  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1478  ID3D12DeviceChild * This,
1479  _In_ REFGUID guid,
1480  _In_opt_ const IUnknown *pData);
1481 
1482  HRESULT ( STDMETHODCALLTYPE *SetName )(
1483  ID3D12DeviceChild * This,
1484  _In_z_ LPCWSTR Name);
1485 
1486  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
1487  ID3D12DeviceChild * This,
1488  REFIID riid,
1489  _COM_Outptr_opt_ void **ppvDevice);
1490 
1491  END_INTERFACE
1493 
1494  interface ID3D12DeviceChild
1495  {
1496  CONST_VTBL struct ID3D12DeviceChildVtbl *lpVtbl;
1497  };
1498 
1499 
1500 
1501 #ifdef COBJMACROS
1502 
1503 
1504 #define ID3D12DeviceChild_QueryInterface(This,riid,ppvObject) \
1505  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1506 
1507 #define ID3D12DeviceChild_AddRef(This) \
1508  ( (This)->lpVtbl -> AddRef(This) )
1509 
1510 #define ID3D12DeviceChild_Release(This) \
1511  ( (This)->lpVtbl -> Release(This) )
1512 
1513 
1514 #define ID3D12DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \
1515  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1516 
1517 #define ID3D12DeviceChild_SetPrivateData(This,guid,DataSize,pData) \
1518  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
1519 
1520 #define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,pData) \
1521  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
1522 
1523 #define ID3D12DeviceChild_SetName(This,Name) \
1524  ( (This)->lpVtbl -> SetName(This,Name) )
1525 
1526 
1527 #define ID3D12DeviceChild_GetDevice(This,riid,ppvDevice) \
1528  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
1529 
1530 #endif /* COBJMACROS */
1531 
1532 
1533 #endif /* C style interface */
1534 
1535 
1536 
1537 
1538 #endif /* __ID3D12DeviceChild_INTERFACE_DEFINED__ */
1539 
1540 
1541 #ifndef __ID3D12RootSignature_INTERFACE_DEFINED__
1542 #define __ID3D12RootSignature_INTERFACE_DEFINED__
1543 
1544 /* interface ID3D12RootSignature */
1545 /* [unique][local][object][uuid] */
1546 
1547 
1548 EXTERN_C const IID IID_ID3D12RootSignature;
1549 
1550 #if defined(__cplusplus) && !defined(CINTERFACE)
1551 
1552  MIDL_INTERFACE("c54a6b66-72df-4ee8-8be5-a946a1429214")
1554  {
1555  public:
1556  };
1557 
1558 
1559 #else /* C style interface */
1560 
1562  {
1563  BEGIN_INTERFACE
1564 
1565  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1566  ID3D12RootSignature * This,
1567  REFIID riid,
1568  _COM_Outptr_ void **ppvObject);
1569 
1570  ULONG ( STDMETHODCALLTYPE *AddRef )(
1571  ID3D12RootSignature * This);
1572 
1573  ULONG ( STDMETHODCALLTYPE *Release )(
1574  ID3D12RootSignature * This);
1575 
1576  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1577  ID3D12RootSignature * This,
1578  _In_ REFGUID guid,
1579  _Inout_ UINT *pDataSize,
1580  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
1581 
1582  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1583  ID3D12RootSignature * This,
1584  _In_ REFGUID guid,
1585  _In_ UINT DataSize,
1586  _In_reads_bytes_opt_( DataSize ) const void *pData);
1587 
1588  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1589  ID3D12RootSignature * This,
1590  _In_ REFGUID guid,
1591  _In_opt_ const IUnknown *pData);
1592 
1593  HRESULT ( STDMETHODCALLTYPE *SetName )(
1594  ID3D12RootSignature * This,
1595  _In_z_ LPCWSTR Name);
1596 
1597  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
1598  ID3D12RootSignature * This,
1599  REFIID riid,
1600  _COM_Outptr_opt_ void **ppvDevice);
1601 
1602  END_INTERFACE
1604 
1605  interface ID3D12RootSignature
1606  {
1607  CONST_VTBL struct ID3D12RootSignatureVtbl *lpVtbl;
1608  };
1609 
1610 
1611 
1612 #ifdef COBJMACROS
1613 
1614 
1615 #define ID3D12RootSignature_QueryInterface(This,riid,ppvObject) \
1616  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1617 
1618 #define ID3D12RootSignature_AddRef(This) \
1619  ( (This)->lpVtbl -> AddRef(This) )
1620 
1621 #define ID3D12RootSignature_Release(This) \
1622  ( (This)->lpVtbl -> Release(This) )
1623 
1624 
1625 #define ID3D12RootSignature_GetPrivateData(This,guid,pDataSize,pData) \
1626  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1627 
1628 #define ID3D12RootSignature_SetPrivateData(This,guid,DataSize,pData) \
1629  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
1630 
1631 #define ID3D12RootSignature_SetPrivateDataInterface(This,guid,pData) \
1632  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
1633 
1634 #define ID3D12RootSignature_SetName(This,Name) \
1635  ( (This)->lpVtbl -> SetName(This,Name) )
1636 
1637 
1638 #define ID3D12RootSignature_GetDevice(This,riid,ppvDevice) \
1639  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
1640 
1641 
1642 #endif /* COBJMACROS */
1643 
1644 
1645 #endif /* C style interface */
1646 
1647 
1648 
1649 
1650 #endif /* __ID3D12RootSignature_INTERFACE_DEFINED__ */
1651 
1652 
1653 /* interface __MIDL_itf_d3d12_0000_0001 */
1654 /* [local] */
1655 
1657  {
1658  _Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode;
1661 
1663  {
1666  _Field_size_full_(NumStrides) const UINT *pBufferStrides;
1670 
1672  {
1673  _Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs;
1676 
1677 typedef
1679  {
1684 
1686  {
1687  _Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob;
1690 
1691 typedef
1693  {
1697 
1700  {
1723 
1725  {
1732 
1734  {
1737  } ;
1739  {
1740  _In_ SIZE_T SizeInBytes;
1741  _In_reads_(_Inexpressible_("Dependent on size of subobjects")) void *pPipelineStateSubobjectStream;
1743 
1744 typedef
1746  {
1772 
1773 typedef
1774 enum D3D12_FEATURE
1775  {
1792  } D3D12_FEATURE;
1793 
1794 typedef
1796  {
1801 
1803 typedef
1805  {
1811 
1812 typedef
1814  {
1819 
1820 typedef
1822  {
1828 
1829 typedef
1831  {
1863 
1865 typedef
1867  {
1881 
1883 typedef
1885  {
1889 
1891 typedef
1893  {
1899 
1900 typedef
1902  {
1906 
1907 typedef
1909  {
1914 
1915 typedef
1917  {
1923 
1925  {
1942 
1944  {
1945  _Out_ BOOL WaveOps;
1952 
1954  {
1958 
1959 typedef
1961  {
1966 
1968  {
1971 
1973  {
1976  _Out_ BOOL UMA;
1979 
1981  {
1984  _Out_ BOOL UMA;
1988 
1990  {
1992  _In_reads_(NumFeatureLevels) const D3D_FEATURE_LEVEL *pFeatureLevelsRequested;
1995 
1996 typedef
1997 enum D3D_SHADER_MODEL
1998  {
2002  } D3D_SHADER_MODEL;
2003 
2005  {
2008 
2010  {
2015 
2017  {
2023 
2025  {
2029 
2031  {
2035 
2036 typedef
2038  {
2045 
2048  {
2051 
2053  {
2058 
2059 typedef
2061  {
2070 
2073  {
2080 
2082  {
2085 
2087  {
2091 
2092 typedef
2093 enum D3D12_HEAP_TYPE
2094  {
2099  } D3D12_HEAP_TYPE;
2100 
2101 typedef
2103  {
2109 
2110 typedef
2111 enum D3D12_MEMORY_POOL
2112  {
2117 
2119  {
2126 
2127 typedef
2128 enum D3D12_HEAP_FLAGS
2129  {
2143  } D3D12_HEAP_FLAGS;
2144 
2146 typedef struct D3D12_HEAP_DESC
2147  {
2152  } D3D12_HEAP_DESC;
2153 
2154 typedef
2156  {
2163 
2164 typedef
2166  {
2172 
2173 typedef
2175  {
2185 
2187 typedef struct D3D12_RESOURCE_DESC
2188  {
2200 
2202  {
2206 
2207 typedef struct D3D12_CLEAR_VALUE
2208  {
2210  union
2211  {
2212  FLOAT Color[ 4 ];
2214  } ;
2216 
2217 typedef struct D3D12_RANGE
2218  {
2219  SIZE_T Begin;
2220  SIZE_T End;
2221  } D3D12_RANGE;
2222 
2223 typedef struct D3D12_RANGE_UINT64
2224  {
2228 
2230  {
2234 
2236  {
2241 
2243  {
2249 
2251  {
2258 
2259 typedef
2261  {
2267 
2269  {
2275 
2276 typedef struct D3D12_TILE_SHAPE
2277  {
2281  } D3D12_TILE_SHAPE;
2282 
2284  {
2290 
2291 typedef
2293  {
2297 
2299 typedef
2301  {
2307 
2309 typedef
2311  {
2327  D3D12_RESOURCE_STATE_GENERIC_READ = ( ( ( ( ( 0x1 | 0x2 ) | 0x40 ) | 0x80 ) | 0x200 ) | 0x800 ) ,
2335 
2337 typedef
2339  {
2344 
2345 
2347  {
2353 
2355  {
2359 
2361  {
2364 
2365 typedef
2367  {
2372 
2375  {
2378  union
2379  {
2383  } ;
2385 
2387  {
2394 
2396  {
2400 
2401 typedef
2403  {
2407 
2409  {
2412  union
2413  {
2416  } ;
2418 
2419 typedef
2420 enum D3D12_RESOLVE_MODE
2421  {
2427 
2429  {
2433 
2435  {
2439 
2440 typedef
2442  {
2446 
2449  {
2451  _Field_size_full_(ViewInstanceCount) const D3D12_VIEW_INSTANCE_LOCATION *pViewInstanceLocations;
2454 
2455 typedef
2457  {
2465 
2466 #define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7
2467 #define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3
2468 #define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4))
2469 #define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \
2470  (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<D3D12_SHADER_COMPONENT_MAPPING_SHIFT)| \
2471  (((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*2))| \
2472  (((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*3))| \
2473  D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))
2474 #define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract,Mapping) ((D3D12_SHADER_COMPONENT_MAPPING)(Mapping >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK))
2475 #define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3)
2476 typedef
2478  {
2482 
2484 typedef struct D3D12_BUFFER_SRV
2485  {
2490  } D3D12_BUFFER_SRV;
2491 
2492 typedef struct D3D12_TEX1D_SRV
2493  {
2497  } D3D12_TEX1D_SRV;
2498 
2500  {
2507 
2508 typedef struct D3D12_TEX2D_SRV
2509  {
2514  } D3D12_TEX2D_SRV;
2515 
2517  {
2525 
2526 typedef struct D3D12_TEX3D_SRV
2527  {
2531  } D3D12_TEX3D_SRV;
2532 
2533 typedef struct D3D12_TEXCUBE_SRV
2534  {
2539 
2541  {
2548 
2549 typedef struct D3D12_TEX2DMS_SRV
2550  {
2553 
2555  {
2559 
2560 typedef
2562  {
2575 
2577  {
2581  union
2582  {
2593  } ;
2595 
2597  {
2601 
2602 typedef
2603 enum D3D12_FILTER
2604  {
2641  } D3D12_FILTER;
2642 
2643 typedef
2644 enum D3D12_FILTER_TYPE
2645  {
2649 
2650 typedef
2652  {
2658 
2659 #define D3D12_FILTER_REDUCTION_TYPE_MASK ( 0x3 )
2660 
2661 #define D3D12_FILTER_REDUCTION_TYPE_SHIFT ( 7 )
2662 
2663 #define D3D12_FILTER_TYPE_MASK ( 0x3 )
2664 
2665 #define D3D12_MIN_FILTER_SHIFT ( 4 )
2666 
2667 #define D3D12_MAG_FILTER_SHIFT ( 2 )
2668 
2669 #define D3D12_MIP_FILTER_SHIFT ( 0 )
2670 
2671 #define D3D12_ANISOTROPIC_FILTERING_BIT ( 0x40 )
2672 
2673 #define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction ) \
2674  ( ( D3D12_FILTER ) ( \
2675  ( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) | \
2676  ( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) | \
2677  ( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) | \
2678  ( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) )
2679 #define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction ) \
2680  ( ( D3D12_FILTER ) ( \
2681  D3D12_ANISOTROPIC_FILTERING_BIT | \
2682  D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \
2683  D3D12_FILTER_TYPE_LINEAR, \
2684  D3D12_FILTER_TYPE_LINEAR, \
2685  reduction ) ) )
2686 #define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \
2687  ( ( D3D12_FILTER_TYPE ) \
2688  ( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
2689 #define D3D12_DECODE_MAG_FILTER( D3D12Filter ) \
2690  ( ( D3D12_FILTER_TYPE ) \
2691  ( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
2692 #define D3D12_DECODE_MIP_FILTER( D3D12Filter ) \
2693  ( ( D3D12_FILTER_TYPE ) \
2694  ( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
2695 #define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) \
2696  ( ( D3D12_FILTER_REDUCTION_TYPE ) \
2697  ( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) )
2698 #define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter ) \
2699  ( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON )
2700 #define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \
2701  ( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \
2702  ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \
2703  ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) && \
2704  ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIP_FILTER( D3D12Filter ) ) )
2705 typedef
2707  {
2714 
2715 typedef struct D3D12_SAMPLER_DESC
2716  {
2728 
2729 typedef
2731  {
2735 
2737 typedef struct D3D12_BUFFER_UAV
2738  {
2744  } D3D12_BUFFER_UAV;
2745 
2746 typedef struct D3D12_TEX1D_UAV
2747  {
2749  } D3D12_TEX1D_UAV;
2750 
2752  {
2757 
2758 typedef struct D3D12_TEX2D_UAV
2759  {
2762  } D3D12_TEX2D_UAV;
2763 
2765  {
2771 
2772 typedef struct D3D12_TEX3D_UAV
2773  {
2777  } D3D12_TEX3D_UAV;
2778 
2779 typedef
2781  {
2790 
2792  {
2795  union
2796  {
2803  } ;
2805 
2806 typedef struct D3D12_BUFFER_RTV
2807  {
2810  } D3D12_BUFFER_RTV;
2811 
2812 typedef struct D3D12_TEX1D_RTV
2813  {
2815  } D3D12_TEX1D_RTV;
2816 
2818  {
2823 
2824 typedef struct D3D12_TEX2D_RTV
2825  {
2828  } D3D12_TEX2D_RTV;
2829 
2830 typedef struct D3D12_TEX2DMS_RTV
2831  {
2834 
2836  {
2842 
2844  {
2848 
2849 typedef struct D3D12_TEX3D_RTV
2850  {
2854  } D3D12_TEX3D_RTV;
2855 
2856 typedef
2858  {
2869 
2871  {
2874  union
2875  {
2884  } ;
2886 
2887 typedef struct D3D12_TEX1D_DSV
2888  {
2890  } D3D12_TEX1D_DSV;
2891 
2893  {
2898 
2899 typedef struct D3D12_TEX2D_DSV
2900  {
2902  } D3D12_TEX2D_DSV;
2903 
2905  {
2910 
2911 typedef struct D3D12_TEX2DMS_DSV
2912  {
2915 
2917  {
2921 
2922 typedef
2923 enum D3D12_DSV_FLAGS
2924  {
2928  } D3D12_DSV_FLAGS;
2929 
2931 typedef
2933  {
2942 
2944  {
2948  union
2949  {
2956  } ;
2958 
2959 typedef
2960 enum D3D12_CLEAR_FLAGS
2961  {
2965 
2967 typedef
2968 enum D3D12_FENCE_FLAGS
2969  {
2975 
2977 typedef
2979  {
2986 
2987 typedef
2989  {
2993 
2996  {
3002 
3003 typedef
3005  {
3011 
3013  {
3020 
3022  {
3024  _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges;
3026 
3027 typedef struct D3D12_ROOT_CONSTANTS
3028  {
3033 
3035  {
3039 
3040 typedef
3042  {
3050 
3051 typedef
3053  {
3060 
3061 typedef struct D3D12_ROOT_PARAMETER
3062  {
3064  union
3065  {
3069  } ;
3072 
3073 typedef
3075  {
3085 
3087 typedef
3089  {
3094 
3096  {
3111 
3113  {
3115  _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER *pParameters;
3117  _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
3120 
3121 typedef
3123  {
3130 
3133  {
3141 
3143  {
3145  _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges;
3147 
3148 typedef
3150  {
3156 
3159  {
3164 
3166  {
3168  union
3169  {
3173  } ;
3176 
3178  {
3180  _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters;
3182  _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
3185 
3187  {
3189  union
3190  {
3193  } ;
3195 
3196 
3197 
3198 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_c_ifspec;
3199 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_s_ifspec;
3200 
3201 #ifndef __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
3202 #define __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
3203 
3204 /* interface ID3D12RootSignatureDeserializer */
3205 /* [unique][local][object][uuid] */
3206 
3207 
3209 
3210 #if defined(__cplusplus) && !defined(CINTERFACE)
3211 
3212  MIDL_INTERFACE("34AB647B-3CC8-46AC-841B-C0965645C046")
3213  ID3D12RootSignatureDeserializer : public IUnknown
3214  {
3215  public:
3216  virtual const D3D12_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetRootSignatureDesc( void) = 0;
3217 
3218  };
3219 
3220 
3221 #else /* C style interface */
3222 
3224  {
3225  BEGIN_INTERFACE
3226 
3227  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3229  REFIID riid,
3230  _COM_Outptr_ void **ppvObject);
3231 
3232  ULONG ( STDMETHODCALLTYPE *AddRef )(
3234 
3235  ULONG ( STDMETHODCALLTYPE *Release )(
3237 
3238  const D3D12_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetRootSignatureDesc )(
3240 
3241  END_INTERFACE
3243 
3245  {
3246  CONST_VTBL struct ID3D12RootSignatureDeserializerVtbl *lpVtbl;
3247  };
3248 
3249 
3250 
3251 #ifdef COBJMACROS
3252 
3253 
3254 #define ID3D12RootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
3255  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3256 
3257 #define ID3D12RootSignatureDeserializer_AddRef(This) \
3258  ( (This)->lpVtbl -> AddRef(This) )
3259 
3260 #define ID3D12RootSignatureDeserializer_Release(This) \
3261  ( (This)->lpVtbl -> Release(This) )
3262 
3263 
3264 #define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This) \
3265  ( (This)->lpVtbl -> GetRootSignatureDesc(This) )
3266 
3267 #endif /* COBJMACROS */
3268 
3269 
3270 #endif /* C style interface */
3271 
3272 
3273 
3274 
3275 #endif /* __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__ */
3276 
3277 
3278 #ifndef __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__
3279 #define __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__
3280 
3281 /* interface ID3D12VersionedRootSignatureDeserializer */
3282 /* [unique][local][object][uuid] */
3283 
3284 
3286 
3287 #if defined(__cplusplus) && !defined(CINTERFACE)
3288 
3289  MIDL_INTERFACE("7F91CE67-090C-4BB7-B78E-ED8FF2E31DA0")
3291  {
3292  public:
3293  virtual HRESULT STDMETHODCALLTYPE GetRootSignatureDescAtVersion(
3294  D3D_ROOT_SIGNATURE_VERSION convertToVersion,
3295  _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc) = 0;
3296 
3297  virtual const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetUnconvertedRootSignatureDesc( void) = 0;
3298 
3299  };
3300 
3301 
3302 #else /* C style interface */
3303 
3305  {
3306  BEGIN_INTERFACE
3307 
3308  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3310  REFIID riid,
3311  _COM_Outptr_ void **ppvObject);
3312 
3313  ULONG ( STDMETHODCALLTYPE *AddRef )(
3315 
3316  ULONG ( STDMETHODCALLTYPE *Release )(
3318 
3319  HRESULT ( STDMETHODCALLTYPE *GetRootSignatureDescAtVersion )(
3321  D3D_ROOT_SIGNATURE_VERSION convertToVersion,
3323 
3324  const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetUnconvertedRootSignatureDesc )(
3326 
3327  END_INTERFACE
3329 
3331  {
3332  CONST_VTBL struct ID3D12VersionedRootSignatureDeserializerVtbl *lpVtbl;
3333  };
3334 
3335 
3336 
3337 #ifdef COBJMACROS
3338 
3339 
3340 #define ID3D12VersionedRootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
3341  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3342 
3343 #define ID3D12VersionedRootSignatureDeserializer_AddRef(This) \
3344  ( (This)->lpVtbl -> AddRef(This) )
3345 
3346 #define ID3D12VersionedRootSignatureDeserializer_Release(This) \
3347  ( (This)->lpVtbl -> Release(This) )
3348 
3349 
3350 #define ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) \
3351  ( (This)->lpVtbl -> GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) )
3352 
3353 #define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This) \
3354  ( (This)->lpVtbl -> GetUnconvertedRootSignatureDesc(This) )
3355 
3356 #endif /* COBJMACROS */
3357 
3358 
3359 #endif /* C style interface */
3360 
3361 
3362 
3363 
3364 #endif /* __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__ */
3365 
3366 
3367 /* interface __MIDL_itf_d3d12_0000_0003 */
3368 /* [local] */
3369 
3370 typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(
3371  _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature,
3373  _Out_ ID3DBlob** ppBlob,
3374  _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
3375 
3377  _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature,
3379  _Out_ ID3DBlob** ppBlob,
3380  _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
3381 
3383  _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
3384  _In_ SIZE_T SrcDataSizeInBytes,
3385  _In_ REFIID pRootSignatureDeserializerInterface,
3386  _Out_ void** ppRootSignatureDeserializer);
3387 
3389  _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
3390  _In_ SIZE_T SrcDataSizeInBytes,
3391  _In_ REFIID pRootSignatureDeserializerInterface,
3392  _Out_ void** ppRootSignatureDeserializer);
3393 
3395  _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
3396  _Out_ ID3DBlob** ppBlob,
3397  _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
3398 
3400  _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
3401  _Out_ ID3DBlob** ppBlob,
3402  _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
3403 
3405  _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
3406  _In_ SIZE_T SrcDataSizeInBytes,
3407  _In_ REFIID pRootSignatureDeserializerInterface,
3408  _Out_ void** ppRootSignatureDeserializer);
3409 
3411  _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
3412  _In_ SIZE_T SrcDataSizeInBytes,
3413  _In_ REFIID pRootSignatureDeserializerInterface,
3414  _Out_ void** ppRootSignatureDeserializer);
3415 
3417  {
3418  SIZE_T ptr;
3420 
3422  {
3425 
3426 // If rects are supplied in D3D12_DISCARD_REGION, below, the resource
3427 // must have 2D subresources with all specified subresources the same dimension.
3428 typedef struct D3D12_DISCARD_REGION
3429  {
3431  _In_reads_(NumRects) const D3D12_RECT *pRects;
3435 
3436 typedef
3438  {
3446 
3448  {
3453 
3454 typedef
3455 enum D3D12_QUERY_TYPE
3456  {
3466  } D3D12_QUERY_TYPE;
3467 
3468 typedef
3470  {
3474 
3476  {
3489 
3491  {
3495 
3497  {
3502 
3503 typedef struct D3D12_DRAW_ARGUMENTS
3504  {
3510 
3512  {
3519 
3521  {
3526 
3528  {
3533 
3535  {
3540 
3541 typedef
3543  {
3554 
3556  {
3558  union
3559  {
3560  struct
3561  {
3563  } VertexBuffer;
3564  struct
3565  {
3569  } Constant;
3570  struct
3571  {
3572  UINT RootParameterIndex;
3573  } ConstantBufferView;
3574  struct
3575  {
3576  UINT RootParameterIndex;
3577  } ShaderResourceView;
3578  struct
3579  {
3580  UINT RootParameterIndex;
3581  } UnorderedAccessView;
3582  } ;
3584 
3586  {
3589  _Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs;
3592 
3593 
3594 
3595 
3596 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_c_ifspec;
3597 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_s_ifspec;
3598 
3599 #ifndef __ID3D12Pageable_INTERFACE_DEFINED__
3600 #define __ID3D12Pageable_INTERFACE_DEFINED__
3601 
3602 /* interface ID3D12Pageable */
3603 /* [unique][local][object][uuid] */
3604 
3605 
3606 EXTERN_C const IID IID_ID3D12Pageable;
3607 
3608 #if defined(__cplusplus) && !defined(CINTERFACE)
3609 
3610  MIDL_INTERFACE("63ee58fb-1268-4835-86da-f008ce62f0d6")
3612  {
3613  public:
3614  };
3615 
3616 
3617 #else /* C style interface */
3618 
3619  typedef struct ID3D12PageableVtbl
3620  {
3621  BEGIN_INTERFACE
3622 
3623  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3624  ID3D12Pageable * This,
3625  REFIID riid,
3626  _COM_Outptr_ void **ppvObject);
3627 
3628  ULONG ( STDMETHODCALLTYPE *AddRef )(
3629  ID3D12Pageable * This);
3630 
3631  ULONG ( STDMETHODCALLTYPE *Release )(
3632  ID3D12Pageable * This);
3633 
3634  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3635  ID3D12Pageable * This,
3636  _In_ REFGUID guid,
3637  _Inout_ UINT *pDataSize,
3638  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
3639 
3640  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3641  ID3D12Pageable * This,
3642  _In_ REFGUID guid,
3643  _In_ UINT DataSize,
3644  _In_reads_bytes_opt_( DataSize ) const void *pData);
3645 
3646  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3647  ID3D12Pageable * This,
3648  _In_ REFGUID guid,
3649  _In_opt_ const IUnknown *pData);
3650 
3651  HRESULT ( STDMETHODCALLTYPE *SetName )(
3652  ID3D12Pageable * This,
3653  _In_z_ LPCWSTR Name);
3654 
3655  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
3656  ID3D12Pageable * This,
3657  REFIID riid,
3658  _COM_Outptr_opt_ void **ppvDevice);
3659 
3660  END_INTERFACE
3662 
3663  interface ID3D12Pageable
3664  {
3665  CONST_VTBL struct ID3D12PageableVtbl *lpVtbl;
3666  };
3667 
3668 
3669 
3670 #ifdef COBJMACROS
3671 
3672 
3673 #define ID3D12Pageable_QueryInterface(This,riid,ppvObject) \
3674  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3675 
3676 #define ID3D12Pageable_AddRef(This) \
3677  ( (This)->lpVtbl -> AddRef(This) )
3678 
3679 #define ID3D12Pageable_Release(This) \
3680  ( (This)->lpVtbl -> Release(This) )
3681 
3682 
3683 #define ID3D12Pageable_GetPrivateData(This,guid,pDataSize,pData) \
3684  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
3685 
3686 #define ID3D12Pageable_SetPrivateData(This,guid,DataSize,pData) \
3687  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
3688 
3689 #define ID3D12Pageable_SetPrivateDataInterface(This,guid,pData) \
3690  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
3691 
3692 #define ID3D12Pageable_SetName(This,Name) \
3693  ( (This)->lpVtbl -> SetName(This,Name) )
3694 
3695 
3696 #define ID3D12Pageable_GetDevice(This,riid,ppvDevice) \
3697  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
3698 
3699 
3700 #endif /* COBJMACROS */
3701 
3702 
3703 #endif /* C style interface */
3704 
3705 
3706 
3707 
3708 #endif /* __ID3D12Pageable_INTERFACE_DEFINED__ */
3709 
3710 
3711 #ifndef __ID3D12Heap_INTERFACE_DEFINED__
3712 #define __ID3D12Heap_INTERFACE_DEFINED__
3713 
3714 /* interface ID3D12Heap */
3715 /* [unique][local][object][uuid] */
3716 
3717 
3718 EXTERN_C const IID IID_ID3D12Heap;
3719 
3720 #if defined(__cplusplus) && !defined(CINTERFACE)
3721 
3722  MIDL_INTERFACE("6b3b2502-6e51-45b3-90ee-9884265e8df3")
3723  ID3D12Heap : public ID3D12Pageable
3724  {
3725  public:
3726  virtual D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
3727 
3728  };
3729 
3730 
3731 #else /* C style interface */
3732 
3733  typedef struct ID3D12HeapVtbl
3734  {
3735  BEGIN_INTERFACE
3736 
3737  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3738  ID3D12Heap * This,
3739  REFIID riid,
3740  _COM_Outptr_ void **ppvObject);
3741 
3742  ULONG ( STDMETHODCALLTYPE *AddRef )(
3743  ID3D12Heap * This);
3744 
3745  ULONG ( STDMETHODCALLTYPE *Release )(
3746  ID3D12Heap * This);
3747 
3748  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3749  ID3D12Heap * This,
3750  _In_ REFGUID guid,
3751  _Inout_ UINT *pDataSize,
3752  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
3753 
3754  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3755  ID3D12Heap * This,
3756  _In_ REFGUID guid,
3757  _In_ UINT DataSize,
3758  _In_reads_bytes_opt_( DataSize ) const void *pData);
3759 
3760  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3761  ID3D12Heap * This,
3762  _In_ REFGUID guid,
3763  _In_opt_ const IUnknown *pData);
3764 
3765  HRESULT ( STDMETHODCALLTYPE *SetName )(
3766  ID3D12Heap * This,
3767  _In_z_ LPCWSTR Name);
3768 
3769  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
3770  ID3D12Heap * This,
3771  REFIID riid,
3772  _COM_Outptr_opt_ void **ppvDevice);
3773 
3774  D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
3775  ID3D12Heap * This);
3776 
3777  END_INTERFACE
3778  } ID3D12HeapVtbl;
3779 
3780  interface ID3D12Heap
3781  {
3782  CONST_VTBL struct ID3D12HeapVtbl *lpVtbl;
3783  };
3784 
3785 
3786 
3787 #ifdef COBJMACROS
3788 
3789 
3790 #define ID3D12Heap_QueryInterface(This,riid,ppvObject) \
3791  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3792 
3793 #define ID3D12Heap_AddRef(This) \
3794  ( (This)->lpVtbl -> AddRef(This) )
3795 
3796 #define ID3D12Heap_Release(This) \
3797  ( (This)->lpVtbl -> Release(This) )
3798 
3799 
3800 #define ID3D12Heap_GetPrivateData(This,guid,pDataSize,pData) \
3801  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
3802 
3803 #define ID3D12Heap_SetPrivateData(This,guid,DataSize,pData) \
3804  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
3805 
3806 #define ID3D12Heap_SetPrivateDataInterface(This,guid,pData) \
3807  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
3808 
3809 #define ID3D12Heap_SetName(This,Name) \
3810  ( (This)->lpVtbl -> SetName(This,Name) )
3811 
3812 
3813 #define ID3D12Heap_GetDevice(This,riid,ppvDevice) \
3814  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
3815 
3816 
3817 
3818 #define ID3D12Heap_GetDesc(This) \
3819  ( (This)->lpVtbl -> GetDesc(This) )
3820 
3821 #endif /* COBJMACROS */
3822 
3823 
3824 #endif /* C style interface */
3825 
3826 
3827 
3828 
3829 
3830 
3831 
3832 
3833 #endif /* __ID3D12Heap_INTERFACE_DEFINED__ */
3834 
3835 
3836 #ifndef __ID3D12Resource_INTERFACE_DEFINED__
3837 #define __ID3D12Resource_INTERFACE_DEFINED__
3838 
3839 /* interface ID3D12Resource */
3840 /* [unique][local][object][uuid] */
3841 
3842 
3843 EXTERN_C const IID IID_ID3D12Resource;
3844 
3845 #if defined(__cplusplus) && !defined(CINTERFACE)
3846 
3847  MIDL_INTERFACE("696442be-a72e-4059-bc79-5b5c98040fad")
3849  {
3850  public:
3851  virtual HRESULT STDMETHODCALLTYPE Map(
3852  UINT Subresource,
3853  _In_opt_ const D3D12_RANGE *pReadRange,
3854  _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData) = 0;
3855 
3856  virtual void STDMETHODCALLTYPE Unmap(
3857  UINT Subresource,
3858  _In_opt_ const D3D12_RANGE *pWrittenRange) = 0;
3859 
3860  virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
3861 
3862  virtual D3D12_GPU_VIRTUAL_ADDRESS STDMETHODCALLTYPE GetGPUVirtualAddress( void) = 0;
3863 
3864  virtual HRESULT STDMETHODCALLTYPE WriteToSubresource(
3865  UINT DstSubresource,
3866  _In_opt_ const D3D12_BOX *pDstBox,
3867  _In_ const void *pSrcData,
3868  UINT SrcRowPitch,
3869  UINT SrcDepthPitch) = 0;
3870 
3871  virtual HRESULT STDMETHODCALLTYPE ReadFromSubresource(
3872  _Out_ void *pDstData,
3873  UINT DstRowPitch,
3874  UINT DstDepthPitch,
3875  UINT SrcSubresource,
3876  _In_opt_ const D3D12_BOX *pSrcBox) = 0;
3877 
3878  virtual HRESULT STDMETHODCALLTYPE GetHeapProperties(
3879  _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
3880  _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags) = 0;
3881 
3882  };
3883 
3884 
3885 #else /* C style interface */
3886 
3887  typedef struct ID3D12ResourceVtbl
3888  {
3889  BEGIN_INTERFACE
3890 
3891  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3892  ID3D12Resource * This,
3893  REFIID riid,
3894  _COM_Outptr_ void **ppvObject);
3895 
3896  ULONG ( STDMETHODCALLTYPE *AddRef )(
3897  ID3D12Resource * This);
3898 
3899  ULONG ( STDMETHODCALLTYPE *Release )(
3900  ID3D12Resource * This);
3901 
3902  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3903  ID3D12Resource * This,
3904  _In_ REFGUID guid,
3905  _Inout_ UINT *pDataSize,
3906  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
3907 
3908  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3909  ID3D12Resource * This,
3910  _In_ REFGUID guid,
3911  _In_ UINT DataSize,
3912  _In_reads_bytes_opt_( DataSize ) const void *pData);
3913 
3914  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3915  ID3D12Resource * This,
3916  _In_ REFGUID guid,
3917  _In_opt_ const IUnknown *pData);
3918 
3919  HRESULT ( STDMETHODCALLTYPE *SetName )(
3920  ID3D12Resource * This,
3921  _In_z_ LPCWSTR Name);
3922 
3923  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
3924  ID3D12Resource * This,
3925  REFIID riid,
3926  _COM_Outptr_opt_ void **ppvDevice);
3927 
3928  HRESULT ( STDMETHODCALLTYPE *Map )(
3929  ID3D12Resource * This,
3931  _In_opt_ const D3D12_RANGE *pReadRange,
3932  _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
3933 
3934  void ( STDMETHODCALLTYPE *Unmap )(
3935  ID3D12Resource * This,
3936  UINT Subresource,
3937  _In_opt_ const D3D12_RANGE *pWrittenRange);
3938 
3939  D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
3940  ID3D12Resource * This);
3941 
3942  D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
3943  ID3D12Resource * This);
3944 
3945  HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
3946  ID3D12Resource * This,
3947  UINT DstSubresource,
3948  _In_opt_ const D3D12_BOX *pDstBox,
3949  _In_ const void *pSrcData,
3950  UINT SrcRowPitch,
3951  UINT SrcDepthPitch);
3952 
3953  HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
3954  ID3D12Resource * This,
3955  _Out_ void *pDstData,
3956  UINT DstRowPitch,
3957  UINT DstDepthPitch,
3958  UINT SrcSubresource,
3959  _In_opt_ const D3D12_BOX *pSrcBox);
3960 
3961  HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
3962  ID3D12Resource * This,
3963  _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
3964  _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
3965 
3966  END_INTERFACE
3968 
3969  interface ID3D12Resource
3970  {
3971  CONST_VTBL struct ID3D12ResourceVtbl *lpVtbl;
3972  };
3973 
3974 
3975 
3976 #ifdef COBJMACROS
3977 
3978 
3979 #define ID3D12Resource_QueryInterface(This,riid,ppvObject) \
3980  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3981 
3982 #define ID3D12Resource_AddRef(This) \
3983  ( (This)->lpVtbl -> AddRef(This) )
3984 
3985 #define ID3D12Resource_Release(This) \
3986  ( (This)->lpVtbl -> Release(This) )
3987 
3988 
3989 #define ID3D12Resource_GetPrivateData(This,guid,pDataSize,pData) \
3990  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
3991 
3992 #define ID3D12Resource_SetPrivateData(This,guid,DataSize,pData) \
3993  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
3994 
3995 #define ID3D12Resource_SetPrivateDataInterface(This,guid,pData) \
3996  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
3997 
3998 #define ID3D12Resource_SetName(This,Name) \
3999  ( (This)->lpVtbl -> SetName(This,Name) )
4000 
4001 
4002 #define ID3D12Resource_GetDevice(This,riid,ppvDevice) \
4003  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
4004 
4005 
4006 
4007 #define ID3D12Resource_Map(This,Subresource,pReadRange,ppData) \
4008  ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
4009 
4010 #define ID3D12Resource_Unmap(This,Subresource,pWrittenRange) \
4011  ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
4012 
4013 #define ID3D12Resource_GetDesc(This) \
4014  ( (This)->lpVtbl -> GetDesc(This) )
4015 
4016 #define ID3D12Resource_GetGPUVirtualAddress(This) \
4017  ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
4018 
4019 #define ID3D12Resource_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
4020  ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
4021 
4022 #define ID3D12Resource_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
4023  ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
4024 
4025 #define ID3D12Resource_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
4026  ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
4027 
4028 #endif /* COBJMACROS */
4029 
4030 
4031 #endif /* C style interface */
4032 
4033 
4034 
4035 
4036 
4037 
4038 
4039 
4040 #endif /* __ID3D12Resource_INTERFACE_DEFINED__ */
4041 
4042 
4043 #ifndef __ID3D12CommandAllocator_INTERFACE_DEFINED__
4044 #define __ID3D12CommandAllocator_INTERFACE_DEFINED__
4045 
4046 /* interface ID3D12CommandAllocator */
4047 /* [unique][local][object][uuid] */
4048 
4049 
4050 EXTERN_C const IID IID_ID3D12CommandAllocator;
4051 
4052 #if defined(__cplusplus) && !defined(CINTERFACE)
4053 
4054  MIDL_INTERFACE("6102dee4-af59-4b09-b999-b44d73f09b24")
4056  {
4057  public:
4058  virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
4059 
4060  };
4061 
4062 
4063 #else /* C style interface */
4064 
4066  {
4067  BEGIN_INTERFACE
4068 
4069  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4070  ID3D12CommandAllocator * This,
4071  REFIID riid,
4072  _COM_Outptr_ void **ppvObject);
4073 
4074  ULONG ( STDMETHODCALLTYPE *AddRef )(
4075  ID3D12CommandAllocator * This);
4076 
4077  ULONG ( STDMETHODCALLTYPE *Release )(
4078  ID3D12CommandAllocator * This);
4079 
4080  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4081  ID3D12CommandAllocator * This,
4082  _In_ REFGUID guid,
4083  _Inout_ UINT *pDataSize,
4084  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4085 
4086  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4087  ID3D12CommandAllocator * This,
4088  _In_ REFGUID guid,
4089  _In_ UINT DataSize,
4090  _In_reads_bytes_opt_( DataSize ) const void *pData);
4091 
4092  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4093  ID3D12CommandAllocator * This,
4094  _In_ REFGUID guid,
4095  _In_opt_ const IUnknown *pData);
4096 
4097  HRESULT ( STDMETHODCALLTYPE *SetName )(
4098  ID3D12CommandAllocator * This,
4099  _In_z_ LPCWSTR Name);
4100 
4101  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
4102  ID3D12CommandAllocator * This,
4103  REFIID riid,
4104  _COM_Outptr_opt_ void **ppvDevice);
4105 
4106  HRESULT ( STDMETHODCALLTYPE *Reset )(
4107  ID3D12CommandAllocator * This);
4108 
4109  END_INTERFACE
4111 
4112  interface ID3D12CommandAllocator
4113  {
4114  CONST_VTBL struct ID3D12CommandAllocatorVtbl *lpVtbl;
4115  };
4116 
4117 
4118 
4119 #ifdef COBJMACROS
4120 
4121 
4122 #define ID3D12CommandAllocator_QueryInterface(This,riid,ppvObject) \
4123  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4124 
4125 #define ID3D12CommandAllocator_AddRef(This) \
4126  ( (This)->lpVtbl -> AddRef(This) )
4127 
4128 #define ID3D12CommandAllocator_Release(This) \
4129  ( (This)->lpVtbl -> Release(This) )
4130 
4131 
4132 #define ID3D12CommandAllocator_GetPrivateData(This,guid,pDataSize,pData) \
4133  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4134 
4135 #define ID3D12CommandAllocator_SetPrivateData(This,guid,DataSize,pData) \
4136  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4137 
4138 #define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,pData) \
4139  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4140 
4141 #define ID3D12CommandAllocator_SetName(This,Name) \
4142  ( (This)->lpVtbl -> SetName(This,Name) )
4143 
4144 
4145 #define ID3D12CommandAllocator_GetDevice(This,riid,ppvDevice) \
4146  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
4147 
4148 
4149 
4150 #define ID3D12CommandAllocator_Reset(This) \
4151  ( (This)->lpVtbl -> Reset(This) )
4152 
4153 #endif /* COBJMACROS */
4154 
4155 
4156 #endif /* C style interface */
4157 
4158 
4159 
4160 
4161 #endif /* __ID3D12CommandAllocator_INTERFACE_DEFINED__ */
4162 
4163 
4164 #ifndef __ID3D12Fence_INTERFACE_DEFINED__
4165 #define __ID3D12Fence_INTERFACE_DEFINED__
4166 
4167 /* interface ID3D12Fence */
4168 /* [unique][local][object][uuid] */
4169 
4170 
4171 EXTERN_C const IID IID_ID3D12Fence;
4172 
4173 #if defined(__cplusplus) && !defined(CINTERFACE)
4174 
4175  MIDL_INTERFACE("0a753dcf-c4d8-4b91-adf6-be5a60d95a76")
4176  ID3D12Fence : public ID3D12Pageable
4177  {
4178  public:
4179  virtual UINT64 STDMETHODCALLTYPE GetCompletedValue( void) = 0;
4180 
4181  virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion(
4182  UINT64 Value,
4183  HANDLE hEvent) = 0;
4184 
4185  virtual HRESULT STDMETHODCALLTYPE Signal(
4186  UINT64 Value) = 0;
4187 
4188  };
4189 
4190 
4191 #else /* C style interface */
4192 
4193  typedef struct ID3D12FenceVtbl
4194  {
4195  BEGIN_INTERFACE
4196 
4197  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4198  ID3D12Fence * This,
4199  REFIID riid,
4200  _COM_Outptr_ void **ppvObject);
4201 
4202  ULONG ( STDMETHODCALLTYPE *AddRef )(
4203  ID3D12Fence * This);
4204 
4205  ULONG ( STDMETHODCALLTYPE *Release )(
4206  ID3D12Fence * This);
4207 
4208  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4209  ID3D12Fence * This,
4210  _In_ REFGUID guid,
4211  _Inout_ UINT *pDataSize,
4212  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4213 
4214  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4215  ID3D12Fence * This,
4216  _In_ REFGUID guid,
4217  _In_ UINT DataSize,
4218  _In_reads_bytes_opt_( DataSize ) const void *pData);
4219 
4220  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4221  ID3D12Fence * This,
4222  _In_ REFGUID guid,
4223  _In_opt_ const IUnknown *pData);
4224 
4225  HRESULT ( STDMETHODCALLTYPE *SetName )(
4226  ID3D12Fence * This,
4227  _In_z_ LPCWSTR Name);
4228 
4229  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
4230  ID3D12Fence * This,
4231  REFIID riid,
4232  _COM_Outptr_opt_ void **ppvDevice);
4233 
4234  UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )(
4235  ID3D12Fence * This);
4236 
4237  HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )(
4238  ID3D12Fence * This,
4240  HANDLE hEvent);
4241 
4242  HRESULT ( STDMETHODCALLTYPE *Signal )(
4243  ID3D12Fence * This,
4244  UINT64 Value);
4245 
4246  END_INTERFACE
4247  } ID3D12FenceVtbl;
4248 
4249  interface ID3D12Fence
4250  {
4251  CONST_VTBL struct ID3D12FenceVtbl *lpVtbl;
4252  };
4253 
4254 
4255 
4256 #ifdef COBJMACROS
4257 
4258 
4259 #define ID3D12Fence_QueryInterface(This,riid,ppvObject) \
4260  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4261 
4262 #define ID3D12Fence_AddRef(This) \
4263  ( (This)->lpVtbl -> AddRef(This) )
4264 
4265 #define ID3D12Fence_Release(This) \
4266  ( (This)->lpVtbl -> Release(This) )
4267 
4268 
4269 #define ID3D12Fence_GetPrivateData(This,guid,pDataSize,pData) \
4270  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4271 
4272 #define ID3D12Fence_SetPrivateData(This,guid,DataSize,pData) \
4273  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4274 
4275 #define ID3D12Fence_SetPrivateDataInterface(This,guid,pData) \
4276  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4277 
4278 #define ID3D12Fence_SetName(This,Name) \
4279  ( (This)->lpVtbl -> SetName(This,Name) )
4280 
4281 
4282 #define ID3D12Fence_GetDevice(This,riid,ppvDevice) \
4283  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
4284 
4285 
4286 
4287 #define ID3D12Fence_GetCompletedValue(This) \
4288  ( (This)->lpVtbl -> GetCompletedValue(This) )
4289 
4290 #define ID3D12Fence_SetEventOnCompletion(This,Value,hEvent) \
4291  ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) )
4292 
4293 #define ID3D12Fence_Signal(This,Value) \
4294  ( (This)->lpVtbl -> Signal(This,Value) )
4295 
4296 #endif /* COBJMACROS */
4297 
4298 
4299 #endif /* C style interface */
4300 
4301 
4302 
4303 
4304 #endif /* __ID3D12Fence_INTERFACE_DEFINED__ */
4305 
4306 
4307 #ifndef __ID3D12Fence1_INTERFACE_DEFINED__
4308 #define __ID3D12Fence1_INTERFACE_DEFINED__
4309 
4310 /* interface ID3D12Fence1 */
4311 /* [unique][local][object][uuid] */
4312 
4313 
4314 EXTERN_C const IID IID_ID3D12Fence1;
4315 
4316 #if defined(__cplusplus) && !defined(CINTERFACE)
4317 
4318  MIDL_INTERFACE("433685fe-e22b-4ca0-a8db-b5b4f4dd0e4a")
4319  ID3D12Fence1 : public ID3D12Fence
4320  {
4321  public:
4322  virtual D3D12_FENCE_FLAGS STDMETHODCALLTYPE GetCreationFlags( void) = 0;
4323 
4324  };
4325 
4326 
4327 #else /* C style interface */
4328 
4329  typedef struct ID3D12Fence1Vtbl
4330  {
4331  BEGIN_INTERFACE
4332 
4333  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4334  ID3D12Fence1 * This,
4335  REFIID riid,
4336  _COM_Outptr_ void **ppvObject);
4337 
4338  ULONG ( STDMETHODCALLTYPE *AddRef )(
4339  ID3D12Fence1 * This);
4340 
4341  ULONG ( STDMETHODCALLTYPE *Release )(
4342  ID3D12Fence1 * This);
4343 
4344  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4345  ID3D12Fence1 * This,
4346  _In_ REFGUID guid,
4347  _Inout_ UINT *pDataSize,
4348  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4349 
4350  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4351  ID3D12Fence1 * This,
4352  _In_ REFGUID guid,
4353  _In_ UINT DataSize,
4354  _In_reads_bytes_opt_( DataSize ) const void *pData);
4355 
4356  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4357  ID3D12Fence1 * This,
4358  _In_ REFGUID guid,
4359  _In_opt_ const IUnknown *pData);
4360 
4361  HRESULT ( STDMETHODCALLTYPE *SetName )(
4362  ID3D12Fence1 * This,
4363  _In_z_ LPCWSTR Name);
4364 
4365  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
4366  ID3D12Fence1 * This,
4367  REFIID riid,
4368  _COM_Outptr_opt_ void **ppvDevice);
4369 
4370  UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )(
4371  ID3D12Fence1 * This);
4372 
4373  HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )(
4374  ID3D12Fence1 * This,
4376  HANDLE hEvent);
4377 
4378  HRESULT ( STDMETHODCALLTYPE *Signal )(
4379  ID3D12Fence1 * This,
4380  UINT64 Value);
4381 
4382  D3D12_FENCE_FLAGS ( STDMETHODCALLTYPE *GetCreationFlags )(
4383  ID3D12Fence1 * This);
4384 
4385  END_INTERFACE
4386  } ID3D12Fence1Vtbl;
4387 
4388  interface ID3D12Fence1
4389  {
4390  CONST_VTBL struct ID3D12Fence1Vtbl *lpVtbl;
4391  };
4392 
4393 
4394 
4395 #ifdef COBJMACROS
4396 
4397 
4398 #define ID3D12Fence1_QueryInterface(This,riid,ppvObject) \
4399  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4400 
4401 #define ID3D12Fence1_AddRef(This) \
4402  ( (This)->lpVtbl -> AddRef(This) )
4403 
4404 #define ID3D12Fence1_Release(This) \
4405  ( (This)->lpVtbl -> Release(This) )
4406 
4407 
4408 #define ID3D12Fence1_GetPrivateData(This,guid,pDataSize,pData) \
4409  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4410 
4411 #define ID3D12Fence1_SetPrivateData(This,guid,DataSize,pData) \
4412  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4413 
4414 #define ID3D12Fence1_SetPrivateDataInterface(This,guid,pData) \
4415  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4416 
4417 #define ID3D12Fence1_SetName(This,Name) \
4418  ( (This)->lpVtbl -> SetName(This,Name) )
4419 
4420 
4421 #define ID3D12Fence1_GetDevice(This,riid,ppvDevice) \
4422  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
4423 
4424 
4425 
4426 #define ID3D12Fence1_GetCompletedValue(This) \
4427  ( (This)->lpVtbl -> GetCompletedValue(This) )
4428 
4429 #define ID3D12Fence1_SetEventOnCompletion(This,Value,hEvent) \
4430  ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) )
4431 
4432 #define ID3D12Fence1_Signal(This,Value) \
4433  ( (This)->lpVtbl -> Signal(This,Value) )
4434 
4435 
4436 #define ID3D12Fence1_GetCreationFlags(This) \
4437  ( (This)->lpVtbl -> GetCreationFlags(This) )
4438 
4439 #endif /* COBJMACROS */
4440 
4441 
4442 #endif /* C style interface */
4443 
4444 
4445 
4446 
4447 #endif /* __ID3D12Fence1_INTERFACE_DEFINED__ */
4448 
4449 
4450 #ifndef __ID3D12PipelineState_INTERFACE_DEFINED__
4451 #define __ID3D12PipelineState_INTERFACE_DEFINED__
4452 
4453 /* interface ID3D12PipelineState */
4454 /* [unique][local][object][uuid] */
4455 
4456 
4457 EXTERN_C const IID IID_ID3D12PipelineState;
4458 
4459 #if defined(__cplusplus) && !defined(CINTERFACE)
4460 
4461  MIDL_INTERFACE("765a30f3-f624-4c6f-a828-ace948622445")
4463  {
4464  public:
4465  virtual HRESULT STDMETHODCALLTYPE GetCachedBlob(
4466  _COM_Outptr_ ID3DBlob **ppBlob) = 0;
4467 
4468  };
4469 
4470 
4471 #else /* C style interface */
4472 
4474  {
4475  BEGIN_INTERFACE
4476 
4477  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4478  ID3D12PipelineState * This,
4479  REFIID riid,
4480  _COM_Outptr_ void **ppvObject);
4481 
4482  ULONG ( STDMETHODCALLTYPE *AddRef )(
4483  ID3D12PipelineState * This);
4484 
4485  ULONG ( STDMETHODCALLTYPE *Release )(
4486  ID3D12PipelineState * This);
4487 
4488  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4489  ID3D12PipelineState * This,
4490  _In_ REFGUID guid,
4491  _Inout_ UINT *pDataSize,
4492  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4493 
4494  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4495  ID3D12PipelineState * This,
4496  _In_ REFGUID guid,
4497  _In_ UINT DataSize,
4498  _In_reads_bytes_opt_( DataSize ) const void *pData);
4499 
4500  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4501  ID3D12PipelineState * This,
4502  _In_ REFGUID guid,
4503  _In_opt_ const IUnknown *pData);
4504 
4505  HRESULT ( STDMETHODCALLTYPE *SetName )(
4506  ID3D12PipelineState * This,
4507  _In_z_ LPCWSTR Name);
4508 
4509  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
4510  ID3D12PipelineState * This,
4511  REFIID riid,
4512  _COM_Outptr_opt_ void **ppvDevice);
4513 
4514  HRESULT ( STDMETHODCALLTYPE *GetCachedBlob )(
4515  ID3D12PipelineState * This,
4516  _COM_Outptr_ ID3DBlob **ppBlob);
4517 
4518  END_INTERFACE
4520 
4521  interface ID3D12PipelineState
4522  {
4523  CONST_VTBL struct ID3D12PipelineStateVtbl *lpVtbl;
4524  };
4525 
4526 
4527 
4528 #ifdef COBJMACROS
4529 
4530 
4531 #define ID3D12PipelineState_QueryInterface(This,riid,ppvObject) \
4532  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4533 
4534 #define ID3D12PipelineState_AddRef(This) \
4535  ( (This)->lpVtbl -> AddRef(This) )
4536 
4537 #define ID3D12PipelineState_Release(This) \
4538  ( (This)->lpVtbl -> Release(This) )
4539 
4540 
4541 #define ID3D12PipelineState_GetPrivateData(This,guid,pDataSize,pData) \
4542  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4543 
4544 #define ID3D12PipelineState_SetPrivateData(This,guid,DataSize,pData) \
4545  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4546 
4547 #define ID3D12PipelineState_SetPrivateDataInterface(This,guid,pData) \
4548  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4549 
4550 #define ID3D12PipelineState_SetName(This,Name) \
4551  ( (This)->lpVtbl -> SetName(This,Name) )
4552 
4553 
4554 #define ID3D12PipelineState_GetDevice(This,riid,ppvDevice) \
4555  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
4556 
4557 
4558 
4559 #define ID3D12PipelineState_GetCachedBlob(This,ppBlob) \
4560  ( (This)->lpVtbl -> GetCachedBlob(This,ppBlob) )
4561 
4562 #endif /* COBJMACROS */
4563 
4564 
4565 #endif /* C style interface */
4566 
4567 
4568 
4569 
4570 #endif /* __ID3D12PipelineState_INTERFACE_DEFINED__ */
4571 
4572 
4573 #ifndef __ID3D12DescriptorHeap_INTERFACE_DEFINED__
4574 #define __ID3D12DescriptorHeap_INTERFACE_DEFINED__
4575 
4576 /* interface ID3D12DescriptorHeap */
4577 /* [unique][local][object][uuid] */
4578 
4579 
4580 EXTERN_C const IID IID_ID3D12DescriptorHeap;
4581 
4582 #if defined(__cplusplus) && !defined(CINTERFACE)
4583 
4584  MIDL_INTERFACE("8efb471d-616c-4f49-90f7-127bb763fa51")
4586  {
4587  public:
4588  virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
4589 
4590  virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart( void) = 0;
4591 
4592  virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart( void) = 0;
4593 
4594  };
4595 
4596 
4597 #else /* C style interface */
4598 
4600  {
4601  BEGIN_INTERFACE
4602 
4603  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4604  ID3D12DescriptorHeap * This,
4605  REFIID riid,
4606  _COM_Outptr_ void **ppvObject);
4607 
4608  ULONG ( STDMETHODCALLTYPE *AddRef )(
4609  ID3D12DescriptorHeap * This);
4610 
4611  ULONG ( STDMETHODCALLTYPE *Release )(
4612  ID3D12DescriptorHeap * This);
4613 
4614  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4615  ID3D12DescriptorHeap * This,
4616  _In_ REFGUID guid,
4617  _Inout_ UINT *pDataSize,
4618  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4619 
4620  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4621  ID3D12DescriptorHeap * This,
4622  _In_ REFGUID guid,
4623  _In_ UINT DataSize,
4624  _In_reads_bytes_opt_( DataSize ) const void *pData);
4625 
4626  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4627  ID3D12DescriptorHeap * This,
4628  _In_ REFGUID guid,
4629  _In_opt_ const IUnknown *pData);
4630 
4631  HRESULT ( STDMETHODCALLTYPE *SetName )(
4632  ID3D12DescriptorHeap * This,
4633  _In_z_ LPCWSTR Name);
4634 
4635  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
4636  ID3D12DescriptorHeap * This,
4637  REFIID riid,
4638  _COM_Outptr_opt_ void **ppvDevice);
4639 
4640  D3D12_DESCRIPTOR_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
4641  ID3D12DescriptorHeap * This);
4642 
4643  D3D12_CPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )(
4644  ID3D12DescriptorHeap * This);
4645 
4646  D3D12_GPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )(
4647  ID3D12DescriptorHeap * This);
4648 
4649  END_INTERFACE
4651 
4652  interface ID3D12DescriptorHeap
4653  {
4654  CONST_VTBL struct ID3D12DescriptorHeapVtbl *lpVtbl;
4655  };
4656 
4657 
4658 
4659 #ifdef COBJMACROS
4660 
4661 
4662 #define ID3D12DescriptorHeap_QueryInterface(This,riid,ppvObject) \
4663  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4664 
4665 #define ID3D12DescriptorHeap_AddRef(This) \
4666  ( (This)->lpVtbl -> AddRef(This) )
4667 
4668 #define ID3D12DescriptorHeap_Release(This) \
4669  ( (This)->lpVtbl -> Release(This) )
4670 
4671 
4672 #define ID3D12DescriptorHeap_GetPrivateData(This,guid,pDataSize,pData) \
4673  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4674 
4675 #define ID3D12DescriptorHeap_SetPrivateData(This,guid,DataSize,pData) \
4676  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4677 
4678 #define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,pData) \
4679  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4680 
4681 #define ID3D12DescriptorHeap_SetName(This,Name) \
4682  ( (This)->lpVtbl -> SetName(This,Name) )
4683 
4684 
4685 #define ID3D12DescriptorHeap_GetDevice(This,riid,ppvDevice) \
4686  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
4687 
4688 
4689 
4690 #define ID3D12DescriptorHeap_GetDesc(This) \
4691  ( (This)->lpVtbl -> GetDesc(This) )
4692 
4693 #define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This) \
4694  ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This) )
4695 
4696 #define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) \
4697  ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This) )
4698 
4699 #endif /* COBJMACROS */
4700 
4701 
4702 #endif /* C style interface */
4703 
4704 
4705 
4706 
4707 
4708 
4709 
4710 
4711 
4712 
4713 
4714 
4715 
4716 
4717 
4718 
4719 #endif /* __ID3D12DescriptorHeap_INTERFACE_DEFINED__ */
4720 
4721 
4722 #ifndef __ID3D12QueryHeap_INTERFACE_DEFINED__
4723 #define __ID3D12QueryHeap_INTERFACE_DEFINED__
4724 
4725 /* interface ID3D12QueryHeap */
4726 /* [unique][local][object][uuid] */
4727 
4728 
4729 EXTERN_C const IID IID_ID3D12QueryHeap;
4730 
4731 #if defined(__cplusplus) && !defined(CINTERFACE)
4732 
4733  MIDL_INTERFACE("0d9658ae-ed45-469e-a61d-970ec583cab4")
4735  {
4736  public:
4737  };
4738 
4739 
4740 #else /* C style interface */
4741 
4742  typedef struct ID3D12QueryHeapVtbl
4743  {
4744  BEGIN_INTERFACE
4745 
4746  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4747  ID3D12QueryHeap * This,
4748  REFIID riid,
4749  _COM_Outptr_ void **ppvObject);
4750 
4751  ULONG ( STDMETHODCALLTYPE *AddRef )(
4752  ID3D12QueryHeap * This);
4753 
4754  ULONG ( STDMETHODCALLTYPE *Release )(
4755  ID3D12QueryHeap * This);
4756 
4757  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4758  ID3D12QueryHeap * This,
4759  _In_ REFGUID guid,
4760  _Inout_ UINT *pDataSize,
4761  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4762 
4763  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4764  ID3D12QueryHeap * This,
4765  _In_ REFGUID guid,
4766  _In_ UINT DataSize,
4767  _In_reads_bytes_opt_( DataSize ) const void *pData);
4768 
4769  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4770  ID3D12QueryHeap * This,
4771  _In_ REFGUID guid,
4772  _In_opt_ const IUnknown *pData);
4773 
4774  HRESULT ( STDMETHODCALLTYPE *SetName )(
4775  ID3D12QueryHeap * This,
4776  _In_z_ LPCWSTR Name);
4777 
4778  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
4779  ID3D12QueryHeap * This,
4780  REFIID riid,
4781  _COM_Outptr_opt_ void **ppvDevice);
4782 
4783  END_INTERFACE
4785 
4786  interface ID3D12QueryHeap
4787  {
4788  CONST_VTBL struct ID3D12QueryHeapVtbl *lpVtbl;
4789  };
4790 
4791 
4792 
4793 #ifdef COBJMACROS
4794 
4795 
4796 #define ID3D12QueryHeap_QueryInterface(This,riid,ppvObject) \
4797  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4798 
4799 #define ID3D12QueryHeap_AddRef(This) \
4800  ( (This)->lpVtbl -> AddRef(This) )
4801 
4802 #define ID3D12QueryHeap_Release(This) \
4803  ( (This)->lpVtbl -> Release(This) )
4804 
4805 
4806 #define ID3D12QueryHeap_GetPrivateData(This,guid,pDataSize,pData) \
4807  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4808 
4809 #define ID3D12QueryHeap_SetPrivateData(This,guid,DataSize,pData) \
4810  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4811 
4812 #define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,pData) \
4813  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4814 
4815 #define ID3D12QueryHeap_SetName(This,Name) \
4816  ( (This)->lpVtbl -> SetName(This,Name) )
4817 
4818 
4819 #define ID3D12QueryHeap_GetDevice(This,riid,ppvDevice) \
4820  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
4821 
4822 
4823 
4824 #endif /* COBJMACROS */
4825 
4826 
4827 #endif /* C style interface */
4828 
4829 
4830 
4831 
4832 #endif /* __ID3D12QueryHeap_INTERFACE_DEFINED__ */
4833 
4834 
4835 #ifndef __ID3D12CommandSignature_INTERFACE_DEFINED__
4836 #define __ID3D12CommandSignature_INTERFACE_DEFINED__
4837 
4838 /* interface ID3D12CommandSignature */
4839 /* [unique][local][object][uuid] */
4840 
4841 
4842 EXTERN_C const IID IID_ID3D12CommandSignature;
4843 
4844 #if defined(__cplusplus) && !defined(CINTERFACE)
4845 
4846  MIDL_INTERFACE("c36a797c-ec80-4f0a-8985-a7b2475082d1")
4848  {
4849  public:
4850  };
4851 
4852 
4853 #else /* C style interface */
4854 
4856  {
4857  BEGIN_INTERFACE
4858 
4859  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4860  ID3D12CommandSignature * This,
4861  REFIID riid,
4862  _COM_Outptr_ void **ppvObject);
4863 
4864  ULONG ( STDMETHODCALLTYPE *AddRef )(
4865  ID3D12CommandSignature * This);
4866 
4867  ULONG ( STDMETHODCALLTYPE *Release )(
4868  ID3D12CommandSignature * This);
4869 
4870  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4871  ID3D12CommandSignature * This,
4872  _In_ REFGUID guid,
4873  _Inout_ UINT *pDataSize,
4874  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4875 
4876  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4877  ID3D12CommandSignature * This,
4878  _In_ REFGUID guid,
4879  _In_ UINT DataSize,
4880  _In_reads_bytes_opt_( DataSize ) const void *pData);
4881 
4882  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4883  ID3D12CommandSignature * This,
4884  _In_ REFGUID guid,
4885  _In_opt_ const IUnknown *pData);
4886 
4887  HRESULT ( STDMETHODCALLTYPE *SetName )(
4888  ID3D12CommandSignature * This,
4889  _In_z_ LPCWSTR Name);
4890 
4891  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
4892  ID3D12CommandSignature * This,
4893  REFIID riid,
4894  _COM_Outptr_opt_ void **ppvDevice);
4895 
4896  END_INTERFACE
4898 
4899  interface ID3D12CommandSignature
4900  {
4901  CONST_VTBL struct ID3D12CommandSignatureVtbl *lpVtbl;
4902  };
4903 
4904 
4905 
4906 #ifdef COBJMACROS
4907 
4908 
4909 #define ID3D12CommandSignature_QueryInterface(This,riid,ppvObject) \
4910  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4911 
4912 #define ID3D12CommandSignature_AddRef(This) \
4913  ( (This)->lpVtbl -> AddRef(This) )
4914 
4915 #define ID3D12CommandSignature_Release(This) \
4916  ( (This)->lpVtbl -> Release(This) )
4917 
4918 
4919 #define ID3D12CommandSignature_GetPrivateData(This,guid,pDataSize,pData) \
4920  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4921 
4922 #define ID3D12CommandSignature_SetPrivateData(This,guid,DataSize,pData) \
4923  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4924 
4925 #define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,pData) \
4926  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4927 
4928 #define ID3D12CommandSignature_SetName(This,Name) \
4929  ( (This)->lpVtbl -> SetName(This,Name) )
4930 
4931 
4932 #define ID3D12CommandSignature_GetDevice(This,riid,ppvDevice) \
4933  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
4934 
4935 
4936 
4937 #endif /* COBJMACROS */
4938 
4939 
4940 #endif /* C style interface */
4941 
4942 
4943 
4944 
4945 #endif /* __ID3D12CommandSignature_INTERFACE_DEFINED__ */
4946 
4947 
4948 #ifndef __ID3D12CommandList_INTERFACE_DEFINED__
4949 #define __ID3D12CommandList_INTERFACE_DEFINED__
4950 
4951 /* interface ID3D12CommandList */
4952 /* [unique][local][object][uuid] */
4953 
4954 
4955 EXTERN_C const IID IID_ID3D12CommandList;
4956 
4957 #if defined(__cplusplus) && !defined(CINTERFACE)
4958 
4959  MIDL_INTERFACE("7116d91c-e7e4-47ce-b8c6-ec8168f437e5")
4961  {
4962  public:
4963  virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType( void) = 0;
4964 
4965  };
4966 
4967 
4968 #else /* C style interface */
4969 
4970  typedef struct ID3D12CommandListVtbl
4971  {
4972  BEGIN_INTERFACE
4973 
4974  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4975  ID3D12CommandList * This,
4976  REFIID riid,
4977  _COM_Outptr_ void **ppvObject);
4978 
4979  ULONG ( STDMETHODCALLTYPE *AddRef )(
4980  ID3D12CommandList * This);
4981 
4982  ULONG ( STDMETHODCALLTYPE *Release )(
4983  ID3D12CommandList * This);
4984 
4985  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4986  ID3D12CommandList * This,
4987  _In_ REFGUID guid,
4988  _Inout_ UINT *pDataSize,
4989  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4990 
4991  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4992  ID3D12CommandList * This,
4993  _In_ REFGUID guid,
4994  _In_ UINT DataSize,
4995  _In_reads_bytes_opt_( DataSize ) const void *pData);
4996 
4997  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4998  ID3D12CommandList * This,
4999  _In_ REFGUID guid,
5000  _In_opt_ const IUnknown *pData);
5001 
5002  HRESULT ( STDMETHODCALLTYPE *SetName )(
5003  ID3D12CommandList * This,
5004  _In_z_ LPCWSTR Name);
5005 
5006  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
5007  ID3D12CommandList * This,
5008  REFIID riid,
5009  _COM_Outptr_opt_ void **ppvDevice);
5010 
5011  D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
5012  ID3D12CommandList * This);
5013 
5014  END_INTERFACE
5016 
5017  interface ID3D12CommandList
5018  {
5019  CONST_VTBL struct ID3D12CommandListVtbl *lpVtbl;
5020  };
5021 
5022 
5023 
5024 #ifdef COBJMACROS
5025 
5026 
5027 #define ID3D12CommandList_QueryInterface(This,riid,ppvObject) \
5028  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5029 
5030 #define ID3D12CommandList_AddRef(This) \
5031  ( (This)->lpVtbl -> AddRef(This) )
5032 
5033 #define ID3D12CommandList_Release(This) \
5034  ( (This)->lpVtbl -> Release(This) )
5035 
5036 
5037 #define ID3D12CommandList_GetPrivateData(This,guid,pDataSize,pData) \
5038  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
5039 
5040 #define ID3D12CommandList_SetPrivateData(This,guid,DataSize,pData) \
5041  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
5042 
5043 #define ID3D12CommandList_SetPrivateDataInterface(This,guid,pData) \
5044  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
5045 
5046 #define ID3D12CommandList_SetName(This,Name) \
5047  ( (This)->lpVtbl -> SetName(This,Name) )
5048 
5049 
5050 #define ID3D12CommandList_GetDevice(This,riid,ppvDevice) \
5051  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
5052 
5053 
5054 #define ID3D12CommandList_GetType(This) \
5055  ( (This)->lpVtbl -> GetType(This) )
5056 
5057 #endif /* COBJMACROS */
5058 
5059 
5060 #endif /* C style interface */
5061 
5062 
5063 
5064 
5065 #endif /* __ID3D12CommandList_INTERFACE_DEFINED__ */
5066 
5067 
5068 #ifndef __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
5069 #define __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
5070 
5071 /* interface ID3D12GraphicsCommandList */
5072 /* [unique][local][object][uuid] */
5073 
5074 
5076 
5077 #if defined(__cplusplus) && !defined(CINTERFACE)
5078 
5079  MIDL_INTERFACE("5b160d0f-ac1b-4185-8ba8-b3ae42a5a455")
5081  {
5082  public:
5083  virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
5084 
5085  virtual HRESULT STDMETHODCALLTYPE Reset(
5086  _In_ ID3D12CommandAllocator *pAllocator,
5087  _In_opt_ ID3D12PipelineState *pInitialState) = 0;
5088 
5089  virtual void STDMETHODCALLTYPE ClearState(
5090  _In_opt_ ID3D12PipelineState *pPipelineState) = 0;
5091 
5092  virtual void STDMETHODCALLTYPE DrawInstanced(
5093  _In_ UINT VertexCountPerInstance,
5094  _In_ UINT InstanceCount,
5095  _In_ UINT StartVertexLocation,
5096  _In_ UINT StartInstanceLocation) = 0;
5097 
5098  virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
5099  _In_ UINT IndexCountPerInstance,
5100  _In_ UINT InstanceCount,
5101  _In_ UINT StartIndexLocation,
5102  _In_ INT BaseVertexLocation,
5103  _In_ UINT StartInstanceLocation) = 0;
5104 
5105  virtual void STDMETHODCALLTYPE Dispatch(
5106  _In_ UINT ThreadGroupCountX,
5107  _In_ UINT ThreadGroupCountY,
5108  _In_ UINT ThreadGroupCountZ) = 0;
5109 
5110  virtual void STDMETHODCALLTYPE CopyBufferRegion(
5111  _In_ ID3D12Resource *pDstBuffer,
5112  UINT64 DstOffset,
5113  _In_ ID3D12Resource *pSrcBuffer,
5114  UINT64 SrcOffset,
5115  UINT64 NumBytes) = 0;
5116 
5117  virtual void STDMETHODCALLTYPE CopyTextureRegion(
5118  _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
5119  UINT DstX,
5120  UINT DstY,
5121  UINT DstZ,
5122  _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
5123  _In_opt_ const D3D12_BOX *pSrcBox) = 0;
5124 
5125  virtual void STDMETHODCALLTYPE CopyResource(
5126  _In_ ID3D12Resource *pDstResource,
5127  _In_ ID3D12Resource *pSrcResource) = 0;
5128 
5129  virtual void STDMETHODCALLTYPE CopyTiles(
5130  _In_ ID3D12Resource *pTiledResource,
5131  _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
5132  _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
5133  _In_ ID3D12Resource *pBuffer,
5134  UINT64 BufferStartOffsetInBytes,
5135  D3D12_TILE_COPY_FLAGS Flags) = 0;
5136 
5137  virtual void STDMETHODCALLTYPE ResolveSubresource(
5138  _In_ ID3D12Resource *pDstResource,
5139  _In_ UINT DstSubresource,
5140  _In_ ID3D12Resource *pSrcResource,
5141  _In_ UINT SrcSubresource,
5142  _In_ DXGI_FORMAT Format) = 0;
5143 
5144  virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
5146 
5147  virtual void STDMETHODCALLTYPE RSSetViewports(
5149  _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports) = 0;
5150 
5151  virtual void STDMETHODCALLTYPE RSSetScissorRects(
5153  _In_reads_( NumRects) const D3D12_RECT *pRects) = 0;
5154 
5155  virtual void STDMETHODCALLTYPE OMSetBlendFactor(
5156  _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]) = 0;
5157 
5158  virtual void STDMETHODCALLTYPE OMSetStencilRef(
5159  _In_ UINT StencilRef) = 0;
5160 
5161  virtual void STDMETHODCALLTYPE SetPipelineState(
5162  _In_ ID3D12PipelineState *pPipelineState) = 0;
5163 
5164  virtual void STDMETHODCALLTYPE ResourceBarrier(
5165  _In_ UINT NumBarriers,
5166  _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0;
5167 
5168  virtual void STDMETHODCALLTYPE ExecuteBundle(
5169  _In_ ID3D12GraphicsCommandList *pCommandList) = 0;
5170 
5171  virtual void STDMETHODCALLTYPE SetDescriptorHeaps(
5172  _In_ UINT NumDescriptorHeaps,
5173  _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps) = 0;
5174 
5175  virtual void STDMETHODCALLTYPE SetComputeRootSignature(
5176  _In_opt_ ID3D12RootSignature *pRootSignature) = 0;
5177 
5178  virtual void STDMETHODCALLTYPE SetGraphicsRootSignature(
5179  _In_opt_ ID3D12RootSignature *pRootSignature) = 0;
5180 
5181  virtual void STDMETHODCALLTYPE SetComputeRootDescriptorTable(
5182  _In_ UINT RootParameterIndex,
5183  _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
5184 
5185  virtual void STDMETHODCALLTYPE SetGraphicsRootDescriptorTable(
5186  _In_ UINT RootParameterIndex,
5187  _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
5188 
5189  virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstant(
5190  _In_ UINT RootParameterIndex,
5191  _In_ UINT SrcData,
5192  _In_ UINT DestOffsetIn32BitValues) = 0;
5193 
5194  virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstant(
5195  _In_ UINT RootParameterIndex,
5196  _In_ UINT SrcData,
5197  _In_ UINT DestOffsetIn32BitValues) = 0;
5198 
5199  virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstants(
5200  _In_ UINT RootParameterIndex,
5201  _In_ UINT Num32BitValuesToSet,
5202  _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
5203  _In_ UINT DestOffsetIn32BitValues) = 0;
5204 
5205  virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstants(
5206  _In_ UINT RootParameterIndex,
5207  _In_ UINT Num32BitValuesToSet,
5208  _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
5209  _In_ UINT DestOffsetIn32BitValues) = 0;
5210 
5211  virtual void STDMETHODCALLTYPE SetComputeRootConstantBufferView(
5212  _In_ UINT RootParameterIndex,
5213  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
5214 
5215  virtual void STDMETHODCALLTYPE SetGraphicsRootConstantBufferView(
5216  _In_ UINT RootParameterIndex,
5217  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
5218 
5219  virtual void STDMETHODCALLTYPE SetComputeRootShaderResourceView(
5220  _In_ UINT RootParameterIndex,
5221  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
5222 
5223  virtual void STDMETHODCALLTYPE SetGraphicsRootShaderResourceView(
5224  _In_ UINT RootParameterIndex,
5225  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
5226 
5227  virtual void STDMETHODCALLTYPE SetComputeRootUnorderedAccessView(
5228  _In_ UINT RootParameterIndex,
5229  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
5230 
5231  virtual void STDMETHODCALLTYPE SetGraphicsRootUnorderedAccessView(
5232  _In_ UINT RootParameterIndex,
5233  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
5234 
5235  virtual void STDMETHODCALLTYPE IASetIndexBuffer(
5236  _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView) = 0;
5237 
5238  virtual void STDMETHODCALLTYPE IASetVertexBuffers(
5239  _In_ UINT StartSlot,
5240  _In_ UINT NumViews,
5241  _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews) = 0;
5242 
5243  virtual void STDMETHODCALLTYPE SOSetTargets(
5244  _In_ UINT StartSlot,
5245  _In_ UINT NumViews,
5246  _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews) = 0;
5247 
5248  virtual void STDMETHODCALLTYPE OMSetRenderTargets(
5249  _In_ UINT NumRenderTargetDescriptors,
5250  _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
5251  _In_ BOOL RTsSingleHandleToDescriptorRange,
5252  _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor) = 0;
5253 
5254  virtual void STDMETHODCALLTYPE ClearDepthStencilView(
5255  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
5256  _In_ D3D12_CLEAR_FLAGS ClearFlags,
5257  _In_ FLOAT Depth,
5258  _In_ UINT8 Stencil,
5259  _In_ UINT NumRects,
5260  _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
5261 
5262  virtual void STDMETHODCALLTYPE ClearRenderTargetView(
5263  _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
5264  _In_ const FLOAT ColorRGBA[ 4 ],
5265  _In_ UINT NumRects,
5266  _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
5267 
5268  virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
5269  _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
5270  _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
5271  _In_ ID3D12Resource *pResource,
5272  _In_ const UINT Values[ 4 ],
5273  _In_ UINT NumRects,
5274  _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
5275 
5276  virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
5277  _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
5278  _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
5279  _In_ ID3D12Resource *pResource,
5280  _In_ const FLOAT Values[ 4 ],
5281  _In_ UINT NumRects,
5282  _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
5283 
5284  virtual void STDMETHODCALLTYPE DiscardResource(
5285  _In_ ID3D12Resource *pResource,
5286  _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0;
5287 
5288  virtual void STDMETHODCALLTYPE BeginQuery(
5289  _In_ ID3D12QueryHeap *pQueryHeap,
5290  _In_ D3D12_QUERY_TYPE Type,
5291  _In_ UINT Index) = 0;
5292 
5293  virtual void STDMETHODCALLTYPE EndQuery(
5294  _In_ ID3D12QueryHeap *pQueryHeap,
5295  _In_ D3D12_QUERY_TYPE Type,
5296  _In_ UINT Index) = 0;
5297 
5298  virtual void STDMETHODCALLTYPE ResolveQueryData(
5299  _In_ ID3D12QueryHeap *pQueryHeap,
5300  _In_ D3D12_QUERY_TYPE Type,
5301  _In_ UINT StartIndex,
5302  _In_ UINT NumQueries,
5303  _In_ ID3D12Resource *pDestinationBuffer,
5304  _In_ UINT64 AlignedDestinationBufferOffset) = 0;
5305 
5306  virtual void STDMETHODCALLTYPE SetPredication(
5307  _In_opt_ ID3D12Resource *pBuffer,
5308  _In_ UINT64 AlignedBufferOffset,
5309  _In_ D3D12_PREDICATION_OP Operation) = 0;
5310 
5311  virtual void STDMETHODCALLTYPE SetMarker(
5312  UINT Metadata,
5313  _In_reads_bytes_opt_(Size) const void *pData,
5314  UINT Size) = 0;
5315 
5316  virtual void STDMETHODCALLTYPE BeginEvent(
5317  UINT Metadata,
5318  _In_reads_bytes_opt_(Size) const void *pData,
5319  UINT Size) = 0;
5320 
5321  virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
5322 
5323  virtual void STDMETHODCALLTYPE ExecuteIndirect(
5324  _In_ ID3D12CommandSignature *pCommandSignature,
5325  _In_ UINT MaxCommandCount,
5326  _In_ ID3D12Resource *pArgumentBuffer,
5327  _In_ UINT64 ArgumentBufferOffset,
5328  _In_opt_ ID3D12Resource *pCountBuffer,
5329  _In_ UINT64 CountBufferOffset) = 0;
5330 
5331  };
5332 
5333 
5334 #else /* C style interface */
5335 
5337  {
5338  BEGIN_INTERFACE
5339 
5340  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5342  REFIID riid,
5343  _COM_Outptr_ void **ppvObject);
5344 
5345  ULONG ( STDMETHODCALLTYPE *AddRef )(
5346  ID3D12GraphicsCommandList * This);
5347 
5348  ULONG ( STDMETHODCALLTYPE *Release )(
5349  ID3D12GraphicsCommandList * This);
5350 
5351  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5353  _In_ REFGUID guid,
5354  _Inout_ UINT *pDataSize,
5355  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
5356 
5357  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5359  _In_ REFGUID guid,
5360  _In_ UINT DataSize,
5361  _In_reads_bytes_opt_( DataSize ) const void *pData);
5362 
5363  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5365  _In_ REFGUID guid,
5366  _In_opt_ const IUnknown *pData);
5367 
5368  HRESULT ( STDMETHODCALLTYPE *SetName )(
5370  _In_z_ LPCWSTR Name);
5371 
5372  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
5374  REFIID riid,
5375  _COM_Outptr_opt_ void **ppvDevice);
5376 
5377  D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
5378  ID3D12GraphicsCommandList * This);
5379 
5380  HRESULT ( STDMETHODCALLTYPE *Close )(
5381  ID3D12GraphicsCommandList * This);
5382 
5383  HRESULT ( STDMETHODCALLTYPE *Reset )(
5385  _In_ ID3D12CommandAllocator *pAllocator,
5387 
5388  void ( STDMETHODCALLTYPE *ClearState )(
5391 
5392  void ( STDMETHODCALLTYPE *DrawInstanced )(
5395  _In_ UINT InstanceCount,
5396  _In_ UINT StartVertexLocation,
5397  _In_ UINT StartInstanceLocation);
5398 
5399  void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
5401  _In_ UINT IndexCountPerInstance,
5402  _In_ UINT InstanceCount,
5403  _In_ UINT StartIndexLocation,
5404  _In_ INT BaseVertexLocation,
5406 
5407  void ( STDMETHODCALLTYPE *Dispatch )(
5409  _In_ UINT ThreadGroupCountX,
5410  _In_ UINT ThreadGroupCountY,
5411  _In_ UINT ThreadGroupCountZ);
5412 
5413  void ( STDMETHODCALLTYPE *CopyBufferRegion )(
5415  _In_ ID3D12Resource *pDstBuffer,
5416  UINT64 DstOffset,
5417  _In_ ID3D12Resource *pSrcBuffer,
5418  UINT64 SrcOffset,
5419  UINT64 NumBytes);
5420 
5421  void ( STDMETHODCALLTYPE *CopyTextureRegion )(
5424  UINT DstX,
5425  UINT DstY,
5426  UINT DstZ,
5427  _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
5428  _In_opt_ const D3D12_BOX *pSrcBox);
5429 
5430  void ( STDMETHODCALLTYPE *CopyResource )(
5432  _In_ ID3D12Resource *pDstResource,
5434 
5435  void ( STDMETHODCALLTYPE *CopyTiles )(
5437  _In_ ID3D12Resource *pTiledResource,
5439  _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
5440  _In_ ID3D12Resource *pBuffer,
5441  UINT64 BufferStartOffsetInBytes,
5442  D3D12_TILE_COPY_FLAGS Flags);
5443 
5444  void ( STDMETHODCALLTYPE *ResolveSubresource )(
5446  _In_ ID3D12Resource *pDstResource,
5447  _In_ UINT DstSubresource,
5448  _In_ ID3D12Resource *pSrcResource,
5449  _In_ UINT SrcSubresource,
5450  _In_ DXGI_FORMAT Format);
5451 
5452  void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
5455 
5456  void ( STDMETHODCALLTYPE *RSSetViewports )(
5459  _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
5460 
5461  void ( STDMETHODCALLTYPE *RSSetScissorRects )(
5464  _In_reads_( NumRects) const D3D12_RECT *pRects);
5465 
5466  void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
5468  _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
5469 
5470  void ( STDMETHODCALLTYPE *OMSetStencilRef )(
5472  _In_ UINT StencilRef);
5473 
5474  void ( STDMETHODCALLTYPE *SetPipelineState )(
5476  _In_ ID3D12PipelineState *pPipelineState);
5477 
5478  void ( STDMETHODCALLTYPE *ResourceBarrier )(
5480  _In_ UINT NumBarriers,
5481  _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
5482 
5483  void ( STDMETHODCALLTYPE *ExecuteBundle )(
5485  _In_ ID3D12GraphicsCommandList *pCommandList);
5486 
5487  void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
5489  _In_ UINT NumDescriptorHeaps,
5490  _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
5491 
5492  void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
5494  _In_opt_ ID3D12RootSignature *pRootSignature);
5495 
5496  void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
5498  _In_opt_ ID3D12RootSignature *pRootSignature);
5499 
5500  void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
5502  _In_ UINT RootParameterIndex,
5503  _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
5504 
5505  void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
5507  _In_ UINT RootParameterIndex,
5508  _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
5509 
5510  void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
5512  _In_ UINT RootParameterIndex,
5513  _In_ UINT SrcData,
5514  _In_ UINT DestOffsetIn32BitValues);
5515 
5516  void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
5518  _In_ UINT RootParameterIndex,
5519  _In_ UINT SrcData,
5520  _In_ UINT DestOffsetIn32BitValues);
5521 
5522  void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
5524  _In_ UINT RootParameterIndex,
5525  _In_ UINT Num32BitValuesToSet,
5526  _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
5527  _In_ UINT DestOffsetIn32BitValues);
5528 
5529  void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
5531  _In_ UINT RootParameterIndex,
5532  _In_ UINT Num32BitValuesToSet,
5533  _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
5534  _In_ UINT DestOffsetIn32BitValues);
5535 
5536  void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
5538  _In_ UINT RootParameterIndex,
5539  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
5540 
5541  void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
5543  _In_ UINT RootParameterIndex,
5544  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
5545 
5546  void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
5548  _In_ UINT RootParameterIndex,
5549  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
5550 
5551  void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
5553  _In_ UINT RootParameterIndex,
5554  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
5555 
5556  void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
5558  _In_ UINT RootParameterIndex,
5559  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
5560 
5561  void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
5563  _In_ UINT RootParameterIndex,
5564  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
5565 
5566  void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
5568  _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
5569 
5570  void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
5572  _In_ UINT StartSlot,
5573  _In_ UINT NumViews,
5574  _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
5575 
5576  void ( STDMETHODCALLTYPE *SOSetTargets )(
5578  _In_ UINT StartSlot,
5579  _In_ UINT NumViews,
5580  _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
5581 
5582  void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
5584  _In_ UINT NumRenderTargetDescriptors,
5585  _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
5586  _In_ BOOL RTsSingleHandleToDescriptorRange,
5587  _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
5588 
5589  void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
5591  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
5592  _In_ D3D12_CLEAR_FLAGS ClearFlags,
5593  _In_ FLOAT Depth,
5594  _In_ UINT8 Stencil,
5595  _In_ UINT NumRects,
5596  _In_reads_(NumRects) const D3D12_RECT *pRects);
5597 
5598  void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
5600  _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
5601  _In_ const FLOAT ColorRGBA[ 4 ],
5602  _In_ UINT NumRects,
5603  _In_reads_(NumRects) const D3D12_RECT *pRects);
5604 
5605  void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
5607  _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
5608  _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
5609  _In_ ID3D12Resource *pResource,
5610  _In_ const UINT Values[ 4 ],
5611  _In_ UINT NumRects,
5612  _In_reads_(NumRects) const D3D12_RECT *pRects);
5613 
5614  void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
5616  _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
5617  _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
5618  _In_ ID3D12Resource *pResource,
5619  _In_ const FLOAT Values[ 4 ],
5620  _In_ UINT NumRects,
5621  _In_reads_(NumRects) const D3D12_RECT *pRects);
5622 
5623  void ( STDMETHODCALLTYPE *DiscardResource )(
5625  _In_ ID3D12Resource *pResource,
5626  _In_opt_ const D3D12_DISCARD_REGION *pRegion);
5627 
5628  void ( STDMETHODCALLTYPE *BeginQuery )(
5630  _In_ ID3D12QueryHeap *pQueryHeap,
5631  _In_ D3D12_QUERY_TYPE Type,
5632  _In_ UINT Index);
5633 
5634  void ( STDMETHODCALLTYPE *EndQuery )(
5636  _In_ ID3D12QueryHeap *pQueryHeap,
5637  _In_ D3D12_QUERY_TYPE Type,
5638  _In_ UINT Index);
5639 
5640  void ( STDMETHODCALLTYPE *ResolveQueryData )(
5642  _In_ ID3D12QueryHeap *pQueryHeap,
5643  _In_ D3D12_QUERY_TYPE Type,
5644  _In_ UINT StartIndex,
5645  _In_ UINT NumQueries,
5646  _In_ ID3D12Resource *pDestinationBuffer,
5647  _In_ UINT64 AlignedDestinationBufferOffset);
5648 
5649  void ( STDMETHODCALLTYPE *SetPredication )(
5651  _In_opt_ ID3D12Resource *pBuffer,
5652  _In_ UINT64 AlignedBufferOffset,
5653  _In_ D3D12_PREDICATION_OP Operation);
5654 
5655  void ( STDMETHODCALLTYPE *SetMarker )(
5657  UINT Metadata,
5658  _In_reads_bytes_opt_(Size) const void *pData,
5660 
5661  void ( STDMETHODCALLTYPE *BeginEvent )(
5663  UINT Metadata,
5664  _In_reads_bytes_opt_(Size) const void *pData,
5665  UINT Size);
5666 
5667  void ( STDMETHODCALLTYPE *EndEvent )(
5668  ID3D12GraphicsCommandList * This);
5669 
5670  void ( STDMETHODCALLTYPE *ExecuteIndirect )(
5672  _In_ ID3D12CommandSignature *pCommandSignature,
5673  _In_ UINT MaxCommandCount,
5674  _In_ ID3D12Resource *pArgumentBuffer,
5675  _In_ UINT64 ArgumentBufferOffset,
5676  _In_opt_ ID3D12Resource *pCountBuffer,
5677  _In_ UINT64 CountBufferOffset);
5678 
5679  END_INTERFACE
5681 
5682  interface ID3D12GraphicsCommandList
5683  {
5684  CONST_VTBL struct ID3D12GraphicsCommandListVtbl *lpVtbl;
5685  };
5686 
5687 
5688 
5689 #ifdef COBJMACROS
5690 
5691 
5692 #define ID3D12GraphicsCommandList_QueryInterface(This,riid,ppvObject) \
5693  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5694 
5695 #define ID3D12GraphicsCommandList_AddRef(This) \
5696  ( (This)->lpVtbl -> AddRef(This) )
5697 
5698 #define ID3D12GraphicsCommandList_Release(This) \
5699  ( (This)->lpVtbl -> Release(This) )
5700 
5701 
5702 #define ID3D12GraphicsCommandList_GetPrivateData(This,guid,pDataSize,pData) \
5703  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
5704 
5705 #define ID3D12GraphicsCommandList_SetPrivateData(This,guid,DataSize,pData) \
5706  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
5707 
5708 #define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,pData) \
5709  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
5710 
5711 #define ID3D12GraphicsCommandList_SetName(This,Name) \
5712  ( (This)->lpVtbl -> SetName(This,Name) )
5713 
5714 
5715 #define ID3D12GraphicsCommandList_GetDevice(This,riid,ppvDevice) \
5716  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
5717 
5718 
5719 #define ID3D12GraphicsCommandList_GetType(This) \
5720  ( (This)->lpVtbl -> GetType(This) )
5721 
5722 
5723 #define ID3D12GraphicsCommandList_Close(This) \
5724  ( (This)->lpVtbl -> Close(This) )
5725 
5726 #define ID3D12GraphicsCommandList_Reset(This,pAllocator,pInitialState) \
5727  ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
5728 
5729 #define ID3D12GraphicsCommandList_ClearState(This,pPipelineState) \
5730  ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
5731 
5732 #define ID3D12GraphicsCommandList_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
5733  ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
5734 
5735 #define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
5736  ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
5737 
5738 #define ID3D12GraphicsCommandList_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
5739  ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
5740 
5741 #define ID3D12GraphicsCommandList_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
5742  ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
5743 
5744 #define ID3D12GraphicsCommandList_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
5745  ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
5746 
5747 #define ID3D12GraphicsCommandList_CopyResource(This,pDstResource,pSrcResource) \
5748  ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
5749 
5750 #define ID3D12GraphicsCommandList_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
5751  ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
5752 
5753 #define ID3D12GraphicsCommandList_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
5754  ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
5755 
5756 #define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,PrimitiveTopology) \
5757  ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
5758 
5759 #define ID3D12GraphicsCommandList_RSSetViewports(This,NumViewports,pViewports) \
5760  ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
5761 
5762 #define ID3D12GraphicsCommandList_RSSetScissorRects(This,NumRects,pRects) \
5763  ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
5764 
5765 #define ID3D12GraphicsCommandList_OMSetBlendFactor(This,BlendFactor) \
5766  ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
5767 
5768 #define ID3D12GraphicsCommandList_OMSetStencilRef(This,StencilRef) \
5769  ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
5770 
5771 #define ID3D12GraphicsCommandList_SetPipelineState(This,pPipelineState) \
5772  ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
5773 
5774 #define ID3D12GraphicsCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \
5775  ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
5776 
5777 #define ID3D12GraphicsCommandList_ExecuteBundle(This,pCommandList) \
5778  ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
5779 
5780 #define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
5781  ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
5782 
5783 #define ID3D12GraphicsCommandList_SetComputeRootSignature(This,pRootSignature) \
5784  ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
5785 
5786 #define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,pRootSignature) \
5787  ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
5788 
5789 #define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
5790  ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
5791 
5792 #define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
5793  ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
5794 
5795 #define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
5796  ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
5797 
5798 #define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
5799  ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
5800 
5801 #define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
5802  ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
5803 
5804 #define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
5805  ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
5806 
5807 #define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
5808  ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
5809 
5810 #define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
5811  ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
5812 
5813 #define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
5814  ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
5815 
5816 #define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
5817  ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
5818 
5819 #define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
5820  ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
5821 
5822 #define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
5823  ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
5824 
5825 #define ID3D12GraphicsCommandList_IASetIndexBuffer(This,pView) \
5826  ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
5827 
5828 #define ID3D12GraphicsCommandList_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
5829  ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
5830 
5831 #define ID3D12GraphicsCommandList_SOSetTargets(This,StartSlot,NumViews,pViews) \
5832  ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
5833 
5834 #define ID3D12GraphicsCommandList_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
5835  ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
5836 
5837 #define ID3D12GraphicsCommandList_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
5838  ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
5839 
5840 #define ID3D12GraphicsCommandList_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
5841  ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
5842 
5843 #define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
5844  ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
5845 
5846 #define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
5847  ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
5848 
5849 #define ID3D12GraphicsCommandList_DiscardResource(This,pResource,pRegion) \
5850  ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
5851 
5852 #define ID3D12GraphicsCommandList_BeginQuery(This,pQueryHeap,Type,Index) \
5853  ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
5854 
5855 #define ID3D12GraphicsCommandList_EndQuery(This,pQueryHeap,Type,Index) \
5856  ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
5857 
5858 #define ID3D12GraphicsCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
5859  ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
5860 
5861 #define ID3D12GraphicsCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
5862  ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
5863 
5864 #define ID3D12GraphicsCommandList_SetMarker(This,Metadata,pData,Size) \
5865  ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
5866 
5867 #define ID3D12GraphicsCommandList_BeginEvent(This,Metadata,pData,Size) \
5868  ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
5869 
5870 #define ID3D12GraphicsCommandList_EndEvent(This) \
5871  ( (This)->lpVtbl -> EndEvent(This) )
5872 
5873 #define ID3D12GraphicsCommandList_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
5874  ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
5875 
5876 #endif /* COBJMACROS */
5877 
5878 
5879 #endif /* C style interface */
5880 
5881 
5882 
5883 
5884 #endif /* __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ */
5885 
5886 
5887 #ifndef __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__
5888 #define __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__
5889 
5890 /* interface ID3D12GraphicsCommandList1 */
5891 /* [unique][local][object][uuid] */
5892 
5893 
5895 
5896 #if defined(__cplusplus) && !defined(CINTERFACE)
5897 
5898  MIDL_INTERFACE("553103fb-1fe7-4557-bb38-946d7d0e7ca7")
5900  {
5901  public:
5902  virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT(
5903  _In_ ID3D12Resource *pDstBuffer,
5904  UINT64 DstOffset,
5905  _In_ ID3D12Resource *pSrcBuffer,
5906  UINT64 SrcOffset,
5907  UINT Dependencies,
5908  _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
5909  _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges) = 0;
5910 
5911  virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT64(
5912  _In_ ID3D12Resource *pDstBuffer,
5913  UINT64 DstOffset,
5914  _In_ ID3D12Resource *pSrcBuffer,
5915  UINT64 SrcOffset,
5916  UINT Dependencies,
5917  _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
5918  _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges) = 0;
5919 
5920  virtual void STDMETHODCALLTYPE OMSetDepthBounds(
5921  _In_ FLOAT Min,
5922  _In_ FLOAT Max) = 0;
5923 
5924  virtual void STDMETHODCALLTYPE SetSamplePositions(
5925  _In_ UINT NumSamplesPerPixel,
5926  _In_ UINT NumPixels,
5927  _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions) = 0;
5928 
5929  virtual void STDMETHODCALLTYPE ResolveSubresourceRegion(
5931  _In_ UINT DstSubresource,
5932  _In_ UINT DstX,
5933  _In_ UINT DstY,
5935  _In_ UINT SrcSubresource,
5936  _In_opt_ D3D12_RECT *pSrcRect,
5937  _In_ DXGI_FORMAT Format,
5938  _In_ D3D12_RESOLVE_MODE ResolveMode) = 0;
5939 
5940  virtual void STDMETHODCALLTYPE SetViewInstanceMask(
5941  _In_ UINT Mask) = 0;
5942 
5943  };
5944 
5945 
5946 #else /* C style interface */
5947 
5949  {
5950  BEGIN_INTERFACE
5951 
5952  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5954  REFIID riid,
5955  _COM_Outptr_ void **ppvObject);
5956 
5957  ULONG ( STDMETHODCALLTYPE *AddRef )(
5959 
5960  ULONG ( STDMETHODCALLTYPE *Release )(
5962 
5963  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5965  _In_ REFGUID guid,
5966  _Inout_ UINT *pDataSize,
5967  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
5968 
5969  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5971  _In_ REFGUID guid,
5972  _In_ UINT DataSize,
5973  _In_reads_bytes_opt_( DataSize ) const void *pData);
5974 
5975  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5977  _In_ REFGUID guid,
5978  _In_opt_ const IUnknown *pData);
5979 
5980  HRESULT ( STDMETHODCALLTYPE *SetName )(
5982  _In_z_ LPCWSTR Name);
5983 
5984  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
5986  REFIID riid,
5987  _COM_Outptr_opt_ void **ppvDevice);
5988 
5989  D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
5991 
5992  HRESULT ( STDMETHODCALLTYPE *Close )(
5994 
5995  HRESULT ( STDMETHODCALLTYPE *Reset )(
5997  _In_ ID3D12CommandAllocator *pAllocator,
5999 
6000  void ( STDMETHODCALLTYPE *ClearState )(
6003 
6004  void ( STDMETHODCALLTYPE *DrawInstanced )(
6007  _In_ UINT InstanceCount,
6008  _In_ UINT StartVertexLocation,
6009  _In_ UINT StartInstanceLocation);
6010 
6011  void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
6013  _In_ UINT IndexCountPerInstance,
6014  _In_ UINT InstanceCount,
6015  _In_ UINT StartIndexLocation,
6016  _In_ INT BaseVertexLocation,
6018 
6019  void ( STDMETHODCALLTYPE *Dispatch )(
6021  _In_ UINT ThreadGroupCountX,
6022  _In_ UINT ThreadGroupCountY,
6023  _In_ UINT ThreadGroupCountZ);
6024 
6025  void ( STDMETHODCALLTYPE *CopyBufferRegion )(
6027  _In_ ID3D12Resource *pDstBuffer,
6028  UINT64 DstOffset,
6029  _In_ ID3D12Resource *pSrcBuffer,
6030  UINT64 SrcOffset,
6031  UINT64 NumBytes);
6032 
6033  void ( STDMETHODCALLTYPE *CopyTextureRegion )(
6036  UINT DstX,
6037  UINT DstY,
6038  UINT DstZ,
6039  _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
6040  _In_opt_ const D3D12_BOX *pSrcBox);
6041 
6042  void ( STDMETHODCALLTYPE *CopyResource )(
6044  _In_ ID3D12Resource *pDstResource,
6046 
6047  void ( STDMETHODCALLTYPE *CopyTiles )(
6049  _In_ ID3D12Resource *pTiledResource,
6051  _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
6052  _In_ ID3D12Resource *pBuffer,
6053  UINT64 BufferStartOffsetInBytes,
6054  D3D12_TILE_COPY_FLAGS Flags);
6055 
6056  void ( STDMETHODCALLTYPE *ResolveSubresource )(
6058  _In_ ID3D12Resource *pDstResource,
6059  _In_ UINT DstSubresource,
6060  _In_ ID3D12Resource *pSrcResource,
6061  _In_ UINT SrcSubresource,
6062  _In_ DXGI_FORMAT Format);
6063 
6064  void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
6067 
6068  void ( STDMETHODCALLTYPE *RSSetViewports )(
6071  _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
6072 
6073  void ( STDMETHODCALLTYPE *RSSetScissorRects )(
6076  _In_reads_( NumRects) const D3D12_RECT *pRects);
6077 
6078  void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
6080  _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
6081 
6082  void ( STDMETHODCALLTYPE *OMSetStencilRef )(
6084  _In_ UINT StencilRef);
6085 
6086  void ( STDMETHODCALLTYPE *SetPipelineState )(
6088  _In_ ID3D12PipelineState *pPipelineState);
6089 
6090  void ( STDMETHODCALLTYPE *ResourceBarrier )(
6092  _In_ UINT NumBarriers,
6093  _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
6094 
6095  void ( STDMETHODCALLTYPE *ExecuteBundle )(
6097  _In_ ID3D12GraphicsCommandList *pCommandList);
6098 
6099  void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
6101  _In_ UINT NumDescriptorHeaps,
6102  _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
6103 
6104  void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
6106  _In_opt_ ID3D12RootSignature *pRootSignature);
6107 
6108  void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
6110  _In_opt_ ID3D12RootSignature *pRootSignature);
6111 
6112  void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
6114  _In_ UINT RootParameterIndex,
6115  _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
6116 
6117  void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
6119  _In_ UINT RootParameterIndex,
6120  _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
6121 
6122  void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
6124  _In_ UINT RootParameterIndex,
6125  _In_ UINT SrcData,
6126  _In_ UINT DestOffsetIn32BitValues);
6127 
6128  void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
6130  _In_ UINT RootParameterIndex,
6131  _In_ UINT SrcData,
6132  _In_ UINT DestOffsetIn32BitValues);
6133 
6134  void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
6136  _In_ UINT RootParameterIndex,
6137  _In_ UINT Num32BitValuesToSet,
6138  _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
6139  _In_ UINT DestOffsetIn32BitValues);
6140 
6141  void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
6143  _In_ UINT RootParameterIndex,
6144  _In_ UINT Num32BitValuesToSet,
6145  _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
6146  _In_ UINT DestOffsetIn32BitValues);
6147 
6148  void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
6150  _In_ UINT RootParameterIndex,
6151  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6152 
6153  void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
6155  _In_ UINT RootParameterIndex,
6156  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6157 
6158  void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
6160  _In_ UINT RootParameterIndex,
6161  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6162 
6163  void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
6165  _In_ UINT RootParameterIndex,
6166  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6167 
6168  void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
6170  _In_ UINT RootParameterIndex,
6171  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6172 
6173  void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
6175  _In_ UINT RootParameterIndex,
6176  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6177 
6178  void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
6180  _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
6181 
6182  void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
6184  _In_ UINT StartSlot,
6185  _In_ UINT NumViews,
6186  _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
6187 
6188  void ( STDMETHODCALLTYPE *SOSetTargets )(
6190  _In_ UINT StartSlot,
6191  _In_ UINT NumViews,
6192  _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
6193 
6194  void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
6196  _In_ UINT NumRenderTargetDescriptors,
6197  _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
6198  _In_ BOOL RTsSingleHandleToDescriptorRange,
6199  _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
6200 
6201  void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
6203  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
6204  _In_ D3D12_CLEAR_FLAGS ClearFlags,
6205  _In_ FLOAT Depth,
6206  _In_ UINT8 Stencil,
6207  _In_ UINT NumRects,
6208  _In_reads_(NumRects) const D3D12_RECT *pRects);
6209 
6210  void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
6212  _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
6213  _In_ const FLOAT ColorRGBA[ 4 ],
6214  _In_ UINT NumRects,
6215  _In_reads_(NumRects) const D3D12_RECT *pRects);
6216 
6217  void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
6219  _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
6220  _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
6221  _In_ ID3D12Resource *pResource,
6222  _In_ const UINT Values[ 4 ],
6223  _In_ UINT NumRects,
6224  _In_reads_(NumRects) const D3D12_RECT *pRects);
6225 
6226  void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
6228  _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
6229  _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
6230  _In_ ID3D12Resource *pResource,
6231  _In_ const FLOAT Values[ 4 ],
6232  _In_ UINT NumRects,
6233  _In_reads_(NumRects) const D3D12_RECT *pRects);
6234 
6235  void ( STDMETHODCALLTYPE *DiscardResource )(
6237  _In_ ID3D12Resource *pResource,
6238  _In_opt_ const D3D12_DISCARD_REGION *pRegion);
6239 
6240  void ( STDMETHODCALLTYPE *BeginQuery )(
6242  _In_ ID3D12QueryHeap *pQueryHeap,
6243  _In_ D3D12_QUERY_TYPE Type,
6244  _In_ UINT Index);
6245 
6246  void ( STDMETHODCALLTYPE *EndQuery )(
6248  _In_ ID3D12QueryHeap *pQueryHeap,
6249  _In_ D3D12_QUERY_TYPE Type,
6250  _In_ UINT Index);
6251 
6252  void ( STDMETHODCALLTYPE *ResolveQueryData )(
6254  _In_ ID3D12QueryHeap *pQueryHeap,
6255  _In_ D3D12_QUERY_TYPE Type,
6256  _In_ UINT StartIndex,
6257  _In_ UINT NumQueries,
6258  _In_ ID3D12Resource *pDestinationBuffer,
6259  _In_ UINT64 AlignedDestinationBufferOffset);
6260 
6261  void ( STDMETHODCALLTYPE *SetPredication )(
6263  _In_opt_ ID3D12Resource *pBuffer,
6264  _In_ UINT64 AlignedBufferOffset,
6265  _In_ D3D12_PREDICATION_OP Operation);
6266 
6267  void ( STDMETHODCALLTYPE *SetMarker )(
6269  UINT Metadata,
6270  _In_reads_bytes_opt_(Size) const void *pData,
6272 
6273  void ( STDMETHODCALLTYPE *BeginEvent )(
6275  UINT Metadata,
6276  _In_reads_bytes_opt_(Size) const void *pData,
6277  UINT Size);
6278 
6279  void ( STDMETHODCALLTYPE *EndEvent )(
6281 
6282  void ( STDMETHODCALLTYPE *ExecuteIndirect )(
6284  _In_ ID3D12CommandSignature *pCommandSignature,
6285  _In_ UINT MaxCommandCount,
6286  _In_ ID3D12Resource *pArgumentBuffer,
6287  _In_ UINT64 ArgumentBufferOffset,
6288  _In_opt_ ID3D12Resource *pCountBuffer,
6289  _In_ UINT64 CountBufferOffset);
6290 
6291  void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
6293  _In_ ID3D12Resource *pDstBuffer,
6294  UINT64 DstOffset,
6295  _In_ ID3D12Resource *pSrcBuffer,
6296  UINT64 SrcOffset,
6297  UINT Dependencies,
6298  _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
6299  _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
6300 
6301  void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
6303  _In_ ID3D12Resource *pDstBuffer,
6304  UINT64 DstOffset,
6305  _In_ ID3D12Resource *pSrcBuffer,
6306  UINT64 SrcOffset,
6307  UINT Dependencies,
6308  _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
6309  _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
6310 
6311  void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
6313  _In_ FLOAT Min,
6314  _In_ FLOAT Max);
6315 
6316  void ( STDMETHODCALLTYPE *SetSamplePositions )(
6318  _In_ UINT NumSamplesPerPixel,
6319  _In_ UINT NumPixels,
6320  _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
6321 
6322  void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
6324  _In_ ID3D12Resource *pDstResource,
6325  _In_ UINT DstSubresource,
6326  _In_ UINT DstX,
6327  _In_ UINT DstY,
6328  _In_ ID3D12Resource *pSrcResource,
6329  _In_ UINT SrcSubresource,
6330  _In_opt_ D3D12_RECT *pSrcRect,
6331  _In_ DXGI_FORMAT Format,
6332  _In_ D3D12_RESOLVE_MODE ResolveMode);
6333 
6334  void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
6336  _In_ UINT Mask);
6337 
6338  END_INTERFACE
6340 
6341  interface ID3D12GraphicsCommandList1
6342  {
6343  CONST_VTBL struct ID3D12GraphicsCommandList1Vtbl *lpVtbl;
6344  };
6345 
6346 
6347 
6348 #ifdef COBJMACROS
6349 
6350 
6351 #define ID3D12GraphicsCommandList1_QueryInterface(This,riid,ppvObject) \
6352  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6353 
6354 #define ID3D12GraphicsCommandList1_AddRef(This) \
6355  ( (This)->lpVtbl -> AddRef(This) )
6356 
6357 #define ID3D12GraphicsCommandList1_Release(This) \
6358  ( (This)->lpVtbl -> Release(This) )
6359 
6360 
6361 #define ID3D12GraphicsCommandList1_GetPrivateData(This,guid,pDataSize,pData) \
6362  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
6363 
6364 #define ID3D12GraphicsCommandList1_SetPrivateData(This,guid,DataSize,pData) \
6365  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
6366 
6367 #define ID3D12GraphicsCommandList1_SetPrivateDataInterface(This,guid,pData) \
6368  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
6369 
6370 #define ID3D12GraphicsCommandList1_SetName(This,Name) \
6371  ( (This)->lpVtbl -> SetName(This,Name) )
6372 
6373 
6374 #define ID3D12GraphicsCommandList1_GetDevice(This,riid,ppvDevice) \
6375  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
6376 
6377 
6378 #define ID3D12GraphicsCommandList1_GetType(This) \
6379  ( (This)->lpVtbl -> GetType(This) )
6380 
6381 
6382 #define ID3D12GraphicsCommandList1_Close(This) \
6383  ( (This)->lpVtbl -> Close(This) )
6384 
6385 #define ID3D12GraphicsCommandList1_Reset(This,pAllocator,pInitialState) \
6386  ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
6387 
6388 #define ID3D12GraphicsCommandList1_ClearState(This,pPipelineState) \
6389  ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
6390 
6391 #define ID3D12GraphicsCommandList1_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
6392  ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
6393 
6394 #define ID3D12GraphicsCommandList1_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
6395  ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
6396 
6397 #define ID3D12GraphicsCommandList1_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
6398  ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
6399 
6400 #define ID3D12GraphicsCommandList1_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
6401  ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
6402 
6403 #define ID3D12GraphicsCommandList1_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
6404  ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
6405 
6406 #define ID3D12GraphicsCommandList1_CopyResource(This,pDstResource,pSrcResource) \
6407  ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
6408 
6409 #define ID3D12GraphicsCommandList1_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
6410  ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
6411 
6412 #define ID3D12GraphicsCommandList1_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
6413  ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
6414 
6415 #define ID3D12GraphicsCommandList1_IASetPrimitiveTopology(This,PrimitiveTopology) \
6416  ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
6417 
6418 #define ID3D12GraphicsCommandList1_RSSetViewports(This,NumViewports,pViewports) \
6419  ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
6420 
6421 #define ID3D12GraphicsCommandList1_RSSetScissorRects(This,NumRects,pRects) \
6422  ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
6423 
6424 #define ID3D12GraphicsCommandList1_OMSetBlendFactor(This,BlendFactor) \
6425  ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
6426 
6427 #define ID3D12GraphicsCommandList1_OMSetStencilRef(This,StencilRef) \
6428  ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
6429 
6430 #define ID3D12GraphicsCommandList1_SetPipelineState(This,pPipelineState) \
6431  ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
6432 
6433 #define ID3D12GraphicsCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \
6434  ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
6435 
6436 #define ID3D12GraphicsCommandList1_ExecuteBundle(This,pCommandList) \
6437  ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
6438 
6439 #define ID3D12GraphicsCommandList1_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
6440  ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
6441 
6442 #define ID3D12GraphicsCommandList1_SetComputeRootSignature(This,pRootSignature) \
6443  ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
6444 
6445 #define ID3D12GraphicsCommandList1_SetGraphicsRootSignature(This,pRootSignature) \
6446  ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
6447 
6448 #define ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
6449  ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
6450 
6451 #define ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
6452  ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
6453 
6454 #define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
6455  ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
6456 
6457 #define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
6458  ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
6459 
6460 #define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
6461  ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
6462 
6463 #define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
6464  ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
6465 
6466 #define ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
6467  ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
6468 
6469 #define ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
6470  ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
6471 
6472 #define ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
6473  ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
6474 
6475 #define ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
6476  ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
6477 
6478 #define ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
6479  ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
6480 
6481 #define ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
6482  ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
6483 
6484 #define ID3D12GraphicsCommandList1_IASetIndexBuffer(This,pView) \
6485  ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
6486 
6487 #define ID3D12GraphicsCommandList1_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
6488  ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
6489 
6490 #define ID3D12GraphicsCommandList1_SOSetTargets(This,StartSlot,NumViews,pViews) \
6491  ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
6492 
6493 #define ID3D12GraphicsCommandList1_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
6494  ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
6495 
6496 #define ID3D12GraphicsCommandList1_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
6497  ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
6498 
6499 #define ID3D12GraphicsCommandList1_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
6500  ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
6501 
6502 #define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
6503  ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
6504 
6505 #define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
6506  ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
6507 
6508 #define ID3D12GraphicsCommandList1_DiscardResource(This,pResource,pRegion) \
6509  ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
6510 
6511 #define ID3D12GraphicsCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \
6512  ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
6513 
6514 #define ID3D12GraphicsCommandList1_EndQuery(This,pQueryHeap,Type,Index) \
6515  ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
6516 
6517 #define ID3D12GraphicsCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
6518  ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
6519 
6520 #define ID3D12GraphicsCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
6521  ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
6522 
6523 #define ID3D12GraphicsCommandList1_SetMarker(This,Metadata,pData,Size) \
6524  ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
6525 
6526 #define ID3D12GraphicsCommandList1_BeginEvent(This,Metadata,pData,Size) \
6527  ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
6528 
6529 #define ID3D12GraphicsCommandList1_EndEvent(This) \
6530  ( (This)->lpVtbl -> EndEvent(This) )
6531 
6532 #define ID3D12GraphicsCommandList1_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
6533  ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
6534 
6535 
6536 #define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
6537  ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
6538 
6539 #define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
6540  ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
6541 
6542 #define ID3D12GraphicsCommandList1_OMSetDepthBounds(This,Min,Max) \
6543  ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
6544 
6545 #define ID3D12GraphicsCommandList1_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
6546  ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
6547 
6548 #define ID3D12GraphicsCommandList1_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
6549  ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
6550 
6551 #define ID3D12GraphicsCommandList1_SetViewInstanceMask(This,Mask) \
6552  ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
6553 
6554 #endif /* COBJMACROS */
6555 
6556 
6557 #endif /* C style interface */
6558 
6559 
6560 
6561 
6562 #endif /* __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__ */
6563 
6564 
6565 /* interface __MIDL_itf_d3d12_0000_0018 */
6566 /* [local] */
6567 
6569  {
6573 
6574 typedef
6576  {
6581 
6582 
6583 
6584 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_v0_0_c_ifspec;
6585 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_v0_0_s_ifspec;
6586 
6587 #ifndef __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__
6588 #define __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__
6589 
6590 /* interface ID3D12GraphicsCommandList2 */
6591 /* [unique][local][object][uuid] */
6592 
6593 
6595 
6596 #if defined(__cplusplus) && !defined(CINTERFACE)
6597 
6598  MIDL_INTERFACE("38C3E585-FF17-412C-9150-4FC6F9D72A28")
6600  {
6601  public:
6602  virtual void STDMETHODCALLTYPE WriteBufferImmediate(
6603  UINT Count,
6604  _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
6605  _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0;
6606 
6607  };
6608 
6609 
6610 #else /* C style interface */
6611 
6613  {
6614  BEGIN_INTERFACE
6615 
6616  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6618  REFIID riid,
6619  _COM_Outptr_ void **ppvObject);
6620 
6621  ULONG ( STDMETHODCALLTYPE *AddRef )(
6623 
6624  ULONG ( STDMETHODCALLTYPE *Release )(
6626 
6627  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
6629  _In_ REFGUID guid,
6630  _Inout_ UINT *pDataSize,
6631  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
6632 
6633  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
6635  _In_ REFGUID guid,
6636  _In_ UINT DataSize,
6637  _In_reads_bytes_opt_( DataSize ) const void *pData);
6638 
6639  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
6641  _In_ REFGUID guid,
6642  _In_opt_ const IUnknown *pData);
6643 
6644  HRESULT ( STDMETHODCALLTYPE *SetName )(
6646  _In_z_ LPCWSTR Name);
6647 
6648  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
6650  REFIID riid,
6651  _COM_Outptr_opt_ void **ppvDevice);
6652 
6653  D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
6655 
6656  HRESULT ( STDMETHODCALLTYPE *Close )(
6658 
6659  HRESULT ( STDMETHODCALLTYPE *Reset )(
6661  _In_ ID3D12CommandAllocator *pAllocator,
6663 
6664  void ( STDMETHODCALLTYPE *ClearState )(
6667 
6668  void ( STDMETHODCALLTYPE *DrawInstanced )(
6671  _In_ UINT InstanceCount,
6672  _In_ UINT StartVertexLocation,
6673  _In_ UINT StartInstanceLocation);
6674 
6675  void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
6677  _In_ UINT IndexCountPerInstance,
6678  _In_ UINT InstanceCount,
6679  _In_ UINT StartIndexLocation,
6680  _In_ INT BaseVertexLocation,
6682 
6683  void ( STDMETHODCALLTYPE *Dispatch )(
6685  _In_ UINT ThreadGroupCountX,
6686  _In_ UINT ThreadGroupCountY,
6687  _In_ UINT ThreadGroupCountZ);
6688 
6689  void ( STDMETHODCALLTYPE *CopyBufferRegion )(
6691  _In_ ID3D12Resource *pDstBuffer,
6692  UINT64 DstOffset,
6693  _In_ ID3D12Resource *pSrcBuffer,
6694  UINT64 SrcOffset,
6695  UINT64 NumBytes);
6696 
6697  void ( STDMETHODCALLTYPE *CopyTextureRegion )(
6700  UINT DstX,
6701  UINT DstY,
6702  UINT DstZ,
6703  _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
6704  _In_opt_ const D3D12_BOX *pSrcBox);
6705 
6706  void ( STDMETHODCALLTYPE *CopyResource )(
6708  _In_ ID3D12Resource *pDstResource,
6710 
6711  void ( STDMETHODCALLTYPE *CopyTiles )(
6713  _In_ ID3D12Resource *pTiledResource,
6715  _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
6716  _In_ ID3D12Resource *pBuffer,
6717  UINT64 BufferStartOffsetInBytes,
6718  D3D12_TILE_COPY_FLAGS Flags);
6719 
6720  void ( STDMETHODCALLTYPE *ResolveSubresource )(
6722  _In_ ID3D12Resource *pDstResource,
6723  _In_ UINT DstSubresource,
6724  _In_ ID3D12Resource *pSrcResource,
6725  _In_ UINT SrcSubresource,
6726  _In_ DXGI_FORMAT Format);
6727 
6728  void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
6731 
6732  void ( STDMETHODCALLTYPE *RSSetViewports )(
6735  _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
6736 
6737  void ( STDMETHODCALLTYPE *RSSetScissorRects )(
6740  _In_reads_( NumRects) const D3D12_RECT *pRects);
6741 
6742  void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
6744  _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
6745 
6746  void ( STDMETHODCALLTYPE *OMSetStencilRef )(
6748  _In_ UINT StencilRef);
6749 
6750  void ( STDMETHODCALLTYPE *SetPipelineState )(
6752  _In_ ID3D12PipelineState *pPipelineState);
6753 
6754  void ( STDMETHODCALLTYPE *ResourceBarrier )(
6756  _In_ UINT NumBarriers,
6757  _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
6758 
6759  void ( STDMETHODCALLTYPE *ExecuteBundle )(
6761  _In_ ID3D12GraphicsCommandList *pCommandList);
6762 
6763  void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
6765  _In_ UINT NumDescriptorHeaps,
6766  _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
6767 
6768  void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
6770  _In_opt_ ID3D12RootSignature *pRootSignature);
6771 
6772  void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
6774  _In_opt_ ID3D12RootSignature *pRootSignature);
6775 
6776  void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
6778  _In_ UINT RootParameterIndex,
6779  _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
6780 
6781  void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
6783  _In_ UINT RootParameterIndex,
6784  _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
6785 
6786  void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
6788  _In_ UINT RootParameterIndex,
6789  _In_ UINT SrcData,
6790  _In_ UINT DestOffsetIn32BitValues);
6791 
6792  void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
6794  _In_ UINT RootParameterIndex,
6795  _In_ UINT SrcData,
6796  _In_ UINT DestOffsetIn32BitValues);
6797 
6798  void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
6800  _In_ UINT RootParameterIndex,
6801  _In_ UINT Num32BitValuesToSet,
6802  _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
6803  _In_ UINT DestOffsetIn32BitValues);
6804 
6805  void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
6807  _In_ UINT RootParameterIndex,
6808  _In_ UINT Num32BitValuesToSet,
6809  _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
6810  _In_ UINT DestOffsetIn32BitValues);
6811 
6812  void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
6814  _In_ UINT RootParameterIndex,
6815  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6816 
6817  void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
6819  _In_ UINT RootParameterIndex,
6820  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6821 
6822  void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
6824  _In_ UINT RootParameterIndex,
6825  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6826 
6827  void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
6829  _In_ UINT RootParameterIndex,
6830  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6831 
6832  void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
6834  _In_ UINT RootParameterIndex,
6835  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6836 
6837  void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
6839  _In_ UINT RootParameterIndex,
6840  _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6841 
6842  void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
6844  _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
6845 
6846  void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
6848  _In_ UINT StartSlot,
6849  _In_ UINT NumViews,
6850  _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
6851 
6852  void ( STDMETHODCALLTYPE *SOSetTargets )(
6854  _In_ UINT StartSlot,
6855  _In_ UINT NumViews,
6856  _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
6857 
6858  void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
6860  _In_ UINT NumRenderTargetDescriptors,
6861  _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
6862  _In_ BOOL RTsSingleHandleToDescriptorRange,
6863  _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
6864 
6865  void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
6867  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
6868  _In_ D3D12_CLEAR_FLAGS ClearFlags,
6869  _In_ FLOAT Depth,
6870  _In_ UINT8 Stencil,
6871  _In_ UINT NumRects,
6872  _In_reads_(NumRects) const D3D12_RECT *pRects);
6873 
6874  void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
6876  _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
6877  _In_ const FLOAT ColorRGBA[ 4 ],
6878  _In_ UINT NumRects,
6879  _In_reads_(NumRects) const D3D12_RECT *pRects);
6880 
6881  void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
6883  _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
6884  _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
6885  _In_ ID3D12Resource *pResource,
6886  _In_ const UINT Values[ 4 ],
6887  _In_ UINT NumRects,
6888  _In_reads_(NumRects) const D3D12_RECT *pRects);
6889 
6890  void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
6892  _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
6893  _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
6894  _In_ ID3D12Resource *pResource,
6895  _In_ const FLOAT Values[ 4 ],
6896  _In_ UINT NumRects,
6897  _In_reads_(NumRects) const D3D12_RECT *pRects);
6898 
6899  void ( STDMETHODCALLTYPE *DiscardResource )(
6901  _In_ ID3D12Resource *pResource,
6902  _In_opt_ const D3D12_DISCARD_REGION *pRegion);
6903 
6904  void ( STDMETHODCALLTYPE *BeginQuery )(
6906  _In_ ID3D12QueryHeap *pQueryHeap,
6907  _In_ D3D12_QUERY_TYPE Type,
6908  _In_ UINT Index);
6909 
6910  void ( STDMETHODCALLTYPE *EndQuery )(
6912  _In_ ID3D12QueryHeap *pQueryHeap,
6913  _In_ D3D12_QUERY_TYPE Type,
6914  _In_ UINT Index);
6915 
6916  void ( STDMETHODCALLTYPE *ResolveQueryData )(
6918  _In_ ID3D12QueryHeap *pQueryHeap,
6919  _In_ D3D12_QUERY_TYPE Type,
6920  _In_ UINT StartIndex,
6921  _In_ UINT NumQueries,
6922  _In_ ID3D12Resource *pDestinationBuffer,
6923  _In_ UINT64 AlignedDestinationBufferOffset);
6924 
6925  void ( STDMETHODCALLTYPE *SetPredication )(
6927  _In_opt_ ID3D12Resource *pBuffer,
6928  _In_ UINT64 AlignedBufferOffset,
6929  _In_ D3D12_PREDICATION_OP Operation);
6930 
6931  void ( STDMETHODCALLTYPE *SetMarker )(
6933  UINT Metadata,
6934  _In_reads_bytes_opt_(Size) const void *pData,
6936 
6937  void ( STDMETHODCALLTYPE *BeginEvent )(
6939  UINT Metadata,
6940  _In_reads_bytes_opt_(Size) const void *pData,
6941  UINT Size);
6942 
6943  void ( STDMETHODCALLTYPE *EndEvent )(
6945 
6946  void ( STDMETHODCALLTYPE *ExecuteIndirect )(
6948  _In_ ID3D12CommandSignature *pCommandSignature,
6949  _In_ UINT MaxCommandCount,
6950  _In_ ID3D12Resource *pArgumentBuffer,
6951  _In_ UINT64 ArgumentBufferOffset,
6952  _In_opt_ ID3D12Resource *pCountBuffer,
6953  _In_ UINT64 CountBufferOffset);
6954 
6955  void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
6957  _In_ ID3D12Resource *pDstBuffer,
6958  UINT64 DstOffset,
6959  _In_ ID3D12Resource *pSrcBuffer,
6960  UINT64 SrcOffset,
6961  UINT Dependencies,
6962  _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
6963  _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
6964 
6965  void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
6967  _In_ ID3D12Resource *pDstBuffer,
6968  UINT64 DstOffset,
6969  _In_ ID3D12Resource *pSrcBuffer,
6970  UINT64 SrcOffset,
6971  UINT Dependencies,
6972  _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
6973  _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
6974 
6975  void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
6977  _In_ FLOAT Min,
6978  _In_ FLOAT Max);
6979 
6980  void ( STDMETHODCALLTYPE *SetSamplePositions )(
6982  _In_ UINT NumSamplesPerPixel,
6983  _In_ UINT NumPixels,
6984  _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
6985 
6986  void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
6988  _In_ ID3D12Resource *pDstResource,
6989  _In_ UINT DstSubresource,
6990  _In_ UINT DstX,
6991  _In_ UINT DstY,
6992  _In_ ID3D12Resource *pSrcResource,
6993  _In_ UINT SrcSubresource,
6994  _In_opt_ D3D12_RECT *pSrcRect,
6995  _In_ DXGI_FORMAT Format,
6996  _In_ D3D12_RESOLVE_MODE ResolveMode);
6997 
6998  void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
7000  _In_ UINT Mask);
7001 
7002  void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
7004  UINT Count,
7006  _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
7007 
7008  END_INTERFACE
7010 
7011  interface ID3D12GraphicsCommandList2
7012  {
7013  CONST_VTBL struct ID3D12GraphicsCommandList2Vtbl *lpVtbl;
7014  };
7015 
7016 
7017 
7018 #ifdef COBJMACROS
7019 
7020 
7021 #define ID3D12GraphicsCommandList2_QueryInterface(This,riid,ppvObject) \
7022  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
7023 
7024 #define ID3D12GraphicsCommandList2_AddRef(This) \
7025  ( (This)->lpVtbl -> AddRef(This) )
7026 
7027 #define ID3D12GraphicsCommandList2_Release(This) \
7028  ( (This)->lpVtbl -> Release(This) )
7029 
7030 
7031 #define ID3D12GraphicsCommandList2_GetPrivateData(This,guid,pDataSize,pData) \
7032  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
7033 
7034 #define ID3D12GraphicsCommandList2_SetPrivateData(This,guid,DataSize,pData) \
7035  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
7036 
7037 #define ID3D12GraphicsCommandList2_SetPrivateDataInterface(This,guid,pData) \
7038  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
7039 
7040 #define ID3D12GraphicsCommandList2_SetName(This,Name) \
7041  ( (This)->lpVtbl -> SetName(This,Name) )
7042 
7043 
7044 #define ID3D12GraphicsCommandList2_GetDevice(This,riid,ppvDevice) \
7045  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
7046 
7047 
7048 #define ID3D12GraphicsCommandList2_GetType(This) \
7049  ( (This)->lpVtbl -> GetType(This) )
7050 
7051 
7052 #define ID3D12GraphicsCommandList2_Close(This) \
7053  ( (This)->lpVtbl -> Close(This) )
7054 
7055 #define ID3D12GraphicsCommandList2_Reset(This,pAllocator,pInitialState) \
7056  ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
7057 
7058 #define ID3D12GraphicsCommandList2_ClearState(This,pPipelineState) \
7059  ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
7060 
7061 #define ID3D12GraphicsCommandList2_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
7062  ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
7063 
7064 #define ID3D12GraphicsCommandList2_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
7065  ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
7066 
7067 #define ID3D12GraphicsCommandList2_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
7068  ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
7069 
7070 #define ID3D12GraphicsCommandList2_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
7071  ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
7072 
7073 #define ID3D12GraphicsCommandList2_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
7074  ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
7075 
7076 #define ID3D12GraphicsCommandList2_CopyResource(This,pDstResource,pSrcResource) \
7077  ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
7078 
7079 #define ID3D12GraphicsCommandList2_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
7080  ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
7081 
7082 #define ID3D12GraphicsCommandList2_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
7083  ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
7084 
7085 #define ID3D12GraphicsCommandList2_IASetPrimitiveTopology(This,PrimitiveTopology) \
7086  ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
7087 
7088 #define ID3D12GraphicsCommandList2_RSSetViewports(This,NumViewports,pViewports) \
7089  ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
7090 
7091 #define ID3D12GraphicsCommandList2_RSSetScissorRects(This,NumRects,pRects) \
7092  ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
7093 
7094 #define ID3D12GraphicsCommandList2_OMSetBlendFactor(This,BlendFactor) \
7095  ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
7096 
7097 #define ID3D12GraphicsCommandList2_OMSetStencilRef(This,StencilRef) \
7098  ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
7099 
7100 #define ID3D12GraphicsCommandList2_SetPipelineState(This,pPipelineState) \
7101  ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
7102 
7103 #define ID3D12GraphicsCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \
7104  ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
7105 
7106 #define ID3D12GraphicsCommandList2_ExecuteBundle(This,pCommandList) \
7107  ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
7108 
7109 #define ID3D12GraphicsCommandList2_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
7110  ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
7111 
7112 #define ID3D12GraphicsCommandList2_SetComputeRootSignature(This,pRootSignature) \
7113  ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
7114 
7115 #define ID3D12GraphicsCommandList2_SetGraphicsRootSignature(This,pRootSignature) \
7116  ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
7117 
7118 #define ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
7119  ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
7120 
7121 #define ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
7122  ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
7123 
7124 #define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
7125  ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
7126 
7127 #define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
7128  ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
7129 
7130 #define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
7131  ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
7132 
7133 #define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
7134  ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
7135 
7136 #define ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
7137  ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
7138 
7139 #define ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
7140  ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
7141 
7142 #define ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
7143  ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
7144 
7145 #define ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
7146  ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
7147 
7148 #define ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
7149  ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
7150 
7151 #define ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
7152  ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
7153 
7154 #define ID3D12GraphicsCommandList2_IASetIndexBuffer(This,pView) \
7155  ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
7156 
7157 #define ID3D12GraphicsCommandList2_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
7158  ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
7159 
7160 #define ID3D12GraphicsCommandList2_SOSetTargets(This,StartSlot,NumViews,pViews) \
7161  ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
7162 
7163 #define ID3D12GraphicsCommandList2_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
7164  ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
7165 
7166 #define ID3D12GraphicsCommandList2_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
7167  ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
7168 
7169 #define ID3D12GraphicsCommandList2_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
7170  ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
7171 
7172 #define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
7173  ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
7174 
7175 #define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
7176  ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
7177 
7178 #define ID3D12GraphicsCommandList2_DiscardResource(This,pResource,pRegion) \
7179  ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
7180 
7181 #define ID3D12GraphicsCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \
7182  ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
7183 
7184 #define ID3D12GraphicsCommandList2_EndQuery(This,pQueryHeap,Type,Index) \
7185  ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
7186 
7187 #define ID3D12GraphicsCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
7188  ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
7189 
7190 #define ID3D12GraphicsCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
7191  ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
7192 
7193 #define ID3D12GraphicsCommandList2_SetMarker(This,Metadata,pData,Size) \
7194  ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
7195 
7196 #define ID3D12GraphicsCommandList2_BeginEvent(This,Metadata,pData,Size) \
7197  ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
7198 
7199 #define ID3D12GraphicsCommandList2_EndEvent(This) \
7200  ( (This)->lpVtbl -> EndEvent(This) )
7201 
7202 #define ID3D12GraphicsCommandList2_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
7203  ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
7204 
7205 
7206 #define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
7207  ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
7208 
7209 #define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
7210  ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
7211 
7212 #define ID3D12GraphicsCommandList2_OMSetDepthBounds(This,Min,Max) \
7213  ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
7214 
7215 #define ID3D12GraphicsCommandList2_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
7216  ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
7217 
7218 #define ID3D12GraphicsCommandList2_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
7219  ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
7220 
7221 #define ID3D12GraphicsCommandList2_SetViewInstanceMask(This,Mask) \
7222  ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
7223 
7224 
7225 #define ID3D12GraphicsCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \
7226  ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
7227 
7228 #endif /* COBJMACROS */
7229 
7230 
7231 #endif /* C style interface */
7232 
7233 
7234 
7235 
7236 #endif /* __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__ */
7237 
7238 
7239 #ifndef __ID3D12CommandQueue_INTERFACE_DEFINED__
7240 #define __ID3D12CommandQueue_INTERFACE_DEFINED__
7241 
7242 /* interface ID3D12CommandQueue */
7243 /* [unique][local][object][uuid] */
7244 
7245 
7246 EXTERN_C const IID IID_ID3D12CommandQueue;
7247 
7248 #if defined(__cplusplus) && !defined(CINTERFACE)
7249 
7250  MIDL_INTERFACE("0ec870a6-5d7e-4c22-8cfc-5baae07616ed")
7252  {
7253  public:
7254  virtual void STDMETHODCALLTYPE UpdateTileMappings(
7255  _In_ ID3D12Resource *pResource,
7256  UINT NumResourceRegions,
7257  _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
7258  _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
7259  _In_opt_ ID3D12Heap *pHeap,
7260  UINT NumRanges,
7261  _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
7262  _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
7263  _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
7265 
7266  virtual void STDMETHODCALLTYPE CopyTileMappings(
7268  _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
7270  _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
7271  _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
7273 
7274  virtual void STDMETHODCALLTYPE ExecuteCommandLists(
7275  _In_ UINT NumCommandLists,
7276  _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists) = 0;
7277 
7278  virtual void STDMETHODCALLTYPE SetMarker(
7279  UINT Metadata,
7280  _In_reads_bytes_opt_(Size) const void *pData,
7281  UINT Size) = 0;
7282 
7283  virtual void STDMETHODCALLTYPE BeginEvent(
7284  UINT Metadata,
7285  _In_reads_bytes_opt_(Size) const void *pData,
7286  UINT Size) = 0;
7287 
7288  virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
7289 
7290  virtual HRESULT STDMETHODCALLTYPE Signal(
7291  ID3D12Fence *pFence,
7292  UINT64 Value) = 0;
7293 
7294  virtual HRESULT STDMETHODCALLTYPE Wait(
7295  ID3D12Fence *pFence,
7296  UINT64 Value) = 0;
7297 
7298  virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency(
7299  _Out_ UINT64 *pFrequency) = 0;
7300 
7301  virtual HRESULT STDMETHODCALLTYPE GetClockCalibration(
7302  _Out_ UINT64 *pGpuTimestamp,
7303  _Out_ UINT64 *pCpuTimestamp) = 0;
7304 
7305  virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
7306 
7307  };
7308 
7309 
7310 #else /* C style interface */
7311 
7312  typedef struct ID3D12CommandQueueVtbl
7313  {
7314  BEGIN_INTERFACE
7315 
7316  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7317  ID3D12CommandQueue * This,
7318  REFIID riid,
7319  _COM_Outptr_ void **ppvObject);
7320 
7321  ULONG ( STDMETHODCALLTYPE *AddRef )(
7322  ID3D12CommandQueue * This);
7323 
7324  ULONG ( STDMETHODCALLTYPE *Release )(
7325  ID3D12CommandQueue * This);
7326 
7327  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
7328  ID3D12CommandQueue * This,
7329  _In_ REFGUID guid,
7330  _Inout_ UINT *pDataSize,
7331  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
7332 
7333  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
7334  ID3D12CommandQueue * This,
7335  _In_ REFGUID guid,
7336  _In_ UINT DataSize,
7337  _In_reads_bytes_opt_( DataSize ) const void *pData);
7338 
7339  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
7340  ID3D12CommandQueue * This,
7341  _In_ REFGUID guid,
7342  _In_opt_ const IUnknown *pData);
7343 
7344  HRESULT ( STDMETHODCALLTYPE *SetName )(
7345  ID3D12CommandQueue * This,
7346  _In_z_ LPCWSTR Name);
7347 
7348  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
7349  ID3D12CommandQueue * This,
7350  REFIID riid,
7351  _COM_Outptr_opt_ void **ppvDevice);
7352 
7353  void ( STDMETHODCALLTYPE *UpdateTileMappings )(
7354  ID3D12CommandQueue * This,
7356  UINT NumResourceRegions,
7357  _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
7358  _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
7359  _In_opt_ ID3D12Heap *pHeap,
7360  UINT NumRanges,
7361  _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
7362  _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
7363  _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
7365 
7366  void ( STDMETHODCALLTYPE *CopyTileMappings )(
7367  ID3D12CommandQueue * This,
7368  _In_ ID3D12Resource *pDstResource,
7369  _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
7371  _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
7372  _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
7373  D3D12_TILE_MAPPING_FLAGS Flags);
7374 
7375  void ( STDMETHODCALLTYPE *ExecuteCommandLists )(
7376  ID3D12CommandQueue * This,
7378  _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists);
7379 
7380  void ( STDMETHODCALLTYPE *SetMarker )(
7381  ID3D12CommandQueue * This,
7383  _In_reads_bytes_opt_(Size) const void *pData,
7385 
7386  void ( STDMETHODCALLTYPE *BeginEvent )(
7387  ID3D12CommandQueue * This,
7388  UINT Metadata,
7389  _In_reads_bytes_opt_(Size) const void *pData,
7390  UINT Size);
7391 
7392  void ( STDMETHODCALLTYPE *EndEvent )(
7393  ID3D12CommandQueue * This);
7394 
7395  HRESULT ( STDMETHODCALLTYPE *Signal )(
7396  ID3D12CommandQueue * This,
7397  ID3D12Fence *pFence,
7398  UINT64 Value);
7399 
7400  HRESULT ( STDMETHODCALLTYPE *Wait )(
7401  ID3D12CommandQueue * This,
7402  ID3D12Fence *pFence,
7403  UINT64 Value);
7404 
7405  HRESULT ( STDMETHODCALLTYPE *GetTimestampFrequency )(
7406  ID3D12CommandQueue * This,
7408 
7409  HRESULT ( STDMETHODCALLTYPE *GetClockCalibration )(
7410  ID3D12CommandQueue * This,
7412  _Out_ UINT64 *pCpuTimestamp);
7413 
7414  D3D12_COMMAND_QUEUE_DESC ( STDMETHODCALLTYPE *GetDesc )(
7415  ID3D12CommandQueue * This);
7416 
7417  END_INTERFACE
7419 
7420  interface ID3D12CommandQueue
7421  {
7422  CONST_VTBL struct ID3D12CommandQueueVtbl *lpVtbl;
7423  };
7424 
7425 
7426 
7427 #ifdef COBJMACROS
7428 
7429 
7430 #define ID3D12CommandQueue_QueryInterface(This,riid,ppvObject) \
7431  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
7432 
7433 #define ID3D12CommandQueue_AddRef(This) \
7434  ( (This)->lpVtbl -> AddRef(This) )
7435 
7436 #define ID3D12CommandQueue_Release(This) \
7437  ( (This)->lpVtbl -> Release(This) )
7438 
7439 
7440 #define ID3D12CommandQueue_GetPrivateData(This,guid,pDataSize,pData) \
7441  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
7442 
7443 #define ID3D12CommandQueue_SetPrivateData(This,guid,DataSize,pData) \
7444  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
7445 
7446 #define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,pData) \
7447  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
7448 
7449 #define ID3D12CommandQueue_SetName(This,Name) \
7450  ( (This)->lpVtbl -> SetName(This,Name) )
7451 
7452 
7453 #define ID3D12CommandQueue_GetDevice(This,riid,ppvDevice) \
7454  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
7455 
7456 
7457 
7458 #define ID3D12CommandQueue_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) \
7459  ( (This)->lpVtbl -> UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) )
7460 
7461 #define ID3D12CommandQueue_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) \
7462  ( (This)->lpVtbl -> CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) )
7463 
7464 #define ID3D12CommandQueue_ExecuteCommandLists(This,NumCommandLists,ppCommandLists) \
7465  ( (This)->lpVtbl -> ExecuteCommandLists(This,NumCommandLists,ppCommandLists) )
7466 
7467 #define ID3D12CommandQueue_SetMarker(This,Metadata,pData,Size) \
7468  ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
7469 
7470 #define ID3D12CommandQueue_BeginEvent(This,Metadata,pData,Size) \
7471  ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
7472 
7473 #define ID3D12CommandQueue_EndEvent(This) \
7474  ( (This)->lpVtbl -> EndEvent(This) )
7475 
7476 #define ID3D12CommandQueue_Signal(This,pFence,Value) \
7477  ( (This)->lpVtbl -> Signal(This,pFence,Value) )
7478 
7479 #define ID3D12CommandQueue_Wait(This,pFence,Value) \
7480  ( (This)->lpVtbl -> Wait(This,pFence,Value) )
7481 
7482 #define ID3D12CommandQueue_GetTimestampFrequency(This,pFrequency) \
7483  ( (This)->lpVtbl -> GetTimestampFrequency(This,pFrequency) )
7484 
7485 #define ID3D12CommandQueue_GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) \
7486  ( (This)->lpVtbl -> GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) )
7487 
7488 #define ID3D12CommandQueue_GetDesc(This) \
7489  ( (This)->lpVtbl -> GetDesc(This) )
7490 
7491 #endif /* COBJMACROS */
7492 
7493 
7494 #endif /* C style interface */
7495 
7496 
7497 
7498 
7499 
7500 
7501 
7502 
7503 #endif /* __ID3D12CommandQueue_INTERFACE_DEFINED__ */
7504 
7505 
7506 /* interface __MIDL_itf_d3d12_0000_0020 */
7507 /* [local] */
7508 
7509 #ifdef __midl
7510 #ifndef LUID_DEFINED
7511 #define LUID_DEFINED 1
7512 typedef struct __LUID
7513  {
7514  DWORD LowPart;
7515  LONG HighPart;
7516  } LUID;
7517 
7518 typedef struct __LUID *PLUID;
7519 
7520 #endif
7521 #endif
7522 
7523 
7524 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_c_ifspec;
7525 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_s_ifspec;
7526 
7527 #ifndef __ID3D12Device_INTERFACE_DEFINED__
7528 #define __ID3D12Device_INTERFACE_DEFINED__
7529 
7530 /* interface ID3D12Device */
7531 /* [unique][local][object][uuid] */
7532 
7533 
7534 EXTERN_C const IID IID_ID3D12Device;
7535 
7536 #if defined(__cplusplus) && !defined(CINTERFACE)
7537 
7538  MIDL_INTERFACE("189819f1-1db6-4b57-be54-1821339b85f7")
7539  ID3D12Device : public ID3D12Object
7540  {
7541  public:
7542  virtual UINT STDMETHODCALLTYPE GetNodeCount( void) = 0;
7543 
7544  virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue(
7545  _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
7546  REFIID riid,
7547  _COM_Outptr_ void **ppCommandQueue) = 0;
7548 
7549  virtual HRESULT STDMETHODCALLTYPE CreateCommandAllocator(
7551  REFIID riid,
7552  _COM_Outptr_ void **ppCommandAllocator) = 0;
7553 
7554  virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState(
7555  _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
7556  REFIID riid,
7557  _COM_Outptr_ void **ppPipelineState) = 0;
7558 
7559  virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState(
7560  _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
7561  REFIID riid,
7562  _COM_Outptr_ void **ppPipelineState) = 0;
7563 
7564  virtual HRESULT STDMETHODCALLTYPE CreateCommandList(
7565  _In_ UINT nodeMask,
7567  _In_ ID3D12CommandAllocator *pCommandAllocator,
7568  _In_opt_ ID3D12PipelineState *pInitialState,
7569  REFIID riid,
7570  _COM_Outptr_ void **ppCommandList) = 0;
7571 
7572  virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
7573  D3D12_FEATURE Feature,
7574  _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
7575  UINT FeatureSupportDataSize) = 0;
7576 
7577  virtual HRESULT STDMETHODCALLTYPE CreateDescriptorHeap(
7578  _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
7579  REFIID riid,
7580  _COM_Outptr_ void **ppvHeap) = 0;
7581 
7582  virtual UINT STDMETHODCALLTYPE GetDescriptorHandleIncrementSize(
7583  _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) = 0;
7584 
7585  virtual HRESULT STDMETHODCALLTYPE CreateRootSignature(
7586  _In_ UINT nodeMask,
7587  _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
7588  _In_ SIZE_T blobLengthInBytes,
7589  REFIID riid,
7590  _COM_Outptr_ void **ppvRootSignature) = 0;
7591 
7592  virtual void STDMETHODCALLTYPE CreateConstantBufferView(
7593  _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
7594  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
7595 
7596  virtual void STDMETHODCALLTYPE CreateShaderResourceView(
7597  _In_opt_ ID3D12Resource *pResource,
7598  _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
7599  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
7600 
7601  virtual void STDMETHODCALLTYPE CreateUnorderedAccessView(
7602  _In_opt_ ID3D12Resource *pResource,
7603  _In_opt_ ID3D12Resource *pCounterResource,
7604  _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
7605  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
7606 
7607  virtual void STDMETHODCALLTYPE CreateRenderTargetView(
7608  _In_opt_ ID3D12Resource *pResource,
7609  _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
7610  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
7611 
7612  virtual void STDMETHODCALLTYPE CreateDepthStencilView(
7613  _In_opt_ ID3D12Resource *pResource,
7614  _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
7615  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
7616 
7617  virtual void STDMETHODCALLTYPE CreateSampler(
7618  _In_ const D3D12_SAMPLER_DESC *pDesc,
7619  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
7620 
7621  virtual void STDMETHODCALLTYPE CopyDescriptors(
7622  _In_ UINT NumDestDescriptorRanges,
7623  _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
7624  _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
7625  _In_ UINT NumSrcDescriptorRanges,
7626  _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
7627  _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
7628  _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
7629 
7630  virtual void STDMETHODCALLTYPE CopyDescriptorsSimple(
7631  _In_ UINT NumDescriptors,
7632  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
7633  _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
7634  _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
7635 
7636  virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo(
7637  _In_ UINT visibleMask,
7638  _In_ UINT numResourceDescs,
7639  _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
7640 
7641  virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties(
7642  _In_ UINT nodeMask,
7643  D3D12_HEAP_TYPE heapType) = 0;
7644 
7645  virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource(
7646  _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
7647  D3D12_HEAP_FLAGS HeapFlags,
7648  _In_ const D3D12_RESOURCE_DESC *pDesc,
7649  D3D12_RESOURCE_STATES InitialResourceState,
7650  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
7651  REFIID riidResource,
7652  _COM_Outptr_opt_ void **ppvResource) = 0;
7653 
7654  virtual HRESULT STDMETHODCALLTYPE CreateHeap(
7655  _In_ const D3D12_HEAP_DESC *pDesc,
7656  REFIID riid,
7657  _COM_Outptr_opt_ void **ppvHeap) = 0;
7658 
7659  virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource(
7660  _In_ ID3D12Heap *pHeap,
7661  UINT64 HeapOffset,
7662  _In_ const D3D12_RESOURCE_DESC *pDesc,
7663  D3D12_RESOURCE_STATES InitialState,
7664  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
7665  REFIID riid,
7666  _COM_Outptr_opt_ void **ppvResource) = 0;
7667 
7668  virtual HRESULT STDMETHODCALLTYPE CreateReservedResource(
7669  _In_ const D3D12_RESOURCE_DESC *pDesc,
7670  D3D12_RESOURCE_STATES InitialState,
7671  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
7672  REFIID riid,
7673  _COM_Outptr_opt_ void **ppvResource) = 0;
7674 
7675  virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle(
7676  _In_ ID3D12DeviceChild *pObject,
7677  _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
7678  DWORD Access,
7679  _In_opt_ LPCWSTR Name,
7680  _Out_ HANDLE *pHandle) = 0;
7681 
7682  virtual HRESULT STDMETHODCALLTYPE OpenSharedHandle(
7683  _In_ HANDLE NTHandle,
7684  REFIID riid,
7685  _COM_Outptr_opt_ void **ppvObj) = 0;
7686 
7687  virtual HRESULT STDMETHODCALLTYPE OpenSharedHandleByName(
7688  _In_ LPCWSTR Name,
7689  DWORD Access,
7690  /* [annotation][out] */
7691  _Out_ HANDLE *pNTHandle) = 0;
7692 
7693  virtual HRESULT STDMETHODCALLTYPE MakeResident(
7694  UINT NumObjects,
7695  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
7696 
7697  virtual HRESULT STDMETHODCALLTYPE Evict(
7698  UINT NumObjects,
7699  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
7700 
7701  virtual HRESULT STDMETHODCALLTYPE CreateFence(
7702  UINT64 InitialValue,
7703  D3D12_FENCE_FLAGS Flags,
7704  REFIID riid,
7705  _COM_Outptr_ void **ppFence) = 0;
7706 
7707  virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;
7708 
7709  virtual void STDMETHODCALLTYPE GetCopyableFootprints(
7710  _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
7711  _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
7712  _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
7713  UINT64 BaseOffset,
7714  _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
7715  _Out_writes_opt_(NumSubresources) UINT *pNumRows,
7716  _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
7717  _Out_opt_ UINT64 *pTotalBytes) = 0;
7718 
7719  virtual HRESULT STDMETHODCALLTYPE CreateQueryHeap(
7720  _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
7721  REFIID riid,
7722  _COM_Outptr_opt_ void **ppvHeap) = 0;
7723 
7724  virtual HRESULT STDMETHODCALLTYPE SetStablePowerState(
7725  BOOL Enable) = 0;
7726 
7727  virtual HRESULT STDMETHODCALLTYPE CreateCommandSignature(
7728  _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
7729  _In_opt_ ID3D12RootSignature *pRootSignature,
7730  REFIID riid,
7731  _COM_Outptr_opt_ void **ppvCommandSignature) = 0;
7732 
7733  virtual void STDMETHODCALLTYPE GetResourceTiling(
7734  _In_ ID3D12Resource *pTiledResource,
7735  _Out_opt_ UINT *pNumTilesForEntireResource,
7736  _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
7737  _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
7738  _Inout_opt_ UINT *pNumSubresourceTilings,
7739  _In_ UINT FirstSubresourceTilingToGet,
7740  _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips) = 0;
7741 
7742  virtual LUID STDMETHODCALLTYPE GetAdapterLuid( void) = 0;
7743 
7744  };
7745 
7746 
7747 #else /* C style interface */
7748 
7749  typedef struct ID3D12DeviceVtbl
7750  {
7751  BEGIN_INTERFACE
7752 
7753  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7754  ID3D12Device * This,
7755  REFIID riid,
7756  _COM_Outptr_ void **ppvObject);
7757 
7758  ULONG ( STDMETHODCALLTYPE *AddRef )(
7759  ID3D12Device * This);
7760 
7761  ULONG ( STDMETHODCALLTYPE *Release )(
7762  ID3D12Device * This);
7763 
7764  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
7765  ID3D12Device * This,
7766  _In_ REFGUID guid,
7767  _Inout_ UINT *pDataSize,
7768  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
7769 
7770  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
7771  ID3D12Device * This,
7772  _In_ REFGUID guid,
7773  _In_ UINT DataSize,
7774  _In_reads_bytes_opt_( DataSize ) const void *pData);
7775 
7776  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
7777  ID3D12Device * This,
7778  _In_ REFGUID guid,
7779  _In_opt_ const IUnknown *pData);
7780 
7781  HRESULT ( STDMETHODCALLTYPE *SetName )(
7782  ID3D12Device * This,
7783  _In_z_ LPCWSTR Name);
7784 
7785  UINT ( STDMETHODCALLTYPE *GetNodeCount )(
7786  ID3D12Device * This);
7787 
7788  HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
7789  ID3D12Device * This,
7790  _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
7791  REFIID riid,
7792  _COM_Outptr_ void **ppCommandQueue);
7793 
7794  HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
7795  ID3D12Device * This,
7797  REFIID riid,
7798  _COM_Outptr_ void **ppCommandAllocator);
7799 
7800  HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
7801  ID3D12Device * This,
7803  REFIID riid,
7804  _COM_Outptr_ void **ppPipelineState);
7805 
7806  HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
7807  ID3D12Device * This,
7809  REFIID riid,
7810  _COM_Outptr_ void **ppPipelineState);
7811 
7812  HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
7813  ID3D12Device * This,
7814  _In_ UINT nodeMask,
7816  _In_ ID3D12CommandAllocator *pCommandAllocator,
7817  _In_opt_ ID3D12PipelineState *pInitialState,
7818  REFIID riid,
7819  _COM_Outptr_ void **ppCommandList);
7820 
7821  HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
7822  ID3D12Device * This,
7824  _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
7826 
7827  HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
7828  ID3D12Device * This,
7829  _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
7830  REFIID riid,
7831  _COM_Outptr_ void **ppvHeap);
7832 
7833  UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
7834  ID3D12Device * This,
7836 
7837  HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
7838  ID3D12Device * This,
7839  _In_ UINT nodeMask,
7840  _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
7841  _In_ SIZE_T blobLengthInBytes,
7842  REFIID riid,
7843  _COM_Outptr_ void **ppvRootSignature);
7844 
7845  void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
7846  ID3D12Device * This,
7848  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
7849 
7850  void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
7851  ID3D12Device * This,
7853  _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
7854  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
7855 
7856  void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
7857  ID3D12Device * This,
7858  _In_opt_ ID3D12Resource *pResource,
7859  _In_opt_ ID3D12Resource *pCounterResource,
7860  _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
7861  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
7862 
7863  void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
7864  ID3D12Device * This,
7865  _In_opt_ ID3D12Resource *pResource,
7866  _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
7867  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
7868 
7869  void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
7870  ID3D12Device * This,
7871  _In_opt_ ID3D12Resource *pResource,
7872  _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
7873  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
7874 
7875  void ( STDMETHODCALLTYPE *CreateSampler )(
7876  ID3D12Device * This,
7878  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
7879 
7880  void ( STDMETHODCALLTYPE *CopyDescriptors )(
7881  ID3D12Device * This,
7883  _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
7884  _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
7886  _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
7887  _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
7889 
7890  void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
7891  ID3D12Device * This,
7892  _In_ UINT NumDescriptors,
7893  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
7895  _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
7896 
7897  D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
7898  ID3D12Device * This,
7900  _In_ UINT numResourceDescs,
7901  _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
7902 
7903  D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
7904  ID3D12Device * This,
7905  _In_ UINT nodeMask,
7907 
7908  HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
7909  ID3D12Device * This,
7910  _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
7911  D3D12_HEAP_FLAGS HeapFlags,
7912  _In_ const D3D12_RESOURCE_DESC *pDesc,
7913  D3D12_RESOURCE_STATES InitialResourceState,
7914  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
7915  REFIID riidResource,
7916  _COM_Outptr_opt_ void **ppvResource);
7917 
7918  HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
7919  ID3D12Device * This,
7920  _In_ const D3D12_HEAP_DESC *pDesc,
7921  REFIID riid,
7922  _COM_Outptr_opt_ void **ppvHeap);
7923 
7924  HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
7925  ID3D12Device * This,
7926  _In_ ID3D12Heap *pHeap,
7927  UINT64 HeapOffset,
7928  _In_ const D3D12_RESOURCE_DESC *pDesc,
7929  D3D12_RESOURCE_STATES InitialState,
7930  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
7931  REFIID riid,
7932  _COM_Outptr_opt_ void **ppvResource);
7933 
7934  HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
7935  ID3D12Device * This,
7936  _In_ const D3D12_RESOURCE_DESC *pDesc,
7937  D3D12_RESOURCE_STATES InitialState,
7938  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
7939  REFIID riid,
7940  _COM_Outptr_opt_ void **ppvResource);
7941 
7942  HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
7943  ID3D12Device * This,
7945  _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
7946  DWORD Access,
7947  _In_opt_ LPCWSTR Name,
7948  _Out_ HANDLE *pHandle);
7949 
7950  HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
7951  ID3D12Device * This,
7952  _In_ HANDLE NTHandle,
7953  REFIID riid,
7954  _COM_Outptr_opt_ void **ppvObj);
7955 
7956  HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
7957  ID3D12Device * This,
7958  _In_ LPCWSTR Name,
7959  DWORD Access,
7960  /* [annotation][out] */
7961  _Out_ HANDLE *pNTHandle);
7962 
7963  HRESULT ( STDMETHODCALLTYPE *MakeResident )(
7964  ID3D12Device * This,
7966  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
7967 
7968  HRESULT ( STDMETHODCALLTYPE *Evict )(
7969  ID3D12Device * This,
7970  UINT NumObjects,
7971  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
7972 
7973  HRESULT ( STDMETHODCALLTYPE *CreateFence )(
7974  ID3D12Device * This,
7975  UINT64 InitialValue,
7976  D3D12_FENCE_FLAGS Flags,
7977  REFIID riid,
7978  _COM_Outptr_ void **ppFence);
7979 
7980  HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
7981  ID3D12Device * This);
7982 
7983  void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
7984  ID3D12Device * This,
7986  _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
7987  _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
7989  _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
7990  _Out_writes_opt_(NumSubresources) UINT *pNumRows,
7991  _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
7992  _Out_opt_ UINT64 *pTotalBytes);
7993 
7994  HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
7995  ID3D12Device * This,
7996  _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
7997  REFIID riid,
7998  _COM_Outptr_opt_ void **ppvHeap);
7999 
8000  HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
8001  ID3D12Device * This,
8003 
8004  HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
8005  ID3D12Device * This,
8006  _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
8007  _In_opt_ ID3D12RootSignature *pRootSignature,
8008  REFIID riid,
8009  _COM_Outptr_opt_ void **ppvCommandSignature);
8010 
8011  void ( STDMETHODCALLTYPE *GetResourceTiling )(
8012  ID3D12Device * This,
8014  _Out_opt_ UINT *pNumTilesForEntireResource,
8015  _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
8016  _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
8017  _Inout_opt_ UINT *pNumSubresourceTilings,
8018  _In_ UINT FirstSubresourceTilingToGet,
8019  _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
8020 
8021  LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
8022  ID3D12Device * This);
8023 
8024  END_INTERFACE
8025  } ID3D12DeviceVtbl;
8026 
8027  interface ID3D12Device
8028  {
8029  CONST_VTBL struct ID3D12DeviceVtbl *lpVtbl;
8030  };
8031 
8032 
8033 
8034 #ifdef COBJMACROS
8035 
8036 
8037 #define ID3D12Device_QueryInterface(This,riid,ppvObject) \
8038  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
8039 
8040 #define ID3D12Device_AddRef(This) \
8041  ( (This)->lpVtbl -> AddRef(This) )
8042 
8043 #define ID3D12Device_Release(This) \
8044  ( (This)->lpVtbl -> Release(This) )
8045 
8046 
8047 #define ID3D12Device_GetPrivateData(This,guid,pDataSize,pData) \
8048  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
8049 
8050 #define ID3D12Device_SetPrivateData(This,guid,DataSize,pData) \
8051  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
8052 
8053 #define ID3D12Device_SetPrivateDataInterface(This,guid,pData) \
8054  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
8055 
8056 #define ID3D12Device_SetName(This,Name) \
8057  ( (This)->lpVtbl -> SetName(This,Name) )
8058 
8059 
8060 #define ID3D12Device_GetNodeCount(This) \
8061  ( (This)->lpVtbl -> GetNodeCount(This) )
8062 
8063 #define ID3D12Device_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
8064  ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
8065 
8066 #define ID3D12Device_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
8067  ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
8068 
8069 #define ID3D12Device_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
8070  ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
8071 
8072 #define ID3D12Device_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
8073  ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
8074 
8075 #define ID3D12Device_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
8076  ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
8077 
8078 #define ID3D12Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
8079  ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
8080 
8081 #define ID3D12Device_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
8082  ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
8083 
8084 #define ID3D12Device_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
8085  ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
8086 
8087 #define ID3D12Device_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
8088  ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
8089 
8090 #define ID3D12Device_CreateConstantBufferView(This,pDesc,DestDescriptor) \
8091  ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
8092 
8093 #define ID3D12Device_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
8094  ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
8095 
8096 #define ID3D12Device_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
8097  ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
8098 
8099 #define ID3D12Device_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
8100  ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
8101 
8102 #define ID3D12Device_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
8103  ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
8104 
8105 #define ID3D12Device_CreateSampler(This,pDesc,DestDescriptor) \
8106  ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
8107 
8108 #define ID3D12Device_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
8109  ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
8110 
8111 #define ID3D12Device_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
8112  ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
8113 
8114 #define ID3D12Device_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
8115  ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
8116 
8117 #define ID3D12Device_GetCustomHeapProperties(This,nodeMask,heapType) \
8118  ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
8119 
8120 #define ID3D12Device_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
8121  ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
8122 
8123 #define ID3D12Device_CreateHeap(This,pDesc,riid,ppvHeap) \
8124  ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
8125 
8126 #define ID3D12Device_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
8127  ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
8128 
8129 #define ID3D12Device_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
8130  ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
8131 
8132 #define ID3D12Device_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
8133  ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
8134 
8135 #define ID3D12Device_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
8136  ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
8137 
8138 #define ID3D12Device_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
8139  ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
8140 
8141 #define ID3D12Device_MakeResident(This,NumObjects,ppObjects) \
8142  ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
8143 
8144 #define ID3D12Device_Evict(This,NumObjects,ppObjects) \
8145  ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
8146 
8147 #define ID3D12Device_CreateFence(This,InitialValue,Flags,riid,ppFence) \
8148  ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
8149 
8150 #define ID3D12Device_GetDeviceRemovedReason(This) \
8151  ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
8152 
8153 #define ID3D12Device_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
8154  ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
8155 
8156 #define ID3D12Device_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
8157  ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
8158 
8159 #define ID3D12Device_SetStablePowerState(This,Enable) \
8160  ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
8161 
8162 #define ID3D12Device_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
8163  ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
8164 
8165 #define ID3D12Device_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
8166  ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
8167 
8168 #define ID3D12Device_GetAdapterLuid(This) \
8169  ( (This)->lpVtbl -> GetAdapterLuid(This) )
8170 
8171 #endif /* COBJMACROS */
8172 
8173 
8174 #endif /* C style interface */
8175 
8176 
8177 
8178 
8179 
8180 
8181 
8182 
8183 
8184 
8185 
8186 
8187 
8188 
8189 
8190 
8191 #endif /* __ID3D12Device_INTERFACE_DEFINED__ */
8192 
8193 
8194 #ifndef __ID3D12PipelineLibrary_INTERFACE_DEFINED__
8195 #define __ID3D12PipelineLibrary_INTERFACE_DEFINED__
8196 
8197 /* interface ID3D12PipelineLibrary */
8198 /* [unique][local][object][uuid] */
8199 
8200 
8201 EXTERN_C const IID IID_ID3D12PipelineLibrary;
8202 
8203 #if defined(__cplusplus) && !defined(CINTERFACE)
8204 
8205  MIDL_INTERFACE("c64226a8-9201-46af-b4cc-53fb9ff7414f")
8207  {
8208  public:
8209  virtual HRESULT STDMETHODCALLTYPE StorePipeline(
8210  _In_opt_ LPCWSTR pName,
8211  _In_ ID3D12PipelineState *pPipeline) = 0;
8212 
8213  virtual HRESULT STDMETHODCALLTYPE LoadGraphicsPipeline(
8214  _In_ LPCWSTR pName,
8216  REFIID riid,
8217  _COM_Outptr_ void **ppPipelineState) = 0;
8218 
8219  virtual HRESULT STDMETHODCALLTYPE LoadComputePipeline(
8220  _In_ LPCWSTR pName,
8222  REFIID riid,
8223  _COM_Outptr_ void **ppPipelineState) = 0;
8224 
8225  virtual SIZE_T STDMETHODCALLTYPE GetSerializedSize( void) = 0;
8226 
8227  virtual HRESULT STDMETHODCALLTYPE Serialize(
8228  _Out_writes_(DataSizeInBytes) void *pData,
8229  SIZE_T DataSizeInBytes) = 0;
8230 
8231  };
8232 
8233 
8234 #else /* C style interface */
8235 
8237  {
8238  BEGIN_INTERFACE
8239 
8240  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
8241  ID3D12PipelineLibrary * This,
8242  REFIID riid,
8243  _COM_Outptr_ void **ppvObject);
8244 
8245  ULONG ( STDMETHODCALLTYPE *AddRef )(
8246  ID3D12PipelineLibrary * This);
8247 
8248  ULONG ( STDMETHODCALLTYPE *Release )(
8249  ID3D12PipelineLibrary * This);
8250 
8251  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
8252  ID3D12PipelineLibrary * This,
8253  _In_ REFGUID guid,
8254  _Inout_ UINT *pDataSize,
8255  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
8256 
8257  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
8258  ID3D12PipelineLibrary * This,
8259  _In_ REFGUID guid,
8260  _In_ UINT DataSize,
8261  _In_reads_bytes_opt_( DataSize ) const void *pData);
8262 
8263  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
8264  ID3D12PipelineLibrary * This,
8265  _In_ REFGUID guid,
8266  _In_opt_ const IUnknown *pData);
8267 
8268  HRESULT ( STDMETHODCALLTYPE *SetName )(
8269  ID3D12PipelineLibrary * This,
8270  _In_z_ LPCWSTR Name);
8271 
8272  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
8273  ID3D12PipelineLibrary * This,
8274  REFIID riid,
8275  _COM_Outptr_opt_ void **ppvDevice);
8276 
8277  HRESULT ( STDMETHODCALLTYPE *StorePipeline )(
8278  ID3D12PipelineLibrary * This,
8279  _In_opt_ LPCWSTR pName,
8281 
8282  HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )(
8283  ID3D12PipelineLibrary * This,
8284  _In_ LPCWSTR pName,
8285  _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
8286  REFIID riid,
8287  _COM_Outptr_ void **ppPipelineState);
8288 
8289  HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )(
8290  ID3D12PipelineLibrary * This,
8291  _In_ LPCWSTR pName,
8292  _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
8293  REFIID riid,
8294  _COM_Outptr_ void **ppPipelineState);
8295 
8296  SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )(
8297  ID3D12PipelineLibrary * This);
8298 
8299  HRESULT ( STDMETHODCALLTYPE *Serialize )(
8300  ID3D12PipelineLibrary * This,
8301  _Out_writes_(DataSizeInBytes) void *pData,
8303 
8304  END_INTERFACE
8306 
8307  interface ID3D12PipelineLibrary
8308  {
8309  CONST_VTBL struct ID3D12PipelineLibraryVtbl *lpVtbl;
8310  };
8311 
8312 
8313 
8314 #ifdef COBJMACROS
8315 
8316 
8317 #define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject) \
8318  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
8319 
8320 #define ID3D12PipelineLibrary_AddRef(This) \
8321  ( (This)->lpVtbl -> AddRef(This) )
8322 
8323 #define ID3D12PipelineLibrary_Release(This) \
8324  ( (This)->lpVtbl -> Release(This) )
8325 
8326 
8327 #define ID3D12PipelineLibrary_GetPrivateData(This,guid,pDataSize,pData) \
8328  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
8329 
8330 #define ID3D12PipelineLibrary_SetPrivateData(This,guid,DataSize,pData) \
8331  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
8332 
8333 #define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,pData) \
8334  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
8335 
8336 #define ID3D12PipelineLibrary_SetName(This,Name) \
8337  ( (This)->lpVtbl -> SetName(This,Name) )
8338 
8339 
8340 #define ID3D12PipelineLibrary_GetDevice(This,riid,ppvDevice) \
8341  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
8342 
8343 
8344 #define ID3D12PipelineLibrary_StorePipeline(This,pName,pPipeline) \
8345  ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) )
8346 
8347 #define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \
8348  ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) )
8349 
8350 #define ID3D12PipelineLibrary_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \
8351  ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) )
8352 
8353 #define ID3D12PipelineLibrary_GetSerializedSize(This) \
8354  ( (This)->lpVtbl -> GetSerializedSize(This) )
8355 
8356 #define ID3D12PipelineLibrary_Serialize(This,pData,DataSizeInBytes) \
8357  ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) )
8358 
8359 #endif /* COBJMACROS */
8360 
8361 
8362 #endif /* C style interface */
8363 
8364 
8365 
8366 
8367 #endif /* __ID3D12PipelineLibrary_INTERFACE_DEFINED__ */
8368 
8369 
8370 #ifndef __ID3D12PipelineLibrary1_INTERFACE_DEFINED__
8371 #define __ID3D12PipelineLibrary1_INTERFACE_DEFINED__
8372 
8373 /* interface ID3D12PipelineLibrary1 */
8374 /* [unique][local][object][uuid] */
8375 
8376 
8377 EXTERN_C const IID IID_ID3D12PipelineLibrary1;
8378 
8379 #if defined(__cplusplus) && !defined(CINTERFACE)
8380 
8381  MIDL_INTERFACE("80eabf42-2568-4e5e-bd82-c37f86961dc3")
8383  {
8384  public:
8385  virtual HRESULT STDMETHODCALLTYPE LoadPipeline(
8386  _In_ LPCWSTR pName,
8388  REFIID riid,
8389  _COM_Outptr_ void **ppPipelineState) = 0;
8390 
8391  };
8392 
8393 
8394 #else /* C style interface */
8395 
8397  {
8398  BEGIN_INTERFACE
8399 
8400  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
8401  ID3D12PipelineLibrary1 * This,
8402  REFIID riid,
8403  _COM_Outptr_ void **ppvObject);
8404 
8405  ULONG ( STDMETHODCALLTYPE *AddRef )(
8406  ID3D12PipelineLibrary1 * This);
8407 
8408  ULONG ( STDMETHODCALLTYPE *Release )(
8409  ID3D12PipelineLibrary1 * This);
8410 
8411  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
8412  ID3D12PipelineLibrary1 * This,
8413  _In_ REFGUID guid,
8414  _Inout_ UINT *pDataSize,
8415  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
8416 
8417  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
8418  ID3D12PipelineLibrary1 * This,
8419  _In_ REFGUID guid,
8420  _In_ UINT DataSize,
8421  _In_reads_bytes_opt_( DataSize ) const void *pData);
8422 
8423  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
8424  ID3D12PipelineLibrary1 * This,
8425  _In_ REFGUID guid,
8426  _In_opt_ const IUnknown *pData);
8427 
8428  HRESULT ( STDMETHODCALLTYPE *SetName )(
8429  ID3D12PipelineLibrary1 * This,
8430  _In_z_ LPCWSTR Name);
8431 
8432  HRESULT ( STDMETHODCALLTYPE *GetDevice )(
8433  ID3D12PipelineLibrary1 * This,
8434  REFIID riid,
8435  _COM_Outptr_opt_ void **ppvDevice);
8436 
8437  HRESULT ( STDMETHODCALLTYPE *StorePipeline )(
8438  ID3D12PipelineLibrary1 * This,
8439  _In_opt_ LPCWSTR pName,
8441 
8442  HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )(
8443  ID3D12PipelineLibrary1 * This,
8444  _In_ LPCWSTR pName,
8445  _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
8446  REFIID riid,
8447  _COM_Outptr_ void **ppPipelineState);
8448 
8449  HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )(
8450  ID3D12PipelineLibrary1 * This,
8451  _In_ LPCWSTR pName,
8452  _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
8453  REFIID riid,
8454  _COM_Outptr_ void **ppPipelineState);
8455 
8456  SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )(
8457  ID3D12PipelineLibrary1 * This);
8458 
8459  HRESULT ( STDMETHODCALLTYPE *Serialize )(
8460  ID3D12PipelineLibrary1 * This,
8461  _Out_writes_(DataSizeInBytes) void *pData,
8463 
8464  HRESULT ( STDMETHODCALLTYPE *LoadPipeline )(
8465  ID3D12PipelineLibrary1 * This,
8466  _In_ LPCWSTR pName,
8467  _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
8468  REFIID riid,
8469  _COM_Outptr_ void **ppPipelineState);
8470 
8471  END_INTERFACE
8473 
8474  interface ID3D12PipelineLibrary1
8475  {
8476  CONST_VTBL struct ID3D12PipelineLibrary1Vtbl *lpVtbl;
8477  };
8478 
8479 
8480 
8481 #ifdef COBJMACROS
8482 
8483 
8484 #define ID3D12PipelineLibrary1_QueryInterface(This,riid,ppvObject) \
8485  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
8486 
8487 #define ID3D12PipelineLibrary1_AddRef(This) \
8488  ( (This)->lpVtbl -> AddRef(This) )
8489 
8490 #define ID3D12PipelineLibrary1_Release(This) \
8491  ( (This)->lpVtbl -> Release(This) )
8492 
8493 
8494 #define ID3D12PipelineLibrary1_GetPrivateData(This,guid,pDataSize,pData) \
8495  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
8496 
8497 #define ID3D12PipelineLibrary1_SetPrivateData(This,guid,DataSize,pData) \
8498  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
8499 
8500 #define ID3D12PipelineLibrary1_SetPrivateDataInterface(This,guid,pData) \
8501  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
8502 
8503 #define ID3D12PipelineLibrary1_SetName(This,Name) \
8504  ( (This)->lpVtbl -> SetName(This,Name) )
8505 
8506 
8507 #define ID3D12PipelineLibrary1_GetDevice(This,riid,ppvDevice) \
8508  ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
8509 
8510 
8511 #define ID3D12PipelineLibrary1_StorePipeline(This,pName,pPipeline) \
8512  ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) )
8513 
8514 #define ID3D12PipelineLibrary1_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \
8515  ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) )
8516 
8517 #define ID3D12PipelineLibrary1_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \
8518  ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) )
8519 
8520 #define ID3D12PipelineLibrary1_GetSerializedSize(This) \
8521  ( (This)->lpVtbl -> GetSerializedSize(This) )
8522 
8523 #define ID3D12PipelineLibrary1_Serialize(This,pData,DataSizeInBytes) \
8524  ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) )
8525 
8526 
8527 #define ID3D12PipelineLibrary1_LoadPipeline(This,pName,pDesc,riid,ppPipelineState) \
8528  ( (This)->lpVtbl -> LoadPipeline(This,pName,pDesc,riid,ppPipelineState) )
8529 
8530 #endif /* COBJMACROS */
8531 
8532 
8533 #endif /* C style interface */
8534 
8535 
8536 
8537 
8538 #endif /* __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ */
8539 
8540 
8541 /* interface __MIDL_itf_d3d12_0000_0023 */
8542 /* [local] */
8543 
8544 typedef
8546  {
8551 
8553 typedef
8555  {
8562 
8563 
8564 
8565 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0023_v0_0_c_ifspec;
8566 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0023_v0_0_s_ifspec;
8567 
8568 #ifndef __ID3D12Device1_INTERFACE_DEFINED__
8569 #define __ID3D12Device1_INTERFACE_DEFINED__
8570 
8571 /* interface ID3D12Device1 */
8572 /* [unique][local][object][uuid] */
8573 
8574 
8575 EXTERN_C const IID IID_ID3D12Device1;
8576 
8577 #if defined(__cplusplus) && !defined(CINTERFACE)
8578 
8579  MIDL_INTERFACE("77acce80-638e-4e65-8895-c1f23386863e")
8580  ID3D12Device1 : public ID3D12Device
8581  {
8582  public:
8583  virtual HRESULT STDMETHODCALLTYPE CreatePipelineLibrary(
8584  _In_reads_(BlobLength) const void *pLibraryBlob,
8585  SIZE_T BlobLength,
8586  REFIID riid,
8587  _COM_Outptr_ void **ppPipelineLibrary) = 0;
8588 
8589  virtual HRESULT STDMETHODCALLTYPE SetEventOnMultipleFenceCompletion(
8590  _In_reads_(NumFences) ID3D12Fence *const *ppFences,
8591  _In_reads_(NumFences) const UINT64 *pFenceValues,
8592  UINT NumFences,
8594  HANDLE hEvent) = 0;
8595 
8596  virtual HRESULT STDMETHODCALLTYPE SetResidencyPriority(
8597  UINT NumObjects,
8598  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
8599  _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities) = 0;
8600 
8601  };
8602 
8603 
8604 #else /* C style interface */
8605 
8606  typedef struct ID3D12Device1Vtbl
8607  {
8608  BEGIN_INTERFACE
8609 
8610  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
8611  ID3D12Device1 * This,
8612  REFIID riid,
8613  _COM_Outptr_ void **ppvObject);
8614 
8615  ULONG ( STDMETHODCALLTYPE *AddRef )(
8616  ID3D12Device1 * This);
8617 
8618  ULONG ( STDMETHODCALLTYPE *Release )(
8619  ID3D12Device1 * This);
8620 
8621  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
8622  ID3D12Device1 * This,
8623  _In_ REFGUID guid,
8624  _Inout_ UINT *pDataSize,
8625  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
8626 
8627  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
8628  ID3D12Device1 * This,
8629  _In_ REFGUID guid,
8630  _In_ UINT DataSize,
8631  _In_reads_bytes_opt_( DataSize ) const void *pData);
8632 
8633  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
8634  ID3D12Device1 * This,
8635  _In_ REFGUID guid,
8636  _In_opt_ const IUnknown *pData);
8637 
8638  HRESULT ( STDMETHODCALLTYPE *SetName )(
8639  ID3D12Device1 * This,
8640  _In_z_ LPCWSTR Name);
8641 
8642  UINT ( STDMETHODCALLTYPE *GetNodeCount )(
8643  ID3D12Device1 * This);
8644 
8645  HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
8646  ID3D12Device1 * This,
8647  _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
8648  REFIID riid,
8649  _COM_Outptr_ void **ppCommandQueue);
8650 
8651  HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
8652  ID3D12Device1 * This,
8654  REFIID riid,
8655  _COM_Outptr_ void **ppCommandAllocator);
8656 
8657  HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
8658  ID3D12Device1 * This,
8660  REFIID riid,
8661  _COM_Outptr_ void **ppPipelineState);
8662 
8663  HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
8664  ID3D12Device1 * This,
8666  REFIID riid,
8667  _COM_Outptr_ void **ppPipelineState);
8668 
8669  HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
8670  ID3D12Device1 * This,
8671  _In_ UINT nodeMask,
8673  _In_ ID3D12CommandAllocator *pCommandAllocator,
8674  _In_opt_ ID3D12PipelineState *pInitialState,
8675  REFIID riid,
8676  _COM_Outptr_ void **ppCommandList);
8677 
8678  HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
8679  ID3D12Device1 * This,
8681  _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
8683 
8684  HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
8685  ID3D12Device1 * This,
8686  _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
8687  REFIID riid,
8688  _COM_Outptr_ void **ppvHeap);
8689 
8690  UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
8691  ID3D12Device1 * This,
8693 
8694  HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
8695  ID3D12Device1 * This,
8696  _In_ UINT nodeMask,
8697  _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
8698  _In_ SIZE_T blobLengthInBytes,
8699  REFIID riid,
8700  _COM_Outptr_ void **ppvRootSignature);
8701 
8702  void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
8703  ID3D12Device1 * This,
8705  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
8706 
8707  void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
8708  ID3D12Device1 * This,
8710  _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
8711  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
8712 
8713  void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
8714  ID3D12Device1 * This,
8715  _In_opt_ ID3D12Resource *pResource,
8716  _In_opt_ ID3D12Resource *pCounterResource,
8717  _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
8718  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
8719 
8720  void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
8721  ID3D12Device1 * This,
8722  _In_opt_ ID3D12Resource *pResource,
8723  _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
8724  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
8725 
8726  void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
8727  ID3D12Device1 * This,
8728  _In_opt_ ID3D12Resource *pResource,
8729  _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
8730  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
8731 
8732  void ( STDMETHODCALLTYPE *CreateSampler )(
8733  ID3D12Device1 * This,
8735  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
8736 
8737  void ( STDMETHODCALLTYPE *CopyDescriptors )(
8738  ID3D12Device1 * This,
8740  _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
8741  _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
8743  _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
8744  _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
8746 
8747  void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
8748  ID3D12Device1 * This,
8749  _In_ UINT NumDescriptors,
8750  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
8752  _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
8753 
8754  D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
8755  ID3D12Device1 * This,
8757  _In_ UINT numResourceDescs,
8758  _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
8759 
8760  D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
8761  ID3D12Device1 * This,
8762  _In_ UINT nodeMask,
8764 
8765  HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
8766  ID3D12Device1 * This,
8767  _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
8768  D3D12_HEAP_FLAGS HeapFlags,
8769  _In_ const D3D12_RESOURCE_DESC *pDesc,
8770  D3D12_RESOURCE_STATES InitialResourceState,
8771  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
8772  REFIID riidResource,
8773  _COM_Outptr_opt_ void **ppvResource);
8774 
8775  HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
8776  ID3D12Device1 * This,
8777  _In_ const D3D12_HEAP_DESC *pDesc,
8778  REFIID riid,
8779  _COM_Outptr_opt_ void **ppvHeap);
8780 
8781  HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
8782  ID3D12Device1 * This,
8783  _In_ ID3D12Heap *pHeap,
8784  UINT64 HeapOffset,
8785  _In_ const D3D12_RESOURCE_DESC *pDesc,
8786  D3D12_RESOURCE_STATES InitialState,
8787  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
8788  REFIID riid,
8789  _COM_Outptr_opt_ void **ppvResource);
8790 
8791  HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
8792  ID3D12Device1 * This,
8793  _In_ const D3D12_RESOURCE_DESC *pDesc,
8794  D3D12_RESOURCE_STATES InitialState,
8795  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
8796  REFIID riid,
8797  _COM_Outptr_opt_ void **ppvResource);
8798 
8799  HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
8800  ID3D12Device1 * This,
8802  _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
8803  DWORD Access,
8804  _In_opt_ LPCWSTR Name,
8805  _Out_ HANDLE *pHandle);
8806 
8807  HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
8808  ID3D12Device1 * This,
8809  _In_ HANDLE NTHandle,
8810  REFIID riid,
8811  _COM_Outptr_opt_ void **ppvObj);
8812 
8813  HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
8814  ID3D12Device1 * This,
8815  _In_ LPCWSTR Name,
8816  DWORD Access,
8817  /* [annotation][out] */
8818  _Out_ HANDLE *pNTHandle);
8819 
8820  HRESULT ( STDMETHODCALLTYPE *MakeResident )(
8821  ID3D12Device1 * This,
8823  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
8824 
8825  HRESULT ( STDMETHODCALLTYPE *Evict )(
8826  ID3D12Device1 * This,
8827  UINT NumObjects,
8828  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
8829 
8830  HRESULT ( STDMETHODCALLTYPE *CreateFence )(
8831  ID3D12Device1 * This,
8832  UINT64 InitialValue,
8833  D3D12_FENCE_FLAGS Flags,
8834  REFIID riid,
8835  _COM_Outptr_ void **ppFence);
8836 
8837  HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
8838  ID3D12Device1 * This);
8839 
8840  void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
8841  ID3D12Device1 * This,
8843  _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
8844  _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
8846  _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
8847  _Out_writes_opt_(NumSubresources) UINT *pNumRows,
8848  _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
8849  _Out_opt_ UINT64 *pTotalBytes);
8850 
8851  HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
8852  ID3D12Device1 * This,
8853  _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
8854  REFIID riid,
8855  _COM_Outptr_opt_ void **ppvHeap);
8856 
8857  HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
8858  ID3D12Device1 * This,
8860 
8861  HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
8862  ID3D12Device1 * This,
8863  _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
8864  _In_opt_ ID3D12RootSignature *pRootSignature,
8865  REFIID riid,
8866  _COM_Outptr_opt_ void **ppvCommandSignature);
8867 
8868  void ( STDMETHODCALLTYPE *GetResourceTiling )(
8869  ID3D12Device1 * This,
8871  _Out_opt_ UINT *pNumTilesForEntireResource,
8872  _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
8873  _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
8874  _Inout_opt_ UINT *pNumSubresourceTilings,
8875  _In_ UINT FirstSubresourceTilingToGet,
8876  _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
8877 
8878  LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
8879  ID3D12Device1 * This);
8880 
8881  HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
8882  ID3D12Device1 * This,
8883  _In_reads_(BlobLength) const void *pLibraryBlob,
8884  SIZE_T BlobLength,
8885  REFIID riid,
8886  _COM_Outptr_ void **ppPipelineLibrary);
8887 
8888  HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
8889  ID3D12Device1 * This,
8890  _In_reads_(NumFences) ID3D12Fence *const *ppFences,
8891  _In_reads_(NumFences) const UINT64 *pFenceValues,
8894  HANDLE hEvent);
8895 
8896  HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
8897  ID3D12Device1 * This,
8898  UINT NumObjects,
8899  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
8900  _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
8901 
8902  END_INTERFACE
8904 
8905  interface ID3D12Device1
8906  {
8907  CONST_VTBL struct ID3D12Device1Vtbl *lpVtbl;
8908  };
8909 
8910 
8911 
8912 #ifdef COBJMACROS
8913 
8914 
8915 #define ID3D12Device1_QueryInterface(This,riid,ppvObject) \
8916  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
8917 
8918 #define ID3D12Device1_AddRef(This) \
8919  ( (This)->lpVtbl -> AddRef(This) )
8920 
8921 #define ID3D12Device1_Release(This) \
8922  ( (This)->lpVtbl -> Release(This) )
8923 
8924 
8925 #define ID3D12Device1_GetPrivateData(This,guid,pDataSize,pData) \
8926  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
8927 
8928 #define ID3D12Device1_SetPrivateData(This,guid,DataSize,pData) \
8929  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
8930 
8931 #define ID3D12Device1_SetPrivateDataInterface(This,guid,pData) \
8932  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
8933 
8934 #define ID3D12Device1_SetName(This,Name) \
8935  ( (This)->lpVtbl -> SetName(This,Name) )
8936 
8937 
8938 #define ID3D12Device1_GetNodeCount(This) \
8939  ( (This)->lpVtbl -> GetNodeCount(This) )
8940 
8941 #define ID3D12Device1_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
8942  ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
8943 
8944 #define ID3D12Device1_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
8945  ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
8946 
8947 #define ID3D12Device1_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
8948  ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
8949 
8950 #define ID3D12Device1_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
8951  ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
8952 
8953 #define ID3D12Device1_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
8954  ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
8955 
8956 #define ID3D12Device1_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
8957  ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
8958 
8959 #define ID3D12Device1_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
8960  ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
8961 
8962 #define ID3D12Device1_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
8963  ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
8964 
8965 #define ID3D12Device1_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
8966  ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
8967 
8968 #define ID3D12Device1_CreateConstantBufferView(This,pDesc,DestDescriptor) \
8969  ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
8970 
8971 #define ID3D12Device1_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
8972  ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
8973 
8974 #define ID3D12Device1_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
8975  ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
8976 
8977 #define ID3D12Device1_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
8978  ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
8979 
8980 #define ID3D12Device1_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
8981  ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
8982 
8983 #define ID3D12Device1_CreateSampler(This,pDesc,DestDescriptor) \
8984  ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
8985 
8986 #define ID3D12Device1_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
8987  ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
8988 
8989 #define ID3D12Device1_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
8990  ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
8991 
8992 #define ID3D12Device1_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
8993  ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
8994 
8995 #define ID3D12Device1_GetCustomHeapProperties(This,nodeMask,heapType) \
8996  ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
8997 
8998 #define ID3D12Device1_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
8999  ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
9000 
9001 #define ID3D12Device1_CreateHeap(This,pDesc,riid,ppvHeap) \
9002  ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
9003 
9004 #define ID3D12Device1_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
9005  ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
9006 
9007 #define ID3D12Device1_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
9008  ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
9009 
9010 #define ID3D12Device1_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
9011  ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
9012 
9013 #define ID3D12Device1_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
9014  ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
9015 
9016 #define ID3D12Device1_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
9017  ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
9018 
9019 #define ID3D12Device1_MakeResident(This,NumObjects,ppObjects) \
9020  ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
9021 
9022 #define ID3D12Device1_Evict(This,NumObjects,ppObjects) \
9023  ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
9024 
9025 #define ID3D12Device1_CreateFence(This,InitialValue,Flags,riid,ppFence) \
9026  ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
9027 
9028 #define ID3D12Device1_GetDeviceRemovedReason(This) \
9029  ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
9030 
9031 #define ID3D12Device1_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
9032  ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
9033 
9034 #define ID3D12Device1_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
9035  ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
9036 
9037 #define ID3D12Device1_SetStablePowerState(This,Enable) \
9038  ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
9039 
9040 #define ID3D12Device1_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
9041  ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
9042 
9043 #define ID3D12Device1_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
9044  ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
9045 
9046 #define ID3D12Device1_GetAdapterLuid(This) \
9047  ( (This)->lpVtbl -> GetAdapterLuid(This) )
9048 
9049 
9050 #define ID3D12Device1_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
9051  ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
9052 
9053 #define ID3D12Device1_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
9054  ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
9055 
9056 #define ID3D12Device1_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
9057  ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
9058 
9059 #endif /* COBJMACROS */
9060 
9061 
9062 #endif /* C style interface */
9063 
9064 
9065 
9066 
9067 #endif /* __ID3D12Device1_INTERFACE_DEFINED__ */
9068 
9069 
9070 #ifndef __ID3D12Device2_INTERFACE_DEFINED__
9071 #define __ID3D12Device2_INTERFACE_DEFINED__
9072 
9073 /* interface ID3D12Device2 */
9074 /* [unique][local][object][uuid] */
9075 
9076 
9077 EXTERN_C const IID IID_ID3D12Device2;
9078 
9079 #if defined(__cplusplus) && !defined(CINTERFACE)
9080 
9081  MIDL_INTERFACE("30baa41e-b15b-475c-a0bb-1af5c5b64328")
9082  ID3D12Device2 : public ID3D12Device1
9083  {
9084  public:
9085  virtual HRESULT STDMETHODCALLTYPE CreatePipelineState(
9087  REFIID riid,
9088  _COM_Outptr_ void **ppPipelineState) = 0;
9089 
9090  };
9091 
9092 
9093 #else /* C style interface */
9094 
9095  typedef struct ID3D12Device2Vtbl
9096  {
9097  BEGIN_INTERFACE
9098 
9099  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
9100  ID3D12Device2 * This,
9101  REFIID riid,
9102  _COM_Outptr_ void **ppvObject);
9103 
9104  ULONG ( STDMETHODCALLTYPE *AddRef )(
9105  ID3D12Device2 * This);
9106 
9107  ULONG ( STDMETHODCALLTYPE *Release )(
9108  ID3D12Device2 * This);
9109 
9110  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
9111  ID3D12Device2 * This,
9112  _In_ REFGUID guid,
9113  _Inout_ UINT *pDataSize,
9114  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
9115 
9116  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
9117  ID3D12Device2 * This,
9118  _In_ REFGUID guid,
9119  _In_ UINT DataSize,
9120  _In_reads_bytes_opt_( DataSize ) const void *pData);
9121 
9122  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
9123  ID3D12Device2 * This,
9124  _In_ REFGUID guid,
9125  _In_opt_ const IUnknown *pData);
9126 
9127  HRESULT ( STDMETHODCALLTYPE *SetName )(
9128  ID3D12Device2 * This,
9129  _In_z_ LPCWSTR Name);
9130 
9131  UINT ( STDMETHODCALLTYPE *GetNodeCount )(
9132  ID3D12Device2 * This);
9133 
9134  HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
9135  ID3D12Device2 * This,
9136  _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
9137  REFIID riid,
9138  _COM_Outptr_ void **ppCommandQueue);
9139 
9140  HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
9141  ID3D12Device2 * This,
9143  REFIID riid,
9144  _COM_Outptr_ void **ppCommandAllocator);
9145 
9146  HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
9147  ID3D12Device2 * This,
9149  REFIID riid,
9150  _COM_Outptr_ void **ppPipelineState);
9151 
9152  HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
9153  ID3D12Device2 * This,
9155  REFIID riid,
9156  _COM_Outptr_ void **ppPipelineState);
9157 
9158  HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
9159  ID3D12Device2 * This,
9160  _In_ UINT nodeMask,
9162  _In_ ID3D12CommandAllocator *pCommandAllocator,
9163  _In_opt_ ID3D12PipelineState *pInitialState,
9164  REFIID riid,
9165  _COM_Outptr_ void **ppCommandList);
9166 
9167  HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
9168  ID3D12Device2 * This,
9170  _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
9172 
9173  HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
9174  ID3D12Device2 * This,
9175  _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
9176  REFIID riid,
9177  _COM_Outptr_ void **ppvHeap);
9178 
9179  UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
9180  ID3D12Device2 * This,
9182 
9183  HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
9184  ID3D12Device2 * This,
9185  _In_ UINT nodeMask,
9186  _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
9187  _In_ SIZE_T blobLengthInBytes,
9188  REFIID riid,
9189  _COM_Outptr_ void **ppvRootSignature);
9190 
9191  void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
9192  ID3D12Device2 * This,
9194  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9195 
9196  void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
9197  ID3D12Device2 * This,
9199  _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
9200  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9201 
9202  void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
9203  ID3D12Device2 * This,
9204  _In_opt_ ID3D12Resource *pResource,
9205  _In_opt_ ID3D12Resource *pCounterResource,
9206  _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
9207  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9208 
9209  void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
9210  ID3D12Device2 * This,
9211  _In_opt_ ID3D12Resource *pResource,
9212  _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
9213  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9214 
9215  void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
9216  ID3D12Device2 * This,
9217  _In_opt_ ID3D12Resource *pResource,
9218  _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
9219  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9220 
9221  void ( STDMETHODCALLTYPE *CreateSampler )(
9222  ID3D12Device2 * This,
9224  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9225 
9226  void ( STDMETHODCALLTYPE *CopyDescriptors )(
9227  ID3D12Device2 * This,
9229  _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
9230  _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
9232  _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
9233  _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
9235 
9236  void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
9237  ID3D12Device2 * This,
9238  _In_ UINT NumDescriptors,
9239  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
9241  _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
9242 
9243  D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
9244  ID3D12Device2 * This,
9246  _In_ UINT numResourceDescs,
9247  _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
9248 
9249  D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
9250  ID3D12Device2 * This,
9251  _In_ UINT nodeMask,
9253 
9254  HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
9255  ID3D12Device2 * This,
9256  _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
9257  D3D12_HEAP_FLAGS HeapFlags,
9258  _In_ const D3D12_RESOURCE_DESC *pDesc,
9259  D3D12_RESOURCE_STATES InitialResourceState,
9260  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9261  REFIID riidResource,
9262  _COM_Outptr_opt_ void **ppvResource);
9263 
9264  HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
9265  ID3D12Device2 * This,
9266  _In_ const D3D12_HEAP_DESC *pDesc,
9267  REFIID riid,
9268  _COM_Outptr_opt_ void **ppvHeap);
9269 
9270  HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
9271  ID3D12Device2 * This,
9272  _In_ ID3D12Heap *pHeap,
9273  UINT64 HeapOffset,
9274  _In_ const D3D12_RESOURCE_DESC *pDesc,
9275  D3D12_RESOURCE_STATES InitialState,
9276  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9277  REFIID riid,
9278  _COM_Outptr_opt_ void **ppvResource);
9279 
9280  HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
9281  ID3D12Device2 * This,
9282  _In_ const D3D12_RESOURCE_DESC *pDesc,
9283  D3D12_RESOURCE_STATES InitialState,
9284  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9285  REFIID riid,
9286  _COM_Outptr_opt_ void **ppvResource);
9287 
9288  HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
9289  ID3D12Device2 * This,
9291  _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
9292  DWORD Access,
9293  _In_opt_ LPCWSTR Name,
9294  _Out_ HANDLE *pHandle);
9295 
9296  HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
9297  ID3D12Device2 * This,
9298  _In_ HANDLE NTHandle,
9299  REFIID riid,
9300  _COM_Outptr_opt_ void **ppvObj);
9301 
9302  HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
9303  ID3D12Device2 * This,
9304  _In_ LPCWSTR Name,
9305  DWORD Access,
9306  /* [annotation][out] */
9307  _Out_ HANDLE *pNTHandle);
9308 
9309  HRESULT ( STDMETHODCALLTYPE *MakeResident )(
9310  ID3D12Device2 * This,
9312  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
9313 
9314  HRESULT ( STDMETHODCALLTYPE *Evict )(
9315  ID3D12Device2 * This,
9316  UINT NumObjects,
9317  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
9318 
9319  HRESULT ( STDMETHODCALLTYPE *CreateFence )(
9320  ID3D12Device2 * This,
9321  UINT64 InitialValue,
9322  D3D12_FENCE_FLAGS Flags,
9323  REFIID riid,
9324  _COM_Outptr_ void **ppFence);
9325 
9326  HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
9327  ID3D12Device2 * This);
9328 
9329  void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
9330  ID3D12Device2 * This,
9332  _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
9333  _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
9335  _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
9336  _Out_writes_opt_(NumSubresources) UINT *pNumRows,
9337  _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
9338  _Out_opt_ UINT64 *pTotalBytes);
9339 
9340  HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
9341  ID3D12Device2 * This,
9342  _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
9343  REFIID riid,
9344  _COM_Outptr_opt_ void **ppvHeap);
9345 
9346  HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
9347  ID3D12Device2 * This,
9349 
9350  HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
9351  ID3D12Device2 * This,
9352  _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
9353  _In_opt_ ID3D12RootSignature *pRootSignature,
9354  REFIID riid,
9355  _COM_Outptr_opt_ void **ppvCommandSignature);
9356 
9357  void ( STDMETHODCALLTYPE *GetResourceTiling )(
9358  ID3D12Device2 * This,
9360  _Out_opt_ UINT *pNumTilesForEntireResource,
9361  _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
9362  _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
9363  _Inout_opt_ UINT *pNumSubresourceTilings,
9364  _In_ UINT FirstSubresourceTilingToGet,
9365  _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
9366 
9367  LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
9368  ID3D12Device2 * This);
9369 
9370  HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
9371  ID3D12Device2 * This,
9372  _In_reads_(BlobLength) const void *pLibraryBlob,
9373  SIZE_T BlobLength,
9374  REFIID riid,
9375  _COM_Outptr_ void **ppPipelineLibrary);
9376 
9377  HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
9378  ID3D12Device2 * This,
9379  _In_reads_(NumFences) ID3D12Fence *const *ppFences,
9380  _In_reads_(NumFences) const UINT64 *pFenceValues,
9383  HANDLE hEvent);
9384 
9385  HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
9386  ID3D12Device2 * This,
9387  UINT NumObjects,
9388  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
9389  _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
9390 
9391  HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
9392  ID3D12Device2 * This,
9394  REFIID riid,
9395  _COM_Outptr_ void **ppPipelineState);
9396 
9397  END_INTERFACE
9399 
9400  interface ID3D12Device2
9401  {
9402  CONST_VTBL struct ID3D12Device2Vtbl *lpVtbl;
9403  };
9404 
9405 
9406 
9407 #ifdef COBJMACROS
9408 
9409 
9410 #define ID3D12Device2_QueryInterface(This,riid,ppvObject) \
9411  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
9412 
9413 #define ID3D12Device2_AddRef(This) \
9414  ( (This)->lpVtbl -> AddRef(This) )
9415 
9416 #define ID3D12Device2_Release(This) \
9417  ( (This)->lpVtbl -> Release(This) )
9418 
9419 
9420 #define ID3D12Device2_GetPrivateData(This,guid,pDataSize,pData) \
9421  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
9422 
9423 #define ID3D12Device2_SetPrivateData(This,guid,DataSize,pData) \
9424  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
9425 
9426 #define ID3D12Device2_SetPrivateDataInterface(This,guid,pData) \
9427  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
9428 
9429 #define ID3D12Device2_SetName(This,Name) \
9430  ( (This)->lpVtbl -> SetName(This,Name) )
9431 
9432 
9433 #define ID3D12Device2_GetNodeCount(This) \
9434  ( (This)->lpVtbl -> GetNodeCount(This) )
9435 
9436 #define ID3D12Device2_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
9437  ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
9438 
9439 #define ID3D12Device2_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
9440  ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
9441 
9442 #define ID3D12Device2_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
9443  ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
9444 
9445 #define ID3D12Device2_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
9446  ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
9447 
9448 #define ID3D12Device2_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
9449  ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
9450 
9451 #define ID3D12Device2_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
9452  ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
9453 
9454 #define ID3D12Device2_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
9455  ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
9456 
9457 #define ID3D12Device2_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
9458  ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
9459 
9460 #define ID3D12Device2_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
9461  ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
9462 
9463 #define ID3D12Device2_CreateConstantBufferView(This,pDesc,DestDescriptor) \
9464  ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
9465 
9466 #define ID3D12Device2_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
9467  ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
9468 
9469 #define ID3D12Device2_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
9470  ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
9471 
9472 #define ID3D12Device2_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
9473  ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
9474 
9475 #define ID3D12Device2_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
9476  ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
9477 
9478 #define ID3D12Device2_CreateSampler(This,pDesc,DestDescriptor) \
9479  ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
9480 
9481 #define ID3D12Device2_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
9482  ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
9483 
9484 #define ID3D12Device2_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
9485  ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
9486 
9487 #define ID3D12Device2_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
9488  ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
9489 
9490 #define ID3D12Device2_GetCustomHeapProperties(This,nodeMask,heapType) \
9491  ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
9492 
9493 #define ID3D12Device2_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
9494  ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
9495 
9496 #define ID3D12Device2_CreateHeap(This,pDesc,riid,ppvHeap) \
9497  ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
9498 
9499 #define ID3D12Device2_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
9500  ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
9501 
9502 #define ID3D12Device2_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
9503  ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
9504 
9505 #define ID3D12Device2_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
9506  ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
9507 
9508 #define ID3D12Device2_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
9509  ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
9510 
9511 #define ID3D12Device2_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
9512  ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
9513 
9514 #define ID3D12Device2_MakeResident(This,NumObjects,ppObjects) \
9515  ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
9516 
9517 #define ID3D12Device2_Evict(This,NumObjects,ppObjects) \
9518  ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
9519 
9520 #define ID3D12Device2_CreateFence(This,InitialValue,Flags,riid,ppFence) \
9521  ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
9522 
9523 #define ID3D12Device2_GetDeviceRemovedReason(This) \
9524  ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
9525 
9526 #define ID3D12Device2_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
9527  ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
9528 
9529 #define ID3D12Device2_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
9530  ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
9531 
9532 #define ID3D12Device2_SetStablePowerState(This,Enable) \
9533  ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
9534 
9535 #define ID3D12Device2_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
9536  ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
9537 
9538 #define ID3D12Device2_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
9539  ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
9540 
9541 #define ID3D12Device2_GetAdapterLuid(This) \
9542  ( (This)->lpVtbl -> GetAdapterLuid(This) )
9543 
9544 
9545 #define ID3D12Device2_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
9546  ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
9547 
9548 #define ID3D12Device2_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
9549  ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
9550 
9551 #define ID3D12Device2_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
9552  ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
9553 
9554 
9555 #define ID3D12Device2_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
9556  ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
9557 
9558 #endif /* COBJMACROS */
9559 
9560 
9561 #endif /* C style interface */
9562 
9563 
9564 
9565 
9566 #endif /* __ID3D12Device2_INTERFACE_DEFINED__ */
9567 
9568 
9569 /* interface __MIDL_itf_d3d12_0000_0025 */
9570 /* [local] */
9571 
9572 typedef
9574  {
9578 
9580 
9581 
9582 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_c_ifspec;
9583 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_s_ifspec;
9584 
9585 #ifndef __ID3D12Device3_INTERFACE_DEFINED__
9586 #define __ID3D12Device3_INTERFACE_DEFINED__
9587 
9588 /* interface ID3D12Device3 */
9589 /* [unique][local][object][uuid] */
9590 
9591 
9592 EXTERN_C const IID IID_ID3D12Device3;
9593 
9594 #if defined(__cplusplus) && !defined(CINTERFACE)
9595 
9596  MIDL_INTERFACE("81dadc15-2bad-4392-93c5-101345c4aa98")
9597  ID3D12Device3 : public ID3D12Device2
9598  {
9599  public:
9600  virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress(
9601  _In_ const void *pAddress,
9602  REFIID riid,
9603  _COM_Outptr_ void **ppvHeap) = 0;
9604 
9605  virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromFileMapping(
9606  _In_ HANDLE hFileMapping,
9607  REFIID riid,
9608  _COM_Outptr_ void **ppvHeap) = 0;
9609 
9610  virtual HRESULT STDMETHODCALLTYPE EnqueueMakeResident(
9612  UINT NumObjects,
9613  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
9614  _In_ ID3D12Fence *pFenceToSignal,
9615  UINT64 FenceValueToSignal) = 0;
9616 
9617  };
9618 
9619 
9620 #else /* C style interface */
9621 
9622  typedef struct ID3D12Device3Vtbl
9623  {
9624  BEGIN_INTERFACE
9625 
9626  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
9627  ID3D12Device3 * This,
9628  REFIID riid,
9629  _COM_Outptr_ void **ppvObject);
9630 
9631  ULONG ( STDMETHODCALLTYPE *AddRef )(
9632  ID3D12Device3 * This);
9633 
9634  ULONG ( STDMETHODCALLTYPE *Release )(
9635  ID3D12Device3 * This);
9636 
9637  HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
9638  ID3D12Device3 * This,
9639  _In_ REFGUID guid,
9640  _Inout_ UINT *pDataSize,
9641  _Out_writes_bytes_opt_( *pDataSize ) void *pData);
9642 
9643  HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
9644  ID3D12Device3 * This,
9645  _In_ REFGUID guid,
9646  _In_ UINT DataSize,
9647  _In_reads_bytes_opt_( DataSize ) const void *pData);
9648 
9649  HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
9650  ID3D12Device3 * This,
9651  _In_ REFGUID guid,
9652  _In_opt_ const IUnknown *pData);
9653 
9654  HRESULT ( STDMETHODCALLTYPE *SetName )(
9655  ID3D12Device3 * This,
9656  _In_z_ LPCWSTR Name);
9657 
9658  UINT ( STDMETHODCALLTYPE *GetNodeCount )(
9659  ID3D12Device3 * This);
9660 
9661  HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
9662  ID3D12Device3 * This,
9663  _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
9664  REFIID riid,
9665  _COM_Outptr_ void **ppCommandQueue);
9666 
9667  HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
9668  ID3D12Device3 * This,
9670  REFIID riid,
9671  _COM_Outptr_ void **ppCommandAllocator);
9672 
9673  HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
9674  ID3D12Device3 * This,
9676  REFIID riid,
9677  _COM_Outptr_ void **ppPipelineState);
9678 
9679  HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
9680  ID3D12Device3 * This,
9682  REFIID riid,
9683  _COM_Outptr_ void **ppPipelineState);
9684 
9685  HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
9686  ID3D12Device3 * This,
9687  _In_ UINT nodeMask,
9689  _In_ ID3D12CommandAllocator *pCommandAllocator,
9690  _In_opt_ ID3D12PipelineState *pInitialState,
9691  REFIID riid,
9692  _COM_Outptr_ void **ppCommandList);
9693 
9694  HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
9695  ID3D12Device3 * This,
9697  _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
9699 
9700  HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
9701  ID3D12Device3 * This,
9702  _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
9703  REFIID riid,
9704  _COM_Outptr_ void **ppvHeap);
9705 
9706  UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
9707  ID3D12Device3 * This,
9709 
9710  HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
9711  ID3D12Device3 * This,
9712  _In_ UINT nodeMask,
9713  _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
9714  _In_ SIZE_T blobLengthInBytes,
9715  REFIID riid,
9716  _COM_Outptr_ void **ppvRootSignature);
9717 
9718  void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
9719  ID3D12Device3 * This,
9721  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9722 
9723  void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
9724  ID3D12Device3 * This,
9726  _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
9727  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9728 
9729  void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
9730  ID3D12Device3 * This,
9731  _In_opt_ ID3D12Resource *pResource,
9732  _In_opt_ ID3D12Resource *pCounterResource,
9733  _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
9734  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9735 
9736  void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
9737  ID3D12Device3 * This,
9738  _In_opt_ ID3D12Resource *pResource,
9739  _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
9740  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9741 
9742  void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
9743  ID3D12Device3 * This,
9744  _In_opt_ ID3D12Resource *pResource,
9745  _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
9746  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9747 
9748  void ( STDMETHODCALLTYPE *CreateSampler )(
9749  ID3D12Device3 * This,
9751  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9752 
9753  void ( STDMETHODCALLTYPE *CopyDescriptors )(
9754  ID3D12Device3 * This,
9756  _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
9757  _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
9759  _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
9760  _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
9762 
9763  void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
9764  ID3D12Device3 * This,
9765  _In_ UINT NumDescriptors,
9766  _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
9768  _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
9769 
9770  D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
9771  ID3D12Device3 * This,
9773  _In_ UINT numResourceDescs,
9774  _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
9775 
9776  D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
9777  ID3D12Device3 * This,
9778  _In_ UINT nodeMask,
9780 
9781  HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
9782  ID3D12Device3 * This,
9783  _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
9784  D3D12_HEAP_FLAGS HeapFlags,
9785  _In_ const D3D12_RESOURCE_DESC *pDesc,
9786  D3D12_RESOURCE_STATES InitialResourceState,
9787  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9788  REFIID riidResource,
9789  _COM_Outptr_opt_ void **ppvResource);
9790 
9791  HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
9792  ID3D12Device3 * This,
9793  _In_ const D3D12_HEAP_DESC *pDesc,
9794  REFIID riid,
9795  _COM_Outptr_opt_ void **ppvHeap);
9796 
9797  HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
9798  ID3D12Device3 * This,
9799  _In_ ID3D12Heap *pHeap,
9800  UINT64 HeapOffset,
9801  _In_ const D3D12_RESOURCE_DESC *pDesc,
9802  D3D12_RESOURCE_STATES InitialState,
9803  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9804  REFIID riid,
9805  _COM_Outptr_opt_ void **ppvResource);
9806 
9807  HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
9808  ID3D12Device3 * This,
9809  _In_ const D3D12_RESOURCE_DESC *pDesc,
9810  D3D12_RESOURCE_STATES InitialState,
9811  _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9812  REFIID riid,
9813  _COM_Outptr_opt_ void **ppvResource);
9814 
9815  HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
9816  ID3D12Device3 * This,
9818  _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
9819  DWORD Access,
9820  _In_opt_ LPCWSTR Name,
9821  _Out_ HANDLE *pHandle);
9822 
9823  HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
9824  ID3D12Device3 * This,
9825  _In_ HANDLE NTHandle,
9826  REFIID riid,
9827  _COM_Outptr_opt_ void **ppvObj);
9828 
9829  HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
9830  ID3D12Device3 * This,
9831  _In_ LPCWSTR Name,
9832  DWORD Access,
9833  /* [annotation][out] */
9834  _Out_ HANDLE *pNTHandle);
9835 
9836  HRESULT ( STDMETHODCALLTYPE *MakeResident )(
9837  ID3D12Device3 * This,
9839  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
9840 
9841  HRESULT ( STDMETHODCALLTYPE *Evict )(
9842  ID3D12Device3 * This,
9843  UINT NumObjects,
9844  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
9845 
9846  HRESULT ( STDMETHODCALLTYPE *CreateFence )(
9847  ID3D12Device3 * This,
9848  UINT64 InitialValue,
9849  D3D12_FENCE_FLAGS Flags,
9850  REFIID riid,
9851  _COM_Outptr_ void **ppFence);
9852 
9853  HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
9854  ID3D12Device3 * This);
9855 
9856  void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
9857  ID3D12Device3 * This,
9859  _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
9860  _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
9862  _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
9863  _Out_writes_opt_(NumSubresources) UINT *pNumRows,
9864  _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
9865  _Out_opt_ UINT64 *pTotalBytes);
9866 
9867  HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
9868  ID3D12Device3 * This,
9869  _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
9870  REFIID riid,
9871  _COM_Outptr_opt_ void **ppvHeap);
9872 
9873  HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
9874  ID3D12Device3 * This,
9876 
9877  HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
9878  ID3D12Device3 * This,
9879  _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
9880  _In_opt_ ID3D12RootSignature *pRootSignature,
9881  REFIID riid,
9882  _COM_Outptr_opt_ void **ppvCommandSignature);
9883 
9884  void ( STDMETHODCALLTYPE *GetResourceTiling )(
9885  ID3D12Device3 * This,
9887  _Out_opt_ UINT *pNumTilesForEntireResource,
9888  _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
9889  _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
9890  _Inout_opt_ UINT *pNumSubresourceTilings,
9891  _In_ UINT FirstSubresourceTilingToGet,
9892  _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
9893 
9894  LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
9895  ID3D12Device3 * This);
9896 
9897  HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
9898  ID3D12Device3 * This,
9899  _In_reads_(BlobLength) const void *pLibraryBlob,
9900  SIZE_T BlobLength,
9901  REFIID riid,
9902  _COM_Outptr_ void **ppPipelineLibrary);
9903 
9904  HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
9905  ID3D12Device3 * This,
9906  _In_reads_(NumFences) ID3D12Fence *const *ppFences,
9907  _In_reads_(NumFences) const UINT64 *pFenceValues,
9910  HANDLE hEvent);
9911 
9912  HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
9913  ID3D12Device3 * This,
9914  UINT NumObjects,
9915  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
9916  _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
9917 
9918  HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
9919  ID3D12Device3 * This,
9921  REFIID riid,
9922  _COM_Outptr_ void **ppPipelineState);
9923 
9924  HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
9925  ID3D12Device3 * This,
9926  _In_ const void *pAddress,
9927  REFIID riid,
9928  _COM_Outptr_ void **ppvHeap);
9929 
9930  HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
9931  ID3D12Device3 * This,
9932  _In_ HANDLE hFileMapping,
9933  REFIID riid,
9934  _COM_Outptr_ void **ppvHeap);
9935 
9936  HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
9937  ID3D12Device3 * This,
9939  UINT NumObjects,
9940  _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
9942  UINT64 FenceValueToSignal);
9943 
9944  END_INTERFACE
9946 
9947  interface ID3D12Device3
9948  {
9949  CONST_VTBL struct ID3D12Device3Vtbl *lpVtbl;
9950  };
9951 
9952 
9953 
9954 #ifdef COBJMACROS
9955 
9956 
9957 #define ID3D12Device3_QueryInterface(This,riid,ppvObject) \
9958  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
9959 
9960 #define ID3D12Device3_AddRef(This) \
9961  ( (This)->lpVtbl -> AddRef(This) )
9962 
9963 #define ID3D12Device3_Release(This) \
9964  ( (This)->lpVtbl -> Release(This) )
9965 
9966 
9967 #define ID3D12Device3_GetPrivateData(This,guid,pDataSize,pData) \
9968  ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
9969 
9970 #define ID3D12Device3_SetPrivateData(This,guid,DataSize,pData) \
9971  ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
9972 
9973 #define ID3D12Device3_SetPrivateDataInterface(This,guid,pData) \
9974  ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
9975 
9976 #define ID3D12Device3_SetName(This,Name) \
9977  ( (This)->lpVtbl -> SetName(This,Name) )
9978 
9979 
9980 #define ID3D12Device3_GetNodeCount(This) \
9981  ( (This)->lpVtbl -> GetNodeCount(This) )
9982 
9983 #define ID3D12Device3_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
9984  ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
9985 
9986 #define ID3D12Device3_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
9987  ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
9988 
9989 #define ID3D12Device3_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
9990  ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
9991 
9992 #define ID3D12Device3_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
9993  ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
9994 
9995 #define ID3D12Device3_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
9996  ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
9997 
9998 #define ID3D12Device3_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
9999  ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
10000 
10001 #define ID3D12Device3_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
10002  ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
10003 
10004 #define ID3D12Device3_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
10005  ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
10006 
10007 #define ID3D12Device3_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
10008  ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
10009 
10010 #define ID3D12Device3_CreateConstantBufferView(This,pDesc,DestDescriptor) \
10011  ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
10012 
10013 #define ID3D12Device3_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
10014  ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
10015 
10016 #define ID3D12Device3_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
10017  ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
10018 
10019 #define ID3D12Device3_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
10020  ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
10021 
10022 #define ID3D12Device3_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
10023  ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
10024 
10025 #define ID3D12Device3_CreateSampler(This,pDesc,DestDescriptor) \
10026  ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
10027 
10028 #define ID3D12Device3_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
10029  ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
10030 
10031 #define ID3D12Device3_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
10032  ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
10033 
10034 #define ID3D12Device3_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
10035  ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
10036 
10037 #define ID3D12Device3_GetCustomHeapProperties(This,nodeMask,heapType) \
10038  ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
10039 
10040 #define ID3D12Device3_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
10041  ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
10042 
10043 #define ID3D12Device3_CreateHeap(This,pDesc,riid,ppvHeap) \
10044  ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
10045 
10046 #define ID3D12Device3_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
10047  ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
10048 
10049 #define ID3D12Device3_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
10050  ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
10051 
10052 #define ID3D12Device3_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
10053  ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
10054 
10055 #define ID3D12Device3_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
10056  ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
10057 
10058 #define ID3D12Device3_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
10059  ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
10060 
10061 #define ID3D12Device3_MakeResident(This,NumObjects,ppObjects) \
10062  ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
10063 
10064 #define ID3D12Device3_Evict(This,NumObjects,ppObjects) \
10065  ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
10066 
10067 #define ID3D12Device3_CreateFence(This,InitialValue,Flags,riid,ppFence) \
10068  ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
10069 
10070 #define ID3D12Device3_GetDeviceRemovedReason(This) \
10071  ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
10072 
10073 #define ID3D12Device3_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
10074  ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
10075 
10076 #define ID3D12Device3_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
10077  ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
10078 
10079 #define ID3D12Device3_SetStablePowerState(This,Enable) \
10080  ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
10081 
10082 #define ID3D12Device3_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
10083  ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
10084 
10085 #define ID3D12Device3_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
10086  ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
10087 
10088 #define ID3D12Device3_GetAdapterLuid(This) \
10089  ( (This)->lpVtbl -> GetAdapterLuid(This) )
10090 
10091 
10092 #define ID3D12Device3_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
10093  ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
10094 
10095 #define ID3D12Device3_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
10096  ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
10097 
10098 #define ID3D12Device3_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
10099  ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
10100 
10101 
10102 #define ID3D12Device3_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
10103  ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
10104 
10105 
10106 #define ID3D12Device3_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
10107  ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
10108 
10109 #define ID3D12Device3_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
10110  ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
10111 
10112 #define ID3D12Device3_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
10113  ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
10114 
10115 #endif /* COBJMACROS */
10116 
10117 
10118 #endif /* C style interface */
10119 
10120 
10121 
10122 
10123 #endif /* __ID3D12Device3_INTERFACE_DEFINED__ */
10124 
10125 
10126 #ifndef __ID3D12Tools_INTERFACE_DEFINED__
10127 #define __ID3D12Tools_INTERFACE_DEFINED__
10128 
10129 /* interface ID3D12Tools */
10130 /* [unique][local][object][uuid] */
10131 
10132 
10133 EXTERN_C const IID IID_ID3D12Tools;
10134 
10135 #if defined(__cplusplus) && !defined(CINTERFACE)
10136 
10137  MIDL_INTERFACE("7071e1f0-e84b-4b33-974f-12fa49de65c5")
10138  ID3D12Tools : public IUnknown
10139  {
10140  public:
10141  virtual void STDMETHODCALLTYPE EnableShaderInstrumentation(
10142  BOOL bEnable) = 0;
10143 
10144  virtual BOOL STDMETHODCALLTYPE ShaderInstrumentationEnabled( void) = 0;
10145 
10146  };
10147 
10148 
10149 #else /* C style interface */
10150 
10151  typedef struct ID3D12ToolsVtbl
10152  {
10153  BEGIN_INTERFACE
10154 
10155  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
10156  ID3D12Tools * This,
10157  REFIID riid,
10158  _COM_Outptr_ void **ppvObject);
10159 
10160  ULONG ( STDMETHODCALLTYPE *AddRef )(
10161  ID3D12Tools * This);
10162 
10163  ULONG ( STDMETHODCALLTYPE *Release )(
10164  ID3D12Tools * This);
10165 
10166  void ( STDMETHODCALLTYPE *EnableShaderInstrumentation )(
10167  ID3D12Tools * This,
10169 
10170  BOOL ( STDMETHODCALLTYPE *ShaderInstrumentationEnabled )(
10171  ID3D12Tools * This);
10172 
10173  END_INTERFACE
10174  } ID3D12ToolsVtbl;
10175 
10176  interface ID3D12Tools
10177  {
10178  CONST_VTBL struct ID3D12ToolsVtbl *lpVtbl;
10179  };
10180 
10181 
10182 
10183 #ifdef COBJMACROS
10184 
10185 
10186 #define ID3D12Tools_QueryInterface(This,riid,ppvObject) \
10187  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
10188 
10189 #define ID3D12Tools_AddRef(This) \
10190  ( (This)->lpVtbl -> AddRef(This) )
10191 
10192 #define ID3D12Tools_Release(This) \
10193  ( (This)->lpVtbl -> Release(This) )
10194 
10195 
10196 #define ID3D12Tools_EnableShaderInstrumentation(This,bEnable) \
10197  ( (This)->lpVtbl -> EnableShaderInstrumentation(This,bEnable) )
10198 
10199 #define ID3D12Tools_ShaderInstrumentationEnabled(This) \
10200  ( (This)->lpVtbl -> ShaderInstrumentationEnabled(This) )
10201 
10202 #endif /* COBJMACROS */
10203 
10204 
10205 #endif /* C style interface */
10206 
10207 
10208 
10209 
10210 #endif /* __ID3D12Tools_INTERFACE_DEFINED__ */
10211 
10212 
10213 /* interface __MIDL_itf_d3d12_0000_0027 */
10214 /* [local] */
10215 
10217  {
10218  const void *pData;
10219  LONG_PTR RowPitch;
10220  LONG_PTR SlicePitch;
10222 
10223 typedef struct D3D12_MEMCPY_DEST
10224  {
10225  void *pData;
10226  SIZE_T RowPitch;
10227  SIZE_T SlicePitch;
10229 
10230 #if !defined( D3D12_IGNORE_SDK_LAYERS )
10231 #include "d3d12sdklayers.h"
10232 #endif
10233 
10235 // D3D12CreateDevice
10236 // ------------------
10237 //
10238 // pAdapter
10239 // If NULL, D3D12CreateDevice will choose the primary adapter.
10240 // If non-NULL, D3D12CreateDevice will use the provided adapter.
10241 // MinimumFeatureLevel
10242 // The minimum feature level required for successful device creation.
10243 // riid
10244 // The interface IID of the device to be returned. Expected: ID3D12Device.
10245 // ppDevice
10246 // Pointer to returned interface. May be NULL.
10247 //
10248 // Return Values
10249 // Any of those documented for
10250 // CreateDXGIFactory1
10251 // IDXGIFactory::EnumAdapters
10252 // D3D12CreateDevice
10253 //
10255 typedef HRESULT (WINAPI* PFN_D3D12_CREATE_DEVICE)( _In_opt_ IUnknown*,
10257  _In_ REFIID, _COM_Outptr_opt_ void** );
10258 
10259 HRESULT WINAPI D3D12CreateDevice(
10260  _In_opt_ IUnknown* pAdapter,
10261  D3D_FEATURE_LEVEL MinimumFeatureLevel,
10262  _In_ REFIID riid, // Expected: ID3D12Device
10263  _COM_Outptr_opt_ void** ppDevice );
10264 
10265 
10266 typedef HRESULT (WINAPI* PFN_D3D12_GET_DEBUG_INTERFACE)( _In_ REFIID, _COM_Outptr_opt_ void** );
10267 
10268 HRESULT WINAPI D3D12GetDebugInterface( _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );
10269 
10270 // --------------------------------------------------------------------------------------------------------------------------------
10271 // D3D12EnableExperimentalFeatures
10272 //
10273 // Pass in a list of feature GUIDs to be enabled together.
10274 //
10275 // If a particular feature requires some configuration information on enablement, it will have
10276 // a configuration struct that can be passed alongside the GUID.
10277 //
10278 // Some features might use an interface IID as the GUID. For these, once the feature is enabled via
10279 // D3D12EnableExperimentalFeatures, D3D12GetDebugInterface can then be called with the IID to retrieve the interface
10280 // for manipulating the feature. This allows for control that might not cleanly be expressed by just
10281 // the configuration struct that D3D12EnableExperimentalFeatures provides.
10282 //
10283 // If this method is called and a change to existing feature enablement is made,
10284 // all current D3D12 devices are set to DEVICE_REMOVED state, since under the covers there is really only one
10285 // singleton device for a process. Removing the devices when configuration changes prevents
10286 // mismatched expectations of how a device is supposed to work after it has been created from the app's point of view.
10287 //
10288 // The call returns E_NOINTERFACE if an unrecognized feature is passed in or Windows Developer mode is not on.
10289 // The call returns E_INVALIDARG if the configuration of a feature is incorrect, the set of features passed
10290 // in are known to be incompatible with each other, or other errors.
10291 // Returns S_OK otherwise.
10292 //
10293 // --------------------------------------------------------------------------------------------------------------------------------
10295  UINT NumFeatures,
10296  __in_ecount(NumFeatures) const IID* pIIDs,
10297  __in_ecount_opt(NumFeatures) void* pConfigurationStructs,
10298  __in_ecount_opt(NumFeatures) UINT* pConfigurationStructSizes);
10299 
10300 // --------------------------------------------------------------------------------------------------------------------------------
10301 // Experimental Feature: D3D12ExperimentalShaderModels
10302 //
10303 // Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,
10304 // meaning shader models that haven't been finalized for use in retail.
10305 //
10306 // Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.
10307 //
10308 // --------------------------------------------------------------------------------------------------------------------------------
10309 static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */
10310  0x76f5573e,
10311  0xf13a,
10312  0x40f5,
10313  { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }
10314 };
10315 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
10316 /*#pragma endregion*/
10317 DEFINE_GUID(IID_ID3D12Object,0xc4fec28f,0x7966,0x4e95,0x9f,0x94,0xf4,0x31,0xcb,0x56,0xc3,0xb8);
10318 DEFINE_GUID(IID_ID3D12DeviceChild,0x905db94b,0xa00c,0x4140,0x9d,0xf5,0x2b,0x64,0xca,0x9e,0xa3,0x57);
10319 DEFINE_GUID(IID_ID3D12RootSignature,0xc54a6b66,0x72df,0x4ee8,0x8b,0xe5,0xa9,0x46,0xa1,0x42,0x92,0x14);
10320 DEFINE_GUID(IID_ID3D12RootSignatureDeserializer,0x34AB647B,0x3CC8,0x46AC,0x84,0x1B,0xC0,0x96,0x56,0x45,0xC0,0x46);
10321 DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer,0x7F91CE67,0x090C,0x4BB7,0xB7,0x8E,0xED,0x8F,0xF2,0xE3,0x1D,0xA0);
10322 DEFINE_GUID(IID_ID3D12Pageable,0x63ee58fb,0x1268,0x4835,0x86,0xda,0xf0,0x08,0xce,0x62,0xf0,0xd6);
10323 DEFINE_GUID(IID_ID3D12Heap,0x6b3b2502,0x6e51,0x45b3,0x90,0xee,0x98,0x84,0x26,0x5e,0x8d,0xf3);
10324 DEFINE_GUID(IID_ID3D12Resource,0x696442be,0xa72e,0x4059,0xbc,0x79,0x5b,0x5c,0x98,0x04,0x0f,0xad);
10325 DEFINE_GUID(IID_ID3D12CommandAllocator,0x6102dee4,0xaf59,0x4b09,0xb9,0x99,0xb4,0x4d,0x73,0xf0,0x9b,0x24);
10326 DEFINE_GUID(IID_ID3D12Fence,0x0a753dcf,0xc4d8,0x4b91,0xad,0xf6,0xbe,0x5a,0x60,0xd9,0x5a,0x76);
10327 DEFINE_GUID(IID_ID3D12Fence1,0x433685fe,0xe22b,0x4ca0,0xa8,0xdb,0xb5,0xb4,0xf4,0xdd,0x0e,0x4a);
10328 DEFINE_GUID(IID_ID3D12PipelineState,0x765a30f3,0xf624,0x4c6f,0xa8,0x28,0xac,0xe9,0x48,0x62,0x24,0x45);
10329 DEFINE_GUID(IID_ID3D12DescriptorHeap,0x8efb471d,0x616c,0x4f49,0x90,0xf7,0x12,0x7b,0xb7,0x63,0xfa,0x51);
10330 DEFINE_GUID(IID_ID3D12QueryHeap,0x0d9658ae,0xed45,0x469e,0xa6,0x1d,0x97,0x0e,0xc5,0x83,0xca,0xb4);
10331 DEFINE_GUID(IID_ID3D12CommandSignature,0xc36a797c,0xec80,0x4f0a,0x89,0x85,0xa7,0xb2,0x47,0x50,0x82,0xd1);
10332 DEFINE_GUID(IID_ID3D12CommandList,0x7116d91c,0xe7e4,0x47ce,0xb8,0xc6,0xec,0x81,0x68,0xf4,0x37,0xe5);
10333 DEFINE_GUID(IID_ID3D12GraphicsCommandList,0x5b160d0f,0xac1b,0x4185,0x8b,0xa8,0xb3,0xae,0x42,0xa5,0xa4,0x55);
10334 DEFINE_GUID(IID_ID3D12GraphicsCommandList1,0x553103fb,0x1fe7,0x4557,0xbb,0x38,0x94,0x6d,0x7d,0x0e,0x7c,0xa7);
10335 DEFINE_GUID(IID_ID3D12GraphicsCommandList2,0x38C3E585,0xFF17,0x412C,0x91,0x50,0x4F,0xC6,0xF9,0xD7,0x2A,0x28);
10336 DEFINE_GUID(IID_ID3D12CommandQueue,0x0ec870a6,0x5d7e,0x4c22,0x8c,0xfc,0x5b,0xaa,0xe0,0x76,0x16,0xed);
10337 DEFINE_GUID(IID_ID3D12Device,0x189819f1,0x1db6,0x4b57,0xbe,0x54,0x18,0x21,0x33,0x9b,0x85,0xf7);
10338 DEFINE_GUID(IID_ID3D12PipelineLibrary,0xc64226a8,0x9201,0x46af,0xb4,0xcc,0x53,0xfb,0x9f,0xf7,0x41,0x4f);
10339 DEFINE_GUID(IID_ID3D12PipelineLibrary1,0x80eabf42,0x2568,0x4e5e,0xbd,0x82,0xc3,0x7f,0x86,0x96,0x1d,0xc3);
10340 DEFINE_GUID(IID_ID3D12Device1,0x77acce80,0x638e,0x4e65,0x88,0x95,0xc1,0xf2,0x33,0x86,0x86,0x3e);
10341 DEFINE_GUID(IID_ID3D12Device2,0x30baa41e,0xb15b,0x475c,0xa0,0xbb,0x1a,0xf5,0xc5,0xb6,0x43,0x28);
10342 DEFINE_GUID(IID_ID3D12Device3,0x81dadc15,0x2bad,0x4392,0x93,0xc5,0x10,0x13,0x45,0xc4,0xaa,0x98);
10343 DEFINE_GUID(IID_ID3D12Tools,0x7071e1f0,0xe84b,0x4b33,0x97,0x4f,0x12,0xfa,0x49,0xde,0x65,0xc5);
10344 
10345 
10346 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_c_ifspec;
10347 extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_s_ifspec;
10348 
10349 /* Additional Prototypes for ALL interfaces */
10350 
10351 /* end of Additional Prototypes */
10352 
10353 #ifdef __cplusplus
10354 }
10355 #endif
10356 
10357 #endif
10358 
10359 
UINT RegisterSpace
Definition: d3d12.h:3108
_In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: d3d12.h:8793
_In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
Definition: d3d12.h:6661
UINT64 D3D12_FENCE_FLAGS REFIID riid
Definition: d3d12.h:8832
struct D3D12_STATIC_SAMPLER_DESC D3D12_STATIC_SAMPLER_DESC
UINT NumStaticSamplers
Definition: d3d12.h:3116
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:4348
UINT ThreadGroupCountZ
Definition: d3d12.h:3524
_In_opt_ ID3D12PipelineState * pPipelineState
Definition: d3d12.h:6666
Definition: d3d12.h:1219
Definition: d3d12.h:2860
_Out_ D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags
Definition: d3d12.h:2076
D3D12_COMPARISON_FUNC StencilFunc
Definition: d3d12.h:1166
struct D3D12_COMPUTE_PIPELINE_STATE_DESC D3D12_COMPUTE_PIPELINE_STATE_DESC
SIZE_T End
Definition: d3d12.h:2220
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_c_ifspec
Definition: d3d12.h:1896
EXTERN_C const IID IID_ID3D12CommandSignature
Definition: d3d12.h:4842
UINT OffsetInDescriptorsFromTableStart
Definition: d3d12.h:3139
_In_opt_ LPCWSTR _In_ ID3D12PipelineState * pPipeline
Definition: d3d12.h:8439
D3D12_ROOT_PARAMETER_TYPE ParameterType
Definition: d3d12.h:3167
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:4210
Definition: d3d12.h:2318
UINT MipLevels
Definition: d3d12.h:2495
D3D12_PRIMITIVE_TOPOLOGY_TYPE
Definition: d3d12.h:1049
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:4199
struct D3D12_FEATURE_DATA_ROOT_SIGNATURE D3D12_FEATURE_DATA_ROOT_SIGNATURE
EXTERN_C const IID IID_ID3D12PipelineState
Definition: d3d12.h:4457
UINT NumRects
Definition: d3d12.h:3430
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:5977
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:7768
struct D3D12_DEPTH_STENCILOP_DESC D3D12_DEPTH_STENCILOP_DESC
REFIID riid
Definition: d3d12.h:4367
_In_z_ LPCWSTR Name
Definition: d3d12.h:1595
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT _In_ UINT _Out_writes_ pNumSubresourceTilings D3D12_SUBRESOURCE_TILING * pSubresourceTilingsForNonPackedMips
Definition: d3d12.h:9892
struct D3D12_SUBRESOURCE_TILING D3D12_SUBRESOURCE_TILING
EXTERN_C const IID IID_ID3D12VersionedRootSignatureDeserializer
Definition: d3d12.h:3285
Definition: d3d12.h:1241
Definition: d3d12.h:1223
struct ID3D12VersionedRootSignatureDeserializerVtbl ID3D12VersionedRootSignatureDeserializerVtbl
Definition: d3d12.h:2935
D3D12_COMPARISON_FUNC DepthFunc
Definition: d3d12.h:1185
FLOAT TopLeftX
Definition: d3d12.h:1108
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_s_ifspec
Definition: d3d12.h:2160
_In_ UINT _In_ SIZE_T REFIID riid
Definition: d3d12.h:9714
EXTERN_C const IID IID_ID3D12PipelineLibrary
Definition: d3d12.h:8201
_In_z_ LPCWSTR Name
Definition: d3d12.h:5370
D3D12_TEX1D_ARRAY_RTV Texture1DArray
Definition: d3d12.h:2878
_In_ const D3D12_QUERY_HEAP_DESC REFIID riid
Definition: d3d12.h:7996
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
Definition: document.h:2010
UINT MipLevels
Definition: d3d12.h:2502
struct D3D12_FEATURE_DATA_ARCHITECTURE D3D12_FEATURE_DATA_ARCHITECTURE
DXGI_FORMAT RTVFormats[8]
Definition: d3d12.h:1716
Definition: d3d12.h:8556
D3D12_STENCIL_OP
Definition: d3d12.h:1148
Definition: d3d12.h:1017
BOOL MultisampleEnable
Definition: d3d12.h:1296
D3D12_CULL_MODE CullMode
Definition: d3d12.h:1290
_In_ ID3D12Resource * pResource
Definition: d3d12.h:7355
Definition: d3d12.h:1204
_In_ UINT visibleMask
Definition: d3d12.h:9245
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_s_ifspec
UINT NodeMask
Definition: d3d12.h:3000
HRESULT(WINAPI * PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(_In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData, _In_ SIZE_T SrcDataSizeInBytes, _In_ REFIID pRootSignatureDeserializerInterface, _Out_ void **ppRootSignatureDeserializer)
Definition: d3d12.h:3382
UINT NumStrides
Definition: d3d12.h:1667
DXGI_FORMAT RTFormats[8]
Definition: d3d12.h:1735
UINT Subresource
Definition: d3d12.h:2247
D3D12_CONSERVATIVE_RASTERIZATION_MODE
Definition: d3d12.h:1280
Definition: d3d12.h:1200
UINT16 MipLevels
Definition: d3d12.h:2194
Definition: d3d12.h:3458
Definition: d3d12.h:2640
UINT ArraySize
Definition: d3d12.h:2504
REFIID riid
Definition: d3d12.h:6650
Definition: d3d12.h:1153
_In_ UINT D3D12_HEAP_TYPE heapType
Definition: d3d12.h:8762
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:8402
BOOL DepthClipEnable
Definition: d3d12.h:1295
_In_ LPCWSTR _In_ const D3D12_PIPELINE_STATE_STREAM_DESC REFIID riid
Definition: d3d12.h:8466
HRESULT(WINAPI * PFN_D3D12_GET_DEBUG_INTERFACE)(_In_ REFIID, _COM_Outptr_opt_ void **)
Definition: d3d12.h:10266
_In_ UINT _In_ SIZE_T REFIID riid
Definition: d3d12.h:8698
_In_ ID3D12DeviceChild * pObject
Definition: d3d12.h:9817
D3D12_RESIDENCY_FLAGS UINT _In_ ID3D12Fence * pFenceToSignal
Definition: d3d12.h:9941
UINT Stream
Definition: d3d12.h:1098
D3D12_DEPTH_WRITE_MASK DepthWriteMask
Definition: d3d12.h:1172
D3D12_TEX2D_ARRAY_SRV Texture2DArray
Definition: d3d12.h:2587
_In_opt_ ID3D12Resource * pResource
Definition: d3d12.h:7852
UINT Slot
Definition: d3d12.h:3562
UINT DestOffsetIn32BitValues
Definition: d3d12.h:3567
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC * pDesc
Definition: d3d12.h:8715
UINT UINT Size
Definition: d3d12.h:7384
REFIID riid
Definition: d3d12.h:8274
D3D12_FENCE_FLAGS
Definition: d3d12.h:2967
D3D12_FEATURE UINT FeatureSupportDataSize
Definition: d3d12.h:7825
Definition: d3d12.h:2325
_Inout_ D3D_ROOT_SIGNATURE_VERSION HighestVersion
Definition: d3d12.h:1969
D3D12_TEXTURE_ADDRESS_MODE AddressW
Definition: d3d12.h:2720
_In_ ID3D12Resource * pDstBuffer
Definition: d3d12.h:5415
Definition: d3d12.h:2711
_In_z_ LPCWSTR Name
Definition: d3d12.h:8430
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: d3d12.h:1350
UINT ThreadGroupCountY
Definition: d3d12.h:3523
UINT64 Alignment
Definition: d3d12.h:2089
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:4874
UINT64 SizeInBytes
Definition: d3d12.h:3499
interface ID3D12PipelineLibrary ID3D12PipelineLibrary
Definition: d3d12.h:195
void * pData
Definition: d3d12.h:10225
UINT MipLevels
Definition: d3d12.h:2529
_In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: d3d12.h:9799
Definition: d3d12.h:2000
HRESULT WINAPI D3D12SerializeRootSignature(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature, _In_ D3D_ROOT_SIGNATURE_VERSION Version, _Out_ ID3DBlob **ppBlob, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob)
#define const
Definition: zconf.h:217
struct D3D12_CPU_DESCRIPTOR_HANDLE D3D12_CPU_DESCRIPTOR_HANDLE
UINT64 Value
Definition: d3d12.h:4239
_Out_ BOOL UMA
Definition: d3d12.h:1976
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_c_ifspec
D3D12_SHADER_COMPONENT_MAPPING
Definition: d3d12.h:2455
__in_ecount(4) CONST FLOAT *pF
struct D3D12_DISCARD_REGION D3D12_DISCARD_REGION
D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER
Definition: d3d12.h:1907
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition: d3d12.h:3070
D3D12_CULL_MODE
Definition: d3d12.h:1088
D3D12_DESCRIPTOR_HEAP_TYPE Type
Definition: d3d12.h:2997
REFIID riid
Definition: d3d12.h:1599
_In_ LPCWSTR _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:8291
struct D3D12_RASTERIZER_DESC D3D12_RASTERIZER_DESC
D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable
Definition: d3d12.h:3066
UINT8 NumStandardMips
Definition: d3d12.h:2285
_In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:1473
UINT MipSlice
Definition: d3d12.h:2901
Definition: d3d12.h:2866
D3D12_DESCRIPTOR_HEAP_FLAGS
Definition: d3d12.h:2987
struct D3D12_TEX1D_SRV D3D12_TEX1D_SRV
UINT Count
Definition: d3d12.h:3450
_In_ UINT _In_ UINT NumSrcDescriptorRanges
Definition: d3d12.h:9758
_In_ D3D_ROOT_SIGNATURE_VERSION Version
Definition: d3d12.h:3372
interface ID3D12Resource ID3D12Resource
Definition: d3d12.h:97
Definition: d3d12.h:2323
D3D12_INDIRECT_ARGUMENT_TYPE
Definition: d3d12.h:3541
REFIID riid
Definition: d3d12.h:4637
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0023_v0_0_c_ifspec
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:4490
ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12DeviceChild *This)
UINT InstanceDataStepRate
Definition: d3d12.h:1074
Definition: d3d12.h:1838
_In_ LPCWSTR _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:8451
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_s_ifspec
_In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: d3d12.h:7926
_In_ UINT D3D12_HEAP_TYPE heapType
Definition: d3d12.h:9251
D3D12_UAV_DIMENSION
Definition: d3d12.h:2779
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:8413
_In_ REFGUID guid
Definition: d3d12.h:1578
D3D_FEATURE_LEVEL
Definition: d3dcommon.h:79
_In_ UINT _In_ D3D12_COMMAND_LIST_TYPE type
Definition: d3d12.h:9160
struct D3D12_DEPTH_STENCIL_VALUE D3D12_DEPTH_STENCIL_VALUE
_In_z_ LPCWSTR Name
Definition: d3d12.h:4507
_In_ UINT _In_ UINT _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
Definition: d3d12.h:8745
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
Definition: d3d12.h:1677
D3D12_DESCRIPTOR_HEAP_TYPE
Definition: d3d12.h:2977
_Out_ UINT64 * pGpuTimestamp
Definition: d3d12.h:7411
EXTERN_C const IID IID_ID3D12Resource
Definition: d3d12.h:3843
_Out_ D3D12_SHADER_CACHE_SUPPORT_FLAGS SupportFlags
Definition: d3d12.h:2049
UINT Subresource
Definition: d3d12.h:3930
UINT NumFences
Definition: d3d12.h:9381
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC * pDesc
Definition: d3d12.h:9204
Definition: d3d12.h:1080
_In_z_ LPCWSTR Name
Definition: d3d12.h:4889
_In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology
Definition: d3d12.h:5454
_Out_ BOOL PriorityForTypeIsSupported
Definition: d3d12.h:2056
Definition: d3d12.h:3007
_Out_ BOOL PSSpecifiedStencilRefSupported
Definition: d3d12.h:1931
Definition: d3d12.h:1081
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:3625
UINT8 RenderTargetWriteMask
Definition: d3d12.h:1268
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection Port Mapping Successful No arguments supplied and no menu displaying help Waiting for client You have joined as player u Player *s has left the game *s has joined with input devices *s The netplay peer is running an old version of RetroArch Cannot connect A netplay peer is running a different core Cannot connect This core does not support inter architecture netplay between these systems Enter netplay server Incorrect password A netplay client has disconnected You do not have permission to play The input devices requested are not available Netplay peer s paused Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames Adjusts menu screen appearance settings Improves performance at the cost of latency and more video stuttering Use only if you cannot obtain full speed otherwise Autodetect Capabilities Connecting to port Password Username Accounts List Endpoint Achievements Resume Achievements Hardcore Mode Scan Content Import content Ask Block Frames Audio Driver Audio Enable Turbo Deadzone Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control Audio Audio Volume WASAPI Exclusive Mode WASAPI Shared Buffer Length Load Override Files Automatically Load Shader Presets Automatically Confirm Quit Scroll Up Toggle Keyboard Basic menu controls Info Scroll Up Toggle Keyboard Don t overwrite SaveRAM on loading savestate Buildbot Assets URL Allow Camera Cheat Start Search For New Cheat Code Cheat File Load Cheat Load Cheat Save Cheat File As Description Leaderboards Locked Locked Test Unofficial Achievements Unlocked Verbose Mode Close Content Load Configuration Save Configuration on Exit Database History List Size Quick Menu Downloads Core Counters Core Information Categories Core name Permissions System manufacturer Controls Install or Restore a Core Core installation succesful Core Automatically extract downloaded archive Core Updater CPU CPU Cursor Custom Ratio Database Selection Start directory< Default > Directory not found Disk Cycle Tray Status Disk Index Don t care Download a Core DPI Override Enable Driver Check for Missing Firmware Before Loading Dynamic Backgrounds Menu entry hover color False Favorites Include Memory Details Sync to Exact Content Frame Throttle Load Content Specific Core Options Automatically Save Game options file Audio Video Troubleshooting Basic Menu Controls Loading Content What Is A Core History Image Information All Users Control Menu Left analog Left analog Left Analog Y Left analog Right Analog X Right analog Right Analog Y Right analog Gun Trigger Gun Aux A Gun Aux C Gun Select Gun D pad Down Gun D pad Right Analog Stick Deadzone Bind All Bind Timeout Hide Unbound Core Input Descriptors Device Index Mouse Index Duty Cycle Keyboard Gamepad Mapping Enable B Down D pad L3 L Left D pad R3 R Right D pad Start button X Y Mouse Mouse Mouse Wheel Down Wheel Right Max Users Cheat index Cheat toggle Disk next Enable hotkeys Fast forward toggle FPS toggle Grab mouse toggle Desktop menu toggle Menu toggle Audio mute toggle On screen keyboard toggle Pause toggle Reset game Cheat Details Save state Next shader Slow motion hold Savestate slot Volume Display Overlay Show Inputs On Overlay Poll Type Behavior Late Prefer Front Touch Remap Binds Enable Input Touch Enable Turbo Period Latency Input Autoconfig Services Dutch Esperanto German Japanese Polish Russian Vietnamese Greek Core Core Logging Level Load Archive Load Content Allow Location Logging Main Menu Menu Color Theme Blue Grey Green Red Footer Opacity Menu Driver Settings Horizontal Animation Background Missing Mouse Support Music Navigation Wrap Around Netplay Netplay Check Frames Input Latency Frames Range Disconnect from netplay host Connect to netplay host Stop netplay host Scan local network Username Publicly Announce Netplay Disallow Non Slave Mode Clients Analog Input Sharing Average Share Vote No preference Netplay Stateless Mode Netplay Spectator Enable Netplay NAT Traversal Network Command Port Network Gamepad Network None No achievements to display No cores available No core options available No history available No items No networks found No playlists No settings found OFF Online Onscreen Display Adjust Bezels and Onscreen controls Adjust the Onscreen Notifications Optional Autoload Preferred Overlay Overlay Opacity Overlay Scale Use PAL60 Mode Pause when menu activated Performance Counters Playlist Touch Support Present MIDI Analog supported CERO Rating CRC32 Developer Edge Magazine Rating ELSPA Rating ESRB Rating Franchise MD5 Origin Publisher Releasedate Year Serial Start Content Reboot Recording Output Custom Record Config Record Driver Enable Recording Save Recordings in Output Dir Load Remap File Save Content Directory Remap File Delete Core Remap File Delete Game Content Directory Remap File Restart Resume RetroKeyboard RetroPad w Analog Rewind Enable Auto Apply Cheats During Game Load Rewind Buffer Size(MB)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_REWIND_BUFFER_SIZE_STEP
_In_opt_ LPCWSTR _In_ ID3D12PipelineState * pPipeline
Definition: d3d12.h:8279
_In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riidResource
Definition: d3d12.h:9783
_In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID riid
Definition: d3d12.h:9352
Definition: d3d12.h:1999
D3D12_RESOURCE_BINDING_TIER
Definition: d3d12.h:1812
Definition: glslang_tab.cpp:129
_In_ const D3D12_QUERY_HEAP_DESC REFIID riid
Definition: d3d12.h:9869
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:4502
UINT64 IAVertices
Definition: d3d12.h:3477
UINT FirstArraySlice
Definition: d3d12.h:2556
Definition: d3d12.h:2564
Definition: d3d12.h:1788
SIZE_T SlicePitch
Definition: d3d12.h:10227
interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer
Definition: d3d12.h:76
struct D3D12_TEX2DMS_DSV D3D12_TEX2DMS_DSV
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC * pDesc
Definition: d3d12.h:9731
_In_ SIZE_T SizeInBytes
Definition: d3d12.h:1740
_In_ const D3D12_HEAP_DESC REFIID riid
Definition: d3d12.h:8777
Definition: d3d12.h:1904
struct D3D12_RESOURCE_TRANSITION_BARRIER D3D12_RESOURCE_TRANSITION_BARRIER
EXTERN_C const IID IID_ID3D12QueryHeap
Definition: d3d12.h:4729
D3D12_SUBRESOURCE_FOOTPRINT Footprint
Definition: d3d12.h:2398
BOOL Enable
Definition: d3d12.h:8859
UINT NumDescriptors
Definition: d3d12.h:2998
Definition: d3d12.h:2925
Definition: d3d12.h:2788
Definition: d3d12.h:1232
_In_ D3D12_COMMAND_LIST_TYPE CommandListType
Definition: d3d12.h:2054
Definition: d3d12.h:2317
struct D3D12_ROOT_DESCRIPTOR D3D12_ROOT_DESCRIPTOR
UINT64 End
Definition: d3d12.h:2226
UINT MipSlice
Definition: d3d12.h:2894
_In_ D3D12_COMMAND_LIST_TYPE type
Definition: d3d12.h:7796
D3D12_FEATURE UINT FeatureSupportDataSize
Definition: d3d12.h:9698
D3D12_TEXTURE_COPY_TYPE Type
Definition: d3d12.h:2411
_In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: d3d12.h:8783
struct D3D12_ROOT_DESCRIPTOR_TABLE1 D3D12_ROOT_DESCRIPTOR_TABLE1
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:4088
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:1590
struct D3D12_DEPTH_STENCIL_DESC D3D12_DEPTH_STENCIL_DESC
D3D12_TEX2D_DSV Texture2D
Definition: d3d12.h:2952
Definition: d3d12.h:2554
D3D12_SHADER_BYTECODE PS
Definition: d3d12.h:1703
Definition: d3d12.h:2250
ID3D12Resource * pResource
Definition: d3d12.h:2362
D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray
Definition: d3d12.h:2955
_Out_ D3D_FEATURE_LEVEL MaxSupportedFeatureLevel
Definition: d3d12.h:1993
Definition: d3d12.h:1967
REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: d3d12.h:1599
Definition: d3d12.h:1041
D3D12_RESOURCE_HEAP_TIER
Definition: d3d12.h:1900
_In_ LPCWSTR _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
Definition: d3d12.h:8284
Definition: d3d12.h:1962
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:9112
Definition: d3d12.h:3457
Definition: d3d12.h:4329
BOOL StencilEnable
Definition: d3d12.h:1174
Definition: d3d12.h:3416
int8_t INT8
Definition: coretypes.h:19
D3D12_BLEND_DESC BlendState
Definition: d3d12.h:1708
Definition: d3d12.h:1093
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource UINT64 SrcOffset
Definition: d3d12.h:6027
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:1469
Definition: d3d12.h:2899
UINT64 GSPrimitives
Definition: d3d12.h:3481
_In_opt_ ID3D12Resource * pResource
Definition: d3d12.h:9725
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:4989
UINT FirstArraySlice
Definition: d3d12.h:2820
UINT StructureByteStride
Definition: d3d12.h:2741
Definition: d3d12.h:2443
interface ID3D12Heap ID3D12Heap
Definition: d3d12.h:90
_Out_ UINT NumQualityLevels
Definition: d3d12.h:2021
REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: d3d12.h:1488
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT _In_ UINT _Out_writes_ pNumSubresourceTilings D3D12_SUBRESOURCE_TILING * pSubresourceTilingsForNonPackedMips
Definition: d3d12.h:8876
D3D_PRIMITIVE
Definition: d3dcommon.h:207
Definition: d3d12.h:2568
struct D3D12_TEX2D_ARRAY_RTV D3D12_TEX2D_ARRAY_RTV
Definition: d3d12.h:2565
_In_z_ LPCWSTR Name
Definition: d3d12.h:7783
_In_z_ LPCWSTR Name
Definition: d3d12.h:3921
struct D3D12_TEX2D_ARRAY_SRV D3D12_TEX2D_ARRAY_SRV
Definition: d3d12.h:3047
UINT MaxAnisotropy
Definition: d3d12.h:3102
SIZE_T DataSizeInBytes
Definition: d3d12.h:8462
BOOL DepthEnable
Definition: d3d12.h:1171
UINT StartTileIndexInOverallResource
Definition: d3d12.h:2288
Definition: d3d12.h:1778
Definition: d3d12.h:1243
struct D3D12_STREAM_OUTPUT_DESC D3D12_STREAM_OUTPUT_DESC
UINT RegisterSpace
Definition: d3d12.h:3017
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC * pDesc
Definition: d3d12.h:7847
Definition: d3d12.h:3459
#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE
Definition: d3d12.h:982
struct D3D12_QUERY_DATA_SO_STATISTICS D3D12_QUERY_DATA_SO_STATISTICS
struct D3D12_HEAP_PROPERTIES D3D12_HEAP_PROPERTIES
ID3D12Resource * pResource
Definition: d3d12.h:2348
Definition: d3d12.h:2733
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:1367
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0023_v0_0_s_ifspec
D3D12_UAV_DIMENSION ViewDimension
Definition: d3d12.h:2794
Definition: d3d12.h:1213
struct D3D12_FEATURE_DATA_D3D12_OPTIONS D3D12_FEATURE_DATA_D3D12_OPTIONS
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:8419
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:8629
UINT64 GSInvocations
Definition: d3d12.h:3480
Definition: d3d12.h:3439
_Out_ BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation
Definition: d3d12.h:1939
Definition: d3d12.h:1145
UINT NumFences
Definition: d3d12.h:9908
struct D3D12_COMMAND_QUEUE_DESC D3D12_COMMAND_QUEUE_DESC
_In_ D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags
Definition: d3d12.h:2020
_Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob
struct D3D12_TEXCUBE_SRV D3D12_TEXCUBE_SRV
UINT StartVertexLocation
Definition: d3d12.h:3507
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_s_ifspec
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:6629
D3D12_ROOT_DESCRIPTOR_FLAGS
Definition: d3d12.h:3148
struct D3D12_TILE_SHAPE D3D12_TILE_SHAPE
BOOL Enable
Definition: d3d12.h:9875
struct ID3D12RootSignatureVtbl ID3D12RootSignatureVtbl
interface ID3D12Device2 ID3D12Device2
Definition: d3d12.h:216
Definition: d3d12.h:2303
Definition: d3d12.h:3151
UINT NumRenderTargets
Definition: d3d12.h:1736
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:7329
D3D12_HEAP_FLAGS
Definition: d3d12.h:2127
Definition: d3d12.h:2732
INT DepthBias
Definition: d3d12.h:1292
Definition: d3d12.h:3045
D3D12_HEAP_PROPERTIES Properties
Definition: d3d12.h:2149
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pTileRegionStartCoordinate
Definition: d3d12.h:5437
Definition: d3d12.h:1231
struct ID3D12QueryHeapVtbl ID3D12QueryHeapVtbl
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8]
Definition: d3d12.h:1275
HRESULT(WINAPI * PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)(_In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData, _In_ SIZE_T SrcDataSizeInBytes, _In_ REFIID pRootSignatureDeserializerInterface, _Out_ void **ppRootSignatureDeserializer)
Definition: d3d12.h:3404
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:9101
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:4222
D3D12_DESCRIPTOR_RANGE_FLAGS
Definition: d3d12.h:3121
FLOAT DepthBiasClamp
Definition: d3d12.h:1293
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC * pDesc
Definition: d3d12.h:9217
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:3904
uint64_t UINT64
Definition: coretypes.h:8
struct D3D12_SUBRESOURCE_FOOTPRINT D3D12_SUBRESOURCE_FOOTPRINT
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:4765
struct D3D12_TILED_RESOURCE_COORDINATE D3D12_TILED_RESOURCE_COORDINATE
Definition: d3d12.h:2135
UINT NodeMask
Definition: d3d12.h:1046
Definition: d3d12.h:2422
UINT MostDetailedMip
Definition: d3d12.h:2542
Definition: d3d12.h:1221
struct ID3D12FenceVtbl ID3D12FenceVtbl
UINT NumParameters
Definition: d3d12.h:3114
static const UUID D3D12ExperimentalShaderModels
Definition: d3d12.h:10309
_In_ UINT NodeIndex
Definition: d3d12.h:1974
D3D12_DSV_DIMENSION
Definition: d3d12.h:2931
Definition: d3d12.h:1845
UINT PlaneSlice
Definition: d3d12.h:2512
struct ID3D12CommandSignatureVtbl ID3D12CommandSignatureVtbl
const D3D12_PIPELINE_STATE_STREAM_DESC REFIID riid
Definition: d3d12.h:9920
UINT64 CInvocations
Definition: d3d12.h:3482
_In_z_ LPCWSTR Name
Definition: d3d12.h:8640
D3D12_LOGIC_OP LogicOp
Definition: d3d12.h:1267
Definition: d3d12.h:8558
UINT FirstArraySlice
Definition: d3d12.h:2503
FLOAT ResourceMinLODClamp
Definition: d3d12.h:2513
_Out_ BOOL CopyQueueTimestampQueriesSupported
Definition: d3d12.h:2074
interface ID3D12Device ID3D12Device
Definition: d3d12.h:188
Definition: d3d12.h:1817
LONG_PTR SlicePitch
Definition: d3d12.h:10220
_In_ UINT _In_ D3D12_COMMAND_LIST_TYPE type
Definition: d3d12.h:9687
struct D3D12_UNORDERED_ACCESS_VIEW_DESC D3D12_UNORDERED_ACCESS_VIEW_DESC
Definition: d3d12.h:2708
struct D3D12_ROOT_SIGNATURE_DESC D3D12_ROOT_SIGNATURE_DESC
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:7778
struct ID3D12PageableVtbl ID3D12PageableVtbl
Definition: d3d12.h:1134
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:3638
Definition: d3d12.h:1053
UINT64 Begin
Definition: d3d12.h:2225
D3D12_CACHED_PIPELINE_STATE CachedPSO
Definition: d3d12.h:1729
_Out_ BOOL BarycentricsSupported
Definition: d3d12.h:2078
Definition: d3d12.h:3471
ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12Object *This)
struct D3D12_DEPTH_STENCIL_VIEW_DESC D3D12_DEPTH_STENCIL_VIEW_DESC
_Out_ BOOL Supported
Definition: d3d12.h:2083
Definition: d3d12.h:2115
D3D12_INPUT_CLASSIFICATION
Definition: d3d12.h:1059
UINT64 Offset
Definition: d3d12.h:2237
Definition: d3d12.h:2370
UINT NumDescriptors
Definition: d3d12.h:3015
_Out_ BOOL IsolatedMMU
Definition: d3d12.h:1986
UINT RenderTargetArrayIndex
Definition: d3d12.h:2437
FLOAT ResourceMinLODClamp
Definition: d3d12.h:2546
Definition: d3d12.h:3006
UINT X
Definition: d3d12.h:2244
_In_ DXGI_FORMAT Format
Definition: d3d12.h:2011
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:8259
_In_ const D3D12_HEAP_DESC REFIID riid
Definition: d3d12.h:7920
Definition: d3d12.h:2314
Definition: d3d12.h:1790
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:4084
_In_ UINT D3D12_HEAP_TYPE heapType
Definition: d3d12.h:9778
Definition: d3d12.h:1777
UINT NodeMask
Definition: d3d12.h:1719
D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable
Definition: d3d12.h:3170
D3D12_BUFFER_UAV_FLAGS Flags
Definition: d3d12.h:2743
UINT PlaneSlice
Definition: d3d12.h:2522
struct D3D12_DRAW_INDEXED_ARGUMENTS D3D12_DRAW_INDEXED_ARGUMENTS
struct D3D12_FEATURE_DATA_FEATURE_LEVELS D3D12_FEATURE_DATA_FEATURE_LEVELS
_In_ HANDLE REFIID _COM_Outptr_ void ** ppvHeap
Definition: d3d12.h:9932
struct ID3D12ObjectVtbl ID3D12ObjectVtbl
DEFINE_GUID(IID_ID3D12Object, 0xc4fec28f, 0x7966, 0x4e95, 0x9f, 0x94, 0xf4, 0x31, 0xcb, 0x56, 0xc3, 0xb8)
_In_ UINT NumDestDescriptorRanges
Definition: d3d12.h:8739
D3D12_RESOURCE_FLAGS
Definition: d3d12.h:2173
SIZE_T BytecodeLength
Definition: d3d12.h:1659
struct D3D12_TEX2DMS_RTV D3D12_TEX2DMS_RTV
Definition: d3d12.h:2656
struct ID3D12Device1Vtbl ID3D12Device1Vtbl
struct D3D12_SUBRESOURCE_INFO D3D12_SUBRESOURCE_INFO
D3D12_RESOURCE_DIMENSION Dimension
Definition: d3d12.h:2189
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:6641
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:9641
Definition: d3d12.h:3076
_In_ UINT _In_ UINT _In_ UINT ThreadGroupCountZ
Definition: d3d12.h:6021
Definition: d3d12.h:2132
_Out_ BOOL TypedUAVLoadAdditionalFormats
Definition: d3d12.h:1932
Definition: d3d12.h:1144
Definition: d3d12.h:2737
D3D12_FORMAT_SUPPORT1
Definition: d3d12.h:1829
D3D12_ROOT_DESCRIPTOR Descriptor
Definition: d3d12.h:3068
Definition: d3d12.h:2354
BOOL DepthEnable
Definition: d3d12.h:1183
UINT FirstWSlice
Definition: d3d12.h:2852
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT D3D12_TILE_MAPPING_FLAGS Flags
Definition: d3d12.h:7364
Definition: d3d12.h:2009
Definition: d3d12.h:1036
struct D3D12_TEX3D_UAV D3D12_TEX3D_UAV
UINT MipSlice
Definition: d3d12.h:2774
Definition: d3d12.h:1161
UINT ShaderRegister
Definition: d3d12.h:3029
_In_ REFGUID guid
Definition: d3d12.h:1361
Definition: d3d12.h:4970
D3D12_RESIDENCY_FLAGS
Definition: d3d12.h:9572
Definition: d3d12.h:3490
Definition: d3d12.h:1158
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:7341
D3D12_ROOT_SIGNATURE_FLAGS
Definition: d3d12.h:3073
Definition: d3d12.h:2341
Definition: d3d12.h:2937
D3D12_TEX3D_RTV Texture3D
Definition: d3d12.h:2883
struct D3D12_FEATURE_DATA_ARCHITECTURE1 D3D12_FEATURE_DATA_ARCHITECTURE1
_In_ ID3D12DeviceChild * pObject
Definition: d3d12.h:8801
D3D12_RESOURCE_FLAGS Flags
Definition: d3d12.h:2198
_In_ UINT VertexCountPerInstance
Definition: d3d12.h:6670
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC * pDesc
Definition: d3d12.h:7871
UINT FirstArraySlice
Definition: d3d12.h:2907
Definition: d3d12.h:1789
D3D12_VIEW_INSTANCING_TIER
Definition: d3d12.h:1915
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT SrcSubresource
Definition: d3d12.h:6722
D3D12_DEPTH_WRITE_MASK
Definition: d3d12.h:1141
_In_ UINT _In_ UINT NumSrcDescriptorRanges
Definition: d3d12.h:8742
struct D3D12_TEX2DMS_ARRAY_RTV D3D12_TEX2DMS_ARRAY_RTV
UINT ViewportArrayIndex
Definition: d3d12.h:2436
Definition: d3d12.h:2934
UINT PlaneSlice
Definition: d3d12.h:2769
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT _In_ const D3D12_TEXTURE_COPY_LOCATION _In_opt_ const D3D12_BOX * pSrcBox
Definition: d3d12.h:6699
struct ID3D12CommandListVtbl ID3D12CommandListVtbl
D3D12_ROOT_CONSTANTS Constants
Definition: d3d12.h:3067
D3D12_RTV_DIMENSION
Definition: d3d12.h:2856
Definition: d3d12.h:2329
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:3752
UINT MipLevels
Definition: d3d12.h:2536
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
struct D3D12_TEX1D_ARRAY_SRV D3D12_TEX1D_ARRAY_SRV
Definition: d3d12.h:1054
Definition: d3d12.h:8557
Definition: d3d12.h:3043
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:4216
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:4976
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:7766
UINT Num32BitValuesToSet
Definition: d3d12.h:3568
D3D12_COMMAND_LIST_TYPE
Definition: d3d12.h:1014
UINT NumTiles
Definition: d3d12.h:2252
Definition: d3d12.h:1133
UINT64 PrimitivesStorageNeeded
Definition: d3d12.h:3493
typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void *pData)
REFIID riid
Definition: d3d12.h:3771
SIZE_T REFIID riid
Definition: d3d12.h:9373
UINT ByteStride
Definition: d3d12.h:3587
Definition: d3d12.h:2114
UINT SizeInBytes
Definition: d3d12.h:3530
UINT64 CPrimitives
Definition: d3d12.h:3483
_In_z_ LPCWSTR Name
Definition: d3d12.h:9129
UINT ArraySize
Definition: d3d12.h:2839
struct D3D12_TEX2D_UAV D3D12_TEX2D_UAV
UINT64 IAPrimitives
Definition: d3d12.h:3478
_Out_ D3D12_FORMAT_SUPPORT2 Support2
Definition: d3d12.h:2013
Definition: d3d12.h:1199
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:5967
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT DstX
Definition: d3d12.h:5423
_In_reads_opt_(4) const FLOAT BlendFactor[4])
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:3910
_Out_ D3D12_RESOURCE_HEAP_TIER ResourceHeapTier
Definition: d3d12.h:1940
Definition: d3d12.h:1028
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:3310
struct D3D12_DISPATCH_ARGUMENTS D3D12_DISPATCH_ARGUMENTS
Definition: d3d12.h:3057
UINT ForcedSampleCount
Definition: d3d12.h:1298
Definition: d3d12.h:1808
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:4861
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:4771
REFIID riid
Definition: d3d12.h:4231
Definition: d3d12.h:1841
EXTERN_C const IID IID_ID3D12GraphicsCommandList2
Definition: d3d12.h:6594
FLOAT MaxDepth
Definition: d3d12.h:1113
UINT FirstArraySlice
Definition: d3d12.h:2754
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC * pDesc
Definition: d3d12.h:8704
UINT ArraySize
Definition: d3d12.h:2908
UINT InstanceCount
Definition: d3d12.h:3506
FLOAT Depth
Definition: d3d12.h:2203
Definition: d3d12.h:3048
Definition: d3d12.h:1020
D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY
Definition: d3d12.h:1084
_In_ const D3D12_COMMAND_QUEUE_DESC REFIID riid
Definition: d3d12.h:8647
Definition: d3d12.h:1229
D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1
Definition: d3d12.h:3192
UINT MaxAnisotropy
Definition: d3d12.h:2722
Definition: d3d12.h:2324
UINT ArraySize
Definition: d3d12.h:2821
UINT ShaderRegister
Definition: d3d12.h:3107
UINT16 Height
Definition: d3d12.h:2255
Definition: d3d12.h:2138
BOOL FrontCounterClockwise
Definition: d3d12.h:1291
UINT right
Definition: d3d12.h:1123
HRESULT WINAPI D3D12CreateRootSignatureDeserializer(_In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData, _In_ SIZE_T SrcDataSizeInBytes, _In_ REFIID pRootSignatureDeserializerInterface, _Out_ void **ppRootSignatureDeserializer)
Definition: d3d12.h:2262
Definition: d3d12.h:2328
UINT MipSlice
Definition: d3d12.h:2826
_In_ UINT _In_ UINT _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
Definition: d3d12.h:9761
D3D12_DESCRIPTOR_RANGE_TYPE
Definition: d3d12.h:3003
_Out_ UINT WaveLaneCountMax
Definition: d3d12.h:1947
BOOL AntialiasedLineEnable
Definition: d3d12.h:1297
UINT UnusedField_NothingToDefine
Definition: d3d12.h:2832
Definition: d3d12.h:2926
Definition: d3d12.h:2157
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:3756
_Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration
Definition: d3d12.h:2424
struct D3D12_MEMCPY_DEST D3D12_MEMCPY_DEST
D3D12_TEX1D_ARRAY_DSV Texture1DArray
Definition: d3d12.h:2951
D3D12_RESIDENCY_PRIORITY
Definition: d3d12.h:8553
D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation
Definition: d3d12.h:3500
DXGI_FORMAT Format
Definition: d3d12.h:1070
_In_ UINT _In_ UINT _In_ UINT _In_ INT _In_ UINT StartInstanceLocation
Definition: d3d12.h:5401
_In_ LPCWSTR DWORD _Out_ HANDLE * pNTHandle
Definition: d3d12.h:9831
struct D3D12_TEX1D_ARRAY_RTV D3D12_TEX1D_ARRAY_RTV
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:4492
Definition: d3d12.h:2131
_In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID _COM_Outptr_ void ** ppvHeap
Definition: d3d12.h:9175
_In_ REFGUID guid
Definition: d3d12.h:1467
D3D12_TEX1D_UAV Texture1D
Definition: d3d12.h:2798
_In_ D3D12_COMMAND_LIST_TYPE type
Definition: d3d12.h:8653
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:8255
_In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType
Definition: d3d12.h:8692
UINT WSize
Definition: d3d12.h:2776
interface ID3D12CommandQueue ID3D12CommandQueue
Definition: d3d12.h:181
UINT MipSlice
Definition: d3d12.h:2851
INT8 X
Definition: d3d12.h:2430
UINT Height
Definition: d3d12.h:2192
_In_ UINT VertexCountPerInstance
Definition: d3d12.h:6006
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(ID3D12RootSignature *This
Definition: d3d12.h:1207
D3D12_COMMAND_QUEUE_FLAGS
Definition: d3d12.h:1025
REFIID riid
Definition: d3d12.h:4893
Definition: d3d12.h:1878
EXTERN_C const IID IID_ID3D12Heap
Definition: d3d12.h:3718
Definition: d3d12.h:2787
_In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology
Definition: d3d12.h:6066
UINT64 PSInvocations
Definition: d3d12.h:3484
struct D3D12_GRAPHICS_PIPELINE_STATE_DESC D3D12_GRAPHICS_PIPELINE_STATE_DESC
D3D12_CLEAR_FLAGS
Definition: d3d12.h:2959
_In_ HANDLE REFIID riid
Definition: d3d12.h:9298
EXTERN_C const IID IID_ID3D12Device
Definition: d3d12.h:7534
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:1361
_In_ const D3D12_COMMAND_QUEUE_DESC * pDesc
Definition: d3d12.h:8647
Definition: d3d12.h:1816
_In_ LPCWSTR DWORD _Out_ HANDLE * pNTHandle
Definition: d3d12.h:9304
D3D12_FEATURE UINT FeatureSupportDataSize
Definition: d3d12.h:9171
D3D12_TEX2D_ARRAY_DSV Texture2DArray
Definition: d3d12.h:2953
D3D12_GPU_VIRTUAL_ADDRESS Dest
Definition: d3d12.h:6570
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:4352
REFIID riid
Definition: d3d12.h:5374
EXTERN_C const IID IID_ID3D12GraphicsCommandList
Definition: d3d12.h:5075
UINT DepthInTexels
Definition: d3d12.h:2280
UINT NumParameters
Definition: d3d12.h:3179
interface ID3D12Pageable ID3D12Pageable
Definition: d3d12.h:83
Definition: d3d12.h:1152
Definition: d3d12.h:2772
_In_ UINT _In_ UINT _In_ UINT ThreadGroupCountZ
Definition: d3d12.h:5409
Definition: d3d12.h:2569
interface ID3D12DeviceChild ID3D12DeviceChild
Definition: d3d12.h:55
D3D12_RANGE_UINT64 Range
Definition: d3d12.h:2232
Definition: d3d12.h:2395
BOOL Enable
Definition: d3d12.h:8002
D3D12_DEPTH_STENCILOP_DESC FrontFace
Definition: d3d12.h:1189
Definition: d3d12.h:3124
Definition: d3d12.h:1287
Definition: d3d12.h:1220
Definition: d3d12.h:1786
Definition: d3d12.h:7312
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT _In_ const D3D12_TEXTURE_COPY_LOCATION _In_opt_ const D3D12_BOX * pSrcBox
Definition: d3d12.h:5423
Definition: d3d12.h:2095
HRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializer(_In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData, _In_ SIZE_T SrcDataSizeInBytes, _In_ REFIID pRootSignatureDeserializerInterface, _Out_ void **ppRootSignatureDeserializer)
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:8242
D3D12_DEPTH_STENCIL_DESC DepthStencilState
Definition: d3d12.h:1711
Definition: d3d12.h:3527
interface ID3D12QueryHeap ID3D12QueryHeap
Definition: d3d12.h:139
Definition: d3d12.h:3034
struct D3D12_RESOURCE_DESC D3D12_RESOURCE_DESC
D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType
Definition: d3d12.h:1714
Definition: d3d12.h:1842
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:7335
Definition: dxgicommon.h:19
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:8265
interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1
Definition: d3d12.h:202
struct ID3D12ToolsVtbl ID3D12ToolsVtbl
UINT StartTileIndexInOverallResource
Definition: d3d12.h:2273
interface ID3D12CommandList ID3D12CommandList
Definition: d3d12.h:153
_Outptr_ IUnknown _In_reads_bytes_opt_(InitDataByteSize) const void *pInitData
Definition: d3d12.h:2167
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: d3d12.h:1567
Definition: d3d12.h:1242
UINT StructureByteStride
Definition: d3d12.h:2488
_In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
Definition: d3d12.h:7802
_In_ const D3D12_RESOURCE_DESC UINT64 BaseOffset
Definition: d3d12.h:7988
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:5359
UINT PlaneSlice
Definition: d3d12.h:2827
UINT back
Definition: d3d12.h:1125
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:3750
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource * pResource
Definition: d3d12.h:6883
Definition: d3d12.h:1251
UINT DepthPitch
Definition: d3d12.h:2239
Definition: d3d12.h:1815
D3D12_TEXTURE_COPY_TYPE
Definition: d3d12.h:2401
_Inout_ D3D_SHADER_MODEL HighestShaderModel
Definition: d3d12.h:2006
D3D12_SHADER_VISIBILITY
Definition: d3d12.h:3040
UINT NodeMask
Definition: d3d12.h:3590
Definition: d3d12.h:2865
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource UINT64 SrcOffset
Definition: d3d12.h:6691
_In_ UINT Priority
Definition: d3d12.h:2055
UINT WSize
Definition: d3d12.h:2853
Definition: d3d12.h:1903
D3D12_SHADER_BYTECODE HS
Definition: d3d12.h:1705
D3D12_CPU_PAGE_PROPERTY CPUPageProperty
Definition: d3d12.h:2121
Definition: d3d12.h:1137
Definition: d3d12.h:1253
Definition: d3d12.h:1198
DXGI_FORMAT Format
Definition: d3d12.h:3538
DXGI_FORMAT Format
Definition: d3d12.h:2388
Definition: d3d12.h:2134
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC * pDesc
Definition: d3d12.h:9744
UINT AlignedByteOffset
Definition: d3d12.h:1072
_In_ UINT _In_ SIZE_T REFIID riid
Definition: d3d12.h:7841
_In_ ID3D12DeviceChild * pObject
Definition: d3d12.h:9290
UINT64 FirstElement
Definition: d3d12.h:2808
Definition: d3d12.h:1138
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:4987
interface ID3D12Fence ID3D12Fence
Definition: d3d12.h:111
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE
Definition: d3d12.h:1744
_In_z_ LPCWSTR Name
Definition: d3d12.h:6646
EXTERN_C const IID IID_ID3D12DescriptorHeap
Definition: d3d12.h:4580
struct ID3D12HeapVtbl ID3D12HeapVtbl
Definition: d3d12.h:2294
Definition: d3d12.h:3442
D3D12_BUFFER_UAV Buffer
Definition: d3d12.h:2797
Definition: d3d12.h:1839
D3D12_HEAP_TYPE Type
Definition: d3d12.h:2120
_In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:8659
Definition: d3d12.h:2981
_Out_ BOOL Int64ShaderOps
Definition: d3d12.h:1950
Definition: d3d12.h:1847
Definition: d3d12.h:2104
_In_opt_ ID3D12PipelineState * pPipelineState
Definition: d3d12.h:6002
UINT MipSlice
Definition: d3d12.h:2889
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:4212
Definition: d3d12.h:1850
Definition: d3d12.h:1092
UINT SizeInBytes
Definition: d3d12.h:2599
ID3D12Resource * pResourceAfter
Definition: d3d12.h:2357
Definition: d3d12.h:2983
Definition: d3d12.h:1239
UINT FirstArraySlice
Definition: d3d12.h:2845
D3D12_FILL_MODE FillMode
Definition: d3d12.h:1289
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_v0_0_c_ifspec
UINT FirstArraySlice
Definition: d3d12.h:2767
_Out_ BOOL CastingFullyTypedFormatSupported
Definition: d3d12.h:2075
UINT WidthInTexels
Definition: d3d12.h:2278
Definition: d3d12.h:1779
Definition: d3d12.h:1018
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:4082
DXGI_FORMAT Format
Definition: d3d12.h:2026
UINT SubresourceIndex
Definition: d3d12.h:2415
struct ID3D12PipelineStateVtbl ID3D12PipelineStateVtbl
Definition: d3d12.h:1846
UINT64 FirstElement
Definition: d3d12.h:2486
Definition: d3d12.h:2573
UINT NumDescriptorRanges
Definition: d3d12.h:3144
_In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: d3d12.h:7936
UINT NumRenderTargets
Definition: d3d12.h:1715
Definition: d3d12.h:1155
struct D3D12_TEXCUBE_ARRAY_SRV D3D12_TEXCUBE_ARRAY_SRV
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:1479
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
Definition: d3d12.h:3134
D3D12_BUFFER_RTV Buffer
Definition: d3d12.h:2876
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:4605
EXTERN_C const IID IID_ID3D12Object
Definition: d3d12.h:1314
D3D12_SRV_DIMENSION ViewDimension
Definition: d3d12.h:2579
UINT left
Definition: d3d12.h:1120
D3D12_FORMAT_SUPPORT2
Definition: d3d12.h:1865
struct D3D12_FEATURE_DATA_EXISTING_HEAPS D3D12_FEATURE_DATA_EXISTING_HEAPS
GLenum type
Definition: glext.h:6233
REFIID riid
Definition: d3d12.h:1488
_In_ LPCWSTR _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:8284
Definition: d3d12.h:1206
UINT NumObjects
Definition: d3d12.h:8822
FLOAT Height
Definition: d3d12.h:1111
FLOAT MipLODBias
Definition: d3d12.h:2721
Definition: d3d12.h:9575
FLOAT MinLOD
Definition: d3d12.h:2725
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT _In_ UINT _Out_writes_ pNumSubresourceTilings D3D12_SUBRESOURCE_TILING * pSubresourceTilingsForNonPackedMips
Definition: d3d12.h:9365
struct D3D12_RESOURCE_ALLOCATION_INFO D3D12_RESOURCE_ALLOCATION_INFO
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: d3d12.h:3529
UINT64 Alignment
Definition: d3d12.h:2190
_Out_ BOOL TileBasedRenderer
Definition: d3d12.h:1983
UINT8 PlaneCount
Definition: d3d12.h:2027
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:3762
Definition: d3d12.h:2276
DXGI_FORMAT
Definition: dxgiformat.h:10
D3D12_STENCIL_OP StencilPassOp
Definition: d3d12.h:1165
Definition: d3d12.h:1980
D3D12_RESOURCE_BARRIER_TYPE
Definition: d3d12.h:2337
Definition: d3d12.h:1096
_In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riidResource
Definition: d3d12.h:9256
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:1373
_Out_ D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport
Definition: d3d12.h:1928
Definition: d3d12.h:4599
Definition: d3d12.h:2867
Definition: d3d12.h:2161
Definition: d3d12.h:3428
struct D3D12_DESCRIPTOR_HEAP_DESC D3D12_DESCRIPTOR_HEAP_DESC
LPCSTR SemanticName
Definition: d3d12.h:1099
D3D12_RTV_DIMENSION ViewDimension
Definition: d3d12.h:2873
struct D3D12_TEX3D_RTV D3D12_TEX3D_RTV
UINT64 HSInvocations
Definition: d3d12.h:3485
Definition: d3d12.h:2911
D3D12_RESOURCE_STATES StateAfter
Definition: d3d12.h:2351
UINT MipSlice
Definition: d3d12.h:2766
D3D12_CPU_PAGE_PROPERTY
Definition: d3d12.h:2101
Definition: d3d12.h:2817
_In_ LPCWSTR _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:8444
D3D12_QUERY_HEAP_TYPE Type
Definition: d3d12.h:3449
D3D12_TEXTURE_ADDRESS_MODE AddressU
Definition: d3d12.h:2718
Definition: d3d12.h:2448
struct D3D12_VIEW_INSTANCING_DESC D3D12_VIEW_INSTANCING_DESC
Definition: d3d12.h:2146
UINT Num32BitValues
Definition: d3d12.h:3031
Definition: d3d12.h:2963
Definition: d3d12.h:1662
EXTERN_C const IID IID_ID3D12CommandAllocator
Definition: d3d12.h:4050
Definition: d3d12.h:2549
Definition: d3d12.h:9095
Definition: d3d12.h:2242
BOOL UseBox
Definition: d3d12.h:2253
Definition: d3d12.h:1953
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_opt_ UINT64 * pTotalBytes
Definition: d3d12.h:9338
Definition: d3d12.h:3132
Definition: d3d12.h:2785
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:6618
UINT ArraySize
Definition: d3d12.h:2846
D3D12_DEPTH_STENCILOP_DESC BackFace
Definition: d3d12.h:1178
Definition: d3d12.h:4193
UINT Z
Definition: d3d12.h:2246
D3D12_BLEND DestBlendAlpha
Definition: d3d12.h:1265
D3D12_DESCRIPTOR_RANGE_FLAGS Flags
Definition: d3d12.h:3138
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue
Definition: d3d12.h:1713
Definition: d3d12.h:1091
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource UINT64 SrcOffset
Definition: d3d12.h:5415
Definition: d3d12.h:2892
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:3636
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC * pDesc
Definition: d3d12.h:7865
D3D12_ROOT_SIGNATURE_FLAGS Flags
Definition: d3d12.h:3183
_Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode
struct D3D12_CACHED_PIPELINE_STATE D3D12_CACHED_PIPELINE_STATE
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: d3d12.h:3498
_In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID riid
Definition: d3d12.h:8006
Definition: d3d12.h:2938
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource UINT64 D3D12_TILE_COPY_FLAGS Flags
Definition: d3d12.h:6713
UINT Width
Definition: d3d12.h:2389
struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC D3D12_VERSIONED_ROOT_SIGNATURE_DESC
Definition: d3d12.h:1212
_In_ UINT NumCommandLists
Definition: d3d12.h:7377
UINT VertexCountPerInstance
Definition: d3d12.h:3505
struct D3D12_INPUT_LAYOUT_DESC D3D12_INPUT_LAYOUT_DESC
D3D12_STENCIL_OP StencilDepthFailOp
Definition: d3d12.h:1164
D3D12_QUERY_TYPE
Definition: d3d12.h:3454
Definition: d3d12.h:1131
_In_ D3D_ROOT_SIGNATURE_VERSION _Out_ ID3DBlob ** ppBlob
Definition: d3d12.h:3372
DXGI_SAMPLE_DESC SampleDesc
Definition: d3d12.h:2196
FLOAT ResourceMinLODClamp
Definition: d3d12.h:2523
Definition: d3d12.h:2312
_Out_ BOOL DepthBoundsTestSupported
Definition: d3d12.h:1955
D3D12_FILTER Filter
Definition: d3d12.h:3097
D3D12_COMPARISON_FUNC ComparisonFunc
Definition: d3d12.h:3103
Definition: d3d12.h:2970
EXTERN_C const IID IID_ID3D12RootSignatureDeserializer
Definition: d3d12.h:3208
SIZE_T Begin
Definition: d3d12.h:2219
struct ID3D12Fence1Vtbl ID3D12Fence1Vtbl
_In_ ID3D12Resource * pTiledResource
Definition: d3d12.h:9886
Definition: d3d12.h:1781
Definition: d3d12.h:2613
UINT BaseShaderRegister
Definition: d3d12.h:3016
D3D12_CROSS_NODE_SHARING_TIER
Definition: d3d12.h:1891
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:3642
D3D12_COMPARISON_FUNC ComparisonFunc
Definition: d3d12.h:2723
_In_z_ LPCWSTR Name
Definition: d3d12.h:4633
UINT64 D3D12_FENCE_FLAGS REFIID riid
Definition: d3d12.h:7975
UINT64 FirstElement
Definition: d3d12.h:2739
UINT StartInstanceLocation
Definition: d3d12.h:3517
struct ID3D12CommandAllocatorVtbl ID3D12CommandAllocatorVtbl
D3D12_TEXTURE_ADDRESS_MODE
Definition: d3d12.h:2705
D3D12_TEXTURE_ADDRESS_MODE AddressW
Definition: d3d12.h:3100
D3D12_TEX2D_SRV Texture2D
Definition: d3d12.h:2586
Definition: d3d12.h:2647
struct D3D12_TEX2D_RTV D3D12_TEX2D_RTV
Definition: d3d12.h:2863
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC * pDesc
Definition: d3d12.h:8728
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:6631
D3D12_RESOURCE_BARRIER_FLAGS Flags
Definition: d3d12.h:2377
Definition: d3d12.h:1208
Definition: d3d12.h:8560
Definition: d3d12.h:1809
D3D12_TEX2DMS_SRV Texture2DMS
Definition: d3d12.h:2588
Definition: d3d12.h:2859
UINT64 SizeInBytes
Definition: d3d12.h:2088
UINT8 StencilReadMask
Definition: d3d12.h:1187
Definition: d3d12.h:8549
struct D3D12_TEX2DMS_ARRAY_SRV D3D12_TEX2DMS_ARRAY_SRV
Definition: d3d12.h:8548
struct D3D12_ROOT_DESCRIPTOR1 D3D12_ROOT_DESCRIPTOR1
Definition: d3d12.h:2861
D3D_PRIMITIVE D3D12_PRIMITIVE
Definition: d3d12.h:1086
UINT NumObjects
Definition: d3d12.h:9838
D3D12_DESCRIPTOR_HEAP_FLAGS Flags
Definition: d3d12.h:2999
D3D12_TEXTURE_LAYOUT
Definition: d3d12.h:2164
Definition: d3d12.h:2041
D3D12_RESOURCE_STATES
Definition: d3d12.h:2309
BOOL BlendEnable
Definition: d3d12.h:1259
struct D3D12_RENDER_TARGET_BLEND_DESC D3D12_RENDER_TARGET_BLEND_DESC
struct D3D12_TEX2D_ARRAY_DSV D3D12_TEX2D_ARRAY_DSV
D3D12_COMMAND_QUEUE_PRIORITY
Definition: d3d12.h:1033
Definition: d3d12.h:1832
Definition: d3d12.h:2327
_In_z_ LPCWSTR Name
Definition: d3d12.h:3653
UINT MipSlice
Definition: d3d12.h:2753
Definition: d3d12.h:1197
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:1578
Definition: d3d12.h:2622
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:9118
_In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType
Definition: d3d12.h:7835
REFIID riid
Definition: d3d12.h:8434
Definition: d3d12.h:1136
UINT64 Offset
Definition: d3d12.h:2397
UINT MostDetailedMip
Definition: d3d12.h:2535
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:1350
UINT RegisterSpace
Definition: d3d12.h:3037
UINT NumEntries
Definition: d3d12.h:1665
struct D3D12_FEATURE_DATA_FORMAT_INFO D3D12_FEATURE_DATA_FORMAT_INFO
SIZE_T CachedBlobSizeInBytes
Definition: d3d12.h:1688
_In_ const D3D12_RESOURCE_DESC UINT64 BaseOffset
Definition: d3d12.h:9861
D3D_ROOT_SIGNATURE_VERSION Version
Definition: d3d12.h:3188
BOOL LogicOpEnable
Definition: d3d12.h:1260
_In_ DXGI_FORMAT Format
Definition: d3d12.h:2018
SIZE_T DataSizeInBytes
Definition: d3d12.h:8302
D3D12_SHADER_BYTECODE DS
Definition: d3d12.h:1704
Definition: d3d12.h:2751
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:4071
_In_ UINT _In_ UINT _In_ UINT _In_ INT _In_ UINT StartInstanceLocation
Definition: d3d12.h:6677
Definition: d3d12.h:2786
Definition: d3d12.h:2374
UINT64 VSInvocations
Definition: d3d12.h:3479
UINT MostDetailedMip
Definition: d3d12.h:2510
Definition: d3d12.h:2024
struct ID3D12Device2Vtbl ID3D12Device2Vtbl
_In_z_ LPCWSTR Name
Definition: d3d12.h:4363
UINT StartInstanceLocation
Definition: d3d12.h:3508
Definition: d3d12.h:1181
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:10157
UINT CreationNodeMask
Definition: d3d12.h:2123
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:1584
EXTERN_C const IID IID_ID3D12CommandList
Definition: d3d12.h:4955
Definition: d3d12.h:5948
D3D12_ROOT_PARAMETER_TYPE
Definition: d3d12.h:3051
struct D3D12_ROOT_SIGNATURE_DESC1 D3D12_ROOT_SIGNATURE_DESC1
_In_ HANDLE REFIID riid
Definition: d3d12.h:7952
Definition: d3d12.h:3503
DXGI_FORMAT Format
Definition: d3d12.h:2209
Definition: d3d12.h:1694
Definition: d3d12.h:3012
_In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType
Definition: d3d12.h:9708
Definition: d3d12.h:1151
UINT Shader4ComponentMapping
Definition: d3d12.h:2580
Definition: d3d12.h:2982
_Out_ UINT64 * pFrequency
Definition: d3d12.h:7407
_In_ const D3D12_QUERY_HEAP_DESC REFIID riid
Definition: d3d12.h:9342
struct D3D12_RANGE_UINT64 D3D12_RANGE_UINT64
UINT64 Alignment
Definition: d3d12.h:2150
Definition: d3d12.h:2849
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_c_ifspec
D3D12_BUFFER_SRV_FLAGS
Definition: d3d12.h:2476
Definition: d3d12.h:2516
D3D12_FEATURE Feature
Definition: d3d12.h:7823
Definition: d3d12.h:1244
_In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:9148
Definition: d3d12.h:2217
Definition: d3d12.h:1733
UINT ShaderRegister
Definition: d3d12.h:3160
Definition: d3d12.h:2715
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:4358
struct D3D12_TEX2D_DSV D3D12_TEX2D_DSV
struct D3D12_SAMPLER_DESC D3D12_SAMPLER_DESC
Definition: d3d12.h:2346
UINT NumDescriptors
Definition: d3d12.h:3135
Definition: d3d12.h:3619
Definition: d3d12.h:2004
Definition: d3d12.h:3177
Definition: d3d12.h:1118
interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList
Definition: d3d12.h:160
_In_z_ LPCWSTR Name
Definition: d3d12.h:7346
struct D3D12_VIEW_INSTANCE_LOCATION D3D12_VIEW_INSTANCE_LOCATION
_In_opt_ ID3D12Resource * pResource
Definition: d3d12.h:8709
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:1363
FLOAT MinDepth
Definition: d3d12.h:1112
struct D3D12_BUFFER_SRV D3D12_BUFFER_SRV
ID3D12Fence UINT64 Value
Definition: d3d12.h:7397
UINT8 Stencil
Definition: d3d12.h:2204
_In_ const D3D12_SAMPLER_DESC * pDesc
Definition: d3d12.h:7877
Definition: d3d12.h:4855
ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12RootSignature *This)
EXTERN_C const IID IID_ID3D12RootSignature
Definition: d3d12.h:1548
struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER D3D12_WRITEBUFFERIMMEDIATE_PARAMETER
Definition: d3d12.h:3475
D3D12_BLEND DestBlend
Definition: d3d12.h:1262
Definition: d3d12.h:2943
_In_reads_(_Inexpressible_("Dependent on size of subobjects")) void *pPipelineStateSubobjectStream
Definition: d3d12.h:2570
struct D3D12_HEAP_DESC D3D12_HEAP_DESC
SIZE_T ptr
Definition: d3d12.h:3418
DXGI_SAMPLE_DESC SampleDesc
Definition: d3d12.h:1718
D3D_ROOT_SIGNATURE_VERSION
Definition: d3d12.h:1959
_In_ UINT _In_ UINT _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
Definition: d3d12.h:7888
_In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:9681
Definition: d3d12.h:3046
_Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs
D3D12_LOGIC_OP
Definition: d3d12.h:1236
interface ID3D12Object ID3D12Object
Definition: d3d12.h:48
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:4479
Definition: d3d12.h:2576
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT _In_ const D3D12_TEXTURE_COPY_LOCATION _In_opt_ const D3D12_BOX * pSrcBox
Definition: d3d12.h:6035
Definition: d3d12.h:2268
UINT PlaneSlice
Definition: d3d12.h:2840
Definition: d3d12.h:1972
LONG_PTR RowPitch
Definition: d3d12.h:10219
D3D12_TEXTURE_ADDRESS_MODE AddressU
Definition: d3d12.h:3098
Definition: d3d12.h:1066
Definition: d3d12.h:1210
Definition: d3d12.h:3544
UINT64 NumPrimitivesWritten
Definition: d3d12.h:3492
UINT FirstArraySlice
Definition: d3d12.h:2838
Definition: d3d12.h:2368
D3D12_BLEND_OP BlendOpAlpha
Definition: d3d12.h:1266
D3D12_COMMAND_LIST_TYPE Type
Definition: d3d12.h:1043
Definition: d3d12.h:2321
_In_ const D3D12_RESOURCE_DESC * pResourceDesc
Definition: d3d12.h:7985
_In_ const D3D12_RESOURCE_DESC * pResourceDesc
Definition: d3d12.h:9858
Definition: d3d12.h:4473
_In_ UINT _In_ UINT NumSrcDescriptorRanges
Definition: d3d12.h:9231
Definition: d3d12.h:3421
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:4622
Definition: d3d12.h:1233
Definition: d3d12.h:2904
Definition: d3d12.h:2655
_In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:9154
DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_QUEUE_FLAGS)
_In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
Definition: d3d12.h:8659
FLOAT MinLOD
Definition: d3d12.h:3105
_Out_ BOOL ROVsSupported
Definition: d3d12.h:1933
D3D12_RESOURCE_TRANSITION_BARRIER Transition
Definition: d3d12.h:2380
struct D3D12_TEX1D_RTV D3D12_TEX1D_RTV
D3D12_TEX1D_ARRAY_SRV Texture1DArray
Definition: d3d12.h:2585
_In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology
Definition: d3d12.h:6730
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:8415
UINT MostDetailedMip
Definition: d3d12.h:2501
Definition: d3d12.h:2113
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_c_ifspec
_In_ UINT NumDestDescriptorRanges
Definition: d3d12.h:7882
interface ID3D12CommandSignature ID3D12CommandSignature
Definition: d3d12.h:146
D3D12_SHADER_BYTECODE CS
Definition: d3d12.h:1727
struct D3D12_RENDER_TARGET_VIEW_DESC D3D12_RENDER_TARGET_VIEW_DESC
FLOAT Width
Definition: d3d12.h:1110
Definition: d3d12.h:2864
Definition: d3d12.h:2540
struct D3D12_BUFFER_RTV D3D12_BUFFER_RTV
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster
Definition: d3d12.h:1299
_In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID riid
Definition: d3d12.h:8863
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
Definition: d3d12.h:3014
D3D12_STENCIL_OP StencilFailOp
Definition: d3d12.h:1163
Definition: d3d12.h:2235
struct D3D12_RESOURCE_BARRIER D3D12_RESOURCE_BARRIER
UINT NodeMask
Definition: d3d12.h:1728
_In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
Definition: d3d12.h:5997
_In_ const D3D12_COMMAND_QUEUE_DESC REFIID riid
Definition: d3d12.h:9136
D3D12_ROOT_SIGNATURE_FLAGS Flags
Definition: d3d12.h:3118
Definition: d3d12.h:1943
Definition: d3d12.h:1791
_In_z_ LPCWSTR Name
Definition: d3d12.h:4099
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:3893
UINT16 DepthOrArraySize
Definition: d3d12.h:2193
Definition: d3d12.h:2990
_In_ UINT _In_ UINT _In_ UINT ThreadGroupCountZ
Definition: d3d12.h:6685
UINT ThreadGroupCountX
Definition: d3d12.h:3522
REFIID riid
Definition: d3d12.h:4780
Definition: d3d12.h:2263
Definition: d3d12.h:4065
EXTERN_C const IID IID_ID3D12Fence
Definition: d3d12.h:4171
Definition: d3d12.h:3223
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:4878
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:7755
struct D3D12_RESOURCE_ALIASING_BARRIER D3D12_RESOURCE_ALIASING_BARRIER
Definition: d3d12.h:2887
Definition: d3d12.h:3440
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart
Definition: d3d12.h:7892
UINT SemanticIndex
Definition: d3d12.h:1100
Definition: d3d12.h:2971
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC * pDesc
Definition: d3d12.h:9193
struct D3D12_QUERY_HEAP_DESC D3D12_QUERY_HEAP_DESC
Definition: d3d12.h:2563
struct D3D12_QUERY_DATA_PIPELINE_STATISTICS D3D12_QUERY_DATA_PIPELINE_STATISTICS
UINT ArraySize
Definition: d3d12.h:2521
UINT64 D3D12_FENCE_FLAGS Flags
Definition: d3d12.h:9321
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:4346
struct D3D12_SUBRESOURCE_RANGE_UINT64 D3D12_SUBRESOURCE_RANGE_UINT64
_Out_ BOOL UMA
Definition: d3d12.h:1984
Definition: d3d12.h:1250
D3D12_HEAP_FLAGS Flags
Definition: d3d12.h:2151
BOOL bEnable
Definition: d3d12.h:10168
HRESULT WINAPI D3D12GetDebugInterface(_In_ REFIID riid, _COM_Outptr_opt_ void **ppvDebug)
BOOL DepthBoundsTestEnable
Definition: d3d12.h:1191
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart
Definition: d3d12.h:9238
_Out_ D3D12_FORMAT_SUPPORT1 Support1
Definition: d3d12.h:2012
D3D12_FILTER Filter
Definition: d3d12.h:2717
UINT MipLevels
Definition: d3d12.h:2511
DXGI_FORMAT Format
Definition: d3d12.h:2872
Definition: d3d12.h:1240
D3D12_TEXTURE_ADDRESS_MODE AddressV
Definition: d3d12.h:2719
INT8 Y
Definition: d3d12.h:2431
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_v0_0_s_ifspec
struct D3D12_CONSTANT_BUFFER_VIEW_DESC D3D12_CONSTANT_BUFFER_VIEW_DESC
Definition: d3d12.h:1854
FLOAT SlopeScaledDepthBias
Definition: d3d12.h:1294
Definition: d3d12.h:1776
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC * pDesc
Definition: d3d12.h:8722
_In_ const void REFIID riid
Definition: d3d12.h:9926
D3D12_TEX2D_UAV Texture2D
Definition: d3d12.h:2800
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:9124
struct D3D12_INDIRECT_ARGUMENT_DESC D3D12_INDIRECT_ARGUMENT_DESC
Definition: d3d12.h:2081
interface ID3D12CommandAllocator ID3D12CommandAllocator
Definition: d3d12.h:104
const D3D12_PIPELINE_STATE_STREAM_DESC REFIID riid
Definition: d3d12.h:9393
Definition: d3d12.h:1450
D3D12_COMPARISON_FUNC
Definition: d3d12.h:1128
_In_ const D3D12_RESOURCE_DESC UINT64 BaseOffset
Definition: d3d12.h:9334
UINT IndexCountPerInstance
Definition: d3d12.h:3513
Definition: d3d12.h:2130
DXGI_FORMAT Format
Definition: d3d12.h:2195
ID3D12RootSignature * pRootSignature
Definition: d3d12.h:1701
D3D12_PIPELINE_STATE_FLAGS
Definition: d3d12.h:1691
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:9628
Definition: d3d12.h:8236
struct D3D12_TILE_REGION_SIZE D3D12_TILE_REGION_SIZE
Definition: d3d12.h:3555
Definition: d3d12.h:2159
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:4759
Definition: d3d12.h:1157
_In_ ID3D12DeviceChild * pObject
Definition: d3d12.h:7944
Definition: d3d12.h:1019
UINT InputSlot
Definition: d3d12.h:1071
_In_ ID3D12Resource _In_ ID3D12Resource * pSrcResource
Definition: d3d12.h:5432
UINT64 CounterOffsetInBytes
Definition: d3d12.h:2742
_In_ LPCWSTR _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC * pDesc
Definition: d3d12.h:8284
_In_ const D3D12_COMMAND_QUEUE_DESC REFIID riid
Definition: d3d12.h:7790
struct D3D12_ROOT_PARAMETER1 D3D12_ROOT_PARAMETER1
Definition: d3d12.h:2764
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC * pDesc
Definition: d3d12.h:9720
Definition: d3d12.h:1919
Definition: d3d12.h:2386
UINT Metadata
Definition: d3d12.h:7382
D3D12_TEX3D_UAV Texture3D
Definition: d3d12.h:2802
Definition: d3d12.h:2047
struct ID3D12DeviceVtbl ID3D12DeviceVtbl
Definition: d3d12.h:1271
Definition: d3d12.h:1787
UINT StartIndexLocation
Definition: d3d12.h:3515
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:5342
struct ID3D12DescriptorHeapVtbl ID3D12DescriptorHeapVtbl
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:1467
Definition: d3d12.h:6612
_Out_ BOOL StandardSwizzle64KBSupported
Definition: d3d12.h:1936
Definition: d3d12.h:3520
D3D12_SHADER_CACHE_SUPPORT_FLAGS
Definition: d3d12.h:2036
D3D12_COMMAND_QUEUE_FLAGS Flags
Definition: d3d12.h:1045
_In_ ID3D12Resource * pTiledResource
Definition: d3d12.h:8870
Definition: d3d12.h:1203
DXGI_FORMAT DSVFormat
Definition: d3d12.h:1717
UINT FirstSubresource
Definition: d3d12.h:3432
Definition: d3d12.h:3027
_In_ const D3D12_QUERY_HEAP_DESC REFIID riid
Definition: d3d12.h:8853
struct D3D12_TEX1D_ARRAY_DSV D3D12_TEX1D_ARRAY_DSV
D3D12_CONSERVATIVE_RASTERIZATION_TIER
Definition: d3d12.h:1820
Definition: d3d12.h:1807
D3D12_RESOURCE_ALIASING_BARRIER Aliasing
Definition: d3d12.h:2381
T Max(const T a, const T b)
Definition: Common.h:207
_In_ ID3D12Resource _In_ ID3D12Resource * pSrcResource
Definition: d3d12.h:6044
UINT8 StencilWriteMask
Definition: d3d12.h:1176
D3D12_SHADER_BYTECODE GS
Definition: d3d12.h:1706
D3D12_TEX2DMS_DSV Texture2DMS
Definition: d3d12.h:2954
UINT MostDetailedMip
Definition: d3d12.h:2494
Definition: d3d12.h:2746
D3D12_FEATURE Feature
Definition: d3d12.h:8680
UINT ShaderRegister
Definition: d3d12.h:3036
Definition: d3d12.h:2360
struct D3D12_SHADER_BYTECODE D3D12_SHADER_BYTECODE
ID3D10Blob ID3DBlob
Definition: d3dcommon.h:448
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pTileRegionStartCoordinate
Definition: d3d12.h:6049
UINT FirstArraySlice
Definition: d3d12.h:2520
struct D3D12_BLEND_DESC D3D12_BLEND_DESC
UINT WidthInTiles
Definition: d3d12.h:2270
Definition: d3d12.h:1169
D3D12_MEMORY_POOL MemoryPoolPreference
Definition: d3d12.h:2122
_In_z_ LPCWSTR Name
Definition: d3d12.h:8270
UINT ArraySize
Definition: d3d12.h:2896
Definition: d3d12.h:5336
struct D3D12_TEX1D_ARRAY_UAV D3D12_TEX1D_ARRAY_UAV
UINT NumObjects
Definition: d3d12.h:7965
Definition: d3d12.h:1249
Definition: d3d12.h:2066
Definition: d3d12.h:3496
D3D12_RESOURCE_BARRIER_TYPE Type
Definition: d3d12.h:2376
Definition: d3d12.h:2995
UINT64 D3D12_FENCE_FLAGS REFIID riid
Definition: d3d12.h:9321
_Out_ D3D12_VIEW_INSTANCING_TIER ViewInstancingTier
Definition: d3d12.h:2077
Definition: d3d12.h:2140
Definition: d3d12.h:2097
Definition: d3d12.h:1135
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(ID3D12DeviceChild *This
_In_ const D3D12_COMMAND_QUEUE_DESC * pDesc
Definition: d3d12.h:7790
D3D12_TEXCUBE_SRV TextureCube
Definition: d3d12.h:2591
UINT top
Definition: d3d12.h:1121
D3D12_SHADER_BYTECODE VS
Definition: d3d12.h:1702
Definition: d3d12.h:2571
struct D3D12_DEPTH_STENCIL_DESC1 D3D12_DEPTH_STENCIL_DESC1
Definition: d3d12.h:2596
D3D12_FILTER_TYPE
Definition: d3d12.h:2643
_In_ const D3D12_HEAP_DESC REFIID riid
Definition: d3d12.h:9266
Definition: d3d12.h:2283
EXTERN_C const IID IID_ID3D12Tools
Definition: d3d12.h:10133
Definition: d3d12.h:1989
D3D12_ROOT_CONSTANTS Constants
Definition: d3d12.h:3171
Definition: d3d12.h:1106
UINT UnusedField_NothingToDefine
Definition: d3d12.h:2913
HRESULT(WINAPI * PFN_D3D12_CREATE_DEVICE)(_In_opt_ IUnknown *, D3D_FEATURE_LEVEL, _In_ REFIID, _COM_Outptr_opt_ void **)
Definition: d3d12.h:10255
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:9645
Definition: d3d12.h:9576
UINT MipLevels
Definition: d3d12.h:2543
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_opt_ UINT64 * pTotalBytes
Definition: d3d12.h:9865
D3D12_TILED_RESOURCES_TIER
Definition: d3d12.h:1803
Definition: d3d12.h:4742
_In_ ID3D12Resource UINT64 DstOffset
Definition: d3d12.h:5415
_Out_ D3D12_RESOURCE_BINDING_TIER ResourceBindingTier
Definition: d3d12.h:1930
UINT UnusedField_NothingToDefine
Definition: d3d12.h:2551
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
_In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:9675
_In_ ID3D12Resource * pDstResource
Definition: d3d12.h:5432
Definition: d3d12.h:3447
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition: d3d12.h:3109
_In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:8665
UINT RegisterSpace
Definition: d3d12.h:3161
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:7331
Definition: d3d12.h:2916
_In_ UINT D3D12_HEAP_TYPE heapType
Definition: d3d12.h:7905
D3D12_DEPTH_WRITE_MASK DepthWriteMask
Definition: d3d12.h:1184
EXTERN_C const IID IID_ID3D12Pageable
Definition: d3d12.h:3606
interface ID3D12Tools ID3D12Tools
Definition: d3d12.h:230
struct D3D12_TEX1D_DSV D3D12_TEX1D_DSV
_In_ ID3D12Resource _In_ UINT DstSubresource
Definition: d3d12.h:5446
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_c_ifspec
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:8612
D3D12_TEX2D_ARRAY_RTV Texture2DArray
Definition: d3d12.h:2880
D3D12_RESIDENCY_FLAGS UINT NumObjects
Definition: d3d12.h:9938
UINT ArraySize
Definition: d3d12.h:2919
D3D12_TEX2D_ARRAY_UAV Texture2DArray
Definition: d3d12.h:2801
Definition: d3d12.h:2479
Definition: d3d12.h:2784
Definition: d3d12.h:2062
Definition: lobject.h:100
D3D12_MEMORY_POOL
Definition: d3d12.h:2110
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:8425
D3D12_BLEND_OP BlendOp
Definition: d3d12.h:1263
FLOAT TopLeftY
Definition: d3d12.h:1109
_In_ const D3D12_SAMPLER_DESC * pDesc
Definition: d3d12.h:9750
BOOL Enable
Definition: d3d12.h:9348
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_s_ifspec
Definition: d3d12.h:2567
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:8253
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:8635
unsigned int BOOL
Definition: gctypes.h:51
Definition: d3d12.h:1858
SIZE_T REFIID riid
Definition: d3d12.h:9900
Definition: d3d12.h:2168
D3D12_RASTERIZER_DESC RasterizerState
Definition: d3d12.h:1710
struct D3D12_SUBRESOURCE_DATA D3D12_SUBRESOURCE_DATA
D3D12_VIEW_INSTANCING_FLAGS
Definition: d3d12.h:2440
_In_ UINT _In_ UINT NumSrcDescriptorRanges
Definition: d3d12.h:7885
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:4496
interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer
Definition: d3d12.h:69
_In_z_ LPCWSTR Name
Definition: d3d12.h:4776
Definition: d3d12.h:1245
Definition: d3d12.h:2830
Definition: d3d12.h:2492
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:9114
Definition: d3d12.h:1784
REFIID riid
Definition: d3d12.h:3657
Definition: d3d12.h:2939
Definition: d3d12.h:2201
_In_z_ LPCWSTR Name
Definition: d3d12.h:9656
UINT NumElements
Definition: d3d12.h:2487
_In_ UINT NumDestDescriptorRanges
Definition: d3d12.h:9228
Definition: d3d12.h:1685
UINT NumFences
Definition: d3d12.h:8892
D3D12_TILE_MAPPING_FLAGS
Definition: d3d12.h:2291
uint32_t UINT32
Definition: coretypes.h:10
interface ID3D12RootSignature ID3D12RootSignature
Definition: d3d12.h:62
interface ID3D12Device1 ID3D12Device1
Definition: d3d12.h:209
_In_ const D3D12_RESOURCE_DESC * pResourceDesc
Definition: d3d12.h:8842
Definition: d3d12.h:10151
D3D12_STREAM_OUTPUT_DESC StreamOutput
Definition: d3d12.h:1707
_Out_ BOOL ExpandedComputeResourceStates
Definition: d3d12.h:1949
D3D12_TEX3D_SRV Texture3D
Definition: d3d12.h:2590
UINT PlaneSlice
Definition: d3d12.h:2761
UINT ViewInstanceCount
Definition: d3d12.h:2450
struct D3D12_FEATURE_DATA_D3D12_OPTIONS1 D3D12_FEATURE_DATA_D3D12_OPTIONS1
Definition: d3d12.h:1963
Definition: d3d12.h:3158
HRESULT(WINAPI * PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(_In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pRootSignature, _Out_ ID3DBlob **ppBlob, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob)
Definition: d3d12.h:3394
Definition: d3d12.h:2936
_In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID riid
Definition: d3d12.h:9879
UINT Depth
Definition: d3d12.h:2391
struct D3D12_RESOURCE_UAV_BARRIER D3D12_RESOURCE_UAV_BARRIER
Definition: d3d12.h:2295
UINT MipSlice
Definition: d3d12.h:2760
_In_z_ LPCWSTR Name
Definition: d3d12.h:5004
UINT SemanticIndex
Definition: d3d12.h:1069
Definition: d3d12.h:2812
Definition: d3d12.h:3056
UINT NodeMask
Definition: d3d12.h:3451
Definition: d3d12.h:2434
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:3648
_Out_ BOOL DoublePrecisionFloatShaderOps
Definition: d3d12.h:1926
HRESULT WINAPI D3D12SerializeVersionedRootSignature(_In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pRootSignature, _Out_ ID3DBlob **ppBlob, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob)
D3D12_TEX2DMS_RTV Texture2DMS
Definition: d3d12.h:2881
struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT D3D12_PLACED_SUBRESOURCE_FOOTPRINT
Definition: d3d12.h:2118
Definition: d3d12.h:2782
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:9639
struct D3D12_FEATURE_DATA_D3D12_OPTIONS2 D3D12_FEATURE_DATA_D3D12_OPTIONS2
EXTERN_C const IID IID_ID3D12Device3
Definition: d3d12.h:9592
struct D3D12_INPUT_ELEMENT_DESC D3D12_INPUT_ELEMENT_DESC
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT SrcSubresource
Definition: d3d12.h:5446
Definition: d3d12.h:1656
_In_ const D3D12_COMMAND_QUEUE_DESC REFIID riid
Definition: d3d12.h:9663
_In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID riid
Definition: d3d12.h:8686
UINT8 StencilWriteMask
Definition: d3d12.h:1188
Definition: d3d12.h:8606
Definition: d3d12.h:1920
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:3916
UINT Width
Definition: d3d12.h:2254
_In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID riid
Definition: d3d12.h:9175
UINT StrideInBytes
Definition: d3d12.h:3531
_COM_Outptr_ ID3DBlob ** ppBlob
Definition: d3d12.h:4516
Definition: d3d12.h:3112
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: d3d12.h:1456
UINT InstanceCount
Definition: d3d12.h:3514
struct ID3D12DeviceChildVtbl ID3D12DeviceChildVtbl
struct ID3D12Device3Vtbl ID3D12Device3Vtbl
D3D12_BLEND SrcBlend
Definition: d3d12.h:1261
UINT HeightInTexels
Definition: d3d12.h:2279
D3D_PRIMITIVE_TOPOLOGY
Definition: d3dcommon.h:108
_In_z_ LPCWSTR Name
Definition: d3d12.h:3767
D3D12_DEPTH_STENCILOP_DESC BackFace
Definition: d3d12.h:1190
Definition: d3d12.h:2791
Definition: d3d12.h:2408
D3D12_SHADER_MIN_PRECISION_SUPPORT
Definition: d3d12.h:1794
EXTERN_C const IID IID_ID3D12PipelineLibrary1
Definition: d3d12.h:8377
Definition: d3d12.h:2072
_In_ UINT SampleCount
Definition: d3d12.h:2019
UINT64 SizeInBytes
Definition: d3d12.h:2148
_In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: d3d12.h:9809
Definition: d3d12.h:1344
D3D12_ROOT_SIGNATURE_DESC Desc_1_0
Definition: d3d12.h:3191
D3D12_FILL_MODE
Definition: d3d12.h:1077
Definition: d3d12.h:7749
_Out_ UINT MaxGPUVirtualAddressBitsPerResource
Definition: d3d12.h:1935
D3D12_COMPARISON_FUNC DepthFunc
Definition: d3d12.h:1173
struct D3D12_FEATURE_DATA_SHADER_MODEL D3D12_FEATURE_DATA_SHADER_MODEL
Definition: d3d12.h:3534
DXGI_FORMAT Format
Definition: d3d12.h:2578
UINT ArraySize
Definition: d3d12.h:2557
Definition: d3d12.h:3061
_In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riidResource
Definition: d3d12.h:8767
struct D3D12_ROOT_PARAMETER D3D12_ROOT_PARAMETER
_In_opt_ ID3D12Resource * pResource
Definition: d3d12.h:9198
UINT OffsetInDescriptorsFromTableStart
Definition: d3d12.h:3018
Definition: d3d12.h:3009
D3D12_BLEND SrcBlendAlpha
Definition: d3d12.h:1264
Definition: d3d12.h:2342
Definition: d3d12.h:2137
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC * pDesc
Definition: d3d12.h:9211
Definition: d3d12.h:2758
struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_s_ifspec
D3D12_PIPELINE_STATE_FLAGS Flags
Definition: d3d12.h:1721
Definition: glslang_tab.cpp:135
Definition: d3d12.h:1257
Definition: d3d12.h:2605
D3D12_CACHED_PIPELINE_STATE CachedPSO
Definition: d3d12.h:1720
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:6635
Definition: d3d12.h:2098
Definition: d3d12.h:6568
UINT MipSlice
Definition: d3d12.h:2748
_In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_ LPCWSTR DWORD _Out_ HANDLE * pNTHandle
Definition: d3d12.h:8815
EXTERN_C const IID IID_ID3D12CommandQueue
Definition: d3d12.h:7246
struct ID3D12PipelineLibraryVtbl ID3D12PipelineLibraryVtbl
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:3906
UINT MipSlice
Definition: d3d12.h:2819
Definition: d3d12.h:3511
D3D12_DSV_FLAGS Flags
Definition: d3d12.h:2947
D3D12_FILTER
Definition: d3d12.h:2602
_In_ const D3D12_SAMPLER_DESC * pDesc
Definition: d3d12.h:9223
Definition: d3d12.h:3021
interface ID3D12Fence1 ID3D12Fence1
Definition: d3d12.h:118
D3D12_ROOT_DESCRIPTOR1 Descriptor
Definition: d3d12.h:3172
D3D12_DSV_FLAGS
Definition: d3d12.h:2922
Definition: d3d12.h:1247
Definition: d3d12.h:2646
EXTERN_C const IID IID_ID3D12Device2
Definition: d3d12.h:9077
D3D12_RESOLVE_MODE
Definition: d3d12.h:2419
BYTE StartComponent
Definition: d3d12.h:1101
Format
Definition: vulkan.hpp:7957
D3D12_RESOURCE_BARRIER_FLAGS
Definition: d3d12.h:2365
D3D12_FEATURE Feature
Definition: d3d12.h:9169
UINT64 Value
Definition: d3d12.h:4375
struct D3D12_SAMPLE_POSITION D3D12_SAMPLE_POSITION
D3D12_FEATURE Feature
Definition: d3d12.h:9696
UINT NumElements
Definition: d3d12.h:2809
D3D12_SRV_DIMENSION
Definition: d3d12.h:2560
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_opt_ UINT64 * pTotalBytes
Definition: d3d12.h:8849
UINT RasterizedStream
Definition: d3d12.h:1668
Definition: glslang_tab.cpp:136
_In_ UINT visibleMask
Definition: d3d12.h:7899
Definition: d3d12.h:2631
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:8623
SIZE_T RowPitch
Definition: d3d12.h:10226
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:8625
EXTERN_C const IID IID_ID3D12DeviceChild
Definition: d3d12.h:1433
struct D3D12_DESCRIPTOR_RANGE1 D3D12_DESCRIPTOR_RANGE1
D3D12_FEATURE
Definition: d3d12.h:1773
D3D12_INPUT_CLASSIFICATION InputSlotClass
Definition: d3d12.h:1073
Definition: d3d12.h:1785
D3D12_VIEW_INSTANCING_FLAGS Flags
Definition: d3d12.h:2452
_In_ const D3D12_RESOURCE_DESC * pResourceDesc
Definition: d3d12.h:9331
struct D3D12_RANGE D3D12_RANGE
D3D12_PREDICATION_OP
Definition: d3d12.h:3468
Definition: d3d12.h:2710
Definition: d3d12.h:1869
uint16_t UINT16
Definition: coretypes.h:11
D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint
Definition: d3d12.h:2414
Definition: d3d12.h:3044
Definition: d3d12.h:2533
struct D3D12_TEX3D_SRV D3D12_TEX3D_SRV
Definition: d3d12.h:2229
struct D3D12_ROOT_CONSTANTS D3D12_ROOT_CONSTANTS
Definition: d3d12.h:1924
Definition: d3d12.h:1230
UINT FirstArraySlice
Definition: d3d12.h:2895
D3D12_TEX1D_DSV Texture1D
Definition: d3d12.h:2950
Definition: d3d12.h:2423
D3D12_RESOURCE_UAV_BARRIER UAV
Definition: d3d12.h:2382
Definition: d3d12.h:1209
Definition: d3d12.h:1132
_In_ UINT _In_ UINT _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
Definition: d3d12.h:9234
D3D12_INPUT_LAYOUT_DESC InputLayout
Definition: d3d12.h:1712
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:5965
Definition: d3d12.h:3887
Definition: d3d12.h:1037
FLOAT ResourceMinLODClamp
Definition: d3d12.h:2505
D3D_SHADER_MODEL
Definition: d3d12.h:1996
_Out_ UINT TotalLaneCount
Definition: d3d12.h:1948
Definition: d3d12.h:1202
Definition: d3d12.h:1222
D3D12_WRITEBUFFERIMMEDIATE_MODE
Definition: d3d12.h:6574
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:4872
REFIID riid
Definition: d3d12.h:3925
Definition: d3d12.h:2709
struct D3D12_CLEAR_VALUE D3D12_CLEAR_VALUE
Definition: d3d12.h:1836
_In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID riid
Definition: d3d12.h:7829
Definition: d3d12.h:1848
EXTERN_C const IID IID_ID3D12GraphicsCommandList1
Definition: d3d12.h:5894
HRESULT WINAPI D3D12EnableExperimentalFeatures(UINT NumFeatures, __in_ecount(NumFeatures) const IID *pIIDs, __in_ecount_opt(NumFeatures) void *pConfigurationStructs, __in_ecount_opt(NumFeatures) UINT *pConfigurationStructSizes)
_In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: d3d12.h:9282
Definition: d3d12.h:2843
DXGI_FORMAT Format
Definition: d3d12.h:2793
Definition: d3d12.h:2508
interface ID3D12GraphicsCommandList2 ID3D12GraphicsCommandList2
Definition: d3d12.h:174
_In_ UINT _In_ D3D12_COMMAND_LIST_TYPE type
Definition: d3d12.h:7814
struct D3D12_VERTEX_BUFFER_VIEW D3D12_VERTEX_BUFFER_VIEW
D3D12_DEPTH_STENCILOP_DESC FrontFace
Definition: d3d12.h:1177
UINT NumStaticSamplers
Definition: d3d12.h:3181
Definition: d3d12.h:2940
REFIID riid
Definition: d3d12.h:7350
REFIID riid
Definition: d3d12.h:5986
Definition: d3d12.h:1724
PrimitiveTopology
Definition: vulkan.hpp:7559
_In_ UINT NodeIndex
Definition: d3d12.h:1982
UINT8 StencilReadMask
Definition: d3d12.h:1175
Definition: d3d12.h:10223
_In_ UINT NumDestDescriptorRanges
Definition: d3d12.h:9755
Definition: d3d12.h:1056
_In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType
Definition: d3d12.h:9181
Definition: d3d12.h:3585
Definition: d3d12.h:1840
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:5971
D3D12_DSV_DIMENSION ViewDimension
Definition: d3d12.h:2946
REFIID riid
Definition: d3d12.h:4103
UINT16 HeightInTiles
Definition: d3d12.h:2271
D3D_ROOT_SIGNATURE_VERSION _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC ** ppDesc
Definition: d3d12.h:3321
_In_z_ LPCWSTR Name
Definition: d3d12.h:1484
Definition: d3d12.h:2653
Definition: d3d12.h:8547
UINT SizeInBytes
Definition: d3d12.h:3537
interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1
Definition: d3d12.h:167
struct D3D12_GPU_DESCRIPTOR_HANDLE D3D12_GPU_DESCRIPTOR_HANDLE
_In_ D3D_ROOT_SIGNATURE_VERSION _Out_ ID3DBlob _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob)
Definition: d3d12.h:3374
DXGI_FORMAT Format
Definition: d3d12.h:2945
interface ID3D12Device3 ID3D12Device3
Definition: d3d12.h:223
_In_ ID3D12Resource * pDstResource
Definition: d3d12.h:6708
Definition: d3d12.h:2133
UINT MipSlice
Definition: d3d12.h:2837
D3D12_TEXTURE_ADDRESS_MODE AddressV
Definition: d3d12.h:3099
struct D3D12_COMMAND_SIGNATURE_DESC D3D12_COMMAND_SIGNATURE_DESC
UINT MipSlice
Definition: d3d12.h:2906
Definition: d3d12.h:2824
D3D12_TEX1D_RTV Texture1D
Definition: d3d12.h:2877
Definition: d3d12.h:3008
Definition: d3d12.h:2484
_Out_ UINT WaveLaneCountMin
Definition: d3d12.h:1946
struct D3D12_TEX2DMS_ARRAY_DSV D3D12_TEX2DMS_ARRAY_DSV
UINT RowPitch
Definition: d3d12.h:2238
UINT First2DArrayFace
Definition: d3d12.h:2544
Definition: d3d12.h:2973
UINT SampleMask
Definition: d3d12.h:1709
Definition: d3d12.h:2187
EXTERN_C const IID IID_ID3D12Fence1
Definition: d3d12.h:4314
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT DstY
Definition: d3d12.h:5423
Definition: d3d12.h:1246
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: d3d12.h:3536
UINT NumSubresources
Definition: d3d12.h:3433
SIZE_T REFIID riid
Definition: d3d12.h:8884
Definition: d3d12.h:1671
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pTileRegionStartCoordinate
Definition: d3d12.h:6713
HRESULT WINAPI D3D12CreateDevice(_In_opt_ IUnknown *pAdapter, D3D_FEATURE_LEVEL MinimumFeatureLevel, _In_ REFIID riid, _COM_Outptr_opt_ void **ppDevice)
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:3229
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:7772
D3D12_PIPELINE_STATE_FLAGS Flags
Definition: d3d12.h:1730
struct ID3D12CommandQueueVtbl ID3D12CommandQueueVtbl
BOOL IndependentBlendEnable
Definition: d3d12.h:1274
Definition: d3d12.h:9622
struct D3D12_TEX1D_UAV D3D12_TEX1D_UAV
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:1567
_Out_ BOOL OutputMergerLogicOp
Definition: d3d12.h:1927
_In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID riid
Definition: d3d12.h:9702
UINT NumDescriptorRanges
Definition: d3d12.h:3023
Definition: d3d12.h:2326
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:4884
Definition: d3d12.h:3142
UINT NumObjects
Definition: d3d12.h:9311
Type
Type of JSON value.
Definition: rapidjson.h:603
D3D12_QUERY_HEAP_TYPE
Definition: d3d12.h:3436
Definition: d3d12.h:1156
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(ID3D12Object *This
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource * pSrcBuffer
Definition: d3d12.h:5415
UINT RegisterSpace
Definition: d3d12.h:3137
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart
Definition: d3d12.h:9765
UINT64 CSInvocations
Definition: d3d12.h:3487
struct ID3D12PipelineLibrary1Vtbl ID3D12PipelineLibrary1Vtbl
struct D3D12_SHADER_RESOURCE_VIEW_DESC D3D12_SHADER_RESOURCE_VIEW_DESC
_In_ HANDLE REFIID riid
Definition: d3d12.h:8809
Definition: d3d12.h:8559
UINT32 Value
Definition: d3d12.h:6571
Definition: d3d12.h:2612
Definition: d3d12.h:2806
D3D12_TEXTURE_LAYOUT Layout
Definition: d3d12.h:2197
_In_opt_ ID3D12PipelineState * pPipelineState
Definition: d3d12.h:5390
_Out_ BOOL WaveOps
Definition: d3d12.h:1945
_In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
Definition: d3d12.h:5385
Definition: d3d12.h:3058
Definition: d3d12.h:3460
_In_ UINT NumFeatureLevels
Definition: d3d12.h:1991
Definition: d3d12.h:2480
UINT NumElements
Definition: d3d12.h:2740
Definition: d3d12.h:2428
_In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:7808
INT BaseVertexLocation
Definition: d3d12.h:3516
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_opt_ UINT64 * pTotalBytes
Definition: d3d12.h:7992
Definition: d3d12.h:2086
Definition: d3d12.h:1837
REFIID riid
Definition: d3d12.h:4511
Definition: d3d12.h:2425
Definition: d3d12.h:1561
D3D12_TILE_RANGE_FLAGS
Definition: d3d12.h:2259
_In_ ID3D12Resource * pTiledResource
Definition: d3d12.h:9359
struct D3D12_TEX2D_SRV D3D12_TEX2D_SRV
D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS
Definition: d3d12.h:1883
_In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riidResource
Definition: d3d12.h:7910
D3D12_DEPTH_STENCIL_VALUE DepthStencil
Definition: d3d12.h:2213
Definition: d3d12.h:8396
LPCSTR SemanticName
Definition: d3d12.h:1068
D3D12_RESOURCE_DIMENSION
Definition: d3d12.h:2154
_In_ const D3D12_HEAP_DESC REFIID riid
Definition: d3d12.h:9793
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart
Definition: d3d12.h:8749
Definition: d3d12.h:2107
Definition: d3d12.h:3095
_In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: d3d12.h:9272
Definition: d3d12.h:2315
Definition: d3d12.h:1254
D3D12_ROOT_PARAMETER_TYPE ParameterType
Definition: d3d12.h:3063
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:5365
D3D12_BUFFER_SRV_FLAGS Flags
Definition: d3d12.h:2489
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap * pHeap
Definition: d3d12.h:7359
UINT Y
Definition: d3d12.h:2245
D3D12_COLOR_WRITE_ENABLE
Definition: d3d12.h:1226
_In_ LPCWSTR DWORD _Out_ HANDLE * pNTHandle
Definition: d3d12.h:7958
BOOL StencilEnable
Definition: d3d12.h:1186
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:4335
_In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
UINT64 DSInvocations
Definition: d3d12.h:3486
D3D12_TEX1D_SRV Texture1D
Definition: d3d12.h:2584
D3D12_COMMAND_LIST_SUPPORT_FLAGS
Definition: d3d12.h:2059
UINT Subresource
Definition: d3d12.h:2231
struct D3D12_ROOT_DESCRIPTOR_TABLE D3D12_ROOT_DESCRIPTOR_TABLE
Definition: d3d12.h:2927
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:4618
_In_ D3D12_COMMAND_LIST_TYPE type
Definition: d3d12.h:9142
struct D3D12_VIEWPORT D3D12_VIEWPORT
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:5353
UINT BaseShaderRegister
Definition: d3d12.h:3136
D3D12_BLEND
Definition: d3d12.h:1194
D3D12_TEX1D_ARRAY_UAV Texture1DArray
Definition: d3d12.h:2799
BYTE ComponentCount
Definition: d3d12.h:1102
UINT MaxGPUVirtualAddressBitsPerProcess
Definition: d3d12.h:2033
struct ID3D12RootSignatureDeserializerVtbl ID3D12RootSignatureDeserializerVtbl
struct D3D12_TEX2D_ARRAY_UAV D3D12_TEX2D_ARRAY_UAV
UINT64 D3D12_FENCE_FLAGS REFIID riid
Definition: d3d12.h:9848
_In_ const D3D12_RESOURCE_DESC UINT64 BaseOffset
Definition: d3d12.h:8845
BYTE OutputSlot
Definition: d3d12.h:1103
_In_ ID3D12Resource _In_ ID3D12Resource * pSrcResource
Definition: d3d12.h:6708
FLOAT ResourceMinLODClamp
Definition: d3d12.h:2530
interface ID3D12PipelineState ID3D12PipelineState
Definition: d3d12.h:125
UINT MaxGPUVirtualAddressBitsPerResource
Definition: d3d12.h:2032
Definition: d3d12.h:2039
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:7318
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT SrcSubresource
Definition: d3d12.h:6058
UINT RowPitch
Definition: d3d12.h:2392
_In_ const D3D12_SAMPLER_DESC * pDesc
Definition: d3d12.h:8734
_Out_ D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier
Definition: d3d12.h:1956
Definition: d3d12.h:1252
Definition: d3d12.h:2302
D3D12_HEAP_TYPE
Definition: d3d12.h:2092
D3D12_BUFFER_UAV_FLAGS
Definition: d3d12.h:2729
_In_z_ LPCWSTR Name
Definition: d3d12.h:5982
UINT NumElements
Definition: d3d12.h:1674
UINT MostDetailedMip
Definition: d3d12.h:2528
UINT16 Depth
Definition: d3d12.h:2256
FLOAT ResourceMinLODClamp
Definition: d3d12.h:2537
ID3D12Resource * pResource
Definition: d3d12.h:2410
UINT MostDetailedMip
Definition: d3d12.h:2518
_Out_ BOOL CacheCoherentUMA
Definition: d3d12.h:1977
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource * pSrcResource
Definition: d3d12.h:7368
_In_ UINT _In_ D3D12_COMMAND_LIST_TYPE type
Definition: d3d12.h:8671
Definition: d3d12.h:1964
Definition: d3d12.h:1861
UINT bottom
Definition: d3d12.h:1124
struct D3D12_INDEX_BUFFER_VIEW D3D12_INDEX_BUFFER_VIEW
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:5355
struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS
D3D12_RESOURCE_STATES StateBefore
Definition: d3d12.h:2350
struct D3D12_TEX2DMS_SRV D3D12_TEX2DMS_SRV
D3D12_FEATURE UINT FeatureSupportDataSize
Definition: d3d12.h:8682
UINT64 D3D12_GPU_VIRTUAL_ADDRESS
Definition: d3d12.h:1012
UINT MipSlice
Definition: d3d12.h:2814
Definition: d3d12.h:1783
D3D12_TEX2D_RTV Texture2D
Definition: d3d12.h:2879
Definition: d3d12.h:1154
_In_ REFGUID _Inout_ UINT * pDataSize
Definition: d3d12.h:4616
D3D12_STATIC_BORDER_COLOR
Definition: d3d12.h:3087
UINT RegisterSpace
Definition: d3d12.h:3030
Definition: d3d12.h:2962
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:4628
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:1456
UINT Subresource
Definition: d3d12.h:2349
_Out_ D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier
Definition: d3d12.h:1934
Definition: d3d12.h:2176
UINT FirstArraySlice
Definition: d3d12.h:2918
UINT FirstWSlice
Definition: d3d12.h:2775
Definition: d3d12.h:1211
Definition: d3d12.h:2572
UINT NumCubes
Definition: d3d12.h:2545
RECT D3D12_RECT
Definition: d3d12.h:1116
_In_ UINT visibleMask
Definition: d3d12.h:9772
_In_z_ LPCWSTR Name
Definition: d3d12.h:1378
D3D12_INDIRECT_ARGUMENT_TYPE Type
Definition: d3d12.h:3557
UINT ArraySize
Definition: d3d12.h:2768
Definition: d3d12.h:1205
struct D3D12_SO_DECLARATION_ENTRY D3D12_SO_DECLARATION_ENTRY
Definition: d3d12.h:2264
INT Priority
Definition: d3d12.h:1044
RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_c_ifspec
Definition: d3d12.h:1021
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:9651
UINT RootParameterIndex
Definition: d3d12.h:3566
_Out_ D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier
Definition: d3d12.h:1937
EXTERN_C const IID IID_ID3D12Device1
Definition: d3d12.h:8575
UINT64 ptr
Definition: d3d12.h:3423
Definition: d3d12.h:2870
UINT NumArgumentDescs
Definition: d3d12.h:3588
_In_opt_ LPCWSTR pName
Definition: d3d12.h:8279
Definition: d3d12.h:2526
Definition: d3d12.h:2223
UINT VisibleNodeMask
Definition: d3d12.h:2124
#define D3D12_REQ_SUBRESOURCES
Definition: d3d12.h:852
Definition: d3d12.h:1738
Definition: d3d12.h:1868
Definition: d3d12.h:2096
Definition: d3d12.h:3733
struct D3D12_BOX D3D12_BOX
_In_z_ LPCWSTR Name
Definition: d3d12.h:4227
Definition: d3d12.h:3186
D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray
Definition: d3d12.h:2589
struct D3D12_DESCRIPTOR_RANGE D3D12_DESCRIPTOR_RANGE
D3D12_BUFFER_SRV Buffer
Definition: d3d12.h:2583
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition: d3d12.h:3174
FLOAT ResourceMinLODClamp
Definition: d3d12.h:2496
Definition: d3d12.h:2783
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:4761
Definition: d3d12.h:2158
FLOAT MaxLOD
Definition: d3d12.h:3106
_In_ UINT _In_ UINT _In_ UINT _In_ INT _In_ UINT StartInstanceLocation
Definition: d3d12.h:6013
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:4094
Definition: d3d12.h:2984
Definition: d3d12.h:2835
_Out_ D3D12_TILED_RESOURCES_TIER TiledResourcesTier
Definition: d3d12.h:1929
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:5954
Definition: d3d12.h:2499
Definition: d3d12.h:2207
FLOAT MaxLOD
Definition: d3d12.h:2726
struct D3D12_FEATURE_DATA_FORMAT_SUPPORT D3D12_FEATURE_DATA_FORMAT_SUPPORT
Definition: d3d12.h:1695
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: d3d12.h:2598
_Out_ BOOL CrossAdapterRowMajorTextureSupported
Definition: d3d12.h:1938
Definition: d3d12.h:1699
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC * pDesc
Definition: d3d12.h:7858
interface ID3D12DescriptorHeap ID3D12DescriptorHeap
Definition: d3d12.h:132
SIZE_T(STDMETHODCALLTYPE *GetSerializedSize)(ID3D12PipelineLibrary1 *This)
Definition: d3d12.h:10216
UINT Height
Definition: d3d12.h:2390
D3D12_ROOT_DESCRIPTOR_FLAGS Flags
Definition: d3d12.h:3162
UINT NumTilesForPackedMips
Definition: d3d12.h:2287
Definition: d3d12.h:3165
ID3D12Resource * pResourceBefore
Definition: d3d12.h:2356
struct D3D12_FEATURE_DATA_SHADER_CACHE D3D12_FEATURE_DATA_SHADER_CACHE
_In_ REFGUID _In_opt_ const IUnknown * pData
Definition: d3d12.h:4999
_Out_ BOOL TileBasedRenderer
Definition: d3d12.h:1975
UINT MipLevels
Definition: d3d12.h:2519
_In_ UINT visibleMask
Definition: d3d12.h:8756
Definition: d3d12.h:1833
struct D3D12_FEATURE_DATA_D3D12_OPTIONS3 D3D12_FEATURE_DATA_D3D12_OPTIONS3
struct D3D12_TEXTURE_COPY_LOCATION D3D12_TEXTURE_COPY_LOCATION
BlendFactor
Definition: vulkan.hpp:7662
UINT64 Width
Definition: d3d12.h:2191
REFIID riid
Definition: d3d12.h:5008
Definition: d3d12.h:2001
D3D12_FILTER_REDUCTION_TYPE
Definition: d3d12.h:2650
_In_ D3D12_COMMAND_LIST_TYPE type
Definition: d3d12.h:9669
D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray
Definition: d3d12.h:2882
_Out_ BOOL CacheCoherentUMA
Definition: d3d12.h:1985
D3D12_MULTIPLE_FENCE_WAIT_FLAGS
Definition: d3d12.h:8544
D3D12_TILE_COPY_FLAGS
Definition: d3d12.h:2299
UINT Metadata
Definition: d3d12.h:6933
Definition: d3d12.h:2566
BOOL AlphaToCoverageEnable
Definition: d3d12.h:1273
_In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: d3d12.h:1580
_In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID riid
Definition: d3d12.h:7802
D3D12_STATIC_BORDER_COLOR BorderColor
Definition: d3d12.h:3104
UINT8 NumPackedMips
Definition: d3d12.h:2286
BorderColor
Definition: vulkan.hpp:7538
UINT ArraySize
Definition: d3d12.h:2755
struct D3D12_DRAW_ARGUMENTS D3D12_DRAW_ARGUMENTS
T Min(const T a, const T b)
Definition: Common.h:206
ID3D12RootSignature * pRootSignature
Definition: d3d12.h:1726
struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT
Definition: d3d12.h:2862
_In_ UINT VertexCountPerInstance
Definition: d3d12.h:5394
Definition: d3d12.h:1201
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC * pDesc
Definition: d3d12.h:9738
const void * pData
Definition: d3d12.h:10218
D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray
Definition: d3d12.h:2592
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:4748
Definition: d3d12.h:1897
_In_ ID3D12Resource * pTiledResource
Definition: d3d12.h:8013
FLOAT MipLODBias
Definition: d3d12.h:3101
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT _In_ UINT _Out_writes_ pNumSubresourceTilings D3D12_SUBRESOURCE_TILING * pSubresourceTilingsForNonPackedMips
Definition: d3d12.h:8019
Definition: d3d12.h:3472
BEGIN_INTERFACE REFIID riid
Definition: d3d12.h:3739
_In_ REFGUID _In_ UINT DataSize
Definition: d3d12.h:4993
_In_ UINT _In_ SIZE_T REFIID riid
Definition: d3d12.h:9187
struct D3D12_PACKED_MIP_INFO D3D12_PACKED_MIP_INFO
Definition: d3d12.h:1248
Definition: d3d12.h:1875
Definition: d3d12.h:1921
UINT16 DepthInTiles
Definition: d3d12.h:2272
struct D3D12_STREAM_OUTPUT_BUFFER_VIEW D3D12_STREAM_OUTPUT_BUFFER_VIEW
uint8_t UINT8
Definition: coretypes.h:12
D3D12_BLEND_OP
Definition: d3d12.h:1216
struct D3D12_BUFFER_UAV D3D12_BUFFER_UAV
UINT front
Definition: d3d12.h:1122