summaryrefslogtreecommitdiff
path: root/contrib/SDL-3.2.8/src/video/directx
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/SDL-3.2.8/src/video/directx')
-rw-r--r--contrib/SDL-3.2.8/src/video/directx/SDL_d3d12.h103
-rw-r--r--contrib/SDL-3.2.8/src/video/directx/SDL_d3d12_xbox_cmacros.h4761
-rw-r--r--contrib/SDL-3.2.8/src/video/directx/d3d12.h34949
-rw-r--r--contrib/SDL-3.2.8/src/video/directx/d3d12sdklayers.h4267
-rw-r--r--contrib/SDL-3.2.8/src/video/directx/gen_xbox_cmacros.cs91
5 files changed, 44171 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/video/directx/SDL_d3d12.h b/contrib/SDL-3.2.8/src/video/directx/SDL_d3d12.h
new file mode 100644
index 0000000..3173558
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/directx/SDL_d3d12.h
@@ -0,0 +1,103 @@
1/*
2 Simple DirectMedia Layer
3 Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
4
5 This software is provided 'as-is', without any express or implied
6 warranty. In no event will the authors be held liable for any damages
7 arising from the use of this software.
8
9 Permission is granted to anyone to use this software for any purpose,
10 including commercial applications, and to alter it and redistribute it
11 freely, subject to the following restrictions:
12
13 1. The origin of this software must not be misrepresented; you must not
14 claim that you wrote the original software. If you use this software
15 in a product, an acknowledgment in the product documentation would be
16 appreciated but is not required.
17 2. Altered source versions must be plainly marked as such, and must not be
18 misrepresented as being the original software.
19 3. This notice may not be removed or altered from any source distribution.
20*/
21#include "SDL_internal.h"
22
23#ifndef SDL_D3D12_H
24#define SDL_D3D12_H
25
26#if !(defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES))
27
28/* From the DirectX-Headers build system:
29 * "MinGW has RPC headers which define old versions, and complain if D3D
30 * headers are included before the RPC headers, since D3D headers were
31 * generated with new MIDL and "require" new RPC headers."
32 */
33#define __REQUIRED_RPCNDR_H_VERSION__ 475
34
35// May not be defined in winapifamily.h, can safely be ignored
36#ifndef WINAPI_PARTITION_GAMES
37#define WINAPI_PARTITION_GAMES 0
38#endif // WINAPI_PARTITION_GAMES
39
40#define COBJMACROS
41#include "d3d12.h"
42#include <dxgi1_6.h>
43#include <dxgidebug.h>
44
45#define D3D_GUID(X) &(X)
46
47#define D3D_SAFE_RELEASE(X) \
48 if (X) { \
49 (X)->lpVtbl->Release(X); \
50 X = NULL; \
51 }
52
53/* Some D3D12 calls are mismatched between Windows/Xbox, so we need to wrap the
54 * C function ourselves :(
55 */
56#define D3D_CALL_RET(THIS, FUNC, ...) (THIS)->lpVtbl->FUNC((THIS), ##__VA_ARGS__)
57
58#else // !(defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES))
59
60#if defined(SDL_PLATFORM_XBOXONE)
61#include <d3d12_x.h>
62#else // SDL_PLATFORM_XBOXSERIES
63#include <d3d12_xs.h>
64#endif
65
66#define D3D_GUID(X) (X)
67
68#define D3D_SAFE_RELEASE(X) \
69 if (X) { \
70 (X)->Release(); \
71 X = NULL; \
72 }
73
74// Older versions of the Xbox GDK may not have this defined
75#ifndef D3D12_TEXTURE_DATA_PITCH_ALIGNMENT
76#define D3D12_TEXTURE_DATA_PITCH_ALIGNMENT 256
77#endif
78#ifndef D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE
79#define D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE ((D3D12_RESOURCE_STATES) (0x40 | 0x80))
80#endif
81#ifndef D3D12_HEAP_TYPE_GPU_UPLOAD
82#define D3D12_HEAP_TYPE_GPU_UPLOAD ((D3D12_HEAP_TYPE) 5)
83#endif
84
85// DXGI_PRESENT flags are removed on Xbox
86#define DXGI_PRESENT_ALLOW_TEARING 0
87
88// Xbox D3D12 does not define the COBJMACROS, so we need to define them ourselves
89#include "SDL_d3d12_xbox_cmacros.h"
90
91// They don't even define the CMACROS for ID3DBlob, come on man
92#define ID3D10Blob_GetBufferPointer(blob) blob->GetBufferPointer()
93#define ID3D10Blob_GetBufferSize(blob) blob->GetBufferSize()
94#define ID3D10Blob_Release(blob) blob->Release()
95
96/* Xbox's D3D12 ABI actually varies from Windows, if a function does not exist
97 * in the above header then you need to use this instead :(
98 */
99#define D3D_CALL_RET(THIS, FUNC, RETVAL, ...) *(RETVAL) = (THIS)->FUNC(__VA_ARGS__)
100
101#endif // !(defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES))
102
103#endif // SDL_D3D12_H
diff --git a/contrib/SDL-3.2.8/src/video/directx/SDL_d3d12_xbox_cmacros.h b/contrib/SDL-3.2.8/src/video/directx/SDL_d3d12_xbox_cmacros.h
new file mode 100644
index 0000000..fc6df35
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/directx/SDL_d3d12_xbox_cmacros.h
@@ -0,0 +1,4761 @@
1/* This file is autogenerated, DO NOT MODIFY */
2#define ID3D12Object_QueryInterface(This,riid,ppvObject) \
3 ( (This)->QueryInterface(riid,ppvObject) )
4#define ID3D12Object_AddRef(This) \
5 ( (This)->AddRef() )
6#define ID3D12Object_Release(This) \
7 ( (This)->Release() )
8#define ID3D12Object_GetPrivateData(This,guid,pDataSize,pData) \
9 ( (This)->GetPrivateData(guid,pDataSize,pData) )
10#define ID3D12Object_SetPrivateData(This,guid,DataSize,pData) \
11 ( (This)->SetPrivateData(guid,DataSize,pData) )
12#define ID3D12Object_SetPrivateDataInterface(This,guid,pData) \
13 ( (This)->SetPrivateDataInterface(guid,pData) )
14#define ID3D12Object_SetName(This,Name) \
15 ( (This)->SetName(Name) )
16#define ID3D12DeviceChild_QueryInterface(This,riid,ppvObject) \
17 ( (This)->QueryInterface(riid,ppvObject) )
18#define ID3D12DeviceChild_AddRef(This) \
19 ( (This)->AddRef() )
20#define ID3D12DeviceChild_Release(This) \
21 ( (This)->Release() )
22#define ID3D12DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \
23 ( (This)->GetPrivateData(guid,pDataSize,pData) )
24#define ID3D12DeviceChild_SetPrivateData(This,guid,DataSize,pData) \
25 ( (This)->SetPrivateData(guid,DataSize,pData) )
26#define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,pData) \
27 ( (This)->SetPrivateDataInterface(guid,pData) )
28#define ID3D12DeviceChild_SetName(This,Name) \
29 ( (This)->SetName(Name) )
30#define ID3D12DeviceChild_GetDevice(This,riid,ppvDevice) \
31 ( (This)->GetDevice(riid,ppvDevice) )
32#define ID3D12RootSignature_QueryInterface(This,riid,ppvObject) \
33 ( (This)->QueryInterface(riid,ppvObject) )
34#define ID3D12RootSignature_AddRef(This) \
35 ( (This)->AddRef() )
36#define ID3D12RootSignature_Release(This) \
37 ( (This)->Release() )
38#define ID3D12RootSignature_GetPrivateData(This,guid,pDataSize,pData) \
39 ( (This)->GetPrivateData(guid,pDataSize,pData) )
40#define ID3D12RootSignature_SetPrivateData(This,guid,DataSize,pData) \
41 ( (This)->SetPrivateData(guid,DataSize,pData) )
42#define ID3D12RootSignature_SetPrivateDataInterface(This,guid,pData) \
43 ( (This)->SetPrivateDataInterface(guid,pData) )
44#define ID3D12RootSignature_SetName(This,Name) \
45 ( (This)->SetName(Name) )
46#define ID3D12RootSignature_GetDevice(This,riid,ppvDevice) \
47 ( (This)->GetDevice(riid,ppvDevice) )
48#define ID3D12RootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
49 ( (This)->QueryInterface(riid,ppvObject) )
50#define ID3D12RootSignatureDeserializer_AddRef(This) \
51 ( (This)->AddRef() )
52#define ID3D12RootSignatureDeserializer_Release(This) \
53 ( (This)->Release() )
54#define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This) \
55 ( (This)->GetRootSignatureDesc() )
56#define ID3D12VersionedRootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
57 ( (This)->QueryInterface(riid,ppvObject) )
58#define ID3D12VersionedRootSignatureDeserializer_AddRef(This) \
59 ( (This)->AddRef() )
60#define ID3D12VersionedRootSignatureDeserializer_Release(This) \
61 ( (This)->Release() )
62#define ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) \
63 ( (This)->GetRootSignatureDescAtVersion(convertToVersion,ppDesc) )
64#define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This) \
65 ( (This)->GetUnconvertedRootSignatureDesc() )
66#define ID3D12Pageable_QueryInterface(This,riid,ppvObject) \
67 ( (This)->QueryInterface(riid,ppvObject) )
68#define ID3D12Pageable_AddRef(This) \
69 ( (This)->AddRef() )
70#define ID3D12Pageable_Release(This) \
71 ( (This)->Release() )
72#define ID3D12Pageable_GetPrivateData(This,guid,pDataSize,pData) \
73 ( (This)->GetPrivateData(guid,pDataSize,pData) )
74#define ID3D12Pageable_SetPrivateData(This,guid,DataSize,pData) \
75 ( (This)->SetPrivateData(guid,DataSize,pData) )
76#define ID3D12Pageable_SetPrivateDataInterface(This,guid,pData) \
77 ( (This)->SetPrivateDataInterface(guid,pData) )
78#define ID3D12Pageable_SetName(This,Name) \
79 ( (This)->SetName(Name) )
80#define ID3D12Pageable_GetDevice(This,riid,ppvDevice) \
81 ( (This)->GetDevice(riid,ppvDevice) )
82#define ID3D12Heap_QueryInterface(This,riid,ppvObject) \
83 ( (This)->QueryInterface(riid,ppvObject) )
84#define ID3D12Heap_AddRef(This) \
85 ( (This)->AddRef() )
86#define ID3D12Heap_Release(This) \
87 ( (This)->Release() )
88#define ID3D12Heap_GetPrivateData(This,guid,pDataSize,pData) \
89 ( (This)->GetPrivateData(guid,pDataSize,pData) )
90#define ID3D12Heap_SetPrivateData(This,guid,DataSize,pData) \
91 ( (This)->SetPrivateData(guid,DataSize,pData) )
92#define ID3D12Heap_SetPrivateDataInterface(This,guid,pData) \
93 ( (This)->SetPrivateDataInterface(guid,pData) )
94#define ID3D12Heap_SetName(This,Name) \
95 ( (This)->SetName(Name) )
96#define ID3D12Heap_GetDevice(This,riid,ppvDevice) \
97 ( (This)->GetDevice(riid,ppvDevice) )
98#define ID3D12Resource_QueryInterface(This,riid,ppvObject) \
99 ( (This)->QueryInterface(riid,ppvObject) )
100#define ID3D12Resource_AddRef(This) \
101 ( (This)->AddRef() )
102#define ID3D12Resource_Release(This) \
103 ( (This)->Release() )
104#define ID3D12Resource_GetPrivateData(This,guid,pDataSize,pData) \
105 ( (This)->GetPrivateData(guid,pDataSize,pData) )
106#define ID3D12Resource_SetPrivateData(This,guid,DataSize,pData) \
107 ( (This)->SetPrivateData(guid,DataSize,pData) )
108#define ID3D12Resource_SetPrivateDataInterface(This,guid,pData) \
109 ( (This)->SetPrivateDataInterface(guid,pData) )
110#define ID3D12Resource_SetName(This,Name) \
111 ( (This)->SetName(Name) )
112#define ID3D12Resource_GetDevice(This,riid,ppvDevice) \
113 ( (This)->GetDevice(riid,ppvDevice) )
114#define ID3D12Resource_Map(This,Subresource,pReadRange,ppData) \
115 ( (This)->Map(Subresource,pReadRange,ppData) )
116#define ID3D12Resource_Unmap(This,Subresource,pWrittenRange) \
117 ( (This)->Unmap(Subresource,pWrittenRange) )
118#define ID3D12Resource_GetGPUVirtualAddress(This) \
119 ( (This)->GetGPUVirtualAddress() )
120#define ID3D12Resource_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
121 ( (This)->WriteToSubresource(DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
122#define ID3D12Resource_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
123 ( (This)->ReadFromSubresource(pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
124#define ID3D12Resource_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
125 ( (This)->GetHeapProperties(pHeapProperties,pHeapFlags) )
126#define ID3D12CommandAllocator_QueryInterface(This,riid,ppvObject) \
127 ( (This)->QueryInterface(riid,ppvObject) )
128#define ID3D12CommandAllocator_AddRef(This) \
129 ( (This)->AddRef() )
130#define ID3D12CommandAllocator_Release(This) \
131 ( (This)->Release() )
132#define ID3D12CommandAllocator_GetPrivateData(This,guid,pDataSize,pData) \
133 ( (This)->GetPrivateData(guid,pDataSize,pData) )
134#define ID3D12CommandAllocator_SetPrivateData(This,guid,DataSize,pData) \
135 ( (This)->SetPrivateData(guid,DataSize,pData) )
136#define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,pData) \
137 ( (This)->SetPrivateDataInterface(guid,pData) )
138#define ID3D12CommandAllocator_SetName(This,Name) \
139 ( (This)->SetName(Name) )
140#define ID3D12CommandAllocator_GetDevice(This,riid,ppvDevice) \
141 ( (This)->GetDevice(riid,ppvDevice) )
142#define ID3D12CommandAllocator_Reset(This) \
143 ( (This)->Reset() )
144#define ID3D12Fence_QueryInterface(This,riid,ppvObject) \
145 ( (This)->QueryInterface(riid,ppvObject) )
146#define ID3D12Fence_AddRef(This) \
147 ( (This)->AddRef() )
148#define ID3D12Fence_Release(This) \
149 ( (This)->Release() )
150#define ID3D12Fence_GetPrivateData(This,guid,pDataSize,pData) \
151 ( (This)->GetPrivateData(guid,pDataSize,pData) )
152#define ID3D12Fence_SetPrivateData(This,guid,DataSize,pData) \
153 ( (This)->SetPrivateData(guid,DataSize,pData) )
154#define ID3D12Fence_SetPrivateDataInterface(This,guid,pData) \
155 ( (This)->SetPrivateDataInterface(guid,pData) )
156#define ID3D12Fence_SetName(This,Name) \
157 ( (This)->SetName(Name) )
158#define ID3D12Fence_GetDevice(This,riid,ppvDevice) \
159 ( (This)->GetDevice(riid,ppvDevice) )
160#define ID3D12Fence_GetCompletedValue(This) \
161 ( (This)->GetCompletedValue() )
162#define ID3D12Fence_SetEventOnCompletion(This,Value,hEvent) \
163 ( (This)->SetEventOnCompletion(Value,hEvent) )
164#define ID3D12Fence_Signal(This,Value) \
165 ( (This)->Signal(Value) )
166#define ID3D12Fence1_QueryInterface(This,riid,ppvObject) \
167 ( (This)->QueryInterface(riid,ppvObject) )
168#define ID3D12Fence1_AddRef(This) \
169 ( (This)->AddRef() )
170#define ID3D12Fence1_Release(This) \
171 ( (This)->Release() )
172#define ID3D12Fence1_GetPrivateData(This,guid,pDataSize,pData) \
173 ( (This)->GetPrivateData(guid,pDataSize,pData) )
174#define ID3D12Fence1_SetPrivateData(This,guid,DataSize,pData) \
175 ( (This)->SetPrivateData(guid,DataSize,pData) )
176#define ID3D12Fence1_SetPrivateDataInterface(This,guid,pData) \
177 ( (This)->SetPrivateDataInterface(guid,pData) )
178#define ID3D12Fence1_SetName(This,Name) \
179 ( (This)->SetName(Name) )
180#define ID3D12Fence1_GetDevice(This,riid,ppvDevice) \
181 ( (This)->GetDevice(riid,ppvDevice) )
182#define ID3D12Fence1_GetCompletedValue(This) \
183 ( (This)->GetCompletedValue() )
184#define ID3D12Fence1_SetEventOnCompletion(This,Value,hEvent) \
185 ( (This)->SetEventOnCompletion(Value,hEvent) )
186#define ID3D12Fence1_Signal(This,Value) \
187 ( (This)->Signal(Value) )
188#define ID3D12Fence1_GetCreationFlags(This) \
189 ( (This)->GetCreationFlags() )
190#define ID3D12PipelineState_QueryInterface(This,riid,ppvObject) \
191 ( (This)->QueryInterface(riid,ppvObject) )
192#define ID3D12PipelineState_AddRef(This) \
193 ( (This)->AddRef() )
194#define ID3D12PipelineState_Release(This) \
195 ( (This)->Release() )
196#define ID3D12PipelineState_GetPrivateData(This,guid,pDataSize,pData) \
197 ( (This)->GetPrivateData(guid,pDataSize,pData) )
198#define ID3D12PipelineState_SetPrivateData(This,guid,DataSize,pData) \
199 ( (This)->SetPrivateData(guid,DataSize,pData) )
200#define ID3D12PipelineState_SetPrivateDataInterface(This,guid,pData) \
201 ( (This)->SetPrivateDataInterface(guid,pData) )
202#define ID3D12PipelineState_SetName(This,Name) \
203 ( (This)->SetName(Name) )
204#define ID3D12PipelineState_GetDevice(This,riid,ppvDevice) \
205 ( (This)->GetDevice(riid,ppvDevice) )
206#define ID3D12PipelineState_GetCachedBlob(This,ppBlob) \
207 ( (This)->GetCachedBlob(ppBlob) )
208#define ID3D12DescriptorHeap_QueryInterface(This,riid,ppvObject) \
209 ( (This)->QueryInterface(riid,ppvObject) )
210#define ID3D12DescriptorHeap_AddRef(This) \
211 ( (This)->AddRef() )
212#define ID3D12DescriptorHeap_Release(This) \
213 ( (This)->Release() )
214#define ID3D12DescriptorHeap_GetPrivateData(This,guid,pDataSize,pData) \
215 ( (This)->GetPrivateData(guid,pDataSize,pData) )
216#define ID3D12DescriptorHeap_SetPrivateData(This,guid,DataSize,pData) \
217 ( (This)->SetPrivateData(guid,DataSize,pData) )
218#define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,pData) \
219 ( (This)->SetPrivateDataInterface(guid,pData) )
220#define ID3D12DescriptorHeap_SetName(This,Name) \
221 ( (This)->SetName(Name) )
222#define ID3D12DescriptorHeap_GetDevice(This,riid,ppvDevice) \
223 ( (This)->GetDevice(riid,ppvDevice) )
224#define ID3D12QueryHeap_QueryInterface(This,riid,ppvObject) \
225 ( (This)->QueryInterface(riid,ppvObject) )
226#define ID3D12QueryHeap_AddRef(This) \
227 ( (This)->AddRef() )
228#define ID3D12QueryHeap_Release(This) \
229 ( (This)->Release() )
230#define ID3D12QueryHeap_GetPrivateData(This,guid,pDataSize,pData) \
231 ( (This)->GetPrivateData(guid,pDataSize,pData) )
232#define ID3D12QueryHeap_SetPrivateData(This,guid,DataSize,pData) \
233 ( (This)->SetPrivateData(guid,DataSize,pData) )
234#define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,pData) \
235 ( (This)->SetPrivateDataInterface(guid,pData) )
236#define ID3D12QueryHeap_SetName(This,Name) \
237 ( (This)->SetName(Name) )
238#define ID3D12QueryHeap_GetDevice(This,riid,ppvDevice) \
239 ( (This)->GetDevice(riid,ppvDevice) )
240#define ID3D12CommandSignature_QueryInterface(This,riid,ppvObject) \
241 ( (This)->QueryInterface(riid,ppvObject) )
242#define ID3D12CommandSignature_AddRef(This) \
243 ( (This)->AddRef() )
244#define ID3D12CommandSignature_Release(This) \
245 ( (This)->Release() )
246#define ID3D12CommandSignature_GetPrivateData(This,guid,pDataSize,pData) \
247 ( (This)->GetPrivateData(guid,pDataSize,pData) )
248#define ID3D12CommandSignature_SetPrivateData(This,guid,DataSize,pData) \
249 ( (This)->SetPrivateData(guid,DataSize,pData) )
250#define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,pData) \
251 ( (This)->SetPrivateDataInterface(guid,pData) )
252#define ID3D12CommandSignature_SetName(This,Name) \
253 ( (This)->SetName(Name) )
254#define ID3D12CommandSignature_GetDevice(This,riid,ppvDevice) \
255 ( (This)->GetDevice(riid,ppvDevice) )
256#define ID3D12CommandList_QueryInterface(This,riid,ppvObject) \
257 ( (This)->QueryInterface(riid,ppvObject) )
258#define ID3D12CommandList_AddRef(This) \
259 ( (This)->AddRef() )
260#define ID3D12CommandList_Release(This) \
261 ( (This)->Release() )
262#define ID3D12CommandList_GetPrivateData(This,guid,pDataSize,pData) \
263 ( (This)->GetPrivateData(guid,pDataSize,pData) )
264#define ID3D12CommandList_SetPrivateData(This,guid,DataSize,pData) \
265 ( (This)->SetPrivateData(guid,DataSize,pData) )
266#define ID3D12CommandList_SetPrivateDataInterface(This,guid,pData) \
267 ( (This)->SetPrivateDataInterface(guid,pData) )
268#define ID3D12CommandList_SetName(This,Name) \
269 ( (This)->SetName(Name) )
270#define ID3D12CommandList_GetDevice(This,riid,ppvDevice) \
271 ( (This)->GetDevice(riid,ppvDevice) )
272#define ID3D12CommandList_GetType(This) \
273 ( (This)->GetType() )
274#define ID3D12GraphicsCommandList_QueryInterface(This,riid,ppvObject) \
275 ( (This)->QueryInterface(riid,ppvObject) )
276#define ID3D12GraphicsCommandList_AddRef(This) \
277 ( (This)->AddRef() )
278#define ID3D12GraphicsCommandList_Release(This) \
279 ( (This)->Release() )
280#define ID3D12GraphicsCommandList_GetPrivateData(This,guid,pDataSize,pData) \
281 ( (This)->GetPrivateData(guid,pDataSize,pData) )
282#define ID3D12GraphicsCommandList_SetPrivateData(This,guid,DataSize,pData) \
283 ( (This)->SetPrivateData(guid,DataSize,pData) )
284#define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,pData) \
285 ( (This)->SetPrivateDataInterface(guid,pData) )
286#define ID3D12GraphicsCommandList_SetName(This,Name) \
287 ( (This)->SetName(Name) )
288#define ID3D12GraphicsCommandList_GetDevice(This,riid,ppvDevice) \
289 ( (This)->GetDevice(riid,ppvDevice) )
290#define ID3D12GraphicsCommandList_GetType(This) \
291 ( (This)->GetType() )
292#define ID3D12GraphicsCommandList_Close(This) \
293 ( (This)->Close() )
294#define ID3D12GraphicsCommandList_Reset(This,pAllocator,pInitialState) \
295 ( (This)->Reset(pAllocator,pInitialState) )
296#define ID3D12GraphicsCommandList_ClearState(This,pPipelineState) \
297 ( (This)->ClearState(pPipelineState) )
298#define ID3D12GraphicsCommandList_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
299 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
300#define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
301 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
302#define ID3D12GraphicsCommandList_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
303 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
304#define ID3D12GraphicsCommandList_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
305 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
306#define ID3D12GraphicsCommandList_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
307 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
308#define ID3D12GraphicsCommandList_CopyResource(This,pDstResource,pSrcResource) \
309 ( (This)->CopyResource(pDstResource,pSrcResource) )
310#define ID3D12GraphicsCommandList_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
311 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
312#define ID3D12GraphicsCommandList_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
313 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
314#define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,PrimitiveTopology) \
315 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
316#define ID3D12GraphicsCommandList_RSSetViewports(This,NumViewports,pViewports) \
317 ( (This)->RSSetViewports(NumViewports,pViewports) )
318#define ID3D12GraphicsCommandList_RSSetScissorRects(This,NumRects,pRects) \
319 ( (This)->RSSetScissorRects(NumRects,pRects) )
320#define ID3D12GraphicsCommandList_OMSetBlendFactor(This,BlendFactor) \
321 ( (This)->OMSetBlendFactor(BlendFactor) )
322#define ID3D12GraphicsCommandList_OMSetStencilRef(This,StencilRef) \
323 ( (This)->OMSetStencilRef(StencilRef) )
324#define ID3D12GraphicsCommandList_SetPipelineState(This,pPipelineState) \
325 ( (This)->SetPipelineState(pPipelineState) )
326#define ID3D12GraphicsCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \
327 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
328#define ID3D12GraphicsCommandList_ExecuteBundle(This,pCommandList) \
329 ( (This)->ExecuteBundle(pCommandList) )
330#define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
331 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
332#define ID3D12GraphicsCommandList_SetComputeRootSignature(This,pRootSignature) \
333 ( (This)->SetComputeRootSignature(pRootSignature) )
334#define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,pRootSignature) \
335 ( (This)->SetGraphicsRootSignature(pRootSignature) )
336#define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
337 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
338#define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
339 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
340#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
341 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
342#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
343 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
344#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
345 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
346#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
347 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
348#define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
349 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
350#define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
351 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
352#define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
353 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
354#define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
355 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
356#define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
357 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
358#define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
359 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
360#define ID3D12GraphicsCommandList_IASetIndexBuffer(This,pView) \
361 ( (This)->IASetIndexBuffer(pView) )
362#define ID3D12GraphicsCommandList_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
363 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
364#define ID3D12GraphicsCommandList_SOSetTargets(This,StartSlot,NumViews,pViews) \
365 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
366#define ID3D12GraphicsCommandList_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
367 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
368#define ID3D12GraphicsCommandList_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
369 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
370#define ID3D12GraphicsCommandList_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
371 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
372#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
373 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
374#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
375 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
376#define ID3D12GraphicsCommandList_DiscardResource(This,pResource,pRegion) \
377 ( (This)->DiscardResource(pResource,pRegion) )
378#define ID3D12GraphicsCommandList_BeginQuery(This,pQueryHeap,Type,Index) \
379 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
380#define ID3D12GraphicsCommandList_EndQuery(This,pQueryHeap,Type,Index) \
381 ( (This)->EndQuery(pQueryHeap,Type,Index) )
382#define ID3D12GraphicsCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
383 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
384#define ID3D12GraphicsCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
385 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
386#define ID3D12GraphicsCommandList_SetMarker(This,Metadata,pData,Size) \
387 ( (This)->SetMarker(Metadata,pData,Size) )
388#define ID3D12GraphicsCommandList_BeginEvent(This,Metadata,pData,Size) \
389 ( (This)->BeginEvent(Metadata,pData,Size) )
390#define ID3D12GraphicsCommandList_EndEvent(This) \
391 ( (This)->EndEvent() )
392#define ID3D12GraphicsCommandList_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
393 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
394#define ID3D12GraphicsCommandList1_QueryInterface(This,riid,ppvObject) \
395 ( (This)->QueryInterface(riid,ppvObject) )
396#define ID3D12GraphicsCommandList1_AddRef(This) \
397 ( (This)->AddRef() )
398#define ID3D12GraphicsCommandList1_Release(This) \
399 ( (This)->Release() )
400#define ID3D12GraphicsCommandList1_GetPrivateData(This,guid,pDataSize,pData) \
401 ( (This)->GetPrivateData(guid,pDataSize,pData) )
402#define ID3D12GraphicsCommandList1_SetPrivateData(This,guid,DataSize,pData) \
403 ( (This)->SetPrivateData(guid,DataSize,pData) )
404#define ID3D12GraphicsCommandList1_SetPrivateDataInterface(This,guid,pData) \
405 ( (This)->SetPrivateDataInterface(guid,pData) )
406#define ID3D12GraphicsCommandList1_SetName(This,Name) \
407 ( (This)->SetName(Name) )
408#define ID3D12GraphicsCommandList1_GetDevice(This,riid,ppvDevice) \
409 ( (This)->GetDevice(riid,ppvDevice) )
410#define ID3D12GraphicsCommandList1_GetType(This) \
411 ( (This)->GetType() )
412#define ID3D12GraphicsCommandList1_Close(This) \
413 ( (This)->Close() )
414#define ID3D12GraphicsCommandList1_Reset(This,pAllocator,pInitialState) \
415 ( (This)->Reset(pAllocator,pInitialState) )
416#define ID3D12GraphicsCommandList1_ClearState(This,pPipelineState) \
417 ( (This)->ClearState(pPipelineState) )
418#define ID3D12GraphicsCommandList1_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
419 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
420#define ID3D12GraphicsCommandList1_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
421 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
422#define ID3D12GraphicsCommandList1_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
423 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
424#define ID3D12GraphicsCommandList1_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
425 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
426#define ID3D12GraphicsCommandList1_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
427 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
428#define ID3D12GraphicsCommandList1_CopyResource(This,pDstResource,pSrcResource) \
429 ( (This)->CopyResource(pDstResource,pSrcResource) )
430#define ID3D12GraphicsCommandList1_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
431 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
432#define ID3D12GraphicsCommandList1_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
433 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
434#define ID3D12GraphicsCommandList1_IASetPrimitiveTopology(This,PrimitiveTopology) \
435 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
436#define ID3D12GraphicsCommandList1_RSSetViewports(This,NumViewports,pViewports) \
437 ( (This)->RSSetViewports(NumViewports,pViewports) )
438#define ID3D12GraphicsCommandList1_RSSetScissorRects(This,NumRects,pRects) \
439 ( (This)->RSSetScissorRects(NumRects,pRects) )
440#define ID3D12GraphicsCommandList1_OMSetBlendFactor(This,BlendFactor) \
441 ( (This)->OMSetBlendFactor(BlendFactor) )
442#define ID3D12GraphicsCommandList1_OMSetStencilRef(This,StencilRef) \
443 ( (This)->OMSetStencilRef(StencilRef) )
444#define ID3D12GraphicsCommandList1_SetPipelineState(This,pPipelineState) \
445 ( (This)->SetPipelineState(pPipelineState) )
446#define ID3D12GraphicsCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \
447 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
448#define ID3D12GraphicsCommandList1_ExecuteBundle(This,pCommandList) \
449 ( (This)->ExecuteBundle(pCommandList) )
450#define ID3D12GraphicsCommandList1_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
451 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
452#define ID3D12GraphicsCommandList1_SetComputeRootSignature(This,pRootSignature) \
453 ( (This)->SetComputeRootSignature(pRootSignature) )
454#define ID3D12GraphicsCommandList1_SetGraphicsRootSignature(This,pRootSignature) \
455 ( (This)->SetGraphicsRootSignature(pRootSignature) )
456#define ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
457 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
458#define ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
459 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
460#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
461 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
462#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
463 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
464#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
465 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
466#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
467 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
468#define ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
469 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
470#define ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
471 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
472#define ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
473 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
474#define ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
475 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
476#define ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
477 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
478#define ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
479 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
480#define ID3D12GraphicsCommandList1_IASetIndexBuffer(This,pView) \
481 ( (This)->IASetIndexBuffer(pView) )
482#define ID3D12GraphicsCommandList1_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
483 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
484#define ID3D12GraphicsCommandList1_SOSetTargets(This,StartSlot,NumViews,pViews) \
485 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
486#define ID3D12GraphicsCommandList1_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
487 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
488#define ID3D12GraphicsCommandList1_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
489 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
490#define ID3D12GraphicsCommandList1_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
491 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
492#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
493 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
494#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
495 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
496#define ID3D12GraphicsCommandList1_DiscardResource(This,pResource,pRegion) \
497 ( (This)->DiscardResource(pResource,pRegion) )
498#define ID3D12GraphicsCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \
499 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
500#define ID3D12GraphicsCommandList1_EndQuery(This,pQueryHeap,Type,Index) \
501 ( (This)->EndQuery(pQueryHeap,Type,Index) )
502#define ID3D12GraphicsCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
503 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
504#define ID3D12GraphicsCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
505 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
506#define ID3D12GraphicsCommandList1_SetMarker(This,Metadata,pData,Size) \
507 ( (This)->SetMarker(Metadata,pData,Size) )
508#define ID3D12GraphicsCommandList1_BeginEvent(This,Metadata,pData,Size) \
509 ( (This)->BeginEvent(Metadata,pData,Size) )
510#define ID3D12GraphicsCommandList1_EndEvent(This) \
511 ( (This)->EndEvent() )
512#define ID3D12GraphicsCommandList1_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
513 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
514#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
515 ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
516#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
517 ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
518#define ID3D12GraphicsCommandList1_OMSetDepthBounds(This,Min,Max) \
519 ( (This)->OMSetDepthBounds(Min,Max) )
520#define ID3D12GraphicsCommandList1_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
521 ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) )
522#define ID3D12GraphicsCommandList1_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
523 ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
524#define ID3D12GraphicsCommandList1_SetViewInstanceMask(This,Mask) \
525 ( (This)->SetViewInstanceMask(Mask) )
526#define ID3D12GraphicsCommandList2_QueryInterface(This,riid,ppvObject) \
527 ( (This)->QueryInterface(riid,ppvObject) )
528#define ID3D12GraphicsCommandList2_AddRef(This) \
529 ( (This)->AddRef() )
530#define ID3D12GraphicsCommandList2_Release(This) \
531 ( (This)->Release() )
532#define ID3D12GraphicsCommandList2_GetPrivateData(This,guid,pDataSize,pData) \
533 ( (This)->GetPrivateData(guid,pDataSize,pData) )
534#define ID3D12GraphicsCommandList2_SetPrivateData(This,guid,DataSize,pData) \
535 ( (This)->SetPrivateData(guid,DataSize,pData) )
536#define ID3D12GraphicsCommandList2_SetPrivateDataInterface(This,guid,pData) \
537 ( (This)->SetPrivateDataInterface(guid,pData) )
538#define ID3D12GraphicsCommandList2_SetName(This,Name) \
539 ( (This)->SetName(Name) )
540#define ID3D12GraphicsCommandList2_GetDevice(This,riid,ppvDevice) \
541 ( (This)->GetDevice(riid,ppvDevice) )
542#define ID3D12GraphicsCommandList2_GetType(This) \
543 ( (This)->GetType() )
544#define ID3D12GraphicsCommandList2_Close(This) \
545 ( (This)->Close() )
546#define ID3D12GraphicsCommandList2_Reset(This,pAllocator,pInitialState) \
547 ( (This)->Reset(pAllocator,pInitialState) )
548#define ID3D12GraphicsCommandList2_ClearState(This,pPipelineState) \
549 ( (This)->ClearState(pPipelineState) )
550#define ID3D12GraphicsCommandList2_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
551 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
552#define ID3D12GraphicsCommandList2_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
553 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
554#define ID3D12GraphicsCommandList2_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
555 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
556#define ID3D12GraphicsCommandList2_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
557 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
558#define ID3D12GraphicsCommandList2_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
559 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
560#define ID3D12GraphicsCommandList2_CopyResource(This,pDstResource,pSrcResource) \
561 ( (This)->CopyResource(pDstResource,pSrcResource) )
562#define ID3D12GraphicsCommandList2_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
563 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
564#define ID3D12GraphicsCommandList2_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
565 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
566#define ID3D12GraphicsCommandList2_IASetPrimitiveTopology(This,PrimitiveTopology) \
567 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
568#define ID3D12GraphicsCommandList2_RSSetViewports(This,NumViewports,pViewports) \
569 ( (This)->RSSetViewports(NumViewports,pViewports) )
570#define ID3D12GraphicsCommandList2_RSSetScissorRects(This,NumRects,pRects) \
571 ( (This)->RSSetScissorRects(NumRects,pRects) )
572#define ID3D12GraphicsCommandList2_OMSetBlendFactor(This,BlendFactor) \
573 ( (This)->OMSetBlendFactor(BlendFactor) )
574#define ID3D12GraphicsCommandList2_OMSetStencilRef(This,StencilRef) \
575 ( (This)->OMSetStencilRef(StencilRef) )
576#define ID3D12GraphicsCommandList2_SetPipelineState(This,pPipelineState) \
577 ( (This)->SetPipelineState(pPipelineState) )
578#define ID3D12GraphicsCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \
579 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
580#define ID3D12GraphicsCommandList2_ExecuteBundle(This,pCommandList) \
581 ( (This)->ExecuteBundle(pCommandList) )
582#define ID3D12GraphicsCommandList2_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
583 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
584#define ID3D12GraphicsCommandList2_SetComputeRootSignature(This,pRootSignature) \
585 ( (This)->SetComputeRootSignature(pRootSignature) )
586#define ID3D12GraphicsCommandList2_SetGraphicsRootSignature(This,pRootSignature) \
587 ( (This)->SetGraphicsRootSignature(pRootSignature) )
588#define ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
589 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
590#define ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
591 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
592#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
593 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
594#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
595 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
596#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
597 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
598#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
599 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
600#define ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
601 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
602#define ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
603 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
604#define ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
605 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
606#define ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
607 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
608#define ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
609 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
610#define ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
611 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
612#define ID3D12GraphicsCommandList2_IASetIndexBuffer(This,pView) \
613 ( (This)->IASetIndexBuffer(pView) )
614#define ID3D12GraphicsCommandList2_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
615 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
616#define ID3D12GraphicsCommandList2_SOSetTargets(This,StartSlot,NumViews,pViews) \
617 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
618#define ID3D12GraphicsCommandList2_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
619 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
620#define ID3D12GraphicsCommandList2_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
621 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
622#define ID3D12GraphicsCommandList2_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
623 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
624#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
625 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
626#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
627 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
628#define ID3D12GraphicsCommandList2_DiscardResource(This,pResource,pRegion) \
629 ( (This)->DiscardResource(pResource,pRegion) )
630#define ID3D12GraphicsCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \
631 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
632#define ID3D12GraphicsCommandList2_EndQuery(This,pQueryHeap,Type,Index) \
633 ( (This)->EndQuery(pQueryHeap,Type,Index) )
634#define ID3D12GraphicsCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
635 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
636#define ID3D12GraphicsCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
637 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
638#define ID3D12GraphicsCommandList2_SetMarker(This,Metadata,pData,Size) \
639 ( (This)->SetMarker(Metadata,pData,Size) )
640#define ID3D12GraphicsCommandList2_BeginEvent(This,Metadata,pData,Size) \
641 ( (This)->BeginEvent(Metadata,pData,Size) )
642#define ID3D12GraphicsCommandList2_EndEvent(This) \
643 ( (This)->EndEvent() )
644#define ID3D12GraphicsCommandList2_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
645 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
646#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
647 ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
648#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
649 ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
650#define ID3D12GraphicsCommandList2_OMSetDepthBounds(This,Min,Max) \
651 ( (This)->OMSetDepthBounds(Min,Max) )
652#define ID3D12GraphicsCommandList2_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
653 ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) )
654#define ID3D12GraphicsCommandList2_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
655 ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
656#define ID3D12GraphicsCommandList2_SetViewInstanceMask(This,Mask) \
657 ( (This)->SetViewInstanceMask(Mask) )
658#define ID3D12GraphicsCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \
659 ( (This)->WriteBufferImmediate(Count,pParams,pModes) )
660#define ID3D12CommandQueue_QueryInterface(This,riid,ppvObject) \
661 ( (This)->QueryInterface(riid,ppvObject) )
662#define ID3D12CommandQueue_AddRef(This) \
663 ( (This)->AddRef() )
664#define ID3D12CommandQueue_Release(This) \
665 ( (This)->Release() )
666#define ID3D12CommandQueue_GetPrivateData(This,guid,pDataSize,pData) \
667 ( (This)->GetPrivateData(guid,pDataSize,pData) )
668#define ID3D12CommandQueue_SetPrivateData(This,guid,DataSize,pData) \
669 ( (This)->SetPrivateData(guid,DataSize,pData) )
670#define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,pData) \
671 ( (This)->SetPrivateDataInterface(guid,pData) )
672#define ID3D12CommandQueue_SetName(This,Name) \
673 ( (This)->SetName(Name) )
674#define ID3D12CommandQueue_GetDevice(This,riid,ppvDevice) \
675 ( (This)->GetDevice(riid,ppvDevice) )
676#define ID3D12CommandQueue_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) \
677 ( (This)->UpdateTileMappings(pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) )
678#define ID3D12CommandQueue_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) \
679 ( (This)->CopyTileMappings(pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) )
680#define ID3D12CommandQueue_ExecuteCommandLists(This,NumCommandLists,ppCommandLists) \
681 ( (This)->ExecuteCommandLists(NumCommandLists,ppCommandLists) )
682#define ID3D12CommandQueue_SetMarker(This,Metadata,pData,Size) \
683 ( (This)->SetMarker(Metadata,pData,Size) )
684#define ID3D12CommandQueue_BeginEvent(This,Metadata,pData,Size) \
685 ( (This)->BeginEvent(Metadata,pData,Size) )
686#define ID3D12CommandQueue_EndEvent(This) \
687 ( (This)->EndEvent() )
688#define ID3D12CommandQueue_Signal(This,pFence,Value) \
689 ( (This)->Signal(pFence,Value) )
690#define ID3D12CommandQueue_Wait(This,pFence,Value) \
691 ( (This)->Wait(pFence,Value) )
692#define ID3D12CommandQueue_GetTimestampFrequency(This,pFrequency) \
693 ( (This)->GetTimestampFrequency(pFrequency) )
694#define ID3D12CommandQueue_GetClockCalibration(This,pGPUTimestamp,pCpuTimestamp) \
695 ( (This)->GetClockCalibration(pGPUTimestamp,pCpuTimestamp) )
696#define ID3D12Device_QueryInterface(This,riid,ppvObject) \
697 ( (This)->QueryInterface(riid,ppvObject) )
698#define ID3D12Device_AddRef(This) \
699 ( (This)->AddRef() )
700#define ID3D12Device_Release(This) \
701 ( (This)->Release() )
702#define ID3D12Device_GetPrivateData(This,guid,pDataSize,pData) \
703 ( (This)->GetPrivateData(guid,pDataSize,pData) )
704#define ID3D12Device_SetPrivateData(This,guid,DataSize,pData) \
705 ( (This)->SetPrivateData(guid,DataSize,pData) )
706#define ID3D12Device_SetPrivateDataInterface(This,guid,pData) \
707 ( (This)->SetPrivateDataInterface(guid,pData) )
708#define ID3D12Device_SetName(This,Name) \
709 ( (This)->SetName(Name) )
710#define ID3D12Device_GetNodeCount(This) \
711 ( (This)->GetNodeCount() )
712#define ID3D12Device_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
713 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
714#define ID3D12Device_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
715 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
716#define ID3D12Device_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
717 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
718#define ID3D12Device_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
719 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
720#define ID3D12Device_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
721 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
722#define ID3D12Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
723 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
724#define ID3D12Device_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
725 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
726#define ID3D12Device_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
727 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
728#define ID3D12Device_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
729 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
730#define ID3D12Device_CreateConstantBufferView(This,pDesc,DestDescriptor) \
731 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
732#define ID3D12Device_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
733 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
734#define ID3D12Device_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
735 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
736#define ID3D12Device_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
737 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
738#define ID3D12Device_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
739 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
740#define ID3D12Device_CreateSampler(This,pDesc,DestDescriptor) \
741 ( (This)->CreateSampler(pDesc,DestDescriptor) )
742#define ID3D12Device_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
743 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
744#define ID3D12Device_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
745 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
746#define ID3D12Device_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
747 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
748#define ID3D12Device_CreateHeap(This,pDesc,riid,ppvHeap) \
749 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
750#define ID3D12Device_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
751 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
752#define ID3D12Device_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
753 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
754#define ID3D12Device_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
755 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
756#define ID3D12Device_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
757 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
758#define ID3D12Device_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
759 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
760#define ID3D12Device_MakeResident(This,NumObjects,ppObjects) \
761 ( (This)->MakeResident(NumObjects,ppObjects) )
762#define ID3D12Device_Evict(This,NumObjects,ppObjects) \
763 ( (This)->Evict(NumObjects,ppObjects) )
764#define ID3D12Device_CreateFence(This,InitialValue,Flags,riid,ppFence) \
765 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
766#define ID3D12Device_GetDeviceRemovedReason(This) \
767 ( (This)->GetDeviceRemovedReason() )
768#define ID3D12Device_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
769 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
770#define ID3D12Device_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
771 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
772#define ID3D12Device_SetStablePowerState(This,Enable) \
773 ( (This)->SetStablePowerState(Enable) )
774#define ID3D12Device_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
775 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
776#define ID3D12Device_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
777 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
778#define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject) \
779 ( (This)->QueryInterface(riid,ppvObject) )
780#define ID3D12PipelineLibrary_AddRef(This) \
781 ( (This)->AddRef() )
782#define ID3D12PipelineLibrary_Release(This) \
783 ( (This)->Release() )
784#define ID3D12PipelineLibrary_GetPrivateData(This,guid,pDataSize,pData) \
785 ( (This)->GetPrivateData(guid,pDataSize,pData) )
786#define ID3D12PipelineLibrary_SetPrivateData(This,guid,DataSize,pData) \
787 ( (This)->SetPrivateData(guid,DataSize,pData) )
788#define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,pData) \
789 ( (This)->SetPrivateDataInterface(guid,pData) )
790#define ID3D12PipelineLibrary_SetName(This,Name) \
791 ( (This)->SetName(Name) )
792#define ID3D12PipelineLibrary_GetDevice(This,riid,ppvDevice) \
793 ( (This)->GetDevice(riid,ppvDevice) )
794#define ID3D12PipelineLibrary_StorePipeline(This,pName,pPipeline) \
795 ( (This)->StorePipeline(pName,pPipeline) )
796#define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \
797 ( (This)->LoadGraphicsPipeline(pName,pDesc,riid,ppPipelineState) )
798#define ID3D12PipelineLibrary_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \
799 ( (This)->LoadComputePipeline(pName,pDesc,riid,ppPipelineState) )
800#define ID3D12PipelineLibrary_GetSerializedSize(This) \
801 ( (This)->GetSerializedSize() )
802#define ID3D12PipelineLibrary_Serialize(This,pData,DataSizeInBytes) \
803 ( (This)->Serialize(pData,DataSizeInBytes) )
804#define ID3D12PipelineLibrary1_QueryInterface(This,riid,ppvObject) \
805 ( (This)->QueryInterface(riid,ppvObject) )
806#define ID3D12PipelineLibrary1_AddRef(This) \
807 ( (This)->AddRef() )
808#define ID3D12PipelineLibrary1_Release(This) \
809 ( (This)->Release() )
810#define ID3D12PipelineLibrary1_GetPrivateData(This,guid,pDataSize,pData) \
811 ( (This)->GetPrivateData(guid,pDataSize,pData) )
812#define ID3D12PipelineLibrary1_SetPrivateData(This,guid,DataSize,pData) \
813 ( (This)->SetPrivateData(guid,DataSize,pData) )
814#define ID3D12PipelineLibrary1_SetPrivateDataInterface(This,guid,pData) \
815 ( (This)->SetPrivateDataInterface(guid,pData) )
816#define ID3D12PipelineLibrary1_SetName(This,Name) \
817 ( (This)->SetName(Name) )
818#define ID3D12PipelineLibrary1_GetDevice(This,riid,ppvDevice) \
819 ( (This)->GetDevice(riid,ppvDevice) )
820#define ID3D12PipelineLibrary1_StorePipeline(This,pName,pPipeline) \
821 ( (This)->StorePipeline(pName,pPipeline) )
822#define ID3D12PipelineLibrary1_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \
823 ( (This)->LoadGraphicsPipeline(pName,pDesc,riid,ppPipelineState) )
824#define ID3D12PipelineLibrary1_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \
825 ( (This)->LoadComputePipeline(pName,pDesc,riid,ppPipelineState) )
826#define ID3D12PipelineLibrary1_GetSerializedSize(This) \
827 ( (This)->GetSerializedSize() )
828#define ID3D12PipelineLibrary1_Serialize(This,pData,DataSizeInBytes) \
829 ( (This)->Serialize(pData,DataSizeInBytes) )
830#define ID3D12PipelineLibrary1_LoadPipeline(This,pName,pDesc,riid,ppPipelineState) \
831 ( (This)->LoadPipeline(pName,pDesc,riid,ppPipelineState) )
832#define ID3D12Device1_QueryInterface(This,riid,ppvObject) \
833 ( (This)->QueryInterface(riid,ppvObject) )
834#define ID3D12Device1_AddRef(This) \
835 ( (This)->AddRef() )
836#define ID3D12Device1_Release(This) \
837 ( (This)->Release() )
838#define ID3D12Device1_GetPrivateData(This,guid,pDataSize,pData) \
839 ( (This)->GetPrivateData(guid,pDataSize,pData) )
840#define ID3D12Device1_SetPrivateData(This,guid,DataSize,pData) \
841 ( (This)->SetPrivateData(guid,DataSize,pData) )
842#define ID3D12Device1_SetPrivateDataInterface(This,guid,pData) \
843 ( (This)->SetPrivateDataInterface(guid,pData) )
844#define ID3D12Device1_SetName(This,Name) \
845 ( (This)->SetName(Name) )
846#define ID3D12Device1_GetNodeCount(This) \
847 ( (This)->GetNodeCount() )
848#define ID3D12Device1_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
849 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
850#define ID3D12Device1_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
851 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
852#define ID3D12Device1_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
853 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
854#define ID3D12Device1_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
855 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
856#define ID3D12Device1_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
857 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
858#define ID3D12Device1_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
859 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
860#define ID3D12Device1_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
861 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
862#define ID3D12Device1_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
863 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
864#define ID3D12Device1_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
865 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
866#define ID3D12Device1_CreateConstantBufferView(This,pDesc,DestDescriptor) \
867 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
868#define ID3D12Device1_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
869 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
870#define ID3D12Device1_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
871 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
872#define ID3D12Device1_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
873 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
874#define ID3D12Device1_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
875 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
876#define ID3D12Device1_CreateSampler(This,pDesc,DestDescriptor) \
877 ( (This)->CreateSampler(pDesc,DestDescriptor) )
878#define ID3D12Device1_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
879 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
880#define ID3D12Device1_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
881 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
882#define ID3D12Device1_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
883 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
884#define ID3D12Device1_CreateHeap(This,pDesc,riid,ppvHeap) \
885 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
886#define ID3D12Device1_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
887 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
888#define ID3D12Device1_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
889 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
890#define ID3D12Device1_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
891 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
892#define ID3D12Device1_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
893 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
894#define ID3D12Device1_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
895 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
896#define ID3D12Device1_MakeResident(This,NumObjects,ppObjects) \
897 ( (This)->MakeResident(NumObjects,ppObjects) )
898#define ID3D12Device1_Evict(This,NumObjects,ppObjects) \
899 ( (This)->Evict(NumObjects,ppObjects) )
900#define ID3D12Device1_CreateFence(This,InitialValue,Flags,riid,ppFence) \
901 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
902#define ID3D12Device1_GetDeviceRemovedReason(This) \
903 ( (This)->GetDeviceRemovedReason() )
904#define ID3D12Device1_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
905 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
906#define ID3D12Device1_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
907 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
908#define ID3D12Device1_SetStablePowerState(This,Enable) \
909 ( (This)->SetStablePowerState(Enable) )
910#define ID3D12Device1_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
911 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
912#define ID3D12Device1_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
913 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
914#define ID3D12Device1_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
915 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
916#define ID3D12Device1_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
917 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
918#define ID3D12Device1_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
919 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
920#define ID3D12Device2_QueryInterface(This,riid,ppvObject) \
921 ( (This)->QueryInterface(riid,ppvObject) )
922#define ID3D12Device2_AddRef(This) \
923 ( (This)->AddRef() )
924#define ID3D12Device2_Release(This) \
925 ( (This)->Release() )
926#define ID3D12Device2_GetPrivateData(This,guid,pDataSize,pData) \
927 ( (This)->GetPrivateData(guid,pDataSize,pData) )
928#define ID3D12Device2_SetPrivateData(This,guid,DataSize,pData) \
929 ( (This)->SetPrivateData(guid,DataSize,pData) )
930#define ID3D12Device2_SetPrivateDataInterface(This,guid,pData) \
931 ( (This)->SetPrivateDataInterface(guid,pData) )
932#define ID3D12Device2_SetName(This,Name) \
933 ( (This)->SetName(Name) )
934#define ID3D12Device2_GetNodeCount(This) \
935 ( (This)->GetNodeCount() )
936#define ID3D12Device2_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
937 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
938#define ID3D12Device2_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
939 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
940#define ID3D12Device2_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
941 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
942#define ID3D12Device2_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
943 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
944#define ID3D12Device2_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
945 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
946#define ID3D12Device2_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
947 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
948#define ID3D12Device2_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
949 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
950#define ID3D12Device2_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
951 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
952#define ID3D12Device2_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
953 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
954#define ID3D12Device2_CreateConstantBufferView(This,pDesc,DestDescriptor) \
955 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
956#define ID3D12Device2_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
957 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
958#define ID3D12Device2_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
959 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
960#define ID3D12Device2_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
961 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
962#define ID3D12Device2_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
963 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
964#define ID3D12Device2_CreateSampler(This,pDesc,DestDescriptor) \
965 ( (This)->CreateSampler(pDesc,DestDescriptor) )
966#define ID3D12Device2_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
967 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
968#define ID3D12Device2_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
969 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
970#define ID3D12Device2_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
971 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
972#define ID3D12Device2_CreateHeap(This,pDesc,riid,ppvHeap) \
973 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
974#define ID3D12Device2_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
975 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
976#define ID3D12Device2_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
977 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
978#define ID3D12Device2_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
979 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
980#define ID3D12Device2_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
981 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
982#define ID3D12Device2_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
983 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
984#define ID3D12Device2_MakeResident(This,NumObjects,ppObjects) \
985 ( (This)->MakeResident(NumObjects,ppObjects) )
986#define ID3D12Device2_Evict(This,NumObjects,ppObjects) \
987 ( (This)->Evict(NumObjects,ppObjects) )
988#define ID3D12Device2_CreateFence(This,InitialValue,Flags,riid,ppFence) \
989 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
990#define ID3D12Device2_GetDeviceRemovedReason(This) \
991 ( (This)->GetDeviceRemovedReason() )
992#define ID3D12Device2_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
993 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
994#define ID3D12Device2_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
995 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
996#define ID3D12Device2_SetStablePowerState(This,Enable) \
997 ( (This)->SetStablePowerState(Enable) )
998#define ID3D12Device2_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
999 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
1000#define ID3D12Device2_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
1001 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
1002#define ID3D12Device2_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
1003 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
1004#define ID3D12Device2_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
1005 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
1006#define ID3D12Device2_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
1007 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
1008#define ID3D12Device2_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
1009 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
1010#define ID3D12Device3_QueryInterface(This,riid,ppvObject) \
1011 ( (This)->QueryInterface(riid,ppvObject) )
1012#define ID3D12Device3_AddRef(This) \
1013 ( (This)->AddRef() )
1014#define ID3D12Device3_Release(This) \
1015 ( (This)->Release() )
1016#define ID3D12Device3_GetPrivateData(This,guid,pDataSize,pData) \
1017 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1018#define ID3D12Device3_SetPrivateData(This,guid,DataSize,pData) \
1019 ( (This)->SetPrivateData(guid,DataSize,pData) )
1020#define ID3D12Device3_SetPrivateDataInterface(This,guid,pData) \
1021 ( (This)->SetPrivateDataInterface(guid,pData) )
1022#define ID3D12Device3_SetName(This,Name) \
1023 ( (This)->SetName(Name) )
1024#define ID3D12Device3_GetNodeCount(This) \
1025 ( (This)->GetNodeCount() )
1026#define ID3D12Device3_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
1027 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
1028#define ID3D12Device3_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
1029 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
1030#define ID3D12Device3_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
1031 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
1032#define ID3D12Device3_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
1033 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
1034#define ID3D12Device3_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
1035 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
1036#define ID3D12Device3_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
1037 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
1038#define ID3D12Device3_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
1039 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
1040#define ID3D12Device3_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
1041 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
1042#define ID3D12Device3_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
1043 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
1044#define ID3D12Device3_CreateConstantBufferView(This,pDesc,DestDescriptor) \
1045 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
1046#define ID3D12Device3_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
1047 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
1048#define ID3D12Device3_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
1049 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
1050#define ID3D12Device3_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
1051 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
1052#define ID3D12Device3_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
1053 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
1054#define ID3D12Device3_CreateSampler(This,pDesc,DestDescriptor) \
1055 ( (This)->CreateSampler(pDesc,DestDescriptor) )
1056#define ID3D12Device3_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
1057 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
1058#define ID3D12Device3_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
1059 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
1060#define ID3D12Device3_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
1061 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
1062#define ID3D12Device3_CreateHeap(This,pDesc,riid,ppvHeap) \
1063 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
1064#define ID3D12Device3_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1065 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1066#define ID3D12Device3_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1067 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1068#define ID3D12Device3_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
1069 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
1070#define ID3D12Device3_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
1071 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
1072#define ID3D12Device3_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
1073 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
1074#define ID3D12Device3_MakeResident(This,NumObjects,ppObjects) \
1075 ( (This)->MakeResident(NumObjects,ppObjects) )
1076#define ID3D12Device3_Evict(This,NumObjects,ppObjects) \
1077 ( (This)->Evict(NumObjects,ppObjects) )
1078#define ID3D12Device3_CreateFence(This,InitialValue,Flags,riid,ppFence) \
1079 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
1080#define ID3D12Device3_GetDeviceRemovedReason(This) \
1081 ( (This)->GetDeviceRemovedReason() )
1082#define ID3D12Device3_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
1083 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
1084#define ID3D12Device3_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
1085 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
1086#define ID3D12Device3_SetStablePowerState(This,Enable) \
1087 ( (This)->SetStablePowerState(Enable) )
1088#define ID3D12Device3_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
1089 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
1090#define ID3D12Device3_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
1091 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
1092#define ID3D12Device3_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
1093 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
1094#define ID3D12Device3_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
1095 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
1096#define ID3D12Device3_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
1097 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
1098#define ID3D12Device3_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
1099 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
1100#define ID3D12Device3_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
1101 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
1102#define ID3D12Device3_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
1103 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
1104#define ID3D12Device3_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
1105 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
1106#define ID3D12ProtectedSession_QueryInterface(This,riid,ppvObject) \
1107 ( (This)->QueryInterface(riid,ppvObject) )
1108#define ID3D12ProtectedSession_AddRef(This) \
1109 ( (This)->AddRef() )
1110#define ID3D12ProtectedSession_Release(This) \
1111 ( (This)->Release() )
1112#define ID3D12ProtectedSession_GetPrivateData(This,guid,pDataSize,pData) \
1113 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1114#define ID3D12ProtectedSession_SetPrivateData(This,guid,DataSize,pData) \
1115 ( (This)->SetPrivateData(guid,DataSize,pData) )
1116#define ID3D12ProtectedSession_SetPrivateDataInterface(This,guid,pData) \
1117 ( (This)->SetPrivateDataInterface(guid,pData) )
1118#define ID3D12ProtectedSession_SetName(This,Name) \
1119 ( (This)->SetName(Name) )
1120#define ID3D12ProtectedSession_GetDevice(This,riid,ppvDevice) \
1121 ( (This)->GetDevice(riid,ppvDevice) )
1122#define ID3D12ProtectedSession_GetStatusFence(This,riid,ppFence) \
1123 ( (This)->GetStatusFence(riid,ppFence) )
1124#define ID3D12ProtectedSession_GetSessionStatus(This) \
1125 ( (This)->GetSessionStatus() )
1126#define ID3D12ProtectedResourceSession_QueryInterface(This,riid,ppvObject) \
1127 ( (This)->QueryInterface(riid,ppvObject) )
1128#define ID3D12ProtectedResourceSession_AddRef(This) \
1129 ( (This)->AddRef() )
1130#define ID3D12ProtectedResourceSession_Release(This) \
1131 ( (This)->Release() )
1132#define ID3D12ProtectedResourceSession_GetPrivateData(This,guid,pDataSize,pData) \
1133 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1134#define ID3D12ProtectedResourceSession_SetPrivateData(This,guid,DataSize,pData) \
1135 ( (This)->SetPrivateData(guid,DataSize,pData) )
1136#define ID3D12ProtectedResourceSession_SetPrivateDataInterface(This,guid,pData) \
1137 ( (This)->SetPrivateDataInterface(guid,pData) )
1138#define ID3D12ProtectedResourceSession_SetName(This,Name) \
1139 ( (This)->SetName(Name) )
1140#define ID3D12ProtectedResourceSession_GetDevice(This,riid,ppvDevice) \
1141 ( (This)->GetDevice(riid,ppvDevice) )
1142#define ID3D12ProtectedResourceSession_GetStatusFence(This,riid,ppFence) \
1143 ( (This)->GetStatusFence(riid,ppFence) )
1144#define ID3D12ProtectedResourceSession_GetSessionStatus(This) \
1145 ( (This)->GetSessionStatus() )
1146#define ID3D12Device4_QueryInterface(This,riid,ppvObject) \
1147 ( (This)->QueryInterface(riid,ppvObject) )
1148#define ID3D12Device4_AddRef(This) \
1149 ( (This)->AddRef() )
1150#define ID3D12Device4_Release(This) \
1151 ( (This)->Release() )
1152#define ID3D12Device4_GetPrivateData(This,guid,pDataSize,pData) \
1153 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1154#define ID3D12Device4_SetPrivateData(This,guid,DataSize,pData) \
1155 ( (This)->SetPrivateData(guid,DataSize,pData) )
1156#define ID3D12Device4_SetPrivateDataInterface(This,guid,pData) \
1157 ( (This)->SetPrivateDataInterface(guid,pData) )
1158#define ID3D12Device4_SetName(This,Name) \
1159 ( (This)->SetName(Name) )
1160#define ID3D12Device4_GetNodeCount(This) \
1161 ( (This)->GetNodeCount() )
1162#define ID3D12Device4_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
1163 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
1164#define ID3D12Device4_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
1165 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
1166#define ID3D12Device4_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
1167 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
1168#define ID3D12Device4_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
1169 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
1170#define ID3D12Device4_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
1171 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
1172#define ID3D12Device4_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
1173 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
1174#define ID3D12Device4_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
1175 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
1176#define ID3D12Device4_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
1177 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
1178#define ID3D12Device4_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
1179 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
1180#define ID3D12Device4_CreateConstantBufferView(This,pDesc,DestDescriptor) \
1181 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
1182#define ID3D12Device4_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
1183 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
1184#define ID3D12Device4_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
1185 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
1186#define ID3D12Device4_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
1187 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
1188#define ID3D12Device4_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
1189 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
1190#define ID3D12Device4_CreateSampler(This,pDesc,DestDescriptor) \
1191 ( (This)->CreateSampler(pDesc,DestDescriptor) )
1192#define ID3D12Device4_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
1193 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
1194#define ID3D12Device4_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
1195 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
1196#define ID3D12Device4_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
1197 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
1198#define ID3D12Device4_CreateHeap(This,pDesc,riid,ppvHeap) \
1199 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
1200#define ID3D12Device4_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1201 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1202#define ID3D12Device4_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1203 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1204#define ID3D12Device4_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
1205 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
1206#define ID3D12Device4_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
1207 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
1208#define ID3D12Device4_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
1209 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
1210#define ID3D12Device4_MakeResident(This,NumObjects,ppObjects) \
1211 ( (This)->MakeResident(NumObjects,ppObjects) )
1212#define ID3D12Device4_Evict(This,NumObjects,ppObjects) \
1213 ( (This)->Evict(NumObjects,ppObjects) )
1214#define ID3D12Device4_CreateFence(This,InitialValue,Flags,riid,ppFence) \
1215 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
1216#define ID3D12Device4_GetDeviceRemovedReason(This) \
1217 ( (This)->GetDeviceRemovedReason() )
1218#define ID3D12Device4_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
1219 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
1220#define ID3D12Device4_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
1221 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
1222#define ID3D12Device4_SetStablePowerState(This,Enable) \
1223 ( (This)->SetStablePowerState(Enable) )
1224#define ID3D12Device4_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
1225 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
1226#define ID3D12Device4_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
1227 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
1228#define ID3D12Device4_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
1229 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
1230#define ID3D12Device4_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
1231 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
1232#define ID3D12Device4_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
1233 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
1234#define ID3D12Device4_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
1235 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
1236#define ID3D12Device4_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
1237 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
1238#define ID3D12Device4_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
1239 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
1240#define ID3D12Device4_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
1241 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
1242#define ID3D12Device4_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
1243 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
1244#define ID3D12Device4_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
1245 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
1246#define ID3D12Device4_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
1247 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
1248#define ID3D12Device4_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
1249 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
1250#define ID3D12Device4_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
1251 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
1252#define ID3D12LifetimeOwner_QueryInterface(This,riid,ppvObject) \
1253 ( (This)->QueryInterface(riid,ppvObject) )
1254#define ID3D12LifetimeOwner_AddRef(This) \
1255 ( (This)->AddRef() )
1256#define ID3D12LifetimeOwner_Release(This) \
1257 ( (This)->Release() )
1258#define ID3D12LifetimeOwner_LifetimeStateUpdated(This,NewState) \
1259 ( (This)->LifetimeStateUpdated(NewState) )
1260#define ID3D12SwapChainAssistant_QueryInterface(This,riid,ppvObject) \
1261 ( (This)->QueryInterface(riid,ppvObject) )
1262#define ID3D12SwapChainAssistant_AddRef(This) \
1263 ( (This)->AddRef() )
1264#define ID3D12SwapChainAssistant_Release(This) \
1265 ( (This)->Release() )
1266#define ID3D12SwapChainAssistant_GetSwapChainObject(This,riid,ppv) \
1267 ( (This)->GetSwapChainObject(riid,ppv) )
1268#define ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue) \
1269 ( (This)->GetCurrentResourceAndCommandQueue(riidResource,ppvResource,riidQueue,ppvQueue) )
1270#define ID3D12SwapChainAssistant_InsertImplicitSync(This) \
1271 ( (This)->InsertImplicitSync() )
1272#define ID3D12LifetimeTracker_QueryInterface(This,riid,ppvObject) \
1273 ( (This)->QueryInterface(riid,ppvObject) )
1274#define ID3D12LifetimeTracker_AddRef(This) \
1275 ( (This)->AddRef() )
1276#define ID3D12LifetimeTracker_Release(This) \
1277 ( (This)->Release() )
1278#define ID3D12LifetimeTracker_GetPrivateData(This,guid,pDataSize,pData) \
1279 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1280#define ID3D12LifetimeTracker_SetPrivateData(This,guid,DataSize,pData) \
1281 ( (This)->SetPrivateData(guid,DataSize,pData) )
1282#define ID3D12LifetimeTracker_SetPrivateDataInterface(This,guid,pData) \
1283 ( (This)->SetPrivateDataInterface(guid,pData) )
1284#define ID3D12LifetimeTracker_SetName(This,Name) \
1285 ( (This)->SetName(Name) )
1286#define ID3D12LifetimeTracker_GetDevice(This,riid,ppvDevice) \
1287 ( (This)->GetDevice(riid,ppvDevice) )
1288#define ID3D12LifetimeTracker_DestroyOwnedObject(This,pObject) \
1289 ( (This)->DestroyOwnedObject(pObject) )
1290#define ID3D12StateObject_QueryInterface(This,riid,ppvObject) \
1291 ( (This)->QueryInterface(riid,ppvObject) )
1292#define ID3D12StateObject_AddRef(This) \
1293 ( (This)->AddRef() )
1294#define ID3D12StateObject_Release(This) \
1295 ( (This)->Release() )
1296#define ID3D12StateObject_GetPrivateData(This,guid,pDataSize,pData) \
1297 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1298#define ID3D12StateObject_SetPrivateData(This,guid,DataSize,pData) \
1299 ( (This)->SetPrivateData(guid,DataSize,pData) )
1300#define ID3D12StateObject_SetPrivateDataInterface(This,guid,pData) \
1301 ( (This)->SetPrivateDataInterface(guid,pData) )
1302#define ID3D12StateObject_SetName(This,Name) \
1303 ( (This)->SetName(Name) )
1304#define ID3D12StateObject_GetDevice(This,riid,ppvDevice) \
1305 ( (This)->GetDevice(riid,ppvDevice) )
1306#define ID3D12StateObjectProperties_QueryInterface(This,riid,ppvObject) \
1307 ( (This)->QueryInterface(riid,ppvObject) )
1308#define ID3D12StateObjectProperties_AddRef(This) \
1309 ( (This)->AddRef() )
1310#define ID3D12StateObjectProperties_Release(This) \
1311 ( (This)->Release() )
1312#define ID3D12StateObjectProperties_GetShaderIdentifier(This,pExportName) \
1313 ( (This)->GetShaderIdentifier(pExportName) )
1314#define ID3D12StateObjectProperties_GetShaderStackSize(This,pExportName) \
1315 ( (This)->GetShaderStackSize(pExportName) )
1316#define ID3D12StateObjectProperties_GetPipelineStackSize(This) \
1317 ( (This)->GetPipelineStackSize() )
1318#define ID3D12StateObjectProperties_SetPipelineStackSize(This,PipelineStackSizeInBytes) \
1319 ( (This)->SetPipelineStackSize(PipelineStackSizeInBytes) )
1320#define ID3D12StateObjectProperties1_QueryInterface(This,riid,ppvObject) \
1321 ( (This)->QueryInterface(riid,ppvObject) )
1322#define ID3D12StateObjectProperties1_AddRef(This) \
1323 ( (This)->AddRef() )
1324#define ID3D12StateObjectProperties1_Release(This) \
1325 ( (This)->Release() )
1326#define ID3D12StateObjectProperties1_GetShaderIdentifier(This,pExportName) \
1327 ( (This)->GetShaderIdentifier(pExportName) )
1328#define ID3D12StateObjectProperties1_GetShaderStackSize(This,pExportName) \
1329 ( (This)->GetShaderStackSize(pExportName) )
1330#define ID3D12StateObjectProperties1_GetPipelineStackSize(This) \
1331 ( (This)->GetPipelineStackSize() )
1332#define ID3D12StateObjectProperties1_SetPipelineStackSize(This,PipelineStackSizeInBytes) \
1333 ( (This)->SetPipelineStackSize(PipelineStackSizeInBytes) )
1334#define ID3D12WorkGraphProperties_QueryInterface(This,riid,ppvObject) \
1335 ( (This)->QueryInterface(riid,ppvObject) )
1336#define ID3D12WorkGraphProperties_AddRef(This) \
1337 ( (This)->AddRef() )
1338#define ID3D12WorkGraphProperties_Release(This) \
1339 ( (This)->Release() )
1340#define ID3D12WorkGraphProperties_GetNumWorkGraphs(This) \
1341 ( (This)->GetNumWorkGraphs() )
1342#define ID3D12WorkGraphProperties_GetProgramName(This,WorkGraphIndex) \
1343 ( (This)->GetProgramName(WorkGraphIndex) )
1344#define ID3D12WorkGraphProperties_GetWorkGraphIndex(This,pProgramName) \
1345 ( (This)->GetWorkGraphIndex(pProgramName) )
1346#define ID3D12WorkGraphProperties_GetNumNodes(This,WorkGraphIndex) \
1347 ( (This)->GetNumNodes(WorkGraphIndex) )
1348#define ID3D12WorkGraphProperties_GetNodeIndex(This,WorkGraphIndex,NodeID) \
1349 ( (This)->GetNodeIndex(WorkGraphIndex,NodeID) )
1350#define ID3D12WorkGraphProperties_GetNodeLocalRootArgumentsTableIndex(This,WorkGraphIndex,NodeIndex) \
1351 ( (This)->GetNodeLocalRootArgumentsTableIndex(WorkGraphIndex,NodeIndex) )
1352#define ID3D12WorkGraphProperties_GetNumEntrypoints(This,WorkGraphIndex) \
1353 ( (This)->GetNumEntrypoints(WorkGraphIndex) )
1354#define ID3D12WorkGraphProperties_GetEntrypointIndex(This,WorkGraphIndex,NodeID) \
1355 ( (This)->GetEntrypointIndex(WorkGraphIndex,NodeID) )
1356#define ID3D12WorkGraphProperties_GetEntrypointRecordSizeInBytes(This,WorkGraphIndex,EntrypointIndex) \
1357 ( (This)->GetEntrypointRecordSizeInBytes(WorkGraphIndex,EntrypointIndex) )
1358#define ID3D12WorkGraphProperties_GetWorkGraphMemoryRequirements(This,WorkGraphIndex,pWorkGraphMemoryRequirements) \
1359 ( (This)->GetWorkGraphMemoryRequirements(WorkGraphIndex,pWorkGraphMemoryRequirements) )
1360#define ID3D12WorkGraphProperties_GetEntrypointRecordAlignmentInBytes(This,WorkGraphIndex,EntrypointIndex) \
1361 ( (This)->GetEntrypointRecordAlignmentInBytes(WorkGraphIndex,EntrypointIndex) )
1362#define ID3D12Device5_QueryInterface(This,riid,ppvObject) \
1363 ( (This)->QueryInterface(riid,ppvObject) )
1364#define ID3D12Device5_AddRef(This) \
1365 ( (This)->AddRef() )
1366#define ID3D12Device5_Release(This) \
1367 ( (This)->Release() )
1368#define ID3D12Device5_GetPrivateData(This,guid,pDataSize,pData) \
1369 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1370#define ID3D12Device5_SetPrivateData(This,guid,DataSize,pData) \
1371 ( (This)->SetPrivateData(guid,DataSize,pData) )
1372#define ID3D12Device5_SetPrivateDataInterface(This,guid,pData) \
1373 ( (This)->SetPrivateDataInterface(guid,pData) )
1374#define ID3D12Device5_SetName(This,Name) \
1375 ( (This)->SetName(Name) )
1376#define ID3D12Device5_GetNodeCount(This) \
1377 ( (This)->GetNodeCount() )
1378#define ID3D12Device5_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
1379 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
1380#define ID3D12Device5_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
1381 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
1382#define ID3D12Device5_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
1383 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
1384#define ID3D12Device5_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
1385 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
1386#define ID3D12Device5_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
1387 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
1388#define ID3D12Device5_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
1389 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
1390#define ID3D12Device5_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
1391 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
1392#define ID3D12Device5_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
1393 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
1394#define ID3D12Device5_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
1395 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
1396#define ID3D12Device5_CreateConstantBufferView(This,pDesc,DestDescriptor) \
1397 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
1398#define ID3D12Device5_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
1399 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
1400#define ID3D12Device5_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
1401 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
1402#define ID3D12Device5_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
1403 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
1404#define ID3D12Device5_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
1405 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
1406#define ID3D12Device5_CreateSampler(This,pDesc,DestDescriptor) \
1407 ( (This)->CreateSampler(pDesc,DestDescriptor) )
1408#define ID3D12Device5_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
1409 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
1410#define ID3D12Device5_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
1411 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
1412#define ID3D12Device5_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
1413 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
1414#define ID3D12Device5_CreateHeap(This,pDesc,riid,ppvHeap) \
1415 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
1416#define ID3D12Device5_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1417 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1418#define ID3D12Device5_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1419 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1420#define ID3D12Device5_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
1421 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
1422#define ID3D12Device5_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
1423 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
1424#define ID3D12Device5_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
1425 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
1426#define ID3D12Device5_MakeResident(This,NumObjects,ppObjects) \
1427 ( (This)->MakeResident(NumObjects,ppObjects) )
1428#define ID3D12Device5_Evict(This,NumObjects,ppObjects) \
1429 ( (This)->Evict(NumObjects,ppObjects) )
1430#define ID3D12Device5_CreateFence(This,InitialValue,Flags,riid,ppFence) \
1431 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
1432#define ID3D12Device5_GetDeviceRemovedReason(This) \
1433 ( (This)->GetDeviceRemovedReason() )
1434#define ID3D12Device5_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
1435 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
1436#define ID3D12Device5_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
1437 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
1438#define ID3D12Device5_SetStablePowerState(This,Enable) \
1439 ( (This)->SetStablePowerState(Enable) )
1440#define ID3D12Device5_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
1441 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
1442#define ID3D12Device5_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
1443 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
1444#define ID3D12Device5_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
1445 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
1446#define ID3D12Device5_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
1447 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
1448#define ID3D12Device5_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
1449 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
1450#define ID3D12Device5_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
1451 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
1452#define ID3D12Device5_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
1453 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
1454#define ID3D12Device5_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
1455 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
1456#define ID3D12Device5_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
1457 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
1458#define ID3D12Device5_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
1459 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
1460#define ID3D12Device5_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
1461 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
1462#define ID3D12Device5_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
1463 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
1464#define ID3D12Device5_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
1465 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
1466#define ID3D12Device5_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
1467 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
1468#define ID3D12Device5_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
1469 ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) )
1470#define ID3D12Device5_RemoveDevice(This) \
1471 ( (This)->RemoveDevice() )
1472#define ID3D12Device5_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
1473 ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) )
1474#define ID3D12Device5_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
1475 ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
1476#define ID3D12Device5_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
1477 ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
1478#define ID3D12Device5_CreateStateObject(This,pDesc,riid,ppStateObject) \
1479 ( (This)->CreateStateObject(pDesc,riid,ppStateObject) )
1480#define ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
1481 ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) )
1482#define ID3D12Device5_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
1483 ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) )
1484#define ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(This,riid,ppvObject) \
1485 ( (This)->QueryInterface(riid,ppvObject) )
1486#define ID3D12DeviceRemovedExtendedDataSettings_AddRef(This) \
1487 ( (This)->AddRef() )
1488#define ID3D12DeviceRemovedExtendedDataSettings_Release(This) \
1489 ( (This)->Release() )
1490#define ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(This,Enablement) \
1491 ( (This)->SetAutoBreadcrumbsEnablement(Enablement) )
1492#define ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(This,Enablement) \
1493 ( (This)->SetPageFaultEnablement(Enablement) )
1494#define ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(This,Enablement) \
1495 ( (This)->SetWatsonDumpEnablement(Enablement) )
1496#define ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(This,riid,ppvObject) \
1497 ( (This)->QueryInterface(riid,ppvObject) )
1498#define ID3D12DeviceRemovedExtendedDataSettings1_AddRef(This) \
1499 ( (This)->AddRef() )
1500#define ID3D12DeviceRemovedExtendedDataSettings1_Release(This) \
1501 ( (This)->Release() )
1502#define ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(This,Enablement) \
1503 ( (This)->SetAutoBreadcrumbsEnablement(Enablement) )
1504#define ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(This,Enablement) \
1505 ( (This)->SetPageFaultEnablement(Enablement) )
1506#define ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(This,Enablement) \
1507 ( (This)->SetWatsonDumpEnablement(Enablement) )
1508#define ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(This,Enablement) \
1509 ( (This)->SetBreadcrumbContextEnablement(Enablement) )
1510#define ID3D12DeviceRemovedExtendedDataSettings2_QueryInterface(This,riid,ppvObject) \
1511 ( (This)->QueryInterface(riid,ppvObject) )
1512#define ID3D12DeviceRemovedExtendedDataSettings2_AddRef(This) \
1513 ( (This)->AddRef() )
1514#define ID3D12DeviceRemovedExtendedDataSettings2_Release(This) \
1515 ( (This)->Release() )
1516#define ID3D12DeviceRemovedExtendedDataSettings2_SetAutoBreadcrumbsEnablement(This,Enablement) \
1517 ( (This)->SetAutoBreadcrumbsEnablement(Enablement) )
1518#define ID3D12DeviceRemovedExtendedDataSettings2_SetPageFaultEnablement(This,Enablement) \
1519 ( (This)->SetPageFaultEnablement(Enablement) )
1520#define ID3D12DeviceRemovedExtendedDataSettings2_SetWatsonDumpEnablement(This,Enablement) \
1521 ( (This)->SetWatsonDumpEnablement(Enablement) )
1522#define ID3D12DeviceRemovedExtendedDataSettings2_SetBreadcrumbContextEnablement(This,Enablement) \
1523 ( (This)->SetBreadcrumbContextEnablement(Enablement) )
1524#define ID3D12DeviceRemovedExtendedDataSettings2_UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly) \
1525 ( (This)->UseMarkersOnlyAutoBreadcrumbs(MarkersOnly) )
1526#define ID3D12DeviceRemovedExtendedData_QueryInterface(This,riid,ppvObject) \
1527 ( (This)->QueryInterface(riid,ppvObject) )
1528#define ID3D12DeviceRemovedExtendedData_AddRef(This) \
1529 ( (This)->AddRef() )
1530#define ID3D12DeviceRemovedExtendedData_Release(This) \
1531 ( (This)->Release() )
1532#define ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(This,pOutput) \
1533 ( (This)->GetAutoBreadcrumbsOutput(pOutput) )
1534#define ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(This,pOutput) \
1535 ( (This)->GetPageFaultAllocationOutput(pOutput) )
1536#define ID3D12DeviceRemovedExtendedData1_QueryInterface(This,riid,ppvObject) \
1537 ( (This)->QueryInterface(riid,ppvObject) )
1538#define ID3D12DeviceRemovedExtendedData1_AddRef(This) \
1539 ( (This)->AddRef() )
1540#define ID3D12DeviceRemovedExtendedData1_Release(This) \
1541 ( (This)->Release() )
1542#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(This,pOutput) \
1543 ( (This)->GetAutoBreadcrumbsOutput(pOutput) )
1544#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(This,pOutput) \
1545 ( (This)->GetPageFaultAllocationOutput(pOutput) )
1546#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(This,pOutput) \
1547 ( (This)->GetAutoBreadcrumbsOutput1(pOutput) )
1548#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(This,pOutput) \
1549 ( (This)->GetPageFaultAllocationOutput1(pOutput) )
1550#define ID3D12DeviceRemovedExtendedData2_QueryInterface(This,riid,ppvObject) \
1551 ( (This)->QueryInterface(riid,ppvObject) )
1552#define ID3D12DeviceRemovedExtendedData2_AddRef(This) \
1553 ( (This)->AddRef() )
1554#define ID3D12DeviceRemovedExtendedData2_Release(This) \
1555 ( (This)->Release() )
1556#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(This,pOutput) \
1557 ( (This)->GetAutoBreadcrumbsOutput(pOutput) )
1558#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(This,pOutput) \
1559 ( (This)->GetPageFaultAllocationOutput(pOutput) )
1560#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(This,pOutput) \
1561 ( (This)->GetAutoBreadcrumbsOutput1(pOutput) )
1562#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(This,pOutput) \
1563 ( (This)->GetPageFaultAllocationOutput1(pOutput) )
1564#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(This,pOutput) \
1565 ( (This)->GetPageFaultAllocationOutput2(pOutput) )
1566#define ID3D12DeviceRemovedExtendedData2_GetDeviceState(This) \
1567 ( (This)->GetDeviceState() )
1568#define ID3D12Device6_QueryInterface(This,riid,ppvObject) \
1569 ( (This)->QueryInterface(riid,ppvObject) )
1570#define ID3D12Device6_AddRef(This) \
1571 ( (This)->AddRef() )
1572#define ID3D12Device6_Release(This) \
1573 ( (This)->Release() )
1574#define ID3D12Device6_GetPrivateData(This,guid,pDataSize,pData) \
1575 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1576#define ID3D12Device6_SetPrivateData(This,guid,DataSize,pData) \
1577 ( (This)->SetPrivateData(guid,DataSize,pData) )
1578#define ID3D12Device6_SetPrivateDataInterface(This,guid,pData) \
1579 ( (This)->SetPrivateDataInterface(guid,pData) )
1580#define ID3D12Device6_SetName(This,Name) \
1581 ( (This)->SetName(Name) )
1582#define ID3D12Device6_GetNodeCount(This) \
1583 ( (This)->GetNodeCount() )
1584#define ID3D12Device6_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
1585 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
1586#define ID3D12Device6_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
1587 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
1588#define ID3D12Device6_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
1589 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
1590#define ID3D12Device6_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
1591 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
1592#define ID3D12Device6_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
1593 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
1594#define ID3D12Device6_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
1595 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
1596#define ID3D12Device6_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
1597 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
1598#define ID3D12Device6_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
1599 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
1600#define ID3D12Device6_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
1601 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
1602#define ID3D12Device6_CreateConstantBufferView(This,pDesc,DestDescriptor) \
1603 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
1604#define ID3D12Device6_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
1605 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
1606#define ID3D12Device6_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
1607 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
1608#define ID3D12Device6_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
1609 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
1610#define ID3D12Device6_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
1611 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
1612#define ID3D12Device6_CreateSampler(This,pDesc,DestDescriptor) \
1613 ( (This)->CreateSampler(pDesc,DestDescriptor) )
1614#define ID3D12Device6_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
1615 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
1616#define ID3D12Device6_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
1617 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
1618#define ID3D12Device6_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
1619 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
1620#define ID3D12Device6_CreateHeap(This,pDesc,riid,ppvHeap) \
1621 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
1622#define ID3D12Device6_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1623 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1624#define ID3D12Device6_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1625 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1626#define ID3D12Device6_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
1627 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
1628#define ID3D12Device6_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
1629 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
1630#define ID3D12Device6_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
1631 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
1632#define ID3D12Device6_MakeResident(This,NumObjects,ppObjects) \
1633 ( (This)->MakeResident(NumObjects,ppObjects) )
1634#define ID3D12Device6_Evict(This,NumObjects,ppObjects) \
1635 ( (This)->Evict(NumObjects,ppObjects) )
1636#define ID3D12Device6_CreateFence(This,InitialValue,Flags,riid,ppFence) \
1637 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
1638#define ID3D12Device6_GetDeviceRemovedReason(This) \
1639 ( (This)->GetDeviceRemovedReason() )
1640#define ID3D12Device6_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
1641 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
1642#define ID3D12Device6_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
1643 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
1644#define ID3D12Device6_SetStablePowerState(This,Enable) \
1645 ( (This)->SetStablePowerState(Enable) )
1646#define ID3D12Device6_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
1647 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
1648#define ID3D12Device6_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
1649 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
1650#define ID3D12Device6_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
1651 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
1652#define ID3D12Device6_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
1653 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
1654#define ID3D12Device6_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
1655 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
1656#define ID3D12Device6_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
1657 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
1658#define ID3D12Device6_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
1659 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
1660#define ID3D12Device6_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
1661 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
1662#define ID3D12Device6_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
1663 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
1664#define ID3D12Device6_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
1665 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
1666#define ID3D12Device6_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
1667 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
1668#define ID3D12Device6_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
1669 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
1670#define ID3D12Device6_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
1671 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
1672#define ID3D12Device6_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
1673 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
1674#define ID3D12Device6_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
1675 ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) )
1676#define ID3D12Device6_RemoveDevice(This) \
1677 ( (This)->RemoveDevice() )
1678#define ID3D12Device6_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
1679 ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) )
1680#define ID3D12Device6_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
1681 ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
1682#define ID3D12Device6_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
1683 ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
1684#define ID3D12Device6_CreateStateObject(This,pDesc,riid,ppStateObject) \
1685 ( (This)->CreateStateObject(pDesc,riid,ppStateObject) )
1686#define ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
1687 ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) )
1688#define ID3D12Device6_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
1689 ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) )
1690#define ID3D12Device6_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
1691 ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
1692#define ID3D12ProtectedResourceSession1_QueryInterface(This,riid,ppvObject) \
1693 ( (This)->QueryInterface(riid,ppvObject) )
1694#define ID3D12ProtectedResourceSession1_AddRef(This) \
1695 ( (This)->AddRef() )
1696#define ID3D12ProtectedResourceSession1_Release(This) \
1697 ( (This)->Release() )
1698#define ID3D12ProtectedResourceSession1_GetPrivateData(This,guid,pDataSize,pData) \
1699 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1700#define ID3D12ProtectedResourceSession1_SetPrivateData(This,guid,DataSize,pData) \
1701 ( (This)->SetPrivateData(guid,DataSize,pData) )
1702#define ID3D12ProtectedResourceSession1_SetPrivateDataInterface(This,guid,pData) \
1703 ( (This)->SetPrivateDataInterface(guid,pData) )
1704#define ID3D12ProtectedResourceSession1_SetName(This,Name) \
1705 ( (This)->SetName(Name) )
1706#define ID3D12ProtectedResourceSession1_GetDevice(This,riid,ppvDevice) \
1707 ( (This)->GetDevice(riid,ppvDevice) )
1708#define ID3D12ProtectedResourceSession1_GetStatusFence(This,riid,ppFence) \
1709 ( (This)->GetStatusFence(riid,ppFence) )
1710#define ID3D12ProtectedResourceSession1_GetSessionStatus(This) \
1711 ( (This)->GetSessionStatus() )
1712#define ID3D12Device7_QueryInterface(This,riid,ppvObject) \
1713 ( (This)->QueryInterface(riid,ppvObject) )
1714#define ID3D12Device7_AddRef(This) \
1715 ( (This)->AddRef() )
1716#define ID3D12Device7_Release(This) \
1717 ( (This)->Release() )
1718#define ID3D12Device7_GetPrivateData(This,guid,pDataSize,pData) \
1719 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1720#define ID3D12Device7_SetPrivateData(This,guid,DataSize,pData) \
1721 ( (This)->SetPrivateData(guid,DataSize,pData) )
1722#define ID3D12Device7_SetPrivateDataInterface(This,guid,pData) \
1723 ( (This)->SetPrivateDataInterface(guid,pData) )
1724#define ID3D12Device7_SetName(This,Name) \
1725 ( (This)->SetName(Name) )
1726#define ID3D12Device7_GetNodeCount(This) \
1727 ( (This)->GetNodeCount() )
1728#define ID3D12Device7_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
1729 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
1730#define ID3D12Device7_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
1731 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
1732#define ID3D12Device7_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
1733 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
1734#define ID3D12Device7_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
1735 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
1736#define ID3D12Device7_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
1737 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
1738#define ID3D12Device7_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
1739 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
1740#define ID3D12Device7_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
1741 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
1742#define ID3D12Device7_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
1743 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
1744#define ID3D12Device7_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
1745 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
1746#define ID3D12Device7_CreateConstantBufferView(This,pDesc,DestDescriptor) \
1747 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
1748#define ID3D12Device7_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
1749 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
1750#define ID3D12Device7_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
1751 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
1752#define ID3D12Device7_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
1753 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
1754#define ID3D12Device7_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
1755 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
1756#define ID3D12Device7_CreateSampler(This,pDesc,DestDescriptor) \
1757 ( (This)->CreateSampler(pDesc,DestDescriptor) )
1758#define ID3D12Device7_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
1759 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
1760#define ID3D12Device7_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
1761 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
1762#define ID3D12Device7_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
1763 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
1764#define ID3D12Device7_CreateHeap(This,pDesc,riid,ppvHeap) \
1765 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
1766#define ID3D12Device7_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1767 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1768#define ID3D12Device7_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1769 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1770#define ID3D12Device7_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
1771 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
1772#define ID3D12Device7_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
1773 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
1774#define ID3D12Device7_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
1775 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
1776#define ID3D12Device7_MakeResident(This,NumObjects,ppObjects) \
1777 ( (This)->MakeResident(NumObjects,ppObjects) )
1778#define ID3D12Device7_Evict(This,NumObjects,ppObjects) \
1779 ( (This)->Evict(NumObjects,ppObjects) )
1780#define ID3D12Device7_CreateFence(This,InitialValue,Flags,riid,ppFence) \
1781 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
1782#define ID3D12Device7_GetDeviceRemovedReason(This) \
1783 ( (This)->GetDeviceRemovedReason() )
1784#define ID3D12Device7_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
1785 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
1786#define ID3D12Device7_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
1787 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
1788#define ID3D12Device7_SetStablePowerState(This,Enable) \
1789 ( (This)->SetStablePowerState(Enable) )
1790#define ID3D12Device7_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
1791 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
1792#define ID3D12Device7_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
1793 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
1794#define ID3D12Device7_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
1795 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
1796#define ID3D12Device7_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
1797 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
1798#define ID3D12Device7_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
1799 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
1800#define ID3D12Device7_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
1801 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
1802#define ID3D12Device7_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
1803 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
1804#define ID3D12Device7_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
1805 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
1806#define ID3D12Device7_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
1807 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
1808#define ID3D12Device7_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
1809 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
1810#define ID3D12Device7_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
1811 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
1812#define ID3D12Device7_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
1813 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
1814#define ID3D12Device7_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
1815 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
1816#define ID3D12Device7_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
1817 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
1818#define ID3D12Device7_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
1819 ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) )
1820#define ID3D12Device7_RemoveDevice(This) \
1821 ( (This)->RemoveDevice() )
1822#define ID3D12Device7_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
1823 ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) )
1824#define ID3D12Device7_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
1825 ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
1826#define ID3D12Device7_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
1827 ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
1828#define ID3D12Device7_CreateStateObject(This,pDesc,riid,ppStateObject) \
1829 ( (This)->CreateStateObject(pDesc,riid,ppStateObject) )
1830#define ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
1831 ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) )
1832#define ID3D12Device7_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
1833 ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) )
1834#define ID3D12Device7_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
1835 ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
1836#define ID3D12Device7_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
1837 ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
1838#define ID3D12Device7_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
1839 ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) )
1840#define ID3D12Device8_QueryInterface(This,riid,ppvObject) \
1841 ( (This)->QueryInterface(riid,ppvObject) )
1842#define ID3D12Device8_AddRef(This) \
1843 ( (This)->AddRef() )
1844#define ID3D12Device8_Release(This) \
1845 ( (This)->Release() )
1846#define ID3D12Device8_GetPrivateData(This,guid,pDataSize,pData) \
1847 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1848#define ID3D12Device8_SetPrivateData(This,guid,DataSize,pData) \
1849 ( (This)->SetPrivateData(guid,DataSize,pData) )
1850#define ID3D12Device8_SetPrivateDataInterface(This,guid,pData) \
1851 ( (This)->SetPrivateDataInterface(guid,pData) )
1852#define ID3D12Device8_SetName(This,Name) \
1853 ( (This)->SetName(Name) )
1854#define ID3D12Device8_GetNodeCount(This) \
1855 ( (This)->GetNodeCount() )
1856#define ID3D12Device8_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
1857 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
1858#define ID3D12Device8_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
1859 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
1860#define ID3D12Device8_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
1861 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
1862#define ID3D12Device8_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
1863 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
1864#define ID3D12Device8_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
1865 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
1866#define ID3D12Device8_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
1867 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
1868#define ID3D12Device8_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
1869 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
1870#define ID3D12Device8_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
1871 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
1872#define ID3D12Device8_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
1873 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
1874#define ID3D12Device8_CreateConstantBufferView(This,pDesc,DestDescriptor) \
1875 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
1876#define ID3D12Device8_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
1877 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
1878#define ID3D12Device8_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
1879 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
1880#define ID3D12Device8_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
1881 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
1882#define ID3D12Device8_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
1883 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
1884#define ID3D12Device8_CreateSampler(This,pDesc,DestDescriptor) \
1885 ( (This)->CreateSampler(pDesc,DestDescriptor) )
1886#define ID3D12Device8_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
1887 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
1888#define ID3D12Device8_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
1889 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
1890#define ID3D12Device8_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
1891 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
1892#define ID3D12Device8_CreateHeap(This,pDesc,riid,ppvHeap) \
1893 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
1894#define ID3D12Device8_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1895 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1896#define ID3D12Device8_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1897 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1898#define ID3D12Device8_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
1899 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
1900#define ID3D12Device8_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
1901 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
1902#define ID3D12Device8_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
1903 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
1904#define ID3D12Device8_MakeResident(This,NumObjects,ppObjects) \
1905 ( (This)->MakeResident(NumObjects,ppObjects) )
1906#define ID3D12Device8_Evict(This,NumObjects,ppObjects) \
1907 ( (This)->Evict(NumObjects,ppObjects) )
1908#define ID3D12Device8_CreateFence(This,InitialValue,Flags,riid,ppFence) \
1909 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
1910#define ID3D12Device8_GetDeviceRemovedReason(This) \
1911 ( (This)->GetDeviceRemovedReason() )
1912#define ID3D12Device8_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
1913 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
1914#define ID3D12Device8_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
1915 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
1916#define ID3D12Device8_SetStablePowerState(This,Enable) \
1917 ( (This)->SetStablePowerState(Enable) )
1918#define ID3D12Device8_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
1919 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
1920#define ID3D12Device8_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
1921 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
1922#define ID3D12Device8_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
1923 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
1924#define ID3D12Device8_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
1925 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
1926#define ID3D12Device8_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
1927 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
1928#define ID3D12Device8_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
1929 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
1930#define ID3D12Device8_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
1931 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
1932#define ID3D12Device8_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
1933 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
1934#define ID3D12Device8_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
1935 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
1936#define ID3D12Device8_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
1937 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
1938#define ID3D12Device8_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
1939 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
1940#define ID3D12Device8_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
1941 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
1942#define ID3D12Device8_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
1943 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
1944#define ID3D12Device8_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
1945 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
1946#define ID3D12Device8_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
1947 ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) )
1948#define ID3D12Device8_RemoveDevice(This) \
1949 ( (This)->RemoveDevice() )
1950#define ID3D12Device8_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
1951 ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) )
1952#define ID3D12Device8_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
1953 ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
1954#define ID3D12Device8_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
1955 ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
1956#define ID3D12Device8_CreateStateObject(This,pDesc,riid,ppStateObject) \
1957 ( (This)->CreateStateObject(pDesc,riid,ppStateObject) )
1958#define ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
1959 ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) )
1960#define ID3D12Device8_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
1961 ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) )
1962#define ID3D12Device8_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
1963 ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
1964#define ID3D12Device8_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
1965 ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
1966#define ID3D12Device8_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
1967 ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) )
1968#define ID3D12Device8_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
1969 ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
1970#define ID3D12Device8_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
1971 ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
1972#define ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
1973 ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) )
1974#define ID3D12Device8_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
1975 ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
1976#define ID3D12Resource1_QueryInterface(This,riid,ppvObject) \
1977 ( (This)->QueryInterface(riid,ppvObject) )
1978#define ID3D12Resource1_AddRef(This) \
1979 ( (This)->AddRef() )
1980#define ID3D12Resource1_Release(This) \
1981 ( (This)->Release() )
1982#define ID3D12Resource1_GetPrivateData(This,guid,pDataSize,pData) \
1983 ( (This)->GetPrivateData(guid,pDataSize,pData) )
1984#define ID3D12Resource1_SetPrivateData(This,guid,DataSize,pData) \
1985 ( (This)->SetPrivateData(guid,DataSize,pData) )
1986#define ID3D12Resource1_SetPrivateDataInterface(This,guid,pData) \
1987 ( (This)->SetPrivateDataInterface(guid,pData) )
1988#define ID3D12Resource1_SetName(This,Name) \
1989 ( (This)->SetName(Name) )
1990#define ID3D12Resource1_GetDevice(This,riid,ppvDevice) \
1991 ( (This)->GetDevice(riid,ppvDevice) )
1992#define ID3D12Resource1_Map(This,Subresource,pReadRange,ppData) \
1993 ( (This)->Map(Subresource,pReadRange,ppData) )
1994#define ID3D12Resource1_Unmap(This,Subresource,pWrittenRange) \
1995 ( (This)->Unmap(Subresource,pWrittenRange) )
1996#define ID3D12Resource1_GetGPUVirtualAddress(This) \
1997 ( (This)->GetGPUVirtualAddress() )
1998#define ID3D12Resource1_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
1999 ( (This)->WriteToSubresource(DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
2000#define ID3D12Resource1_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
2001 ( (This)->ReadFromSubresource(pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
2002#define ID3D12Resource1_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
2003 ( (This)->GetHeapProperties(pHeapProperties,pHeapFlags) )
2004#define ID3D12Resource1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
2005 ( (This)->GetProtectedResourceSession(riid,ppProtectedSession) )
2006#define ID3D12Resource2_QueryInterface(This,riid,ppvObject) \
2007 ( (This)->QueryInterface(riid,ppvObject) )
2008#define ID3D12Resource2_AddRef(This) \
2009 ( (This)->AddRef() )
2010#define ID3D12Resource2_Release(This) \
2011 ( (This)->Release() )
2012#define ID3D12Resource2_GetPrivateData(This,guid,pDataSize,pData) \
2013 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2014#define ID3D12Resource2_SetPrivateData(This,guid,DataSize,pData) \
2015 ( (This)->SetPrivateData(guid,DataSize,pData) )
2016#define ID3D12Resource2_SetPrivateDataInterface(This,guid,pData) \
2017 ( (This)->SetPrivateDataInterface(guid,pData) )
2018#define ID3D12Resource2_SetName(This,Name) \
2019 ( (This)->SetName(Name) )
2020#define ID3D12Resource2_GetDevice(This,riid,ppvDevice) \
2021 ( (This)->GetDevice(riid,ppvDevice) )
2022#define ID3D12Resource2_Map(This,Subresource,pReadRange,ppData) \
2023 ( (This)->Map(Subresource,pReadRange,ppData) )
2024#define ID3D12Resource2_Unmap(This,Subresource,pWrittenRange) \
2025 ( (This)->Unmap(Subresource,pWrittenRange) )
2026#define ID3D12Resource2_GetGPUVirtualAddress(This) \
2027 ( (This)->GetGPUVirtualAddress() )
2028#define ID3D12Resource2_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
2029 ( (This)->WriteToSubresource(DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
2030#define ID3D12Resource2_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
2031 ( (This)->ReadFromSubresource(pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
2032#define ID3D12Resource2_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
2033 ( (This)->GetHeapProperties(pHeapProperties,pHeapFlags) )
2034#define ID3D12Resource2_GetProtectedResourceSession(This,riid,ppProtectedSession) \
2035 ( (This)->GetProtectedResourceSession(riid,ppProtectedSession) )
2036#define ID3D12Heap1_QueryInterface(This,riid,ppvObject) \
2037 ( (This)->QueryInterface(riid,ppvObject) )
2038#define ID3D12Heap1_AddRef(This) \
2039 ( (This)->AddRef() )
2040#define ID3D12Heap1_Release(This) \
2041 ( (This)->Release() )
2042#define ID3D12Heap1_GetPrivateData(This,guid,pDataSize,pData) \
2043 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2044#define ID3D12Heap1_SetPrivateData(This,guid,DataSize,pData) \
2045 ( (This)->SetPrivateData(guid,DataSize,pData) )
2046#define ID3D12Heap1_SetPrivateDataInterface(This,guid,pData) \
2047 ( (This)->SetPrivateDataInterface(guid,pData) )
2048#define ID3D12Heap1_SetName(This,Name) \
2049 ( (This)->SetName(Name) )
2050#define ID3D12Heap1_GetDevice(This,riid,ppvDevice) \
2051 ( (This)->GetDevice(riid,ppvDevice) )
2052#define ID3D12Heap1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
2053 ( (This)->GetProtectedResourceSession(riid,ppProtectedSession) )
2054#define ID3D12GraphicsCommandList3_QueryInterface(This,riid,ppvObject) \
2055 ( (This)->QueryInterface(riid,ppvObject) )
2056#define ID3D12GraphicsCommandList3_AddRef(This) \
2057 ( (This)->AddRef() )
2058#define ID3D12GraphicsCommandList3_Release(This) \
2059 ( (This)->Release() )
2060#define ID3D12GraphicsCommandList3_GetPrivateData(This,guid,pDataSize,pData) \
2061 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2062#define ID3D12GraphicsCommandList3_SetPrivateData(This,guid,DataSize,pData) \
2063 ( (This)->SetPrivateData(guid,DataSize,pData) )
2064#define ID3D12GraphicsCommandList3_SetPrivateDataInterface(This,guid,pData) \
2065 ( (This)->SetPrivateDataInterface(guid,pData) )
2066#define ID3D12GraphicsCommandList3_SetName(This,Name) \
2067 ( (This)->SetName(Name) )
2068#define ID3D12GraphicsCommandList3_GetDevice(This,riid,ppvDevice) \
2069 ( (This)->GetDevice(riid,ppvDevice) )
2070#define ID3D12GraphicsCommandList3_GetType(This) \
2071 ( (This)->GetType() )
2072#define ID3D12GraphicsCommandList3_Close(This) \
2073 ( (This)->Close() )
2074#define ID3D12GraphicsCommandList3_Reset(This,pAllocator,pInitialState) \
2075 ( (This)->Reset(pAllocator,pInitialState) )
2076#define ID3D12GraphicsCommandList3_ClearState(This,pPipelineState) \
2077 ( (This)->ClearState(pPipelineState) )
2078#define ID3D12GraphicsCommandList3_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
2079 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
2080#define ID3D12GraphicsCommandList3_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
2081 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
2082#define ID3D12GraphicsCommandList3_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
2083 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
2084#define ID3D12GraphicsCommandList3_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
2085 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
2086#define ID3D12GraphicsCommandList3_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
2087 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
2088#define ID3D12GraphicsCommandList3_CopyResource(This,pDstResource,pSrcResource) \
2089 ( (This)->CopyResource(pDstResource,pSrcResource) )
2090#define ID3D12GraphicsCommandList3_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
2091 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
2092#define ID3D12GraphicsCommandList3_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
2093 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
2094#define ID3D12GraphicsCommandList3_IASetPrimitiveTopology(This,PrimitiveTopology) \
2095 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
2096#define ID3D12GraphicsCommandList3_RSSetViewports(This,NumViewports,pViewports) \
2097 ( (This)->RSSetViewports(NumViewports,pViewports) )
2098#define ID3D12GraphicsCommandList3_RSSetScissorRects(This,NumRects,pRects) \
2099 ( (This)->RSSetScissorRects(NumRects,pRects) )
2100#define ID3D12GraphicsCommandList3_OMSetBlendFactor(This,BlendFactor) \
2101 ( (This)->OMSetBlendFactor(BlendFactor) )
2102#define ID3D12GraphicsCommandList3_OMSetStencilRef(This,StencilRef) \
2103 ( (This)->OMSetStencilRef(StencilRef) )
2104#define ID3D12GraphicsCommandList3_SetPipelineState(This,pPipelineState) \
2105 ( (This)->SetPipelineState(pPipelineState) )
2106#define ID3D12GraphicsCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \
2107 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
2108#define ID3D12GraphicsCommandList3_ExecuteBundle(This,pCommandList) \
2109 ( (This)->ExecuteBundle(pCommandList) )
2110#define ID3D12GraphicsCommandList3_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
2111 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
2112#define ID3D12GraphicsCommandList3_SetComputeRootSignature(This,pRootSignature) \
2113 ( (This)->SetComputeRootSignature(pRootSignature) )
2114#define ID3D12GraphicsCommandList3_SetGraphicsRootSignature(This,pRootSignature) \
2115 ( (This)->SetGraphicsRootSignature(pRootSignature) )
2116#define ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
2117 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
2118#define ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
2119 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
2120#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
2121 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
2122#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
2123 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
2124#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
2125 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
2126#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
2127 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
2128#define ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
2129 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
2130#define ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
2131 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
2132#define ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
2133 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
2134#define ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
2135 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
2136#define ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
2137 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
2138#define ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
2139 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
2140#define ID3D12GraphicsCommandList3_IASetIndexBuffer(This,pView) \
2141 ( (This)->IASetIndexBuffer(pView) )
2142#define ID3D12GraphicsCommandList3_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
2143 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
2144#define ID3D12GraphicsCommandList3_SOSetTargets(This,StartSlot,NumViews,pViews) \
2145 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
2146#define ID3D12GraphicsCommandList3_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
2147 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
2148#define ID3D12GraphicsCommandList3_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
2149 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
2150#define ID3D12GraphicsCommandList3_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
2151 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
2152#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
2153 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
2154#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
2155 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
2156#define ID3D12GraphicsCommandList3_DiscardResource(This,pResource,pRegion) \
2157 ( (This)->DiscardResource(pResource,pRegion) )
2158#define ID3D12GraphicsCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \
2159 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
2160#define ID3D12GraphicsCommandList3_EndQuery(This,pQueryHeap,Type,Index) \
2161 ( (This)->EndQuery(pQueryHeap,Type,Index) )
2162#define ID3D12GraphicsCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
2163 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
2164#define ID3D12GraphicsCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
2165 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
2166#define ID3D12GraphicsCommandList3_SetMarker(This,Metadata,pData,Size) \
2167 ( (This)->SetMarker(Metadata,pData,Size) )
2168#define ID3D12GraphicsCommandList3_BeginEvent(This,Metadata,pData,Size) \
2169 ( (This)->BeginEvent(Metadata,pData,Size) )
2170#define ID3D12GraphicsCommandList3_EndEvent(This) \
2171 ( (This)->EndEvent() )
2172#define ID3D12GraphicsCommandList3_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
2173 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
2174#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
2175 ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
2176#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
2177 ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
2178#define ID3D12GraphicsCommandList3_OMSetDepthBounds(This,Min,Max) \
2179 ( (This)->OMSetDepthBounds(Min,Max) )
2180#define ID3D12GraphicsCommandList3_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
2181 ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) )
2182#define ID3D12GraphicsCommandList3_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
2183 ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
2184#define ID3D12GraphicsCommandList3_SetViewInstanceMask(This,Mask) \
2185 ( (This)->SetViewInstanceMask(Mask) )
2186#define ID3D12GraphicsCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \
2187 ( (This)->WriteBufferImmediate(Count,pParams,pModes) )
2188#define ID3D12GraphicsCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \
2189 ( (This)->SetProtectedResourceSession(pProtectedResourceSession) )
2190#define ID3D12MetaCommand_QueryInterface(This,riid,ppvObject) \
2191 ( (This)->QueryInterface(riid,ppvObject) )
2192#define ID3D12MetaCommand_AddRef(This) \
2193 ( (This)->AddRef() )
2194#define ID3D12MetaCommand_Release(This) \
2195 ( (This)->Release() )
2196#define ID3D12MetaCommand_GetPrivateData(This,guid,pDataSize,pData) \
2197 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2198#define ID3D12MetaCommand_SetPrivateData(This,guid,DataSize,pData) \
2199 ( (This)->SetPrivateData(guid,DataSize,pData) )
2200#define ID3D12MetaCommand_SetPrivateDataInterface(This,guid,pData) \
2201 ( (This)->SetPrivateDataInterface(guid,pData) )
2202#define ID3D12MetaCommand_SetName(This,Name) \
2203 ( (This)->SetName(Name) )
2204#define ID3D12MetaCommand_GetDevice(This,riid,ppvDevice) \
2205 ( (This)->GetDevice(riid,ppvDevice) )
2206#define ID3D12MetaCommand_GetRequiredParameterResourceSize(This,Stage,ParameterIndex) \
2207 ( (This)->GetRequiredParameterResourceSize(Stage,ParameterIndex) )
2208#define ID3D12GraphicsCommandList4_QueryInterface(This,riid,ppvObject) \
2209 ( (This)->QueryInterface(riid,ppvObject) )
2210#define ID3D12GraphicsCommandList4_AddRef(This) \
2211 ( (This)->AddRef() )
2212#define ID3D12GraphicsCommandList4_Release(This) \
2213 ( (This)->Release() )
2214#define ID3D12GraphicsCommandList4_GetPrivateData(This,guid,pDataSize,pData) \
2215 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2216#define ID3D12GraphicsCommandList4_SetPrivateData(This,guid,DataSize,pData) \
2217 ( (This)->SetPrivateData(guid,DataSize,pData) )
2218#define ID3D12GraphicsCommandList4_SetPrivateDataInterface(This,guid,pData) \
2219 ( (This)->SetPrivateDataInterface(guid,pData) )
2220#define ID3D12GraphicsCommandList4_SetName(This,Name) \
2221 ( (This)->SetName(Name) )
2222#define ID3D12GraphicsCommandList4_GetDevice(This,riid,ppvDevice) \
2223 ( (This)->GetDevice(riid,ppvDevice) )
2224#define ID3D12GraphicsCommandList4_GetType(This) \
2225 ( (This)->GetType() )
2226#define ID3D12GraphicsCommandList4_Close(This) \
2227 ( (This)->Close() )
2228#define ID3D12GraphicsCommandList4_Reset(This,pAllocator,pInitialState) \
2229 ( (This)->Reset(pAllocator,pInitialState) )
2230#define ID3D12GraphicsCommandList4_ClearState(This,pPipelineState) \
2231 ( (This)->ClearState(pPipelineState) )
2232#define ID3D12GraphicsCommandList4_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
2233 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
2234#define ID3D12GraphicsCommandList4_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
2235 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
2236#define ID3D12GraphicsCommandList4_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
2237 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
2238#define ID3D12GraphicsCommandList4_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
2239 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
2240#define ID3D12GraphicsCommandList4_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
2241 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
2242#define ID3D12GraphicsCommandList4_CopyResource(This,pDstResource,pSrcResource) \
2243 ( (This)->CopyResource(pDstResource,pSrcResource) )
2244#define ID3D12GraphicsCommandList4_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
2245 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
2246#define ID3D12GraphicsCommandList4_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
2247 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
2248#define ID3D12GraphicsCommandList4_IASetPrimitiveTopology(This,PrimitiveTopology) \
2249 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
2250#define ID3D12GraphicsCommandList4_RSSetViewports(This,NumViewports,pViewports) \
2251 ( (This)->RSSetViewports(NumViewports,pViewports) )
2252#define ID3D12GraphicsCommandList4_RSSetScissorRects(This,NumRects,pRects) \
2253 ( (This)->RSSetScissorRects(NumRects,pRects) )
2254#define ID3D12GraphicsCommandList4_OMSetBlendFactor(This,BlendFactor) \
2255 ( (This)->OMSetBlendFactor(BlendFactor) )
2256#define ID3D12GraphicsCommandList4_OMSetStencilRef(This,StencilRef) \
2257 ( (This)->OMSetStencilRef(StencilRef) )
2258#define ID3D12GraphicsCommandList4_SetPipelineState(This,pPipelineState) \
2259 ( (This)->SetPipelineState(pPipelineState) )
2260#define ID3D12GraphicsCommandList4_ResourceBarrier(This,NumBarriers,pBarriers) \
2261 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
2262#define ID3D12GraphicsCommandList4_ExecuteBundle(This,pCommandList) \
2263 ( (This)->ExecuteBundle(pCommandList) )
2264#define ID3D12GraphicsCommandList4_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
2265 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
2266#define ID3D12GraphicsCommandList4_SetComputeRootSignature(This,pRootSignature) \
2267 ( (This)->SetComputeRootSignature(pRootSignature) )
2268#define ID3D12GraphicsCommandList4_SetGraphicsRootSignature(This,pRootSignature) \
2269 ( (This)->SetGraphicsRootSignature(pRootSignature) )
2270#define ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
2271 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
2272#define ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
2273 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
2274#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
2275 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
2276#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
2277 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
2278#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
2279 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
2280#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
2281 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
2282#define ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
2283 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
2284#define ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
2285 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
2286#define ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
2287 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
2288#define ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
2289 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
2290#define ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
2291 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
2292#define ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
2293 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
2294#define ID3D12GraphicsCommandList4_IASetIndexBuffer(This,pView) \
2295 ( (This)->IASetIndexBuffer(pView) )
2296#define ID3D12GraphicsCommandList4_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
2297 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
2298#define ID3D12GraphicsCommandList4_SOSetTargets(This,StartSlot,NumViews,pViews) \
2299 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
2300#define ID3D12GraphicsCommandList4_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
2301 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
2302#define ID3D12GraphicsCommandList4_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
2303 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
2304#define ID3D12GraphicsCommandList4_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
2305 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
2306#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
2307 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
2308#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
2309 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
2310#define ID3D12GraphicsCommandList4_DiscardResource(This,pResource,pRegion) \
2311 ( (This)->DiscardResource(pResource,pRegion) )
2312#define ID3D12GraphicsCommandList4_BeginQuery(This,pQueryHeap,Type,Index) \
2313 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
2314#define ID3D12GraphicsCommandList4_EndQuery(This,pQueryHeap,Type,Index) \
2315 ( (This)->EndQuery(pQueryHeap,Type,Index) )
2316#define ID3D12GraphicsCommandList4_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
2317 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
2318#define ID3D12GraphicsCommandList4_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
2319 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
2320#define ID3D12GraphicsCommandList4_SetMarker(This,Metadata,pData,Size) \
2321 ( (This)->SetMarker(Metadata,pData,Size) )
2322#define ID3D12GraphicsCommandList4_BeginEvent(This,Metadata,pData,Size) \
2323 ( (This)->BeginEvent(Metadata,pData,Size) )
2324#define ID3D12GraphicsCommandList4_EndEvent(This) \
2325 ( (This)->EndEvent() )
2326#define ID3D12GraphicsCommandList4_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
2327 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
2328#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
2329 ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
2330#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
2331 ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
2332#define ID3D12GraphicsCommandList4_OMSetDepthBounds(This,Min,Max) \
2333 ( (This)->OMSetDepthBounds(Min,Max) )
2334#define ID3D12GraphicsCommandList4_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
2335 ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) )
2336#define ID3D12GraphicsCommandList4_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
2337 ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
2338#define ID3D12GraphicsCommandList4_SetViewInstanceMask(This,Mask) \
2339 ( (This)->SetViewInstanceMask(Mask) )
2340#define ID3D12GraphicsCommandList4_WriteBufferImmediate(This,Count,pParams,pModes) \
2341 ( (This)->WriteBufferImmediate(Count,pParams,pModes) )
2342#define ID3D12GraphicsCommandList4_SetProtectedResourceSession(This,pProtectedResourceSession) \
2343 ( (This)->SetProtectedResourceSession(pProtectedResourceSession) )
2344#define ID3D12GraphicsCommandList4_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
2345 ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
2346#define ID3D12GraphicsCommandList4_EndRenderPass(This) \
2347 ( (This)->EndRenderPass() )
2348#define ID3D12GraphicsCommandList4_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
2349 ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
2350#define ID3D12GraphicsCommandList4_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
2351 ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
2352#define ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
2353 ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
2354#define ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
2355 ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
2356#define ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
2357 ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
2358#define ID3D12GraphicsCommandList4_SetPipelineState1(This,pStateObject) \
2359 ( (This)->SetPipelineState1(pStateObject) )
2360#define ID3D12GraphicsCommandList4_DispatchRays(This,pDesc) \
2361 ( (This)->DispatchRays(pDesc) )
2362#define ID3D12ShaderCacheSession_QueryInterface(This,riid,ppvObject) \
2363 ( (This)->QueryInterface(riid,ppvObject) )
2364#define ID3D12ShaderCacheSession_AddRef(This) \
2365 ( (This)->AddRef() )
2366#define ID3D12ShaderCacheSession_Release(This) \
2367 ( (This)->Release() )
2368#define ID3D12ShaderCacheSession_GetPrivateData(This,guid,pDataSize,pData) \
2369 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2370#define ID3D12ShaderCacheSession_SetPrivateData(This,guid,DataSize,pData) \
2371 ( (This)->SetPrivateData(guid,DataSize,pData) )
2372#define ID3D12ShaderCacheSession_SetPrivateDataInterface(This,guid,pData) \
2373 ( (This)->SetPrivateDataInterface(guid,pData) )
2374#define ID3D12ShaderCacheSession_SetName(This,Name) \
2375 ( (This)->SetName(Name) )
2376#define ID3D12ShaderCacheSession_GetDevice(This,riid,ppvDevice) \
2377 ( (This)->GetDevice(riid,ppvDevice) )
2378#define ID3D12ShaderCacheSession_FindValue(This,pKey,KeySize,pValue,pValueSize) \
2379 ( (This)->FindValue(pKey,KeySize,pValue,pValueSize) )
2380#define ID3D12ShaderCacheSession_StoreValue(This,pKey,KeySize,pValue,ValueSize) \
2381 ( (This)->StoreValue(pKey,KeySize,pValue,ValueSize) )
2382#define ID3D12ShaderCacheSession_SetDeleteOnDestroy(This) \
2383 ( (This)->SetDeleteOnDestroy() )
2384#define ID3D12Device9_QueryInterface(This,riid,ppvObject) \
2385 ( (This)->QueryInterface(riid,ppvObject) )
2386#define ID3D12Device9_AddRef(This) \
2387 ( (This)->AddRef() )
2388#define ID3D12Device9_Release(This) \
2389 ( (This)->Release() )
2390#define ID3D12Device9_GetPrivateData(This,guid,pDataSize,pData) \
2391 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2392#define ID3D12Device9_SetPrivateData(This,guid,DataSize,pData) \
2393 ( (This)->SetPrivateData(guid,DataSize,pData) )
2394#define ID3D12Device9_SetPrivateDataInterface(This,guid,pData) \
2395 ( (This)->SetPrivateDataInterface(guid,pData) )
2396#define ID3D12Device9_SetName(This,Name) \
2397 ( (This)->SetName(Name) )
2398#define ID3D12Device9_GetNodeCount(This) \
2399 ( (This)->GetNodeCount() )
2400#define ID3D12Device9_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
2401 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
2402#define ID3D12Device9_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
2403 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
2404#define ID3D12Device9_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
2405 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
2406#define ID3D12Device9_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
2407 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
2408#define ID3D12Device9_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
2409 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
2410#define ID3D12Device9_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
2411 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
2412#define ID3D12Device9_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
2413 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
2414#define ID3D12Device9_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
2415 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
2416#define ID3D12Device9_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
2417 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
2418#define ID3D12Device9_CreateConstantBufferView(This,pDesc,DestDescriptor) \
2419 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
2420#define ID3D12Device9_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
2421 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
2422#define ID3D12Device9_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
2423 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
2424#define ID3D12Device9_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
2425 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
2426#define ID3D12Device9_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
2427 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
2428#define ID3D12Device9_CreateSampler(This,pDesc,DestDescriptor) \
2429 ( (This)->CreateSampler(pDesc,DestDescriptor) )
2430#define ID3D12Device9_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
2431 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
2432#define ID3D12Device9_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
2433 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
2434#define ID3D12Device9_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
2435 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
2436#define ID3D12Device9_CreateHeap(This,pDesc,riid,ppvHeap) \
2437 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
2438#define ID3D12Device9_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2439 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2440#define ID3D12Device9_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2441 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2442#define ID3D12Device9_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
2443 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
2444#define ID3D12Device9_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
2445 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
2446#define ID3D12Device9_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
2447 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
2448#define ID3D12Device9_MakeResident(This,NumObjects,ppObjects) \
2449 ( (This)->MakeResident(NumObjects,ppObjects) )
2450#define ID3D12Device9_Evict(This,NumObjects,ppObjects) \
2451 ( (This)->Evict(NumObjects,ppObjects) )
2452#define ID3D12Device9_CreateFence(This,InitialValue,Flags,riid,ppFence) \
2453 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
2454#define ID3D12Device9_GetDeviceRemovedReason(This) \
2455 ( (This)->GetDeviceRemovedReason() )
2456#define ID3D12Device9_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
2457 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
2458#define ID3D12Device9_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
2459 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
2460#define ID3D12Device9_SetStablePowerState(This,Enable) \
2461 ( (This)->SetStablePowerState(Enable) )
2462#define ID3D12Device9_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
2463 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
2464#define ID3D12Device9_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
2465 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
2466#define ID3D12Device9_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
2467 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
2468#define ID3D12Device9_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
2469 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
2470#define ID3D12Device9_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
2471 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
2472#define ID3D12Device9_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
2473 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
2474#define ID3D12Device9_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
2475 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
2476#define ID3D12Device9_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
2477 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
2478#define ID3D12Device9_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
2479 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
2480#define ID3D12Device9_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
2481 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
2482#define ID3D12Device9_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
2483 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
2484#define ID3D12Device9_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
2485 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
2486#define ID3D12Device9_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
2487 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
2488#define ID3D12Device9_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
2489 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
2490#define ID3D12Device9_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
2491 ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) )
2492#define ID3D12Device9_RemoveDevice(This) \
2493 ( (This)->RemoveDevice() )
2494#define ID3D12Device9_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
2495 ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) )
2496#define ID3D12Device9_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
2497 ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
2498#define ID3D12Device9_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
2499 ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
2500#define ID3D12Device9_CreateStateObject(This,pDesc,riid,ppStateObject) \
2501 ( (This)->CreateStateObject(pDesc,riid,ppStateObject) )
2502#define ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
2503 ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) )
2504#define ID3D12Device9_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
2505 ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) )
2506#define ID3D12Device9_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
2507 ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
2508#define ID3D12Device9_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
2509 ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
2510#define ID3D12Device9_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
2511 ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) )
2512#define ID3D12Device9_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
2513 ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
2514#define ID3D12Device9_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2515 ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2516#define ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
2517 ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) )
2518#define ID3D12Device9_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
2519 ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
2520#define ID3D12Device9_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
2521 ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) )
2522#define ID3D12Device9_ShaderCacheControl(This,Kinds,Control) \
2523 ( (This)->ShaderCacheControl(Kinds,Control) )
2524#define ID3D12Device9_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
2525 ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) )
2526#define ID3D12Device10_QueryInterface(This,riid,ppvObject) \
2527 ( (This)->QueryInterface(riid,ppvObject) )
2528#define ID3D12Device10_AddRef(This) \
2529 ( (This)->AddRef() )
2530#define ID3D12Device10_Release(This) \
2531 ( (This)->Release() )
2532#define ID3D12Device10_GetPrivateData(This,guid,pDataSize,pData) \
2533 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2534#define ID3D12Device10_SetPrivateData(This,guid,DataSize,pData) \
2535 ( (This)->SetPrivateData(guid,DataSize,pData) )
2536#define ID3D12Device10_SetPrivateDataInterface(This,guid,pData) \
2537 ( (This)->SetPrivateDataInterface(guid,pData) )
2538#define ID3D12Device10_SetName(This,Name) \
2539 ( (This)->SetName(Name) )
2540#define ID3D12Device10_GetNodeCount(This) \
2541 ( (This)->GetNodeCount() )
2542#define ID3D12Device10_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
2543 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
2544#define ID3D12Device10_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
2545 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
2546#define ID3D12Device10_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
2547 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
2548#define ID3D12Device10_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
2549 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
2550#define ID3D12Device10_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
2551 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
2552#define ID3D12Device10_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
2553 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
2554#define ID3D12Device10_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
2555 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
2556#define ID3D12Device10_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
2557 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
2558#define ID3D12Device10_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
2559 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
2560#define ID3D12Device10_CreateConstantBufferView(This,pDesc,DestDescriptor) \
2561 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
2562#define ID3D12Device10_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
2563 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
2564#define ID3D12Device10_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
2565 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
2566#define ID3D12Device10_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
2567 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
2568#define ID3D12Device10_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
2569 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
2570#define ID3D12Device10_CreateSampler(This,pDesc,DestDescriptor) \
2571 ( (This)->CreateSampler(pDesc,DestDescriptor) )
2572#define ID3D12Device10_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
2573 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
2574#define ID3D12Device10_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
2575 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
2576#define ID3D12Device10_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
2577 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
2578#define ID3D12Device10_CreateHeap(This,pDesc,riid,ppvHeap) \
2579 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
2580#define ID3D12Device10_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2581 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2582#define ID3D12Device10_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2583 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2584#define ID3D12Device10_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
2585 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
2586#define ID3D12Device10_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
2587 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
2588#define ID3D12Device10_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
2589 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
2590#define ID3D12Device10_MakeResident(This,NumObjects,ppObjects) \
2591 ( (This)->MakeResident(NumObjects,ppObjects) )
2592#define ID3D12Device10_Evict(This,NumObjects,ppObjects) \
2593 ( (This)->Evict(NumObjects,ppObjects) )
2594#define ID3D12Device10_CreateFence(This,InitialValue,Flags,riid,ppFence) \
2595 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
2596#define ID3D12Device10_GetDeviceRemovedReason(This) \
2597 ( (This)->GetDeviceRemovedReason() )
2598#define ID3D12Device10_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
2599 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
2600#define ID3D12Device10_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
2601 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
2602#define ID3D12Device10_SetStablePowerState(This,Enable) \
2603 ( (This)->SetStablePowerState(Enable) )
2604#define ID3D12Device10_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
2605 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
2606#define ID3D12Device10_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
2607 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
2608#define ID3D12Device10_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
2609 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
2610#define ID3D12Device10_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
2611 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
2612#define ID3D12Device10_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
2613 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
2614#define ID3D12Device10_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
2615 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
2616#define ID3D12Device10_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
2617 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
2618#define ID3D12Device10_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
2619 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
2620#define ID3D12Device10_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
2621 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
2622#define ID3D12Device10_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
2623 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
2624#define ID3D12Device10_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
2625 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
2626#define ID3D12Device10_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
2627 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
2628#define ID3D12Device10_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
2629 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
2630#define ID3D12Device10_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
2631 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
2632#define ID3D12Device10_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
2633 ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) )
2634#define ID3D12Device10_RemoveDevice(This) \
2635 ( (This)->RemoveDevice() )
2636#define ID3D12Device10_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
2637 ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) )
2638#define ID3D12Device10_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
2639 ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
2640#define ID3D12Device10_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
2641 ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
2642#define ID3D12Device10_CreateStateObject(This,pDesc,riid,ppStateObject) \
2643 ( (This)->CreateStateObject(pDesc,riid,ppStateObject) )
2644#define ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
2645 ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) )
2646#define ID3D12Device10_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
2647 ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) )
2648#define ID3D12Device10_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
2649 ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
2650#define ID3D12Device10_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
2651 ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
2652#define ID3D12Device10_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
2653 ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) )
2654#define ID3D12Device10_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
2655 ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
2656#define ID3D12Device10_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2657 ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2658#define ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
2659 ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) )
2660#define ID3D12Device10_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
2661 ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
2662#define ID3D12Device10_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
2663 ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) )
2664#define ID3D12Device10_ShaderCacheControl(This,Kinds,Control) \
2665 ( (This)->ShaderCacheControl(Kinds,Control) )
2666#define ID3D12Device10_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
2667 ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) )
2668#define ID3D12Device10_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
2669 ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
2670#define ID3D12Device10_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
2671 ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
2672#define ID3D12Device10_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
2673 ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
2674#define ID3D12Device11_QueryInterface(This,riid,ppvObject) \
2675 ( (This)->QueryInterface(riid,ppvObject) )
2676#define ID3D12Device11_AddRef(This) \
2677 ( (This)->AddRef() )
2678#define ID3D12Device11_Release(This) \
2679 ( (This)->Release() )
2680#define ID3D12Device11_GetPrivateData(This,guid,pDataSize,pData) \
2681 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2682#define ID3D12Device11_SetPrivateData(This,guid,DataSize,pData) \
2683 ( (This)->SetPrivateData(guid,DataSize,pData) )
2684#define ID3D12Device11_SetPrivateDataInterface(This,guid,pData) \
2685 ( (This)->SetPrivateDataInterface(guid,pData) )
2686#define ID3D12Device11_SetName(This,Name) \
2687 ( (This)->SetName(Name) )
2688#define ID3D12Device11_GetNodeCount(This) \
2689 ( (This)->GetNodeCount() )
2690#define ID3D12Device11_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
2691 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
2692#define ID3D12Device11_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
2693 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
2694#define ID3D12Device11_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
2695 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
2696#define ID3D12Device11_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
2697 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
2698#define ID3D12Device11_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
2699 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
2700#define ID3D12Device11_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
2701 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
2702#define ID3D12Device11_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
2703 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
2704#define ID3D12Device11_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
2705 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
2706#define ID3D12Device11_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
2707 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
2708#define ID3D12Device11_CreateConstantBufferView(This,pDesc,DestDescriptor) \
2709 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
2710#define ID3D12Device11_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
2711 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
2712#define ID3D12Device11_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
2713 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
2714#define ID3D12Device11_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
2715 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
2716#define ID3D12Device11_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
2717 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
2718#define ID3D12Device11_CreateSampler(This,pDesc,DestDescriptor) \
2719 ( (This)->CreateSampler(pDesc,DestDescriptor) )
2720#define ID3D12Device11_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
2721 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
2722#define ID3D12Device11_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
2723 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
2724#define ID3D12Device11_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
2725 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
2726#define ID3D12Device11_CreateHeap(This,pDesc,riid,ppvHeap) \
2727 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
2728#define ID3D12Device11_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2729 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2730#define ID3D12Device11_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2731 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2732#define ID3D12Device11_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
2733 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
2734#define ID3D12Device11_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
2735 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
2736#define ID3D12Device11_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
2737 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
2738#define ID3D12Device11_MakeResident(This,NumObjects,ppObjects) \
2739 ( (This)->MakeResident(NumObjects,ppObjects) )
2740#define ID3D12Device11_Evict(This,NumObjects,ppObjects) \
2741 ( (This)->Evict(NumObjects,ppObjects) )
2742#define ID3D12Device11_CreateFence(This,InitialValue,Flags,riid,ppFence) \
2743 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
2744#define ID3D12Device11_GetDeviceRemovedReason(This) \
2745 ( (This)->GetDeviceRemovedReason() )
2746#define ID3D12Device11_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
2747 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
2748#define ID3D12Device11_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
2749 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
2750#define ID3D12Device11_SetStablePowerState(This,Enable) \
2751 ( (This)->SetStablePowerState(Enable) )
2752#define ID3D12Device11_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
2753 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
2754#define ID3D12Device11_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
2755 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
2756#define ID3D12Device11_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
2757 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
2758#define ID3D12Device11_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
2759 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
2760#define ID3D12Device11_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
2761 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
2762#define ID3D12Device11_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
2763 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
2764#define ID3D12Device11_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
2765 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
2766#define ID3D12Device11_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
2767 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
2768#define ID3D12Device11_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
2769 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
2770#define ID3D12Device11_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
2771 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
2772#define ID3D12Device11_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
2773 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
2774#define ID3D12Device11_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
2775 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
2776#define ID3D12Device11_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
2777 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
2778#define ID3D12Device11_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
2779 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
2780#define ID3D12Device11_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
2781 ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) )
2782#define ID3D12Device11_RemoveDevice(This) \
2783 ( (This)->RemoveDevice() )
2784#define ID3D12Device11_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
2785 ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) )
2786#define ID3D12Device11_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
2787 ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
2788#define ID3D12Device11_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
2789 ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
2790#define ID3D12Device11_CreateStateObject(This,pDesc,riid,ppStateObject) \
2791 ( (This)->CreateStateObject(pDesc,riid,ppStateObject) )
2792#define ID3D12Device11_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
2793 ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) )
2794#define ID3D12Device11_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
2795 ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) )
2796#define ID3D12Device11_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
2797 ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
2798#define ID3D12Device11_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
2799 ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
2800#define ID3D12Device11_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
2801 ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) )
2802#define ID3D12Device11_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
2803 ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
2804#define ID3D12Device11_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2805 ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2806#define ID3D12Device11_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
2807 ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) )
2808#define ID3D12Device11_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
2809 ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
2810#define ID3D12Device11_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
2811 ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) )
2812#define ID3D12Device11_ShaderCacheControl(This,Kinds,Control) \
2813 ( (This)->ShaderCacheControl(Kinds,Control) )
2814#define ID3D12Device11_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
2815 ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) )
2816#define ID3D12Device11_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
2817 ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
2818#define ID3D12Device11_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
2819 ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
2820#define ID3D12Device11_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
2821 ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
2822#define ID3D12Device11_CreateSampler2(This,pDesc,DestDescriptor) \
2823 ( (This)->CreateSampler2(pDesc,DestDescriptor) )
2824#define ID3D12Device12_QueryInterface(This,riid,ppvObject) \
2825 ( (This)->QueryInterface(riid,ppvObject) )
2826#define ID3D12Device12_AddRef(This) \
2827 ( (This)->AddRef() )
2828#define ID3D12Device12_Release(This) \
2829 ( (This)->Release() )
2830#define ID3D12Device12_GetPrivateData(This,guid,pDataSize,pData) \
2831 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2832#define ID3D12Device12_SetPrivateData(This,guid,DataSize,pData) \
2833 ( (This)->SetPrivateData(guid,DataSize,pData) )
2834#define ID3D12Device12_SetPrivateDataInterface(This,guid,pData) \
2835 ( (This)->SetPrivateDataInterface(guid,pData) )
2836#define ID3D12Device12_SetName(This,Name) \
2837 ( (This)->SetName(Name) )
2838#define ID3D12Device12_GetNodeCount(This) \
2839 ( (This)->GetNodeCount() )
2840#define ID3D12Device12_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
2841 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
2842#define ID3D12Device12_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
2843 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
2844#define ID3D12Device12_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
2845 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
2846#define ID3D12Device12_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
2847 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
2848#define ID3D12Device12_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
2849 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
2850#define ID3D12Device12_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
2851 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
2852#define ID3D12Device12_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
2853 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
2854#define ID3D12Device12_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
2855 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
2856#define ID3D12Device12_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
2857 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
2858#define ID3D12Device12_CreateConstantBufferView(This,pDesc,DestDescriptor) \
2859 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
2860#define ID3D12Device12_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
2861 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
2862#define ID3D12Device12_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
2863 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
2864#define ID3D12Device12_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
2865 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
2866#define ID3D12Device12_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
2867 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
2868#define ID3D12Device12_CreateSampler(This,pDesc,DestDescriptor) \
2869 ( (This)->CreateSampler(pDesc,DestDescriptor) )
2870#define ID3D12Device12_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
2871 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
2872#define ID3D12Device12_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
2873 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
2874#define ID3D12Device12_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
2875 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
2876#define ID3D12Device12_CreateHeap(This,pDesc,riid,ppvHeap) \
2877 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
2878#define ID3D12Device12_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2879 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2880#define ID3D12Device12_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2881 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2882#define ID3D12Device12_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
2883 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
2884#define ID3D12Device12_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
2885 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
2886#define ID3D12Device12_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
2887 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
2888#define ID3D12Device12_MakeResident(This,NumObjects,ppObjects) \
2889 ( (This)->MakeResident(NumObjects,ppObjects) )
2890#define ID3D12Device12_Evict(This,NumObjects,ppObjects) \
2891 ( (This)->Evict(NumObjects,ppObjects) )
2892#define ID3D12Device12_CreateFence(This,InitialValue,Flags,riid,ppFence) \
2893 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
2894#define ID3D12Device12_GetDeviceRemovedReason(This) \
2895 ( (This)->GetDeviceRemovedReason() )
2896#define ID3D12Device12_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
2897 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
2898#define ID3D12Device12_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
2899 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
2900#define ID3D12Device12_SetStablePowerState(This,Enable) \
2901 ( (This)->SetStablePowerState(Enable) )
2902#define ID3D12Device12_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
2903 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
2904#define ID3D12Device12_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
2905 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
2906#define ID3D12Device12_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
2907 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
2908#define ID3D12Device12_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
2909 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
2910#define ID3D12Device12_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
2911 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
2912#define ID3D12Device12_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
2913 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
2914#define ID3D12Device12_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
2915 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
2916#define ID3D12Device12_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
2917 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
2918#define ID3D12Device12_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
2919 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
2920#define ID3D12Device12_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
2921 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
2922#define ID3D12Device12_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
2923 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
2924#define ID3D12Device12_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
2925 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
2926#define ID3D12Device12_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
2927 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
2928#define ID3D12Device12_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
2929 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
2930#define ID3D12Device12_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
2931 ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) )
2932#define ID3D12Device12_RemoveDevice(This) \
2933 ( (This)->RemoveDevice() )
2934#define ID3D12Device12_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
2935 ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) )
2936#define ID3D12Device12_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
2937 ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
2938#define ID3D12Device12_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
2939 ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
2940#define ID3D12Device12_CreateStateObject(This,pDesc,riid,ppStateObject) \
2941 ( (This)->CreateStateObject(pDesc,riid,ppStateObject) )
2942#define ID3D12Device12_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
2943 ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) )
2944#define ID3D12Device12_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
2945 ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) )
2946#define ID3D12Device12_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
2947 ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
2948#define ID3D12Device12_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
2949 ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
2950#define ID3D12Device12_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
2951 ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) )
2952#define ID3D12Device12_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
2953 ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
2954#define ID3D12Device12_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
2955 ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
2956#define ID3D12Device12_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
2957 ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) )
2958#define ID3D12Device12_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
2959 ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
2960#define ID3D12Device12_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
2961 ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) )
2962#define ID3D12Device12_ShaderCacheControl(This,Kinds,Control) \
2963 ( (This)->ShaderCacheControl(Kinds,Control) )
2964#define ID3D12Device12_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
2965 ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) )
2966#define ID3D12Device12_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
2967 ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
2968#define ID3D12Device12_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
2969 ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
2970#define ID3D12Device12_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
2971 ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
2972#define ID3D12Device12_CreateSampler2(This,pDesc,DestDescriptor) \
2973 ( (This)->CreateSampler2(pDesc,DestDescriptor) )
2974#define ID3D12Device13_QueryInterface(This,riid,ppvObject) \
2975 ( (This)->QueryInterface(riid,ppvObject) )
2976#define ID3D12Device13_AddRef(This) \
2977 ( (This)->AddRef() )
2978#define ID3D12Device13_Release(This) \
2979 ( (This)->Release() )
2980#define ID3D12Device13_GetPrivateData(This,guid,pDataSize,pData) \
2981 ( (This)->GetPrivateData(guid,pDataSize,pData) )
2982#define ID3D12Device13_SetPrivateData(This,guid,DataSize,pData) \
2983 ( (This)->SetPrivateData(guid,DataSize,pData) )
2984#define ID3D12Device13_SetPrivateDataInterface(This,guid,pData) \
2985 ( (This)->SetPrivateDataInterface(guid,pData) )
2986#define ID3D12Device13_SetName(This,Name) \
2987 ( (This)->SetName(Name) )
2988#define ID3D12Device13_GetNodeCount(This) \
2989 ( (This)->GetNodeCount() )
2990#define ID3D12Device13_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
2991 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
2992#define ID3D12Device13_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
2993 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
2994#define ID3D12Device13_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
2995 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
2996#define ID3D12Device13_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
2997 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
2998#define ID3D12Device13_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
2999 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
3000#define ID3D12Device13_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
3001 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
3002#define ID3D12Device13_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
3003 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
3004#define ID3D12Device13_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
3005 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
3006#define ID3D12Device13_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
3007 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
3008#define ID3D12Device13_CreateConstantBufferView(This,pDesc,DestDescriptor) \
3009 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
3010#define ID3D12Device13_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
3011 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
3012#define ID3D12Device13_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
3013 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
3014#define ID3D12Device13_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
3015 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
3016#define ID3D12Device13_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
3017 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
3018#define ID3D12Device13_CreateSampler(This,pDesc,DestDescriptor) \
3019 ( (This)->CreateSampler(pDesc,DestDescriptor) )
3020#define ID3D12Device13_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
3021 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
3022#define ID3D12Device13_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
3023 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
3024#define ID3D12Device13_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
3025 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
3026#define ID3D12Device13_CreateHeap(This,pDesc,riid,ppvHeap) \
3027 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
3028#define ID3D12Device13_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
3029 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
3030#define ID3D12Device13_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
3031 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
3032#define ID3D12Device13_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
3033 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
3034#define ID3D12Device13_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
3035 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
3036#define ID3D12Device13_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
3037 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
3038#define ID3D12Device13_MakeResident(This,NumObjects,ppObjects) \
3039 ( (This)->MakeResident(NumObjects,ppObjects) )
3040#define ID3D12Device13_Evict(This,NumObjects,ppObjects) \
3041 ( (This)->Evict(NumObjects,ppObjects) )
3042#define ID3D12Device13_CreateFence(This,InitialValue,Flags,riid,ppFence) \
3043 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
3044#define ID3D12Device13_GetDeviceRemovedReason(This) \
3045 ( (This)->GetDeviceRemovedReason() )
3046#define ID3D12Device13_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
3047 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
3048#define ID3D12Device13_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
3049 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
3050#define ID3D12Device13_SetStablePowerState(This,Enable) \
3051 ( (This)->SetStablePowerState(Enable) )
3052#define ID3D12Device13_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
3053 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
3054#define ID3D12Device13_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
3055 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
3056#define ID3D12Device13_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
3057 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
3058#define ID3D12Device13_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
3059 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
3060#define ID3D12Device13_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
3061 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
3062#define ID3D12Device13_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
3063 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
3064#define ID3D12Device13_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
3065 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
3066#define ID3D12Device13_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
3067 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
3068#define ID3D12Device13_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
3069 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
3070#define ID3D12Device13_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
3071 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
3072#define ID3D12Device13_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
3073 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
3074#define ID3D12Device13_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
3075 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
3076#define ID3D12Device13_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
3077 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
3078#define ID3D12Device13_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
3079 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
3080#define ID3D12Device13_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
3081 ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) )
3082#define ID3D12Device13_RemoveDevice(This) \
3083 ( (This)->RemoveDevice() )
3084#define ID3D12Device13_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
3085 ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) )
3086#define ID3D12Device13_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
3087 ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
3088#define ID3D12Device13_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
3089 ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
3090#define ID3D12Device13_CreateStateObject(This,pDesc,riid,ppStateObject) \
3091 ( (This)->CreateStateObject(pDesc,riid,ppStateObject) )
3092#define ID3D12Device13_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
3093 ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) )
3094#define ID3D12Device13_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
3095 ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) )
3096#define ID3D12Device13_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
3097 ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
3098#define ID3D12Device13_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
3099 ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
3100#define ID3D12Device13_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
3101 ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) )
3102#define ID3D12Device13_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
3103 ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
3104#define ID3D12Device13_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
3105 ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
3106#define ID3D12Device13_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
3107 ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) )
3108#define ID3D12Device13_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
3109 ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
3110#define ID3D12Device13_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
3111 ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) )
3112#define ID3D12Device13_ShaderCacheControl(This,Kinds,Control) \
3113 ( (This)->ShaderCacheControl(Kinds,Control) )
3114#define ID3D12Device13_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
3115 ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) )
3116#define ID3D12Device13_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
3117 ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
3118#define ID3D12Device13_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
3119 ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
3120#define ID3D12Device13_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
3121 ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
3122#define ID3D12Device13_CreateSampler2(This,pDesc,DestDescriptor) \
3123 ( (This)->CreateSampler2(pDesc,DestDescriptor) )
3124#define ID3D12Device13_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \
3125 ( (This)->OpenExistingHeapFromAddress1(pAddress,size,riid,ppvHeap) )
3126#define ID3D12Device14_QueryInterface(This,riid,ppvObject) \
3127 ( (This)->QueryInterface(riid,ppvObject) )
3128#define ID3D12Device14_AddRef(This) \
3129 ( (This)->AddRef() )
3130#define ID3D12Device14_Release(This) \
3131 ( (This)->Release() )
3132#define ID3D12Device14_GetPrivateData(This,guid,pDataSize,pData) \
3133 ( (This)->GetPrivateData(guid,pDataSize,pData) )
3134#define ID3D12Device14_SetPrivateData(This,guid,DataSize,pData) \
3135 ( (This)->SetPrivateData(guid,DataSize,pData) )
3136#define ID3D12Device14_SetPrivateDataInterface(This,guid,pData) \
3137 ( (This)->SetPrivateDataInterface(guid,pData) )
3138#define ID3D12Device14_SetName(This,Name) \
3139 ( (This)->SetName(Name) )
3140#define ID3D12Device14_GetNodeCount(This) \
3141 ( (This)->GetNodeCount() )
3142#define ID3D12Device14_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
3143 ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) )
3144#define ID3D12Device14_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
3145 ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) )
3146#define ID3D12Device14_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
3147 ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) )
3148#define ID3D12Device14_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
3149 ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) )
3150#define ID3D12Device14_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
3151 ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
3152#define ID3D12Device14_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
3153 ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) )
3154#define ID3D12Device14_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
3155 ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) )
3156#define ID3D12Device14_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
3157 ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) )
3158#define ID3D12Device14_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
3159 ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
3160#define ID3D12Device14_CreateConstantBufferView(This,pDesc,DestDescriptor) \
3161 ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) )
3162#define ID3D12Device14_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
3163 ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) )
3164#define ID3D12Device14_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
3165 ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) )
3166#define ID3D12Device14_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
3167 ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) )
3168#define ID3D12Device14_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
3169 ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) )
3170#define ID3D12Device14_CreateSampler(This,pDesc,DestDescriptor) \
3171 ( (This)->CreateSampler(pDesc,DestDescriptor) )
3172#define ID3D12Device14_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
3173 ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
3174#define ID3D12Device14_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
3175 ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
3176#define ID3D12Device14_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
3177 ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
3178#define ID3D12Device14_CreateHeap(This,pDesc,riid,ppvHeap) \
3179 ( (This)->CreateHeap(pDesc,riid,ppvHeap) )
3180#define ID3D12Device14_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
3181 ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
3182#define ID3D12Device14_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
3183 ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
3184#define ID3D12Device14_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
3185 ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) )
3186#define ID3D12Device14_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
3187 ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) )
3188#define ID3D12Device14_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
3189 ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) )
3190#define ID3D12Device14_MakeResident(This,NumObjects,ppObjects) \
3191 ( (This)->MakeResident(NumObjects,ppObjects) )
3192#define ID3D12Device14_Evict(This,NumObjects,ppObjects) \
3193 ( (This)->Evict(NumObjects,ppObjects) )
3194#define ID3D12Device14_CreateFence(This,InitialValue,Flags,riid,ppFence) \
3195 ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) )
3196#define ID3D12Device14_GetDeviceRemovedReason(This) \
3197 ( (This)->GetDeviceRemovedReason() )
3198#define ID3D12Device14_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
3199 ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
3200#define ID3D12Device14_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
3201 ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) )
3202#define ID3D12Device14_SetStablePowerState(This,Enable) \
3203 ( (This)->SetStablePowerState(Enable) )
3204#define ID3D12Device14_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
3205 ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) )
3206#define ID3D12Device14_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
3207 ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
3208#define ID3D12Device14_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
3209 ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
3210#define ID3D12Device14_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
3211 ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) )
3212#define ID3D12Device14_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
3213 ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) )
3214#define ID3D12Device14_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
3215 ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) )
3216#define ID3D12Device14_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
3217 ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) )
3218#define ID3D12Device14_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
3219 ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) )
3220#define ID3D12Device14_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
3221 ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
3222#define ID3D12Device14_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
3223 ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) )
3224#define ID3D12Device14_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
3225 ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) )
3226#define ID3D12Device14_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
3227 ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
3228#define ID3D12Device14_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
3229 ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) )
3230#define ID3D12Device14_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
3231 ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
3232#define ID3D12Device14_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
3233 ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) )
3234#define ID3D12Device14_RemoveDevice(This) \
3235 ( (This)->RemoveDevice() )
3236#define ID3D12Device14_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
3237 ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) )
3238#define ID3D12Device14_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
3239 ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
3240#define ID3D12Device14_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
3241 ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
3242#define ID3D12Device14_CreateStateObject(This,pDesc,riid,ppStateObject) \
3243 ( (This)->CreateStateObject(pDesc,riid,ppStateObject) )
3244#define ID3D12Device14_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
3245 ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) )
3246#define ID3D12Device14_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
3247 ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) )
3248#define ID3D12Device14_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
3249 ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
3250#define ID3D12Device14_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
3251 ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
3252#define ID3D12Device14_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
3253 ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) )
3254#define ID3D12Device14_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
3255 ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
3256#define ID3D12Device14_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
3257 ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
3258#define ID3D12Device14_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
3259 ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) )
3260#define ID3D12Device14_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
3261 ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
3262#define ID3D12Device14_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
3263 ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) )
3264#define ID3D12Device14_ShaderCacheControl(This,Kinds,Control) \
3265 ( (This)->ShaderCacheControl(Kinds,Control) )
3266#define ID3D12Device14_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
3267 ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) )
3268#define ID3D12Device14_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
3269 ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
3270#define ID3D12Device14_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
3271 ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
3272#define ID3D12Device14_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
3273 ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
3274#define ID3D12Device14_CreateSampler2(This,pDesc,DestDescriptor) \
3275 ( (This)->CreateSampler2(pDesc,DestDescriptor) )
3276#define ID3D12Device14_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \
3277 ( (This)->OpenExistingHeapFromAddress1(pAddress,size,riid,ppvHeap) )
3278#define ID3D12Device14_CreateRootSignatureFromSubobjectInLibrary(This,nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) \
3279 ( (This)->CreateRootSignatureFromSubobjectInLibrary(nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) )
3280#define ID3D12VirtualizationGuestDevice_QueryInterface(This,riid,ppvObject) \
3281 ( (This)->QueryInterface(riid,ppvObject) )
3282#define ID3D12VirtualizationGuestDevice_AddRef(This) \
3283 ( (This)->AddRef() )
3284#define ID3D12VirtualizationGuestDevice_Release(This) \
3285 ( (This)->Release() )
3286#define ID3D12VirtualizationGuestDevice_ShareWithHost(This,pObject,pHandle) \
3287 ( (This)->ShareWithHost(pObject,pHandle) )
3288#define ID3D12VirtualizationGuestDevice_CreateFenceFd(This,pFence,FenceValue,pFenceFd) \
3289 ( (This)->CreateFenceFd(pFence,FenceValue,pFenceFd) )
3290#define ID3D12Tools_QueryInterface(This,riid,ppvObject) \
3291 ( (This)->QueryInterface(riid,ppvObject) )
3292#define ID3D12Tools_AddRef(This) \
3293 ( (This)->AddRef() )
3294#define ID3D12Tools_Release(This) \
3295 ( (This)->Release() )
3296#define ID3D12Tools_EnableShaderInstrumentation(This,bEnable) \
3297 ( (This)->EnableShaderInstrumentation(bEnable) )
3298#define ID3D12Tools_ShaderInstrumentationEnabled(This) \
3299 ( (This)->ShaderInstrumentationEnabled() )
3300#define ID3D12SDKConfiguration_QueryInterface(This,riid,ppvObject) \
3301 ( (This)->QueryInterface(riid,ppvObject) )
3302#define ID3D12SDKConfiguration_AddRef(This) \
3303 ( (This)->AddRef() )
3304#define ID3D12SDKConfiguration_Release(This) \
3305 ( (This)->Release() )
3306#define ID3D12SDKConfiguration_SetSDKVersion(This,SDKVersion,SDKPath) \
3307 ( (This)->SetSDKVersion(SDKVersion,SDKPath) )
3308#define ID3D12SDKConfiguration1_QueryInterface(This,riid,ppvObject) \
3309 ( (This)->QueryInterface(riid,ppvObject) )
3310#define ID3D12SDKConfiguration1_AddRef(This) \
3311 ( (This)->AddRef() )
3312#define ID3D12SDKConfiguration1_Release(This) \
3313 ( (This)->Release() )
3314#define ID3D12SDKConfiguration1_SetSDKVersion(This,SDKVersion,SDKPath) \
3315 ( (This)->SetSDKVersion(SDKVersion,SDKPath) )
3316#define ID3D12SDKConfiguration1_CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory) \
3317 ( (This)->CreateDeviceFactory(SDKVersion,SDKPath,riid,ppvFactory) )
3318#define ID3D12SDKConfiguration1_FreeUnusedSDKs(This) \
3319 ( (This)->FreeUnusedSDKs() )
3320#define ID3D12DeviceFactory_QueryInterface(This,riid,ppvObject) \
3321 ( (This)->QueryInterface(riid,ppvObject) )
3322#define ID3D12DeviceFactory_AddRef(This) \
3323 ( (This)->AddRef() )
3324#define ID3D12DeviceFactory_Release(This) \
3325 ( (This)->Release() )
3326#define ID3D12DeviceFactory_InitializeFromGlobalState(This) \
3327 ( (This)->InitializeFromGlobalState() )
3328#define ID3D12DeviceFactory_ApplyToGlobalState(This) \
3329 ( (This)->ApplyToGlobalState() )
3330#define ID3D12DeviceFactory_SetFlags(This,flags) \
3331 ( (This)->SetFlags(flags) )
3332#define ID3D12DeviceFactory_GetFlags(This) \
3333 ( (This)->GetFlags() )
3334#define ID3D12DeviceFactory_GetConfigurationInterface(This,clsid,iid,ppv) \
3335 ( (This)->GetConfigurationInterface(clsid,iid,ppv) )
3336#define ID3D12DeviceFactory_EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) \
3337 ( (This)->EnableExperimentalFeatures(NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) )
3338#define ID3D12DeviceFactory_CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice) \
3339 ( (This)->CreateDevice(adapter,FeatureLevel,riid,ppvDevice) )
3340#define ID3D12DeviceConfiguration_QueryInterface(This,riid,ppvObject) \
3341 ( (This)->QueryInterface(riid,ppvObject) )
3342#define ID3D12DeviceConfiguration_AddRef(This) \
3343 ( (This)->AddRef() )
3344#define ID3D12DeviceConfiguration_Release(This) \
3345 ( (This)->Release() )
3346#define ID3D12DeviceConfiguration_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \
3347 ( (This)->GetEnabledExperimentalFeatures(pGuids,NumGuids) )
3348#define ID3D12DeviceConfiguration_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \
3349 ( (This)->SerializeVersionedRootSignature(pDesc,ppResult,ppError) )
3350#define ID3D12DeviceConfiguration_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \
3351 ( (This)->CreateVersionedRootSignatureDeserializer(pBlob,Size,riid,ppvDeserializer) )
3352#define ID3D12DeviceConfiguration1_QueryInterface(This,riid,ppvObject) \
3353 ( (This)->QueryInterface(riid,ppvObject) )
3354#define ID3D12DeviceConfiguration1_AddRef(This) \
3355 ( (This)->AddRef() )
3356#define ID3D12DeviceConfiguration1_Release(This) \
3357 ( (This)->Release() )
3358#define ID3D12DeviceConfiguration1_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \
3359 ( (This)->GetEnabledExperimentalFeatures(pGuids,NumGuids) )
3360#define ID3D12DeviceConfiguration1_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \
3361 ( (This)->SerializeVersionedRootSignature(pDesc,ppResult,ppError) )
3362#define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \
3363 ( (This)->CreateVersionedRootSignatureDeserializer(pBlob,Size,riid,ppvDeserializer) )
3364#define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(This,pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) \
3365 ( (This)->CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) )
3366#define ID3D12GraphicsCommandList5_QueryInterface(This,riid,ppvObject) \
3367 ( (This)->QueryInterface(riid,ppvObject) )
3368#define ID3D12GraphicsCommandList5_AddRef(This) \
3369 ( (This)->AddRef() )
3370#define ID3D12GraphicsCommandList5_Release(This) \
3371 ( (This)->Release() )
3372#define ID3D12GraphicsCommandList5_GetPrivateData(This,guid,pDataSize,pData) \
3373 ( (This)->GetPrivateData(guid,pDataSize,pData) )
3374#define ID3D12GraphicsCommandList5_SetPrivateData(This,guid,DataSize,pData) \
3375 ( (This)->SetPrivateData(guid,DataSize,pData) )
3376#define ID3D12GraphicsCommandList5_SetPrivateDataInterface(This,guid,pData) \
3377 ( (This)->SetPrivateDataInterface(guid,pData) )
3378#define ID3D12GraphicsCommandList5_SetName(This,Name) \
3379 ( (This)->SetName(Name) )
3380#define ID3D12GraphicsCommandList5_GetDevice(This,riid,ppvDevice) \
3381 ( (This)->GetDevice(riid,ppvDevice) )
3382#define ID3D12GraphicsCommandList5_GetType(This) \
3383 ( (This)->GetType() )
3384#define ID3D12GraphicsCommandList5_Close(This) \
3385 ( (This)->Close() )
3386#define ID3D12GraphicsCommandList5_Reset(This,pAllocator,pInitialState) \
3387 ( (This)->Reset(pAllocator,pInitialState) )
3388#define ID3D12GraphicsCommandList5_ClearState(This,pPipelineState) \
3389 ( (This)->ClearState(pPipelineState) )
3390#define ID3D12GraphicsCommandList5_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
3391 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
3392#define ID3D12GraphicsCommandList5_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
3393 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
3394#define ID3D12GraphicsCommandList5_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
3395 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
3396#define ID3D12GraphicsCommandList5_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
3397 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
3398#define ID3D12GraphicsCommandList5_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
3399 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
3400#define ID3D12GraphicsCommandList5_CopyResource(This,pDstResource,pSrcResource) \
3401 ( (This)->CopyResource(pDstResource,pSrcResource) )
3402#define ID3D12GraphicsCommandList5_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
3403 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
3404#define ID3D12GraphicsCommandList5_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
3405 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
3406#define ID3D12GraphicsCommandList5_IASetPrimitiveTopology(This,PrimitiveTopology) \
3407 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
3408#define ID3D12GraphicsCommandList5_RSSetViewports(This,NumViewports,pViewports) \
3409 ( (This)->RSSetViewports(NumViewports,pViewports) )
3410#define ID3D12GraphicsCommandList5_RSSetScissorRects(This,NumRects,pRects) \
3411 ( (This)->RSSetScissorRects(NumRects,pRects) )
3412#define ID3D12GraphicsCommandList5_OMSetBlendFactor(This,BlendFactor) \
3413 ( (This)->OMSetBlendFactor(BlendFactor) )
3414#define ID3D12GraphicsCommandList5_OMSetStencilRef(This,StencilRef) \
3415 ( (This)->OMSetStencilRef(StencilRef) )
3416#define ID3D12GraphicsCommandList5_SetPipelineState(This,pPipelineState) \
3417 ( (This)->SetPipelineState(pPipelineState) )
3418#define ID3D12GraphicsCommandList5_ResourceBarrier(This,NumBarriers,pBarriers) \
3419 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
3420#define ID3D12GraphicsCommandList5_ExecuteBundle(This,pCommandList) \
3421 ( (This)->ExecuteBundle(pCommandList) )
3422#define ID3D12GraphicsCommandList5_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
3423 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
3424#define ID3D12GraphicsCommandList5_SetComputeRootSignature(This,pRootSignature) \
3425 ( (This)->SetComputeRootSignature(pRootSignature) )
3426#define ID3D12GraphicsCommandList5_SetGraphicsRootSignature(This,pRootSignature) \
3427 ( (This)->SetGraphicsRootSignature(pRootSignature) )
3428#define ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
3429 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
3430#define ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
3431 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
3432#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
3433 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
3434#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
3435 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
3436#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
3437 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
3438#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
3439 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
3440#define ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
3441 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
3442#define ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
3443 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
3444#define ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
3445 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
3446#define ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
3447 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
3448#define ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
3449 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
3450#define ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
3451 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
3452#define ID3D12GraphicsCommandList5_IASetIndexBuffer(This,pView) \
3453 ( (This)->IASetIndexBuffer(pView) )
3454#define ID3D12GraphicsCommandList5_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
3455 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
3456#define ID3D12GraphicsCommandList5_SOSetTargets(This,StartSlot,NumViews,pViews) \
3457 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
3458#define ID3D12GraphicsCommandList5_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
3459 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
3460#define ID3D12GraphicsCommandList5_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
3461 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
3462#define ID3D12GraphicsCommandList5_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
3463 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
3464#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
3465 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
3466#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
3467 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
3468#define ID3D12GraphicsCommandList5_DiscardResource(This,pResource,pRegion) \
3469 ( (This)->DiscardResource(pResource,pRegion) )
3470#define ID3D12GraphicsCommandList5_BeginQuery(This,pQueryHeap,Type,Index) \
3471 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
3472#define ID3D12GraphicsCommandList5_EndQuery(This,pQueryHeap,Type,Index) \
3473 ( (This)->EndQuery(pQueryHeap,Type,Index) )
3474#define ID3D12GraphicsCommandList5_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
3475 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
3476#define ID3D12GraphicsCommandList5_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
3477 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
3478#define ID3D12GraphicsCommandList5_SetMarker(This,Metadata,pData,Size) \
3479 ( (This)->SetMarker(Metadata,pData,Size) )
3480#define ID3D12GraphicsCommandList5_BeginEvent(This,Metadata,pData,Size) \
3481 ( (This)->BeginEvent(Metadata,pData,Size) )
3482#define ID3D12GraphicsCommandList5_EndEvent(This) \
3483 ( (This)->EndEvent() )
3484#define ID3D12GraphicsCommandList5_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
3485 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
3486#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
3487 ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
3488#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
3489 ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
3490#define ID3D12GraphicsCommandList5_OMSetDepthBounds(This,Min,Max) \
3491 ( (This)->OMSetDepthBounds(Min,Max) )
3492#define ID3D12GraphicsCommandList5_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
3493 ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) )
3494#define ID3D12GraphicsCommandList5_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
3495 ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
3496#define ID3D12GraphicsCommandList5_SetViewInstanceMask(This,Mask) \
3497 ( (This)->SetViewInstanceMask(Mask) )
3498#define ID3D12GraphicsCommandList5_WriteBufferImmediate(This,Count,pParams,pModes) \
3499 ( (This)->WriteBufferImmediate(Count,pParams,pModes) )
3500#define ID3D12GraphicsCommandList5_SetProtectedResourceSession(This,pProtectedResourceSession) \
3501 ( (This)->SetProtectedResourceSession(pProtectedResourceSession) )
3502#define ID3D12GraphicsCommandList5_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
3503 ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
3504#define ID3D12GraphicsCommandList5_EndRenderPass(This) \
3505 ( (This)->EndRenderPass() )
3506#define ID3D12GraphicsCommandList5_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
3507 ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
3508#define ID3D12GraphicsCommandList5_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
3509 ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
3510#define ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
3511 ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
3512#define ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
3513 ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
3514#define ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
3515 ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
3516#define ID3D12GraphicsCommandList5_SetPipelineState1(This,pStateObject) \
3517 ( (This)->SetPipelineState1(pStateObject) )
3518#define ID3D12GraphicsCommandList5_DispatchRays(This,pDesc) \
3519 ( (This)->DispatchRays(pDesc) )
3520#define ID3D12GraphicsCommandList5_RSSetShadingRate(This,baseShadingRate,combiners) \
3521 ( (This)->RSSetShadingRate(baseShadingRate,combiners) )
3522#define ID3D12GraphicsCommandList5_RSSetShadingRateImage(This,shadingRateImage) \
3523 ( (This)->RSSetShadingRateImage(shadingRateImage) )
3524#define ID3D12GraphicsCommandList6_QueryInterface(This,riid,ppvObject) \
3525 ( (This)->QueryInterface(riid,ppvObject) )
3526#define ID3D12GraphicsCommandList6_AddRef(This) \
3527 ( (This)->AddRef() )
3528#define ID3D12GraphicsCommandList6_Release(This) \
3529 ( (This)->Release() )
3530#define ID3D12GraphicsCommandList6_GetPrivateData(This,guid,pDataSize,pData) \
3531 ( (This)->GetPrivateData(guid,pDataSize,pData) )
3532#define ID3D12GraphicsCommandList6_SetPrivateData(This,guid,DataSize,pData) \
3533 ( (This)->SetPrivateData(guid,DataSize,pData) )
3534#define ID3D12GraphicsCommandList6_SetPrivateDataInterface(This,guid,pData) \
3535 ( (This)->SetPrivateDataInterface(guid,pData) )
3536#define ID3D12GraphicsCommandList6_SetName(This,Name) \
3537 ( (This)->SetName(Name) )
3538#define ID3D12GraphicsCommandList6_GetDevice(This,riid,ppvDevice) \
3539 ( (This)->GetDevice(riid,ppvDevice) )
3540#define ID3D12GraphicsCommandList6_GetType(This) \
3541 ( (This)->GetType() )
3542#define ID3D12GraphicsCommandList6_Close(This) \
3543 ( (This)->Close() )
3544#define ID3D12GraphicsCommandList6_Reset(This,pAllocator,pInitialState) \
3545 ( (This)->Reset(pAllocator,pInitialState) )
3546#define ID3D12GraphicsCommandList6_ClearState(This,pPipelineState) \
3547 ( (This)->ClearState(pPipelineState) )
3548#define ID3D12GraphicsCommandList6_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
3549 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
3550#define ID3D12GraphicsCommandList6_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
3551 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
3552#define ID3D12GraphicsCommandList6_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
3553 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
3554#define ID3D12GraphicsCommandList6_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
3555 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
3556#define ID3D12GraphicsCommandList6_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
3557 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
3558#define ID3D12GraphicsCommandList6_CopyResource(This,pDstResource,pSrcResource) \
3559 ( (This)->CopyResource(pDstResource,pSrcResource) )
3560#define ID3D12GraphicsCommandList6_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
3561 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
3562#define ID3D12GraphicsCommandList6_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
3563 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
3564#define ID3D12GraphicsCommandList6_IASetPrimitiveTopology(This,PrimitiveTopology) \
3565 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
3566#define ID3D12GraphicsCommandList6_RSSetViewports(This,NumViewports,pViewports) \
3567 ( (This)->RSSetViewports(NumViewports,pViewports) )
3568#define ID3D12GraphicsCommandList6_RSSetScissorRects(This,NumRects,pRects) \
3569 ( (This)->RSSetScissorRects(NumRects,pRects) )
3570#define ID3D12GraphicsCommandList6_OMSetBlendFactor(This,BlendFactor) \
3571 ( (This)->OMSetBlendFactor(BlendFactor) )
3572#define ID3D12GraphicsCommandList6_OMSetStencilRef(This,StencilRef) \
3573 ( (This)->OMSetStencilRef(StencilRef) )
3574#define ID3D12GraphicsCommandList6_SetPipelineState(This,pPipelineState) \
3575 ( (This)->SetPipelineState(pPipelineState) )
3576#define ID3D12GraphicsCommandList6_ResourceBarrier(This,NumBarriers,pBarriers) \
3577 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
3578#define ID3D12GraphicsCommandList6_ExecuteBundle(This,pCommandList) \
3579 ( (This)->ExecuteBundle(pCommandList) )
3580#define ID3D12GraphicsCommandList6_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
3581 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
3582#define ID3D12GraphicsCommandList6_SetComputeRootSignature(This,pRootSignature) \
3583 ( (This)->SetComputeRootSignature(pRootSignature) )
3584#define ID3D12GraphicsCommandList6_SetGraphicsRootSignature(This,pRootSignature) \
3585 ( (This)->SetGraphicsRootSignature(pRootSignature) )
3586#define ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
3587 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
3588#define ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
3589 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
3590#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
3591 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
3592#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
3593 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
3594#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
3595 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
3596#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
3597 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
3598#define ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
3599 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
3600#define ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
3601 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
3602#define ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
3603 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
3604#define ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
3605 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
3606#define ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
3607 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
3608#define ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
3609 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
3610#define ID3D12GraphicsCommandList6_IASetIndexBuffer(This,pView) \
3611 ( (This)->IASetIndexBuffer(pView) )
3612#define ID3D12GraphicsCommandList6_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
3613 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
3614#define ID3D12GraphicsCommandList6_SOSetTargets(This,StartSlot,NumViews,pViews) \
3615 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
3616#define ID3D12GraphicsCommandList6_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
3617 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
3618#define ID3D12GraphicsCommandList6_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
3619 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
3620#define ID3D12GraphicsCommandList6_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
3621 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
3622#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
3623 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
3624#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
3625 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
3626#define ID3D12GraphicsCommandList6_DiscardResource(This,pResource,pRegion) \
3627 ( (This)->DiscardResource(pResource,pRegion) )
3628#define ID3D12GraphicsCommandList6_BeginQuery(This,pQueryHeap,Type,Index) \
3629 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
3630#define ID3D12GraphicsCommandList6_EndQuery(This,pQueryHeap,Type,Index) \
3631 ( (This)->EndQuery(pQueryHeap,Type,Index) )
3632#define ID3D12GraphicsCommandList6_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
3633 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
3634#define ID3D12GraphicsCommandList6_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
3635 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
3636#define ID3D12GraphicsCommandList6_SetMarker(This,Metadata,pData,Size) \
3637 ( (This)->SetMarker(Metadata,pData,Size) )
3638#define ID3D12GraphicsCommandList6_BeginEvent(This,Metadata,pData,Size) \
3639 ( (This)->BeginEvent(Metadata,pData,Size) )
3640#define ID3D12GraphicsCommandList6_EndEvent(This) \
3641 ( (This)->EndEvent() )
3642#define ID3D12GraphicsCommandList6_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
3643 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
3644#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
3645 ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
3646#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
3647 ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
3648#define ID3D12GraphicsCommandList6_OMSetDepthBounds(This,Min,Max) \
3649 ( (This)->OMSetDepthBounds(Min,Max) )
3650#define ID3D12GraphicsCommandList6_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
3651 ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) )
3652#define ID3D12GraphicsCommandList6_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
3653 ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
3654#define ID3D12GraphicsCommandList6_SetViewInstanceMask(This,Mask) \
3655 ( (This)->SetViewInstanceMask(Mask) )
3656#define ID3D12GraphicsCommandList6_WriteBufferImmediate(This,Count,pParams,pModes) \
3657 ( (This)->WriteBufferImmediate(Count,pParams,pModes) )
3658#define ID3D12GraphicsCommandList6_SetProtectedResourceSession(This,pProtectedResourceSession) \
3659 ( (This)->SetProtectedResourceSession(pProtectedResourceSession) )
3660#define ID3D12GraphicsCommandList6_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
3661 ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
3662#define ID3D12GraphicsCommandList6_EndRenderPass(This) \
3663 ( (This)->EndRenderPass() )
3664#define ID3D12GraphicsCommandList6_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
3665 ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
3666#define ID3D12GraphicsCommandList6_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
3667 ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
3668#define ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
3669 ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
3670#define ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
3671 ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
3672#define ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
3673 ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
3674#define ID3D12GraphicsCommandList6_SetPipelineState1(This,pStateObject) \
3675 ( (This)->SetPipelineState1(pStateObject) )
3676#define ID3D12GraphicsCommandList6_DispatchRays(This,pDesc) \
3677 ( (This)->DispatchRays(pDesc) )
3678#define ID3D12GraphicsCommandList6_RSSetShadingRate(This,baseShadingRate,combiners) \
3679 ( (This)->RSSetShadingRate(baseShadingRate,combiners) )
3680#define ID3D12GraphicsCommandList6_RSSetShadingRateImage(This,shadingRateImage) \
3681 ( (This)->RSSetShadingRateImage(shadingRateImage) )
3682#define ID3D12GraphicsCommandList6_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
3683 ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
3684#define ID3D12GraphicsCommandList7_QueryInterface(This,riid,ppvObject) \
3685 ( (This)->QueryInterface(riid,ppvObject) )
3686#define ID3D12GraphicsCommandList7_AddRef(This) \
3687 ( (This)->AddRef() )
3688#define ID3D12GraphicsCommandList7_Release(This) \
3689 ( (This)->Release() )
3690#define ID3D12GraphicsCommandList7_GetPrivateData(This,guid,pDataSize,pData) \
3691 ( (This)->GetPrivateData(guid,pDataSize,pData) )
3692#define ID3D12GraphicsCommandList7_SetPrivateData(This,guid,DataSize,pData) \
3693 ( (This)->SetPrivateData(guid,DataSize,pData) )
3694#define ID3D12GraphicsCommandList7_SetPrivateDataInterface(This,guid,pData) \
3695 ( (This)->SetPrivateDataInterface(guid,pData) )
3696#define ID3D12GraphicsCommandList7_SetName(This,Name) \
3697 ( (This)->SetName(Name) )
3698#define ID3D12GraphicsCommandList7_GetDevice(This,riid,ppvDevice) \
3699 ( (This)->GetDevice(riid,ppvDevice) )
3700#define ID3D12GraphicsCommandList7_GetType(This) \
3701 ( (This)->GetType() )
3702#define ID3D12GraphicsCommandList7_Close(This) \
3703 ( (This)->Close() )
3704#define ID3D12GraphicsCommandList7_Reset(This,pAllocator,pInitialState) \
3705 ( (This)->Reset(pAllocator,pInitialState) )
3706#define ID3D12GraphicsCommandList7_ClearState(This,pPipelineState) \
3707 ( (This)->ClearState(pPipelineState) )
3708#define ID3D12GraphicsCommandList7_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
3709 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
3710#define ID3D12GraphicsCommandList7_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
3711 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
3712#define ID3D12GraphicsCommandList7_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
3713 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
3714#define ID3D12GraphicsCommandList7_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
3715 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
3716#define ID3D12GraphicsCommandList7_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
3717 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
3718#define ID3D12GraphicsCommandList7_CopyResource(This,pDstResource,pSrcResource) \
3719 ( (This)->CopyResource(pDstResource,pSrcResource) )
3720#define ID3D12GraphicsCommandList7_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
3721 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
3722#define ID3D12GraphicsCommandList7_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
3723 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
3724#define ID3D12GraphicsCommandList7_IASetPrimitiveTopology(This,PrimitiveTopology) \
3725 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
3726#define ID3D12GraphicsCommandList7_RSSetViewports(This,NumViewports,pViewports) \
3727 ( (This)->RSSetViewports(NumViewports,pViewports) )
3728#define ID3D12GraphicsCommandList7_RSSetScissorRects(This,NumRects,pRects) \
3729 ( (This)->RSSetScissorRects(NumRects,pRects) )
3730#define ID3D12GraphicsCommandList7_OMSetBlendFactor(This,BlendFactor) \
3731 ( (This)->OMSetBlendFactor(BlendFactor) )
3732#define ID3D12GraphicsCommandList7_OMSetStencilRef(This,StencilRef) \
3733 ( (This)->OMSetStencilRef(StencilRef) )
3734#define ID3D12GraphicsCommandList7_SetPipelineState(This,pPipelineState) \
3735 ( (This)->SetPipelineState(pPipelineState) )
3736#define ID3D12GraphicsCommandList7_ResourceBarrier(This,NumBarriers,pBarriers) \
3737 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
3738#define ID3D12GraphicsCommandList7_ExecuteBundle(This,pCommandList) \
3739 ( (This)->ExecuteBundle(pCommandList) )
3740#define ID3D12GraphicsCommandList7_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
3741 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
3742#define ID3D12GraphicsCommandList7_SetComputeRootSignature(This,pRootSignature) \
3743 ( (This)->SetComputeRootSignature(pRootSignature) )
3744#define ID3D12GraphicsCommandList7_SetGraphicsRootSignature(This,pRootSignature) \
3745 ( (This)->SetGraphicsRootSignature(pRootSignature) )
3746#define ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
3747 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
3748#define ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
3749 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
3750#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
3751 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
3752#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
3753 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
3754#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
3755 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
3756#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
3757 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
3758#define ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
3759 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
3760#define ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
3761 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
3762#define ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
3763 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
3764#define ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
3765 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
3766#define ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
3767 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
3768#define ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
3769 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
3770#define ID3D12GraphicsCommandList7_IASetIndexBuffer(This,pView) \
3771 ( (This)->IASetIndexBuffer(pView) )
3772#define ID3D12GraphicsCommandList7_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
3773 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
3774#define ID3D12GraphicsCommandList7_SOSetTargets(This,StartSlot,NumViews,pViews) \
3775 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
3776#define ID3D12GraphicsCommandList7_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
3777 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
3778#define ID3D12GraphicsCommandList7_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
3779 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
3780#define ID3D12GraphicsCommandList7_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
3781 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
3782#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
3783 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
3784#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
3785 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
3786#define ID3D12GraphicsCommandList7_DiscardResource(This,pResource,pRegion) \
3787 ( (This)->DiscardResource(pResource,pRegion) )
3788#define ID3D12GraphicsCommandList7_BeginQuery(This,pQueryHeap,Type,Index) \
3789 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
3790#define ID3D12GraphicsCommandList7_EndQuery(This,pQueryHeap,Type,Index) \
3791 ( (This)->EndQuery(pQueryHeap,Type,Index) )
3792#define ID3D12GraphicsCommandList7_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
3793 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
3794#define ID3D12GraphicsCommandList7_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
3795 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
3796#define ID3D12GraphicsCommandList7_SetMarker(This,Metadata,pData,Size) \
3797 ( (This)->SetMarker(Metadata,pData,Size) )
3798#define ID3D12GraphicsCommandList7_BeginEvent(This,Metadata,pData,Size) \
3799 ( (This)->BeginEvent(Metadata,pData,Size) )
3800#define ID3D12GraphicsCommandList7_EndEvent(This) \
3801 ( (This)->EndEvent() )
3802#define ID3D12GraphicsCommandList7_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
3803 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
3804#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
3805 ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
3806#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
3807 ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
3808#define ID3D12GraphicsCommandList7_OMSetDepthBounds(This,Min,Max) \
3809 ( (This)->OMSetDepthBounds(Min,Max) )
3810#define ID3D12GraphicsCommandList7_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
3811 ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) )
3812#define ID3D12GraphicsCommandList7_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
3813 ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
3814#define ID3D12GraphicsCommandList7_SetViewInstanceMask(This,Mask) \
3815 ( (This)->SetViewInstanceMask(Mask) )
3816#define ID3D12GraphicsCommandList7_WriteBufferImmediate(This,Count,pParams,pModes) \
3817 ( (This)->WriteBufferImmediate(Count,pParams,pModes) )
3818#define ID3D12GraphicsCommandList7_SetProtectedResourceSession(This,pProtectedResourceSession) \
3819 ( (This)->SetProtectedResourceSession(pProtectedResourceSession) )
3820#define ID3D12GraphicsCommandList7_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
3821 ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
3822#define ID3D12GraphicsCommandList7_EndRenderPass(This) \
3823 ( (This)->EndRenderPass() )
3824#define ID3D12GraphicsCommandList7_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
3825 ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
3826#define ID3D12GraphicsCommandList7_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
3827 ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
3828#define ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
3829 ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
3830#define ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
3831 ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
3832#define ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
3833 ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
3834#define ID3D12GraphicsCommandList7_SetPipelineState1(This,pStateObject) \
3835 ( (This)->SetPipelineState1(pStateObject) )
3836#define ID3D12GraphicsCommandList7_DispatchRays(This,pDesc) \
3837 ( (This)->DispatchRays(pDesc) )
3838#define ID3D12GraphicsCommandList7_RSSetShadingRate(This,baseShadingRate,combiners) \
3839 ( (This)->RSSetShadingRate(baseShadingRate,combiners) )
3840#define ID3D12GraphicsCommandList7_RSSetShadingRateImage(This,shadingRateImage) \
3841 ( (This)->RSSetShadingRateImage(shadingRateImage) )
3842#define ID3D12GraphicsCommandList7_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
3843 ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
3844#define ID3D12GraphicsCommandList7_Barrier(This,NumBarrierGroups,pBarrierGroups) \
3845 ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) )
3846#define ID3D12GraphicsCommandList8_QueryInterface(This,riid,ppvObject) \
3847 ( (This)->QueryInterface(riid,ppvObject) )
3848#define ID3D12GraphicsCommandList8_AddRef(This) \
3849 ( (This)->AddRef() )
3850#define ID3D12GraphicsCommandList8_Release(This) \
3851 ( (This)->Release() )
3852#define ID3D12GraphicsCommandList8_GetPrivateData(This,guid,pDataSize,pData) \
3853 ( (This)->GetPrivateData(guid,pDataSize,pData) )
3854#define ID3D12GraphicsCommandList8_SetPrivateData(This,guid,DataSize,pData) \
3855 ( (This)->SetPrivateData(guid,DataSize,pData) )
3856#define ID3D12GraphicsCommandList8_SetPrivateDataInterface(This,guid,pData) \
3857 ( (This)->SetPrivateDataInterface(guid,pData) )
3858#define ID3D12GraphicsCommandList8_SetName(This,Name) \
3859 ( (This)->SetName(Name) )
3860#define ID3D12GraphicsCommandList8_GetDevice(This,riid,ppvDevice) \
3861 ( (This)->GetDevice(riid,ppvDevice) )
3862#define ID3D12GraphicsCommandList8_GetType(This) \
3863 ( (This)->GetType() )
3864#define ID3D12GraphicsCommandList8_Close(This) \
3865 ( (This)->Close() )
3866#define ID3D12GraphicsCommandList8_Reset(This,pAllocator,pInitialState) \
3867 ( (This)->Reset(pAllocator,pInitialState) )
3868#define ID3D12GraphicsCommandList8_ClearState(This,pPipelineState) \
3869 ( (This)->ClearState(pPipelineState) )
3870#define ID3D12GraphicsCommandList8_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
3871 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
3872#define ID3D12GraphicsCommandList8_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
3873 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
3874#define ID3D12GraphicsCommandList8_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
3875 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
3876#define ID3D12GraphicsCommandList8_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
3877 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
3878#define ID3D12GraphicsCommandList8_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
3879 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
3880#define ID3D12GraphicsCommandList8_CopyResource(This,pDstResource,pSrcResource) \
3881 ( (This)->CopyResource(pDstResource,pSrcResource) )
3882#define ID3D12GraphicsCommandList8_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
3883 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
3884#define ID3D12GraphicsCommandList8_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
3885 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
3886#define ID3D12GraphicsCommandList8_IASetPrimitiveTopology(This,PrimitiveTopology) \
3887 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
3888#define ID3D12GraphicsCommandList8_RSSetViewports(This,NumViewports,pViewports) \
3889 ( (This)->RSSetViewports(NumViewports,pViewports) )
3890#define ID3D12GraphicsCommandList8_RSSetScissorRects(This,NumRects,pRects) \
3891 ( (This)->RSSetScissorRects(NumRects,pRects) )
3892#define ID3D12GraphicsCommandList8_OMSetBlendFactor(This,BlendFactor) \
3893 ( (This)->OMSetBlendFactor(BlendFactor) )
3894#define ID3D12GraphicsCommandList8_OMSetStencilRef(This,StencilRef) \
3895 ( (This)->OMSetStencilRef(StencilRef) )
3896#define ID3D12GraphicsCommandList8_SetPipelineState(This,pPipelineState) \
3897 ( (This)->SetPipelineState(pPipelineState) )
3898#define ID3D12GraphicsCommandList8_ResourceBarrier(This,NumBarriers,pBarriers) \
3899 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
3900#define ID3D12GraphicsCommandList8_ExecuteBundle(This,pCommandList) \
3901 ( (This)->ExecuteBundle(pCommandList) )
3902#define ID3D12GraphicsCommandList8_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
3903 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
3904#define ID3D12GraphicsCommandList8_SetComputeRootSignature(This,pRootSignature) \
3905 ( (This)->SetComputeRootSignature(pRootSignature) )
3906#define ID3D12GraphicsCommandList8_SetGraphicsRootSignature(This,pRootSignature) \
3907 ( (This)->SetGraphicsRootSignature(pRootSignature) )
3908#define ID3D12GraphicsCommandList8_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
3909 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
3910#define ID3D12GraphicsCommandList8_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
3911 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
3912#define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
3913 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
3914#define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
3915 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
3916#define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
3917 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
3918#define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
3919 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
3920#define ID3D12GraphicsCommandList8_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
3921 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
3922#define ID3D12GraphicsCommandList8_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
3923 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
3924#define ID3D12GraphicsCommandList8_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
3925 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
3926#define ID3D12GraphicsCommandList8_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
3927 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
3928#define ID3D12GraphicsCommandList8_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
3929 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
3930#define ID3D12GraphicsCommandList8_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
3931 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
3932#define ID3D12GraphicsCommandList8_IASetIndexBuffer(This,pView) \
3933 ( (This)->IASetIndexBuffer(pView) )
3934#define ID3D12GraphicsCommandList8_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
3935 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
3936#define ID3D12GraphicsCommandList8_SOSetTargets(This,StartSlot,NumViews,pViews) \
3937 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
3938#define ID3D12GraphicsCommandList8_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
3939 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
3940#define ID3D12GraphicsCommandList8_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
3941 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
3942#define ID3D12GraphicsCommandList8_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
3943 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
3944#define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
3945 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
3946#define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
3947 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
3948#define ID3D12GraphicsCommandList8_DiscardResource(This,pResource,pRegion) \
3949 ( (This)->DiscardResource(pResource,pRegion) )
3950#define ID3D12GraphicsCommandList8_BeginQuery(This,pQueryHeap,Type,Index) \
3951 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
3952#define ID3D12GraphicsCommandList8_EndQuery(This,pQueryHeap,Type,Index) \
3953 ( (This)->EndQuery(pQueryHeap,Type,Index) )
3954#define ID3D12GraphicsCommandList8_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
3955 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
3956#define ID3D12GraphicsCommandList8_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
3957 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
3958#define ID3D12GraphicsCommandList8_SetMarker(This,Metadata,pData,Size) \
3959 ( (This)->SetMarker(Metadata,pData,Size) )
3960#define ID3D12GraphicsCommandList8_BeginEvent(This,Metadata,pData,Size) \
3961 ( (This)->BeginEvent(Metadata,pData,Size) )
3962#define ID3D12GraphicsCommandList8_EndEvent(This) \
3963 ( (This)->EndEvent() )
3964#define ID3D12GraphicsCommandList8_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
3965 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
3966#define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
3967 ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
3968#define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
3969 ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
3970#define ID3D12GraphicsCommandList8_OMSetDepthBounds(This,Min,Max) \
3971 ( (This)->OMSetDepthBounds(Min,Max) )
3972#define ID3D12GraphicsCommandList8_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
3973 ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) )
3974#define ID3D12GraphicsCommandList8_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
3975 ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
3976#define ID3D12GraphicsCommandList8_SetViewInstanceMask(This,Mask) \
3977 ( (This)->SetViewInstanceMask(Mask) )
3978#define ID3D12GraphicsCommandList8_WriteBufferImmediate(This,Count,pParams,pModes) \
3979 ( (This)->WriteBufferImmediate(Count,pParams,pModes) )
3980#define ID3D12GraphicsCommandList8_SetProtectedResourceSession(This,pProtectedResourceSession) \
3981 ( (This)->SetProtectedResourceSession(pProtectedResourceSession) )
3982#define ID3D12GraphicsCommandList8_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
3983 ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
3984#define ID3D12GraphicsCommandList8_EndRenderPass(This) \
3985 ( (This)->EndRenderPass() )
3986#define ID3D12GraphicsCommandList8_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
3987 ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
3988#define ID3D12GraphicsCommandList8_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
3989 ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
3990#define ID3D12GraphicsCommandList8_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
3991 ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
3992#define ID3D12GraphicsCommandList8_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
3993 ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
3994#define ID3D12GraphicsCommandList8_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
3995 ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
3996#define ID3D12GraphicsCommandList8_SetPipelineState1(This,pStateObject) \
3997 ( (This)->SetPipelineState1(pStateObject) )
3998#define ID3D12GraphicsCommandList8_DispatchRays(This,pDesc) \
3999 ( (This)->DispatchRays(pDesc) )
4000#define ID3D12GraphicsCommandList8_RSSetShadingRate(This,baseShadingRate,combiners) \
4001 ( (This)->RSSetShadingRate(baseShadingRate,combiners) )
4002#define ID3D12GraphicsCommandList8_RSSetShadingRateImage(This,shadingRateImage) \
4003 ( (This)->RSSetShadingRateImage(shadingRateImage) )
4004#define ID3D12GraphicsCommandList8_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
4005 ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
4006#define ID3D12GraphicsCommandList8_Barrier(This,NumBarrierGroups,pBarrierGroups) \
4007 ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) )
4008#define ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
4009 ( (This)->OMSetFrontAndBackStencilRef(FrontStencilRef,BackStencilRef) )
4010#define ID3D12GraphicsCommandList9_QueryInterface(This,riid,ppvObject) \
4011 ( (This)->QueryInterface(riid,ppvObject) )
4012#define ID3D12GraphicsCommandList9_AddRef(This) \
4013 ( (This)->AddRef() )
4014#define ID3D12GraphicsCommandList9_Release(This) \
4015 ( (This)->Release() )
4016#define ID3D12GraphicsCommandList9_GetPrivateData(This,guid,pDataSize,pData) \
4017 ( (This)->GetPrivateData(guid,pDataSize,pData) )
4018#define ID3D12GraphicsCommandList9_SetPrivateData(This,guid,DataSize,pData) \
4019 ( (This)->SetPrivateData(guid,DataSize,pData) )
4020#define ID3D12GraphicsCommandList9_SetPrivateDataInterface(This,guid,pData) \
4021 ( (This)->SetPrivateDataInterface(guid,pData) )
4022#define ID3D12GraphicsCommandList9_SetName(This,Name) \
4023 ( (This)->SetName(Name) )
4024#define ID3D12GraphicsCommandList9_GetDevice(This,riid,ppvDevice) \
4025 ( (This)->GetDevice(riid,ppvDevice) )
4026#define ID3D12GraphicsCommandList9_GetType(This) \
4027 ( (This)->GetType() )
4028#define ID3D12GraphicsCommandList9_Close(This) \
4029 ( (This)->Close() )
4030#define ID3D12GraphicsCommandList9_Reset(This,pAllocator,pInitialState) \
4031 ( (This)->Reset(pAllocator,pInitialState) )
4032#define ID3D12GraphicsCommandList9_ClearState(This,pPipelineState) \
4033 ( (This)->ClearState(pPipelineState) )
4034#define ID3D12GraphicsCommandList9_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
4035 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
4036#define ID3D12GraphicsCommandList9_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
4037 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
4038#define ID3D12GraphicsCommandList9_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
4039 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
4040#define ID3D12GraphicsCommandList9_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
4041 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
4042#define ID3D12GraphicsCommandList9_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
4043 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
4044#define ID3D12GraphicsCommandList9_CopyResource(This,pDstResource,pSrcResource) \
4045 ( (This)->CopyResource(pDstResource,pSrcResource) )
4046#define ID3D12GraphicsCommandList9_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
4047 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
4048#define ID3D12GraphicsCommandList9_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
4049 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
4050#define ID3D12GraphicsCommandList9_IASetPrimitiveTopology(This,PrimitiveTopology) \
4051 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
4052#define ID3D12GraphicsCommandList9_RSSetViewports(This,NumViewports,pViewports) \
4053 ( (This)->RSSetViewports(NumViewports,pViewports) )
4054#define ID3D12GraphicsCommandList9_RSSetScissorRects(This,NumRects,pRects) \
4055 ( (This)->RSSetScissorRects(NumRects,pRects) )
4056#define ID3D12GraphicsCommandList9_OMSetBlendFactor(This,BlendFactor) \
4057 ( (This)->OMSetBlendFactor(BlendFactor) )
4058#define ID3D12GraphicsCommandList9_OMSetStencilRef(This,StencilRef) \
4059 ( (This)->OMSetStencilRef(StencilRef) )
4060#define ID3D12GraphicsCommandList9_SetPipelineState(This,pPipelineState) \
4061 ( (This)->SetPipelineState(pPipelineState) )
4062#define ID3D12GraphicsCommandList9_ResourceBarrier(This,NumBarriers,pBarriers) \
4063 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
4064#define ID3D12GraphicsCommandList9_ExecuteBundle(This,pCommandList) \
4065 ( (This)->ExecuteBundle(pCommandList) )
4066#define ID3D12GraphicsCommandList9_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
4067 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
4068#define ID3D12GraphicsCommandList9_SetComputeRootSignature(This,pRootSignature) \
4069 ( (This)->SetComputeRootSignature(pRootSignature) )
4070#define ID3D12GraphicsCommandList9_SetGraphicsRootSignature(This,pRootSignature) \
4071 ( (This)->SetGraphicsRootSignature(pRootSignature) )
4072#define ID3D12GraphicsCommandList9_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
4073 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
4074#define ID3D12GraphicsCommandList9_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
4075 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
4076#define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
4077 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
4078#define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
4079 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
4080#define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
4081 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
4082#define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
4083 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
4084#define ID3D12GraphicsCommandList9_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
4085 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
4086#define ID3D12GraphicsCommandList9_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
4087 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
4088#define ID3D12GraphicsCommandList9_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
4089 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
4090#define ID3D12GraphicsCommandList9_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
4091 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
4092#define ID3D12GraphicsCommandList9_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
4093 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
4094#define ID3D12GraphicsCommandList9_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
4095 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
4096#define ID3D12GraphicsCommandList9_IASetIndexBuffer(This,pView) \
4097 ( (This)->IASetIndexBuffer(pView) )
4098#define ID3D12GraphicsCommandList9_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
4099 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
4100#define ID3D12GraphicsCommandList9_SOSetTargets(This,StartSlot,NumViews,pViews) \
4101 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
4102#define ID3D12GraphicsCommandList9_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
4103 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
4104#define ID3D12GraphicsCommandList9_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
4105 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
4106#define ID3D12GraphicsCommandList9_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
4107 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
4108#define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
4109 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
4110#define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
4111 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
4112#define ID3D12GraphicsCommandList9_DiscardResource(This,pResource,pRegion) \
4113 ( (This)->DiscardResource(pResource,pRegion) )
4114#define ID3D12GraphicsCommandList9_BeginQuery(This,pQueryHeap,Type,Index) \
4115 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
4116#define ID3D12GraphicsCommandList9_EndQuery(This,pQueryHeap,Type,Index) \
4117 ( (This)->EndQuery(pQueryHeap,Type,Index) )
4118#define ID3D12GraphicsCommandList9_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
4119 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
4120#define ID3D12GraphicsCommandList9_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
4121 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
4122#define ID3D12GraphicsCommandList9_SetMarker(This,Metadata,pData,Size) \
4123 ( (This)->SetMarker(Metadata,pData,Size) )
4124#define ID3D12GraphicsCommandList9_BeginEvent(This,Metadata,pData,Size) \
4125 ( (This)->BeginEvent(Metadata,pData,Size) )
4126#define ID3D12GraphicsCommandList9_EndEvent(This) \
4127 ( (This)->EndEvent() )
4128#define ID3D12GraphicsCommandList9_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
4129 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
4130#define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
4131 ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
4132#define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
4133 ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
4134#define ID3D12GraphicsCommandList9_OMSetDepthBounds(This,Min,Max) \
4135 ( (This)->OMSetDepthBounds(Min,Max) )
4136#define ID3D12GraphicsCommandList9_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
4137 ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) )
4138#define ID3D12GraphicsCommandList9_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
4139 ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
4140#define ID3D12GraphicsCommandList9_SetViewInstanceMask(This,Mask) \
4141 ( (This)->SetViewInstanceMask(Mask) )
4142#define ID3D12GraphicsCommandList9_WriteBufferImmediate(This,Count,pParams,pModes) \
4143 ( (This)->WriteBufferImmediate(Count,pParams,pModes) )
4144#define ID3D12GraphicsCommandList9_SetProtectedResourceSession(This,pProtectedResourceSession) \
4145 ( (This)->SetProtectedResourceSession(pProtectedResourceSession) )
4146#define ID3D12GraphicsCommandList9_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
4147 ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
4148#define ID3D12GraphicsCommandList9_EndRenderPass(This) \
4149 ( (This)->EndRenderPass() )
4150#define ID3D12GraphicsCommandList9_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
4151 ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
4152#define ID3D12GraphicsCommandList9_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
4153 ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
4154#define ID3D12GraphicsCommandList9_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
4155 ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
4156#define ID3D12GraphicsCommandList9_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
4157 ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
4158#define ID3D12GraphicsCommandList9_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
4159 ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
4160#define ID3D12GraphicsCommandList9_SetPipelineState1(This,pStateObject) \
4161 ( (This)->SetPipelineState1(pStateObject) )
4162#define ID3D12GraphicsCommandList9_DispatchRays(This,pDesc) \
4163 ( (This)->DispatchRays(pDesc) )
4164#define ID3D12GraphicsCommandList9_RSSetShadingRate(This,baseShadingRate,combiners) \
4165 ( (This)->RSSetShadingRate(baseShadingRate,combiners) )
4166#define ID3D12GraphicsCommandList9_RSSetShadingRateImage(This,shadingRateImage) \
4167 ( (This)->RSSetShadingRateImage(shadingRateImage) )
4168#define ID3D12GraphicsCommandList9_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
4169 ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
4170#define ID3D12GraphicsCommandList9_Barrier(This,NumBarrierGroups,pBarrierGroups) \
4171 ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) )
4172#define ID3D12GraphicsCommandList9_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
4173 ( (This)->OMSetFrontAndBackStencilRef(FrontStencilRef,BackStencilRef) )
4174#define ID3D12GraphicsCommandList9_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \
4175 ( (This)->RSSetDepthBias(DepthBias,DepthBiasClamp,SlopeScaledDepthBias) )
4176#define ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue(This,IBStripCutValue) \
4177 ( (This)->IASetIndexBufferStripCutValue(IBStripCutValue) )
4178#define ID3D12GraphicsCommandList10_QueryInterface(This,riid,ppvObject) \
4179 ( (This)->QueryInterface(riid,ppvObject) )
4180#define ID3D12GraphicsCommandList10_AddRef(This) \
4181 ( (This)->AddRef() )
4182#define ID3D12GraphicsCommandList10_Release(This) \
4183 ( (This)->Release() )
4184#define ID3D12GraphicsCommandList10_GetPrivateData(This,guid,pDataSize,pData) \
4185 ( (This)->GetPrivateData(guid,pDataSize,pData) )
4186#define ID3D12GraphicsCommandList10_SetPrivateData(This,guid,DataSize,pData) \
4187 ( (This)->SetPrivateData(guid,DataSize,pData) )
4188#define ID3D12GraphicsCommandList10_SetPrivateDataInterface(This,guid,pData) \
4189 ( (This)->SetPrivateDataInterface(guid,pData) )
4190#define ID3D12GraphicsCommandList10_SetName(This,Name) \
4191 ( (This)->SetName(Name) )
4192#define ID3D12GraphicsCommandList10_GetDevice(This,riid,ppvDevice) \
4193 ( (This)->GetDevice(riid,ppvDevice) )
4194#define ID3D12GraphicsCommandList10_GetType(This) \
4195 ( (This)->GetType() )
4196#define ID3D12GraphicsCommandList10_Close(This) \
4197 ( (This)->Close() )
4198#define ID3D12GraphicsCommandList10_Reset(This,pAllocator,pInitialState) \
4199 ( (This)->Reset(pAllocator,pInitialState) )
4200#define ID3D12GraphicsCommandList10_ClearState(This,pPipelineState) \
4201 ( (This)->ClearState(pPipelineState) )
4202#define ID3D12GraphicsCommandList10_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
4203 ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
4204#define ID3D12GraphicsCommandList10_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
4205 ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
4206#define ID3D12GraphicsCommandList10_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
4207 ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
4208#define ID3D12GraphicsCommandList10_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
4209 ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
4210#define ID3D12GraphicsCommandList10_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
4211 ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
4212#define ID3D12GraphicsCommandList10_CopyResource(This,pDstResource,pSrcResource) \
4213 ( (This)->CopyResource(pDstResource,pSrcResource) )
4214#define ID3D12GraphicsCommandList10_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
4215 ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
4216#define ID3D12GraphicsCommandList10_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
4217 ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
4218#define ID3D12GraphicsCommandList10_IASetPrimitiveTopology(This,PrimitiveTopology) \
4219 ( (This)->IASetPrimitiveTopology(PrimitiveTopology) )
4220#define ID3D12GraphicsCommandList10_RSSetViewports(This,NumViewports,pViewports) \
4221 ( (This)->RSSetViewports(NumViewports,pViewports) )
4222#define ID3D12GraphicsCommandList10_RSSetScissorRects(This,NumRects,pRects) \
4223 ( (This)->RSSetScissorRects(NumRects,pRects) )
4224#define ID3D12GraphicsCommandList10_OMSetBlendFactor(This,BlendFactor) \
4225 ( (This)->OMSetBlendFactor(BlendFactor) )
4226#define ID3D12GraphicsCommandList10_OMSetStencilRef(This,StencilRef) \
4227 ( (This)->OMSetStencilRef(StencilRef) )
4228#define ID3D12GraphicsCommandList10_SetPipelineState(This,pPipelineState) \
4229 ( (This)->SetPipelineState(pPipelineState) )
4230#define ID3D12GraphicsCommandList10_ResourceBarrier(This,NumBarriers,pBarriers) \
4231 ( (This)->ResourceBarrier(NumBarriers,pBarriers) )
4232#define ID3D12GraphicsCommandList10_ExecuteBundle(This,pCommandList) \
4233 ( (This)->ExecuteBundle(pCommandList) )
4234#define ID3D12GraphicsCommandList10_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
4235 ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) )
4236#define ID3D12GraphicsCommandList10_SetComputeRootSignature(This,pRootSignature) \
4237 ( (This)->SetComputeRootSignature(pRootSignature) )
4238#define ID3D12GraphicsCommandList10_SetGraphicsRootSignature(This,pRootSignature) \
4239 ( (This)->SetGraphicsRootSignature(pRootSignature) )
4240#define ID3D12GraphicsCommandList10_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
4241 ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
4242#define ID3D12GraphicsCommandList10_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
4243 ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) )
4244#define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
4245 ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
4246#define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
4247 ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
4248#define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
4249 ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
4250#define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
4251 ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
4252#define ID3D12GraphicsCommandList10_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
4253 ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) )
4254#define ID3D12GraphicsCommandList10_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
4255 ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) )
4256#define ID3D12GraphicsCommandList10_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
4257 ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) )
4258#define ID3D12GraphicsCommandList10_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
4259 ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) )
4260#define ID3D12GraphicsCommandList10_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
4261 ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
4262#define ID3D12GraphicsCommandList10_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
4263 ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) )
4264#define ID3D12GraphicsCommandList10_IASetIndexBuffer(This,pView) \
4265 ( (This)->IASetIndexBuffer(pView) )
4266#define ID3D12GraphicsCommandList10_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
4267 ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) )
4268#define ID3D12GraphicsCommandList10_SOSetTargets(This,StartSlot,NumViews,pViews) \
4269 ( (This)->SOSetTargets(StartSlot,NumViews,pViews) )
4270#define ID3D12GraphicsCommandList10_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
4271 ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
4272#define ID3D12GraphicsCommandList10_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
4273 ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
4274#define ID3D12GraphicsCommandList10_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
4275 ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) )
4276#define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
4277 ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
4278#define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
4279 ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
4280#define ID3D12GraphicsCommandList10_DiscardResource(This,pResource,pRegion) \
4281 ( (This)->DiscardResource(pResource,pRegion) )
4282#define ID3D12GraphicsCommandList10_BeginQuery(This,pQueryHeap,Type,Index) \
4283 ( (This)->BeginQuery(pQueryHeap,Type,Index) )
4284#define ID3D12GraphicsCommandList10_EndQuery(This,pQueryHeap,Type,Index) \
4285 ( (This)->EndQuery(pQueryHeap,Type,Index) )
4286#define ID3D12GraphicsCommandList10_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
4287 ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
4288#define ID3D12GraphicsCommandList10_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
4289 ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) )
4290#define ID3D12GraphicsCommandList10_SetMarker(This,Metadata,pData,Size) \
4291 ( (This)->SetMarker(Metadata,pData,Size) )
4292#define ID3D12GraphicsCommandList10_BeginEvent(This,Metadata,pData,Size) \
4293 ( (This)->BeginEvent(Metadata,pData,Size) )
4294#define ID3D12GraphicsCommandList10_EndEvent(This) \
4295 ( (This)->EndEvent() )
4296#define ID3D12GraphicsCommandList10_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
4297 ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
4298#define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
4299 ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
4300#define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
4301 ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
4302#define ID3D12GraphicsCommandList10_OMSetDepthBounds(This,Min,Max) \
4303 ( (This)->OMSetDepthBounds(Min,Max) )
4304#define ID3D12GraphicsCommandList10_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
4305 ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) )
4306#define ID3D12GraphicsCommandList10_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
4307 ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
4308#define ID3D12GraphicsCommandList10_SetViewInstanceMask(This,Mask) \
4309 ( (This)->SetViewInstanceMask(Mask) )
4310#define ID3D12GraphicsCommandList10_WriteBufferImmediate(This,Count,pParams,pModes) \
4311 ( (This)->WriteBufferImmediate(Count,pParams,pModes) )
4312#define ID3D12GraphicsCommandList10_SetProtectedResourceSession(This,pProtectedResourceSession) \
4313 ( (This)->SetProtectedResourceSession(pProtectedResourceSession) )
4314#define ID3D12GraphicsCommandList10_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
4315 ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
4316#define ID3D12GraphicsCommandList10_EndRenderPass(This) \
4317 ( (This)->EndRenderPass() )
4318#define ID3D12GraphicsCommandList10_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
4319 ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
4320#define ID3D12GraphicsCommandList10_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
4321 ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
4322#define ID3D12GraphicsCommandList10_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
4323 ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
4324#define ID3D12GraphicsCommandList10_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
4325 ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
4326#define ID3D12GraphicsCommandList10_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
4327 ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
4328#define ID3D12GraphicsCommandList10_SetPipelineState1(This,pStateObject) \
4329 ( (This)->SetPipelineState1(pStateObject) )
4330#define ID3D12GraphicsCommandList10_DispatchRays(This,pDesc) \
4331 ( (This)->DispatchRays(pDesc) )
4332#define ID3D12GraphicsCommandList10_RSSetShadingRate(This,baseShadingRate,combiners) \
4333 ( (This)->RSSetShadingRate(baseShadingRate,combiners) )
4334#define ID3D12GraphicsCommandList10_RSSetShadingRateImage(This,shadingRateImage) \
4335 ( (This)->RSSetShadingRateImage(shadingRateImage) )
4336#define ID3D12GraphicsCommandList10_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
4337 ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
4338#define ID3D12GraphicsCommandList10_Barrier(This,NumBarrierGroups,pBarrierGroups) \
4339 ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) )
4340#define ID3D12GraphicsCommandList10_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
4341 ( (This)->OMSetFrontAndBackStencilRef(FrontStencilRef,BackStencilRef) )
4342#define ID3D12GraphicsCommandList10_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \
4343 ( (This)->RSSetDepthBias(DepthBias,DepthBiasClamp,SlopeScaledDepthBias) )
4344#define ID3D12GraphicsCommandList10_IASetIndexBufferStripCutValue(This,IBStripCutValue) \
4345 ( (This)->IASetIndexBufferStripCutValue(IBStripCutValue) )
4346#define ID3D12GraphicsCommandList10_SetProgram(This,pDesc) \
4347 ( (This)->SetProgram(pDesc) )
4348#define ID3D12GraphicsCommandList10_DispatchGraph(This,pDesc) \
4349 ( (This)->DispatchGraph(pDesc) )
4350#define ID3D12GBVDiagnostics_QueryInterface(This,riid,ppvObject) \
4351 ( (This)->QueryInterface(riid,ppvObject) )
4352#define ID3D12GBVDiagnostics_AddRef(This) \
4353 ( (This)->AddRef() )
4354#define ID3D12GBVDiagnostics_Release(This) \
4355 ( (This)->Release() )
4356#define ID3D12GBVDiagnostics_GetGBVEntireSubresourceStatesData(This,pResource,pData,DataSize) \
4357 ( (This)->GetGBVEntireSubresourceStatesData(pResource,pData,DataSize) )
4358#define ID3D12GBVDiagnostics_GetGBVSubresourceState(This,pResource,Subresource,pData) \
4359 ( (This)->GetGBVSubresourceState(pResource,Subresource,pData) )
4360#define ID3D12GBVDiagnostics_GetGBVResourceUniformState(This,pResource,pData) \
4361 ( (This)->GetGBVResourceUniformState(pResource,pData) )
4362#define ID3D12GBVDiagnostics_GetGBVResourceInfo(This,pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) \
4363 ( (This)->GetGBVResourceInfo(pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) )
4364#define ID3D12GBVDiagnostics_GBVReserved0(This) \
4365 ( (This)->GBVReserved0() )
4366#define ID3D12GBVDiagnostics_GBVReserved1(This) \
4367 ( (This)->GBVReserved1() )
4368#define ID3D12Debug_QueryInterface(This,riid,ppvObject) \
4369 ( (This)->QueryInterface(riid,ppvObject) )
4370#define ID3D12Debug_AddRef(This) \
4371 ( (This)->AddRef() )
4372#define ID3D12Debug_Release(This) \
4373 ( (This)->Release() )
4374#define ID3D12Debug_EnableDebugLayer(This) \
4375 ( (This)->EnableDebugLayer() )
4376#define ID3D12Debug1_QueryInterface(This,riid,ppvObject) \
4377 ( (This)->QueryInterface(riid,ppvObject) )
4378#define ID3D12Debug1_AddRef(This) \
4379 ( (This)->AddRef() )
4380#define ID3D12Debug1_Release(This) \
4381 ( (This)->Release() )
4382#define ID3D12Debug1_EnableDebugLayer(This) \
4383 ( (This)->EnableDebugLayer() )
4384#define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable) \
4385 ( (This)->SetEnableGPUBasedValidation(Enable) )
4386#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
4387 ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) )
4388#define ID3D12Debug2_QueryInterface(This,riid,ppvObject) \
4389 ( (This)->QueryInterface(riid,ppvObject) )
4390#define ID3D12Debug2_AddRef(This) \
4391 ( (This)->AddRef() )
4392#define ID3D12Debug2_Release(This) \
4393 ( (This)->Release() )
4394#define ID3D12Debug2_SetGPUBasedValidationFlags(This,Flags) \
4395 ( (This)->SetGPUBasedValidationFlags(Flags) )
4396#define ID3D12Debug3_QueryInterface(This,riid,ppvObject) \
4397 ( (This)->QueryInterface(riid,ppvObject) )
4398#define ID3D12Debug3_AddRef(This) \
4399 ( (This)->AddRef() )
4400#define ID3D12Debug3_Release(This) \
4401 ( (This)->Release() )
4402#define ID3D12Debug3_EnableDebugLayer(This) \
4403 ( (This)->EnableDebugLayer() )
4404#define ID3D12Debug3_SetEnableGPUBasedValidation(This,Enable) \
4405 ( (This)->SetEnableGPUBasedValidation(Enable) )
4406#define ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
4407 ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) )
4408#define ID3D12Debug3_SetGPUBasedValidationFlags(This,Flags) \
4409 ( (This)->SetGPUBasedValidationFlags(Flags) )
4410#define ID3D12Debug4_QueryInterface(This,riid,ppvObject) \
4411 ( (This)->QueryInterface(riid,ppvObject) )
4412#define ID3D12Debug4_AddRef(This) \
4413 ( (This)->AddRef() )
4414#define ID3D12Debug4_Release(This) \
4415 ( (This)->Release() )
4416#define ID3D12Debug4_EnableDebugLayer(This) \
4417 ( (This)->EnableDebugLayer() )
4418#define ID3D12Debug4_SetEnableGPUBasedValidation(This,Enable) \
4419 ( (This)->SetEnableGPUBasedValidation(Enable) )
4420#define ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
4421 ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) )
4422#define ID3D12Debug4_SetGPUBasedValidationFlags(This,Flags) \
4423 ( (This)->SetGPUBasedValidationFlags(Flags) )
4424#define ID3D12Debug4_DisableDebugLayer(This) \
4425 ( (This)->DisableDebugLayer() )
4426#define ID3D12Debug5_QueryInterface(This,riid,ppvObject) \
4427 ( (This)->QueryInterface(riid,ppvObject) )
4428#define ID3D12Debug5_AddRef(This) \
4429 ( (This)->AddRef() )
4430#define ID3D12Debug5_Release(This) \
4431 ( (This)->Release() )
4432#define ID3D12Debug5_EnableDebugLayer(This) \
4433 ( (This)->EnableDebugLayer() )
4434#define ID3D12Debug5_SetEnableGPUBasedValidation(This,Enable) \
4435 ( (This)->SetEnableGPUBasedValidation(Enable) )
4436#define ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
4437 ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) )
4438#define ID3D12Debug5_SetGPUBasedValidationFlags(This,Flags) \
4439 ( (This)->SetGPUBasedValidationFlags(Flags) )
4440#define ID3D12Debug5_DisableDebugLayer(This) \
4441 ( (This)->DisableDebugLayer() )
4442#define ID3D12Debug5_SetEnableAutoName(This,Enable) \
4443 ( (This)->SetEnableAutoName(Enable) )
4444#define ID3D12Debug6_QueryInterface(This,riid,ppvObject) \
4445 ( (This)->QueryInterface(riid,ppvObject) )
4446#define ID3D12Debug6_AddRef(This) \
4447 ( (This)->AddRef() )
4448#define ID3D12Debug6_Release(This) \
4449 ( (This)->Release() )
4450#define ID3D12Debug6_EnableDebugLayer(This) \
4451 ( (This)->EnableDebugLayer() )
4452#define ID3D12Debug6_SetEnableGPUBasedValidation(This,Enable) \
4453 ( (This)->SetEnableGPUBasedValidation(Enable) )
4454#define ID3D12Debug6_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
4455 ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) )
4456#define ID3D12Debug6_SetGPUBasedValidationFlags(This,Flags) \
4457 ( (This)->SetGPUBasedValidationFlags(Flags) )
4458#define ID3D12Debug6_DisableDebugLayer(This) \
4459 ( (This)->DisableDebugLayer() )
4460#define ID3D12Debug6_SetEnableAutoName(This,Enable) \
4461 ( (This)->SetEnableAutoName(Enable) )
4462#define ID3D12Debug6_SetForceLegacyBarrierValidation(This,Enable) \
4463 ( (This)->SetForceLegacyBarrierValidation(Enable) )
4464#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) \
4465 ( (This)->QueryInterface(riid,ppvObject) )
4466#define ID3D12DebugDevice1_AddRef(This) \
4467 ( (This)->AddRef() )
4468#define ID3D12DebugDevice1_Release(This) \
4469 ( (This)->Release() )
4470#define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize) \
4471 ( (This)->SetDebugParameter(Type,pData,DataSize) )
4472#define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize) \
4473 ( (This)->GetDebugParameter(Type,pData,DataSize) )
4474#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags) \
4475 ( (This)->ReportLiveDeviceObjects(Flags) )
4476#define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject) \
4477 ( (This)->QueryInterface(riid,ppvObject) )
4478#define ID3D12DebugDevice_AddRef(This) \
4479 ( (This)->AddRef() )
4480#define ID3D12DebugDevice_Release(This) \
4481 ( (This)->Release() )
4482#define ID3D12DebugDevice_SetFeatureMask(This,Mask) \
4483 ( (This)->SetFeatureMask(Mask) )
4484#define ID3D12DebugDevice_GetFeatureMask(This) \
4485 ( (This)->GetFeatureMask() )
4486#define ID3D12DebugDevice_ReportLiveDeviceObjects(This,Flags) \
4487 ( (This)->ReportLiveDeviceObjects(Flags) )
4488#define ID3D12DebugDevice2_QueryInterface(This,riid,ppvObject) \
4489 ( (This)->QueryInterface(riid,ppvObject) )
4490#define ID3D12DebugDevice2_AddRef(This) \
4491 ( (This)->AddRef() )
4492#define ID3D12DebugDevice2_Release(This) \
4493 ( (This)->Release() )
4494#define ID3D12DebugDevice2_SetFeatureMask(This,Mask) \
4495 ( (This)->SetFeatureMask(Mask) )
4496#define ID3D12DebugDevice2_GetFeatureMask(This) \
4497 ( (This)->GetFeatureMask() )
4498#define ID3D12DebugDevice2_ReportLiveDeviceObjects(This,Flags) \
4499 ( (This)->ReportLiveDeviceObjects(Flags) )
4500#define ID3D12DebugDevice2_SetDebugParameter(This,Type,pData,DataSize) \
4501 ( (This)->SetDebugParameter(Type,pData,DataSize) )
4502#define ID3D12DebugDevice2_GetDebugParameter(This,Type,pData,DataSize) \
4503 ( (This)->GetDebugParameter(Type,pData,DataSize) )
4504#define ID3D12DebugCommandQueue_QueryInterface(This,riid,ppvObject) \
4505 ( (This)->QueryInterface(riid,ppvObject) )
4506#define ID3D12DebugCommandQueue_AddRef(This) \
4507 ( (This)->AddRef() )
4508#define ID3D12DebugCommandQueue_Release(This) \
4509 ( (This)->Release() )
4510#define ID3D12DebugCommandQueue_AssertResourceState(This,pResource,Subresource,State) \
4511 ( (This)->AssertResourceState(pResource,Subresource,State) )
4512#define ID3D12DebugCommandQueue1_QueryInterface(This,riid,ppvObject) \
4513 ( (This)->QueryInterface(riid,ppvObject) )
4514#define ID3D12DebugCommandQueue1_AddRef(This) \
4515 ( (This)->AddRef() )
4516#define ID3D12DebugCommandQueue1_Release(This) \
4517 ( (This)->Release() )
4518#define ID3D12DebugCommandQueue1_AssertResourceState(This,pResource,Subresource,State) \
4519 ( (This)->AssertResourceState(pResource,Subresource,State) )
4520#define ID3D12DebugCommandQueue1_AssertResourceAccess(This,pResource,Subresource,Access) \
4521 ( (This)->AssertResourceAccess(pResource,Subresource,Access) )
4522#define ID3D12DebugCommandQueue1_AssertTextureLayout(This,pResource,Subresource,Layout) \
4523 ( (This)->AssertTextureLayout(pResource,Subresource,Layout) )
4524#define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject) \
4525 ( (This)->QueryInterface(riid,ppvObject) )
4526#define ID3D12DebugCommandList1_AddRef(This) \
4527 ( (This)->AddRef() )
4528#define ID3D12DebugCommandList1_Release(This) \
4529 ( (This)->Release() )
4530#define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State) \
4531 ( (This)->AssertResourceState(pResource,Subresource,State) )
4532#define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize) \
4533 ( (This)->SetDebugParameter(Type,pData,DataSize) )
4534#define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize) \
4535 ( (This)->GetDebugParameter(Type,pData,DataSize) )
4536#define ID3D12DebugCommandList_QueryInterface(This,riid,ppvObject) \
4537 ( (This)->QueryInterface(riid,ppvObject) )
4538#define ID3D12DebugCommandList_AddRef(This) \
4539 ( (This)->AddRef() )
4540#define ID3D12DebugCommandList_Release(This) \
4541 ( (This)->Release() )
4542#define ID3D12DebugCommandList_AssertResourceState(This,pResource,Subresource,State) \
4543 ( (This)->AssertResourceState(pResource,Subresource,State) )
4544#define ID3D12DebugCommandList_SetFeatureMask(This,Mask) \
4545 ( (This)->SetFeatureMask(Mask) )
4546#define ID3D12DebugCommandList_GetFeatureMask(This) \
4547 ( (This)->GetFeatureMask() )
4548#define ID3D12DebugCommandList2_QueryInterface(This,riid,ppvObject) \
4549 ( (This)->QueryInterface(riid,ppvObject) )
4550#define ID3D12DebugCommandList2_AddRef(This) \
4551 ( (This)->AddRef() )
4552#define ID3D12DebugCommandList2_Release(This) \
4553 ( (This)->Release() )
4554#define ID3D12DebugCommandList2_AssertResourceState(This,pResource,Subresource,State) \
4555 ( (This)->AssertResourceState(pResource,Subresource,State) )
4556#define ID3D12DebugCommandList2_SetFeatureMask(This,Mask) \
4557 ( (This)->SetFeatureMask(Mask) )
4558#define ID3D12DebugCommandList2_GetFeatureMask(This) \
4559 ( (This)->GetFeatureMask() )
4560#define ID3D12DebugCommandList2_SetDebugParameter(This,Type,pData,DataSize) \
4561 ( (This)->SetDebugParameter(Type,pData,DataSize) )
4562#define ID3D12DebugCommandList2_GetDebugParameter(This,Type,pData,DataSize) \
4563 ( (This)->GetDebugParameter(Type,pData,DataSize) )
4564#define ID3D12DebugCommandList3_QueryInterface(This,riid,ppvObject) \
4565 ( (This)->QueryInterface(riid,ppvObject) )
4566#define ID3D12DebugCommandList3_AddRef(This) \
4567 ( (This)->AddRef() )
4568#define ID3D12DebugCommandList3_Release(This) \
4569 ( (This)->Release() )
4570#define ID3D12DebugCommandList3_AssertResourceState(This,pResource,Subresource,State) \
4571 ( (This)->AssertResourceState(pResource,Subresource,State) )
4572#define ID3D12DebugCommandList3_SetFeatureMask(This,Mask) \
4573 ( (This)->SetFeatureMask(Mask) )
4574#define ID3D12DebugCommandList3_GetFeatureMask(This) \
4575 ( (This)->GetFeatureMask() )
4576#define ID3D12DebugCommandList3_SetDebugParameter(This,Type,pData,DataSize) \
4577 ( (This)->SetDebugParameter(Type,pData,DataSize) )
4578#define ID3D12DebugCommandList3_GetDebugParameter(This,Type,pData,DataSize) \
4579 ( (This)->GetDebugParameter(Type,pData,DataSize) )
4580#define ID3D12DebugCommandList3_AssertResourceAccess(This,pResource,Subresource,Access) \
4581 ( (This)->AssertResourceAccess(pResource,Subresource,Access) )
4582#define ID3D12DebugCommandList3_AssertTextureLayout(This,pResource,Subresource,Layout) \
4583 ( (This)->AssertTextureLayout(pResource,Subresource,Layout) )
4584#define ID3D12SharingContract_QueryInterface(This,riid,ppvObject) \
4585 ( (This)->QueryInterface(riid,ppvObject) )
4586#define ID3D12SharingContract_AddRef(This) \
4587 ( (This)->AddRef() )
4588#define ID3D12SharingContract_Release(This) \
4589 ( (This)->Release() )
4590#define ID3D12SharingContract_Present(This,pResource,Subresource,window) \
4591 ( (This)->Present(pResource,Subresource,window) )
4592#define ID3D12SharingContract_SharedFenceSignal(This,pFence,FenceValue) \
4593 ( (This)->SharedFenceSignal(pFence,FenceValue) )
4594#define ID3D12SharingContract_BeginCapturableWork(This,guid) \
4595 ( (This)->BeginCapturableWork(guid) )
4596#define ID3D12SharingContract_EndCapturableWork(This,guid) \
4597 ( (This)->EndCapturableWork(guid) )
4598#define ID3D12ManualWriteTrackingResource_QueryInterface(This,riid,ppvObject) \
4599 ( (This)->QueryInterface(riid,ppvObject) )
4600#define ID3D12ManualWriteTrackingResource_AddRef(This) \
4601 ( (This)->AddRef() )
4602#define ID3D12ManualWriteTrackingResource_Release(This) \
4603 ( (This)->Release() )
4604#define ID3D12ManualWriteTrackingResource_TrackWrite(This,Subresource,pWrittenRange) \
4605 ( (This)->TrackWrite(Subresource,pWrittenRange) )
4606#define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject) \
4607 ( (This)->QueryInterface(riid,ppvObject) )
4608#define ID3D12InfoQueue_AddRef(This) \
4609 ( (This)->AddRef() )
4610#define ID3D12InfoQueue_Release(This) \
4611 ( (This)->Release() )
4612#define ID3D12InfoQueue_SetMessageCountLimit(This,MessageCountLimit) \
4613 ( (This)->SetMessageCountLimit(MessageCountLimit) )
4614#define ID3D12InfoQueue_ClearStoredMessages(This) \
4615 ( (This)->ClearStoredMessages() )
4616#define ID3D12InfoQueue_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \
4617 ( (This)->GetMessage(MessageIndex,pMessage,pMessageByteLength) )
4618#define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This) \
4619 ( (This)->GetNumMessagesAllowedByStorageFilter() )
4620#define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This) \
4621 ( (This)->GetNumMessagesDeniedByStorageFilter() )
4622#define ID3D12InfoQueue_GetNumStoredMessages(This) \
4623 ( (This)->GetNumStoredMessages() )
4624#define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This) \
4625 ( (This)->GetNumStoredMessagesAllowedByRetrievalFilter() )
4626#define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This) \
4627 ( (This)->GetNumMessagesDiscardedByMessageCountLimit() )
4628#define ID3D12InfoQueue_GetMessageCountLimit(This) \
4629 ( (This)->GetMessageCountLimit() )
4630#define ID3D12InfoQueue_AddStorageFilterEntries(This,pFilter) \
4631 ( (This)->AddStorageFilterEntries(pFilter) )
4632#define ID3D12InfoQueue_GetStorageFilter(This,pFilter,pFilterByteLength) \
4633 ( (This)->GetStorageFilter(pFilter,pFilterByteLength) )
4634#define ID3D12InfoQueue_ClearStorageFilter(This) \
4635 ( (This)->ClearStorageFilter() )
4636#define ID3D12InfoQueue_PushEmptyStorageFilter(This) \
4637 ( (This)->PushEmptyStorageFilter() )
4638#define ID3D12InfoQueue_PushCopyOfStorageFilter(This) \
4639 ( (This)->PushCopyOfStorageFilter() )
4640#define ID3D12InfoQueue_PushStorageFilter(This,pFilter) \
4641 ( (This)->PushStorageFilter(pFilter) )
4642#define ID3D12InfoQueue_PopStorageFilter(This) \
4643 ( (This)->PopStorageFilter() )
4644#define ID3D12InfoQueue_GetStorageFilterStackSize(This) \
4645 ( (This)->GetStorageFilterStackSize() )
4646#define ID3D12InfoQueue_AddRetrievalFilterEntries(This,pFilter) \
4647 ( (This)->AddRetrievalFilterEntries(pFilter) )
4648#define ID3D12InfoQueue_GetRetrievalFilter(This,pFilter,pFilterByteLength) \
4649 ( (This)->GetRetrievalFilter(pFilter,pFilterByteLength) )
4650#define ID3D12InfoQueue_ClearRetrievalFilter(This) \
4651 ( (This)->ClearRetrievalFilter() )
4652#define ID3D12InfoQueue_PushEmptyRetrievalFilter(This) \
4653 ( (This)->PushEmptyRetrievalFilter() )
4654#define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This) \
4655 ( (This)->PushCopyOfRetrievalFilter() )
4656#define ID3D12InfoQueue_PushRetrievalFilter(This,pFilter) \
4657 ( (This)->PushRetrievalFilter(pFilter) )
4658#define ID3D12InfoQueue_PopRetrievalFilter(This) \
4659 ( (This)->PopRetrievalFilter() )
4660#define ID3D12InfoQueue_GetRetrievalFilterStackSize(This) \
4661 ( (This)->GetRetrievalFilterStackSize() )
4662#define ID3D12InfoQueue_AddMessage(This,Category,Severity,ID,pDescription) \
4663 ( (This)->AddMessage(Category,Severity,ID,pDescription) )
4664#define ID3D12InfoQueue_AddApplicationMessage(This,Severity,pDescription) \
4665 ( (This)->AddApplicationMessage(Severity,pDescription) )
4666#define ID3D12InfoQueue_SetBreakOnCategory(This,Category,bEnable) \
4667 ( (This)->SetBreakOnCategory(Category,bEnable) )
4668#define ID3D12InfoQueue_SetBreakOnSeverity(This,Severity,bEnable) \
4669 ( (This)->SetBreakOnSeverity(Severity,bEnable) )
4670#define ID3D12InfoQueue_SetBreakOnID(This,ID,bEnable) \
4671 ( (This)->SetBreakOnID(ID,bEnable) )
4672#define ID3D12InfoQueue_GetBreakOnCategory(This,Category) \
4673 ( (This)->GetBreakOnCategory(Category) )
4674#define ID3D12InfoQueue_GetBreakOnSeverity(This,Severity) \
4675 ( (This)->GetBreakOnSeverity(Severity) )
4676#define ID3D12InfoQueue_GetBreakOnID(This,ID) \
4677 ( (This)->GetBreakOnID(ID) )
4678#define ID3D12InfoQueue_SetMuteDebugOutput(This,bMute) \
4679 ( (This)->SetMuteDebugOutput(bMute) )
4680#define ID3D12InfoQueue_GetMuteDebugOutput(This) \
4681 ( (This)->GetMuteDebugOutput() )
4682#define ID3D12InfoQueue1_QueryInterface(This,riid,ppvObject) \
4683 ( (This)->QueryInterface(riid,ppvObject) )
4684#define ID3D12InfoQueue1_AddRef(This) \
4685 ( (This)->AddRef() )
4686#define ID3D12InfoQueue1_Release(This) \
4687 ( (This)->Release() )
4688#define ID3D12InfoQueue1_SetMessageCountLimit(This,MessageCountLimit) \
4689 ( (This)->SetMessageCountLimit(MessageCountLimit) )
4690#define ID3D12InfoQueue1_ClearStoredMessages(This) \
4691 ( (This)->ClearStoredMessages() )
4692#define ID3D12InfoQueue1_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \
4693 ( (This)->GetMessage(MessageIndex,pMessage,pMessageByteLength) )
4694#define ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(This) \
4695 ( (This)->GetNumMessagesAllowedByStorageFilter() )
4696#define ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(This) \
4697 ( (This)->GetNumMessagesDeniedByStorageFilter() )
4698#define ID3D12InfoQueue1_GetNumStoredMessages(This) \
4699 ( (This)->GetNumStoredMessages() )
4700#define ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(This) \
4701 ( (This)->GetNumStoredMessagesAllowedByRetrievalFilter() )
4702#define ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(This) \
4703 ( (This)->GetNumMessagesDiscardedByMessageCountLimit() )
4704#define ID3D12InfoQueue1_GetMessageCountLimit(This) \
4705 ( (This)->GetMessageCountLimit() )
4706#define ID3D12InfoQueue1_AddStorageFilterEntries(This,pFilter) \
4707 ( (This)->AddStorageFilterEntries(pFilter) )
4708#define ID3D12InfoQueue1_GetStorageFilter(This,pFilter,pFilterByteLength) \
4709 ( (This)->GetStorageFilter(pFilter,pFilterByteLength) )
4710#define ID3D12InfoQueue1_ClearStorageFilter(This) \
4711 ( (This)->ClearStorageFilter() )
4712#define ID3D12InfoQueue1_PushEmptyStorageFilter(This) \
4713 ( (This)->PushEmptyStorageFilter() )
4714#define ID3D12InfoQueue1_PushCopyOfStorageFilter(This) \
4715 ( (This)->PushCopyOfStorageFilter() )
4716#define ID3D12InfoQueue1_PushStorageFilter(This,pFilter) \
4717 ( (This)->PushStorageFilter(pFilter) )
4718#define ID3D12InfoQueue1_PopStorageFilter(This) \
4719 ( (This)->PopStorageFilter() )
4720#define ID3D12InfoQueue1_GetStorageFilterStackSize(This) \
4721 ( (This)->GetStorageFilterStackSize() )
4722#define ID3D12InfoQueue1_AddRetrievalFilterEntries(This,pFilter) \
4723 ( (This)->AddRetrievalFilterEntries(pFilter) )
4724#define ID3D12InfoQueue1_GetRetrievalFilter(This,pFilter,pFilterByteLength) \
4725 ( (This)->GetRetrievalFilter(pFilter,pFilterByteLength) )
4726#define ID3D12InfoQueue1_ClearRetrievalFilter(This) \
4727 ( (This)->ClearRetrievalFilter() )
4728#define ID3D12InfoQueue1_PushEmptyRetrievalFilter(This) \
4729 ( (This)->PushEmptyRetrievalFilter() )
4730#define ID3D12InfoQueue1_PushCopyOfRetrievalFilter(This) \
4731 ( (This)->PushCopyOfRetrievalFilter() )
4732#define ID3D12InfoQueue1_PushRetrievalFilter(This,pFilter) \
4733 ( (This)->PushRetrievalFilter(pFilter) )
4734#define ID3D12InfoQueue1_PopRetrievalFilter(This) \
4735 ( (This)->PopRetrievalFilter() )
4736#define ID3D12InfoQueue1_GetRetrievalFilterStackSize(This) \
4737 ( (This)->GetRetrievalFilterStackSize() )
4738#define ID3D12InfoQueue1_AddMessage(This,Category,Severity,ID,pDescription) \
4739 ( (This)->AddMessage(Category,Severity,ID,pDescription) )
4740#define ID3D12InfoQueue1_AddApplicationMessage(This,Severity,pDescription) \
4741 ( (This)->AddApplicationMessage(Severity,pDescription) )
4742#define ID3D12InfoQueue1_SetBreakOnCategory(This,Category,bEnable) \
4743 ( (This)->SetBreakOnCategory(Category,bEnable) )
4744#define ID3D12InfoQueue1_SetBreakOnSeverity(This,Severity,bEnable) \
4745 ( (This)->SetBreakOnSeverity(Severity,bEnable) )
4746#define ID3D12InfoQueue1_SetBreakOnID(This,ID,bEnable) \
4747 ( (This)->SetBreakOnID(ID,bEnable) )
4748#define ID3D12InfoQueue1_GetBreakOnCategory(This,Category) \
4749 ( (This)->GetBreakOnCategory(Category) )
4750#define ID3D12InfoQueue1_GetBreakOnSeverity(This,Severity) \
4751 ( (This)->GetBreakOnSeverity(Severity) )
4752#define ID3D12InfoQueue1_GetBreakOnID(This,ID) \
4753 ( (This)->GetBreakOnID(ID) )
4754#define ID3D12InfoQueue1_SetMuteDebugOutput(This,bMute) \
4755 ( (This)->SetMuteDebugOutput(bMute) )
4756#define ID3D12InfoQueue1_GetMuteDebugOutput(This) \
4757 ( (This)->GetMuteDebugOutput() )
4758#define ID3D12InfoQueue1_RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) \
4759 ( (This)->RegisterMessageCallback(CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) )
4760#define ID3D12InfoQueue1_UnregisterMessageCallback(This,CallbackCookie) \
4761 ( (This)->UnregisterMessageCallback(CallbackCookie) )
diff --git a/contrib/SDL-3.2.8/src/video/directx/d3d12.h b/contrib/SDL-3.2.8/src/video/directx/d3d12.h
new file mode 100644
index 0000000..eac7fbb
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/directx/d3d12.h
@@ -0,0 +1,34949 @@
1/*-------------------------------------------------------------------------------------
2 *
3 * Copyright (c) Microsoft Corporation
4 * Licensed under the MIT license
5 *
6 *-------------------------------------------------------------------------------------*/
7
8
9/* this ALWAYS GENERATED file contains the definitions for the interfaces */
10
11
12 /* File created by MIDL compiler version 8.01.0628 */
13
14
15
16/* verify that the <rpcndr.h> version is high enough to compile this file*/
17#ifndef __REQUIRED_RPCNDR_H_VERSION__
18#define __REQUIRED_RPCNDR_H_VERSION__ 500
19#endif
20
21/* verify that the <rpcsal.h> version is high enough to compile this file*/
22#ifndef __REQUIRED_RPCSAL_H_VERSION__
23#define __REQUIRED_RPCSAL_H_VERSION__ 100
24#endif
25
26#include "rpc.h"
27#include "rpcndr.h"
28
29#ifndef __RPCNDR_H_VERSION__
30#error this stub requires an updated version of <rpcndr.h>
31#endif /* __RPCNDR_H_VERSION__ */
32
33#ifndef COM_NO_WINDOWS_H
34#include "windows.h"
35#include "ole2.h"
36#endif /*COM_NO_WINDOWS_H*/
37
38#ifndef __d3d12_h__
39#define __d3d12_h__
40
41#if defined(_MSC_VER) && (_MSC_VER >= 1020)
42#pragma once
43#endif
44
45#ifndef DECLSPEC_XFGVIRT
46#if defined(_CONTROL_FLOW_GUARD_XFG)
47#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
48#else
49#define DECLSPEC_XFGVIRT(base, func)
50#endif
51#endif
52
53#ifndef _In_opt_count_
54#define _In_opt_count_(x)
55#endif
56#ifndef _In_count_
57#define _In_count_(x)
58#endif
59
60/* Forward Declarations */
61
62#ifndef __ID3D12Object_FWD_DEFINED__
63#define __ID3D12Object_FWD_DEFINED__
64typedef interface ID3D12Object ID3D12Object;
65
66#endif /* __ID3D12Object_FWD_DEFINED__ */
67
68
69#ifndef __ID3D12DeviceChild_FWD_DEFINED__
70#define __ID3D12DeviceChild_FWD_DEFINED__
71typedef interface ID3D12DeviceChild ID3D12DeviceChild;
72
73#endif /* __ID3D12DeviceChild_FWD_DEFINED__ */
74
75
76#ifndef __ID3D12RootSignature_FWD_DEFINED__
77#define __ID3D12RootSignature_FWD_DEFINED__
78typedef interface ID3D12RootSignature ID3D12RootSignature;
79
80#endif /* __ID3D12RootSignature_FWD_DEFINED__ */
81
82
83#ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__
84#define __ID3D12RootSignatureDeserializer_FWD_DEFINED__
85typedef interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer;
86
87#endif /* __ID3D12RootSignatureDeserializer_FWD_DEFINED__ */
88
89
90#ifndef __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
91#define __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
92typedef interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer;
93
94#endif /* __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ */
95
96
97#ifndef __ID3D12Pageable_FWD_DEFINED__
98#define __ID3D12Pageable_FWD_DEFINED__
99typedef interface ID3D12Pageable ID3D12Pageable;
100
101#endif /* __ID3D12Pageable_FWD_DEFINED__ */
102
103
104#ifndef __ID3D12Heap_FWD_DEFINED__
105#define __ID3D12Heap_FWD_DEFINED__
106typedef interface ID3D12Heap ID3D12Heap;
107
108#endif /* __ID3D12Heap_FWD_DEFINED__ */
109
110
111#ifndef __ID3D12Resource_FWD_DEFINED__
112#define __ID3D12Resource_FWD_DEFINED__
113typedef interface ID3D12Resource ID3D12Resource;
114
115#endif /* __ID3D12Resource_FWD_DEFINED__ */
116
117
118#ifndef __ID3D12CommandAllocator_FWD_DEFINED__
119#define __ID3D12CommandAllocator_FWD_DEFINED__
120typedef interface ID3D12CommandAllocator ID3D12CommandAllocator;
121
122#endif /* __ID3D12CommandAllocator_FWD_DEFINED__ */
123
124
125#ifndef __ID3D12Fence_FWD_DEFINED__
126#define __ID3D12Fence_FWD_DEFINED__
127typedef interface ID3D12Fence ID3D12Fence;
128
129#endif /* __ID3D12Fence_FWD_DEFINED__ */
130
131
132#ifndef __ID3D12Fence1_FWD_DEFINED__
133#define __ID3D12Fence1_FWD_DEFINED__
134typedef interface ID3D12Fence1 ID3D12Fence1;
135
136#endif /* __ID3D12Fence1_FWD_DEFINED__ */
137
138
139#ifndef __ID3D12PipelineState_FWD_DEFINED__
140#define __ID3D12PipelineState_FWD_DEFINED__
141typedef interface ID3D12PipelineState ID3D12PipelineState;
142
143#endif /* __ID3D12PipelineState_FWD_DEFINED__ */
144
145
146#ifndef __ID3D12DescriptorHeap_FWD_DEFINED__
147#define __ID3D12DescriptorHeap_FWD_DEFINED__
148typedef interface ID3D12DescriptorHeap ID3D12DescriptorHeap;
149
150#endif /* __ID3D12DescriptorHeap_FWD_DEFINED__ */
151
152
153#ifndef __ID3D12QueryHeap_FWD_DEFINED__
154#define __ID3D12QueryHeap_FWD_DEFINED__
155typedef interface ID3D12QueryHeap ID3D12QueryHeap;
156
157#endif /* __ID3D12QueryHeap_FWD_DEFINED__ */
158
159
160#ifndef __ID3D12CommandSignature_FWD_DEFINED__
161#define __ID3D12CommandSignature_FWD_DEFINED__
162typedef interface ID3D12CommandSignature ID3D12CommandSignature;
163
164#endif /* __ID3D12CommandSignature_FWD_DEFINED__ */
165
166
167#ifndef __ID3D12CommandList_FWD_DEFINED__
168#define __ID3D12CommandList_FWD_DEFINED__
169typedef interface ID3D12CommandList ID3D12CommandList;
170
171#endif /* __ID3D12CommandList_FWD_DEFINED__ */
172
173
174#ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__
175#define __ID3D12GraphicsCommandList_FWD_DEFINED__
176typedef interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList;
177
178#endif /* __ID3D12GraphicsCommandList_FWD_DEFINED__ */
179
180
181#ifndef __ID3D12GraphicsCommandList1_FWD_DEFINED__
182#define __ID3D12GraphicsCommandList1_FWD_DEFINED__
183typedef interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1;
184
185#endif /* __ID3D12GraphicsCommandList1_FWD_DEFINED__ */
186
187
188#ifndef __ID3D12GraphicsCommandList2_FWD_DEFINED__
189#define __ID3D12GraphicsCommandList2_FWD_DEFINED__
190typedef interface ID3D12GraphicsCommandList2 ID3D12GraphicsCommandList2;
191
192#endif /* __ID3D12GraphicsCommandList2_FWD_DEFINED__ */
193
194
195#ifndef __ID3D12CommandQueue_FWD_DEFINED__
196#define __ID3D12CommandQueue_FWD_DEFINED__
197typedef interface ID3D12CommandQueue ID3D12CommandQueue;
198
199#endif /* __ID3D12CommandQueue_FWD_DEFINED__ */
200
201
202#ifndef __ID3D12Device_FWD_DEFINED__
203#define __ID3D12Device_FWD_DEFINED__
204typedef interface ID3D12Device ID3D12Device;
205
206#endif /* __ID3D12Device_FWD_DEFINED__ */
207
208
209#ifndef __ID3D12PipelineLibrary_FWD_DEFINED__
210#define __ID3D12PipelineLibrary_FWD_DEFINED__
211typedef interface ID3D12PipelineLibrary ID3D12PipelineLibrary;
212
213#endif /* __ID3D12PipelineLibrary_FWD_DEFINED__ */
214
215
216#ifndef __ID3D12PipelineLibrary1_FWD_DEFINED__
217#define __ID3D12PipelineLibrary1_FWD_DEFINED__
218typedef interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1;
219
220#endif /* __ID3D12PipelineLibrary1_FWD_DEFINED__ */
221
222
223#ifndef __ID3D12Device1_FWD_DEFINED__
224#define __ID3D12Device1_FWD_DEFINED__
225typedef interface ID3D12Device1 ID3D12Device1;
226
227#endif /* __ID3D12Device1_FWD_DEFINED__ */
228
229
230#ifndef __ID3D12Device2_FWD_DEFINED__
231#define __ID3D12Device2_FWD_DEFINED__
232typedef interface ID3D12Device2 ID3D12Device2;
233
234#endif /* __ID3D12Device2_FWD_DEFINED__ */
235
236
237#ifndef __ID3D12Device3_FWD_DEFINED__
238#define __ID3D12Device3_FWD_DEFINED__
239typedef interface ID3D12Device3 ID3D12Device3;
240
241#endif /* __ID3D12Device3_FWD_DEFINED__ */
242
243
244#ifndef __ID3D12ProtectedSession_FWD_DEFINED__
245#define __ID3D12ProtectedSession_FWD_DEFINED__
246typedef interface ID3D12ProtectedSession ID3D12ProtectedSession;
247
248#endif /* __ID3D12ProtectedSession_FWD_DEFINED__ */
249
250
251#ifndef __ID3D12ProtectedResourceSession_FWD_DEFINED__
252#define __ID3D12ProtectedResourceSession_FWD_DEFINED__
253typedef interface ID3D12ProtectedResourceSession ID3D12ProtectedResourceSession;
254
255#endif /* __ID3D12ProtectedResourceSession_FWD_DEFINED__ */
256
257
258#ifndef __ID3D12Device4_FWD_DEFINED__
259#define __ID3D12Device4_FWD_DEFINED__
260typedef interface ID3D12Device4 ID3D12Device4;
261
262#endif /* __ID3D12Device4_FWD_DEFINED__ */
263
264
265#ifndef __ID3D12LifetimeOwner_FWD_DEFINED__
266#define __ID3D12LifetimeOwner_FWD_DEFINED__
267typedef interface ID3D12LifetimeOwner ID3D12LifetimeOwner;
268
269#endif /* __ID3D12LifetimeOwner_FWD_DEFINED__ */
270
271
272#ifndef __ID3D12SwapChainAssistant_FWD_DEFINED__
273#define __ID3D12SwapChainAssistant_FWD_DEFINED__
274typedef interface ID3D12SwapChainAssistant ID3D12SwapChainAssistant;
275
276#endif /* __ID3D12SwapChainAssistant_FWD_DEFINED__ */
277
278
279#ifndef __ID3D12LifetimeTracker_FWD_DEFINED__
280#define __ID3D12LifetimeTracker_FWD_DEFINED__
281typedef interface ID3D12LifetimeTracker ID3D12LifetimeTracker;
282
283#endif /* __ID3D12LifetimeTracker_FWD_DEFINED__ */
284
285
286#ifndef __ID3D12StateObject_FWD_DEFINED__
287#define __ID3D12StateObject_FWD_DEFINED__
288typedef interface ID3D12StateObject ID3D12StateObject;
289
290#endif /* __ID3D12StateObject_FWD_DEFINED__ */
291
292
293#ifndef __ID3D12StateObjectProperties_FWD_DEFINED__
294#define __ID3D12StateObjectProperties_FWD_DEFINED__
295typedef interface ID3D12StateObjectProperties ID3D12StateObjectProperties;
296
297#endif /* __ID3D12StateObjectProperties_FWD_DEFINED__ */
298
299
300#ifndef __ID3D12StateObjectProperties1_FWD_DEFINED__
301#define __ID3D12StateObjectProperties1_FWD_DEFINED__
302typedef interface ID3D12StateObjectProperties1 ID3D12StateObjectProperties1;
303
304#endif /* __ID3D12StateObjectProperties1_FWD_DEFINED__ */
305
306
307#ifndef __ID3D12WorkGraphProperties_FWD_DEFINED__
308#define __ID3D12WorkGraphProperties_FWD_DEFINED__
309typedef interface ID3D12WorkGraphProperties ID3D12WorkGraphProperties;
310
311#endif /* __ID3D12WorkGraphProperties_FWD_DEFINED__ */
312
313
314#ifndef __ID3D12Device5_FWD_DEFINED__
315#define __ID3D12Device5_FWD_DEFINED__
316typedef interface ID3D12Device5 ID3D12Device5;
317
318#endif /* __ID3D12Device5_FWD_DEFINED__ */
319
320
321#ifndef __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__
322#define __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__
323typedef interface ID3D12DeviceRemovedExtendedDataSettings ID3D12DeviceRemovedExtendedDataSettings;
324
325#endif /* __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__ */
326
327
328#ifndef __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__
329#define __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__
330typedef interface ID3D12DeviceRemovedExtendedDataSettings1 ID3D12DeviceRemovedExtendedDataSettings1;
331
332#endif /* __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__ */
333
334
335#ifndef __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__
336#define __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__
337typedef interface ID3D12DeviceRemovedExtendedDataSettings2 ID3D12DeviceRemovedExtendedDataSettings2;
338
339#endif /* __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__ */
340
341
342#ifndef __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__
343#define __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__
344typedef interface ID3D12DeviceRemovedExtendedData ID3D12DeviceRemovedExtendedData;
345
346#endif /* __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__ */
347
348
349#ifndef __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__
350#define __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__
351typedef interface ID3D12DeviceRemovedExtendedData1 ID3D12DeviceRemovedExtendedData1;
352
353#endif /* __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__ */
354
355
356#ifndef __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__
357#define __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__
358typedef interface ID3D12DeviceRemovedExtendedData2 ID3D12DeviceRemovedExtendedData2;
359
360#endif /* __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__ */
361
362
363#ifndef __ID3D12Device6_FWD_DEFINED__
364#define __ID3D12Device6_FWD_DEFINED__
365typedef interface ID3D12Device6 ID3D12Device6;
366
367#endif /* __ID3D12Device6_FWD_DEFINED__ */
368
369
370#ifndef __ID3D12ProtectedResourceSession1_FWD_DEFINED__
371#define __ID3D12ProtectedResourceSession1_FWD_DEFINED__
372typedef interface ID3D12ProtectedResourceSession1 ID3D12ProtectedResourceSession1;
373
374#endif /* __ID3D12ProtectedResourceSession1_FWD_DEFINED__ */
375
376
377#ifndef __ID3D12Device7_FWD_DEFINED__
378#define __ID3D12Device7_FWD_DEFINED__
379typedef interface ID3D12Device7 ID3D12Device7;
380
381#endif /* __ID3D12Device7_FWD_DEFINED__ */
382
383
384#ifndef __ID3D12Device8_FWD_DEFINED__
385#define __ID3D12Device8_FWD_DEFINED__
386typedef interface ID3D12Device8 ID3D12Device8;
387
388#endif /* __ID3D12Device8_FWD_DEFINED__ */
389
390
391#ifndef __ID3D12Resource1_FWD_DEFINED__
392#define __ID3D12Resource1_FWD_DEFINED__
393typedef interface ID3D12Resource1 ID3D12Resource1;
394
395#endif /* __ID3D12Resource1_FWD_DEFINED__ */
396
397
398#ifndef __ID3D12Resource2_FWD_DEFINED__
399#define __ID3D12Resource2_FWD_DEFINED__
400typedef interface ID3D12Resource2 ID3D12Resource2;
401
402#endif /* __ID3D12Resource2_FWD_DEFINED__ */
403
404
405#ifndef __ID3D12Heap1_FWD_DEFINED__
406#define __ID3D12Heap1_FWD_DEFINED__
407typedef interface ID3D12Heap1 ID3D12Heap1;
408
409#endif /* __ID3D12Heap1_FWD_DEFINED__ */
410
411
412#ifndef __ID3D12GraphicsCommandList3_FWD_DEFINED__
413#define __ID3D12GraphicsCommandList3_FWD_DEFINED__
414typedef interface ID3D12GraphicsCommandList3 ID3D12GraphicsCommandList3;
415
416#endif /* __ID3D12GraphicsCommandList3_FWD_DEFINED__ */
417
418
419#ifndef __ID3D12MetaCommand_FWD_DEFINED__
420#define __ID3D12MetaCommand_FWD_DEFINED__
421typedef interface ID3D12MetaCommand ID3D12MetaCommand;
422
423#endif /* __ID3D12MetaCommand_FWD_DEFINED__ */
424
425
426#ifndef __ID3D12GraphicsCommandList4_FWD_DEFINED__
427#define __ID3D12GraphicsCommandList4_FWD_DEFINED__
428typedef interface ID3D12GraphicsCommandList4 ID3D12GraphicsCommandList4;
429
430#endif /* __ID3D12GraphicsCommandList4_FWD_DEFINED__ */
431
432
433#ifndef __ID3D12ShaderCacheSession_FWD_DEFINED__
434#define __ID3D12ShaderCacheSession_FWD_DEFINED__
435typedef interface ID3D12ShaderCacheSession ID3D12ShaderCacheSession;
436
437#endif /* __ID3D12ShaderCacheSession_FWD_DEFINED__ */
438
439
440#ifndef __ID3D12Device9_FWD_DEFINED__
441#define __ID3D12Device9_FWD_DEFINED__
442typedef interface ID3D12Device9 ID3D12Device9;
443
444#endif /* __ID3D12Device9_FWD_DEFINED__ */
445
446
447#ifndef __ID3D12Device10_FWD_DEFINED__
448#define __ID3D12Device10_FWD_DEFINED__
449typedef interface ID3D12Device10 ID3D12Device10;
450
451#endif /* __ID3D12Device10_FWD_DEFINED__ */
452
453
454#ifndef __ID3D12Device11_FWD_DEFINED__
455#define __ID3D12Device11_FWD_DEFINED__
456typedef interface ID3D12Device11 ID3D12Device11;
457
458#endif /* __ID3D12Device11_FWD_DEFINED__ */
459
460
461#ifndef __ID3D12Device12_FWD_DEFINED__
462#define __ID3D12Device12_FWD_DEFINED__
463typedef interface ID3D12Device12 ID3D12Device12;
464
465#endif /* __ID3D12Device12_FWD_DEFINED__ */
466
467
468#ifndef __ID3D12Device13_FWD_DEFINED__
469#define __ID3D12Device13_FWD_DEFINED__
470typedef interface ID3D12Device13 ID3D12Device13;
471
472#endif /* __ID3D12Device13_FWD_DEFINED__ */
473
474
475#ifndef __ID3D12Device14_FWD_DEFINED__
476#define __ID3D12Device14_FWD_DEFINED__
477typedef interface ID3D12Device14 ID3D12Device14;
478
479#endif /* __ID3D12Device14_FWD_DEFINED__ */
480
481
482#ifndef __ID3D12VirtualizationGuestDevice_FWD_DEFINED__
483#define __ID3D12VirtualizationGuestDevice_FWD_DEFINED__
484typedef interface ID3D12VirtualizationGuestDevice ID3D12VirtualizationGuestDevice;
485
486#endif /* __ID3D12VirtualizationGuestDevice_FWD_DEFINED__ */
487
488
489#ifndef __ID3D12Tools_FWD_DEFINED__
490#define __ID3D12Tools_FWD_DEFINED__
491typedef interface ID3D12Tools ID3D12Tools;
492
493#endif /* __ID3D12Tools_FWD_DEFINED__ */
494
495
496#ifndef __ID3D12SDKConfiguration_FWD_DEFINED__
497#define __ID3D12SDKConfiguration_FWD_DEFINED__
498typedef interface ID3D12SDKConfiguration ID3D12SDKConfiguration;
499
500#endif /* __ID3D12SDKConfiguration_FWD_DEFINED__ */
501
502
503#ifndef __ID3D12SDKConfiguration1_FWD_DEFINED__
504#define __ID3D12SDKConfiguration1_FWD_DEFINED__
505typedef interface ID3D12SDKConfiguration1 ID3D12SDKConfiguration1;
506
507#endif /* __ID3D12SDKConfiguration1_FWD_DEFINED__ */
508
509
510#ifndef __ID3D12DeviceFactory_FWD_DEFINED__
511#define __ID3D12DeviceFactory_FWD_DEFINED__
512typedef interface ID3D12DeviceFactory ID3D12DeviceFactory;
513
514#endif /* __ID3D12DeviceFactory_FWD_DEFINED__ */
515
516
517#ifndef __ID3D12DeviceConfiguration_FWD_DEFINED__
518#define __ID3D12DeviceConfiguration_FWD_DEFINED__
519typedef interface ID3D12DeviceConfiguration ID3D12DeviceConfiguration;
520
521#endif /* __ID3D12DeviceConfiguration_FWD_DEFINED__ */
522
523
524#ifndef __ID3D12DeviceConfiguration1_FWD_DEFINED__
525#define __ID3D12DeviceConfiguration1_FWD_DEFINED__
526typedef interface ID3D12DeviceConfiguration1 ID3D12DeviceConfiguration1;
527
528#endif /* __ID3D12DeviceConfiguration1_FWD_DEFINED__ */
529
530
531#ifndef __ID3D12GraphicsCommandList5_FWD_DEFINED__
532#define __ID3D12GraphicsCommandList5_FWD_DEFINED__
533typedef interface ID3D12GraphicsCommandList5 ID3D12GraphicsCommandList5;
534
535#endif /* __ID3D12GraphicsCommandList5_FWD_DEFINED__ */
536
537
538#ifndef __ID3D12GraphicsCommandList6_FWD_DEFINED__
539#define __ID3D12GraphicsCommandList6_FWD_DEFINED__
540typedef interface ID3D12GraphicsCommandList6 ID3D12GraphicsCommandList6;
541
542#endif /* __ID3D12GraphicsCommandList6_FWD_DEFINED__ */
543
544
545#ifndef __ID3D12GraphicsCommandList7_FWD_DEFINED__
546#define __ID3D12GraphicsCommandList7_FWD_DEFINED__
547typedef interface ID3D12GraphicsCommandList7 ID3D12GraphicsCommandList7;
548
549#endif /* __ID3D12GraphicsCommandList7_FWD_DEFINED__ */
550
551
552#ifndef __ID3D12GraphicsCommandList8_FWD_DEFINED__
553#define __ID3D12GraphicsCommandList8_FWD_DEFINED__
554typedef interface ID3D12GraphicsCommandList8 ID3D12GraphicsCommandList8;
555
556#endif /* __ID3D12GraphicsCommandList8_FWD_DEFINED__ */
557
558
559#ifndef __ID3D12GraphicsCommandList9_FWD_DEFINED__
560#define __ID3D12GraphicsCommandList9_FWD_DEFINED__
561typedef interface ID3D12GraphicsCommandList9 ID3D12GraphicsCommandList9;
562
563#endif /* __ID3D12GraphicsCommandList9_FWD_DEFINED__ */
564
565
566#ifndef __ID3D12GraphicsCommandList10_FWD_DEFINED__
567#define __ID3D12GraphicsCommandList10_FWD_DEFINED__
568typedef interface ID3D12GraphicsCommandList10 ID3D12GraphicsCommandList10;
569
570#endif /* __ID3D12GraphicsCommandList10_FWD_DEFINED__ */
571
572
573#ifndef __ID3D12GBVDiagnostics_FWD_DEFINED__
574#define __ID3D12GBVDiagnostics_FWD_DEFINED__
575typedef interface ID3D12GBVDiagnostics ID3D12GBVDiagnostics;
576
577#endif /* __ID3D12GBVDiagnostics_FWD_DEFINED__ */
578
579
580/* header files for imported files */
581#include "oaidl.h"
582#include "ocidl.h"
583#include "dxgicommon.h"
584#include "dxgiformat.h"
585#include "d3dcommon.h"
586
587#ifdef __cplusplus
588extern "C"{
589#endif
590
591
592/* interface __MIDL_itf_d3d12_0000_0000 */
593/* [local] */
594
595#include <winapifamily.h>
596#ifdef _MSC_VER
597#pragma region App Family
598#endif
599#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
600#ifndef _D3D12_CONSTANTS
601#define _D3D12_CONSTANTS
602#define D3D12_16BIT_INDEX_STRIP_CUT_VALUE ( 0xffff )
603
604#define D3D12_32BIT_INDEX_STRIP_CUT_VALUE ( 0xffffffff )
605
606#define D3D12_8BIT_INDEX_STRIP_CUT_VALUE ( 0xff )
607
608#define D3D12_APPEND_ALIGNED_ELEMENT ( 0xffffffff )
609
610#define D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT ( 9 )
611
612#define D3D12_CLIP_OR_CULL_DISTANCE_COUNT ( 8 )
613
614#define D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT ( 2 )
615
616#define D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT ( 14 )
617
618#define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS ( 4 )
619
620#define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT ( 32 )
621
622#define D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT ( 15 )
623
624#define D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT ( 16 )
625
626#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
627
628#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT ( 15 )
629
630#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
631
632#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
633
634#define D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT ( 64 )
635
636#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
637
638#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT ( 1 )
639
640#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
641
642#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
643
644#define D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT ( 32 )
645
646#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS ( 1 )
647
648#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT ( 128 )
649
650#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST ( 1 )
651
652#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS ( 1 )
653
654#define D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT ( 128 )
655
656#define D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS ( 1 )
657
658#define D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT ( 16 )
659
660#define D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST ( 1 )
661
662#define D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS ( 1 )
663
664#define D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT ( 16 )
665
666#define D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT ( 32 )
667
668#define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS ( 4 )
669
670#define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT ( 32 )
671
672#define D3D12_COMMONSHADER_TEMP_REGISTER_COUNT ( 4096 )
673
674#define D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 )
675
676#define D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS ( 3 )
677
678#define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 )
679
680#define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 )
681
682#define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE ( -8 )
683
684#define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE ( 7 )
685
686#define D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT ( 256 )
687
688#define D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 256 )
689
690#define D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP ( 64 )
691
692#define D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 240 )
693
694#define D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP ( 68 )
695
696#define D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 224 )
697
698#define D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP ( 72 )
699
700#define D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 208 )
701
702#define D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP ( 76 )
703
704#define D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 192 )
705
706#define D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP ( 84 )
707
708#define D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 176 )
709
710#define D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP ( 92 )
711
712#define D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 160 )
713
714#define D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP ( 100 )
715
716#define D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 144 )
717
718#define D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP ( 112 )
719
720#define D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 128 )
721
722#define D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP ( 128 )
723
724#define D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 112 )
725
726#define D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP ( 144 )
727
728#define D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 96 )
729
730#define D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP ( 168 )
731
732#define D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 80 )
733
734#define D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP ( 204 )
735
736#define D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 64 )
737
738#define D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP ( 256 )
739
740#define D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 48 )
741
742#define D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP ( 340 )
743
744#define D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 32 )
745
746#define D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP ( 512 )
747
748#define D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 16 )
749
750#define D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP ( 768 )
751
752#define D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION ( 1 )
753
754#define D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT ( 256 )
755
756#define D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 768 )
757
758#define D3D12_CS_4_X_THREAD_GROUP_MAX_X ( 768 )
759
760#define D3D12_CS_4_X_THREAD_GROUP_MAX_Y ( 768 )
761
762#define D3D12_CS_4_X_UAV_REGISTER_COUNT ( 1 )
763
764#define D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION ( 65535 )
765
766#define D3D12_CS_TGSM_REGISTER_COUNT ( 8192 )
767
768#define D3D12_CS_TGSM_REGISTER_READS_PER_INST ( 1 )
769
770#define D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS ( 1 )
771
772#define D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS ( 1 )
773
774#define D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS ( 3 )
775
776#define D3D12_CS_THREADGROUPID_REGISTER_COUNT ( 1 )
777
778#define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS ( 1 )
779
780#define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT ( 1 )
781
782#define D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS ( 3 )
783
784#define D3D12_CS_THREADIDINGROUP_REGISTER_COUNT ( 1 )
785
786#define D3D12_CS_THREADID_REGISTER_COMPONENTS ( 3 )
787
788#define D3D12_CS_THREADID_REGISTER_COUNT ( 1 )
789
790#define D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 1024 )
791
792#define D3D12_CS_THREAD_GROUP_MAX_X ( 1024 )
793
794#define D3D12_CS_THREAD_GROUP_MAX_Y ( 1024 )
795
796#define D3D12_CS_THREAD_GROUP_MAX_Z ( 64 )
797
798#define D3D12_CS_THREAD_GROUP_MIN_X ( 1 )
799
800#define D3D12_CS_THREAD_GROUP_MIN_Y ( 1 )
801
802#define D3D12_CS_THREAD_GROUP_MIN_Z ( 1 )
803
804#define D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL ( 16384 )
805
806#define D3D12_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )
807#define D3D12_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )
808#define D3D12_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )
809#define D3D12_DEFAULT_BLEND_FACTOR_RED ( 1.0f )
810#define D3D12_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )
811#define D3D12_DEFAULT_DEPTH_BIAS ( 0 )
812
813#define D3D12_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )
814#define D3D12_DEFAULT_MAX_ANISOTROPY ( 16 )
815
816#define D3D12_DEFAULT_MIP_LOD_BIAS ( 0.0f )
817#define D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 4194304 )
818
819#define D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 )
820
821#define D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )
822
823#define D3D12_DEFAULT_SAMPLE_MASK ( 0xffffffff )
824
825#define D3D12_DEFAULT_SCISSOR_ENDX ( 0 )
826
827#define D3D12_DEFAULT_SCISSOR_ENDY ( 0 )
828
829#define D3D12_DEFAULT_SCISSOR_STARTX ( 0 )
830
831#define D3D12_DEFAULT_SCISSOR_STARTY ( 0 )
832
833#define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )
834#define D3D12_DEFAULT_STENCIL_READ_MASK ( 0xff )
835
836#define D3D12_DEFAULT_STENCIL_REFERENCE ( 0 )
837
838#define D3D12_DEFAULT_STENCIL_WRITE_MASK ( 0xff )
839
840#define D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX ( 0 )
841
842#define D3D12_DEFAULT_VIEWPORT_HEIGHT ( 0 )
843
844#define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )
845#define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )
846#define D3D12_DEFAULT_VIEWPORT_TOPLEFTX ( 0 )
847
848#define D3D12_DEFAULT_VIEWPORT_TOPLEFTY ( 0 )
849
850#define D3D12_DEFAULT_VIEWPORT_WIDTH ( 0 )
851
852#define D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND ( 0xffffffff )
853
854#define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END ( 0xfffffff7 )
855
856#define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )
857
858#define D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
859
860#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
861
862#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
863
864#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT ( 32 )
865
866#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
867
868#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
869
870#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS ( 3 )
871
872#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
873
874#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT ( 1 )
875
876#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST ( 2 )
877
878#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS ( 1 )
879
880#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
881
882#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
883
884#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
885
886#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
887
888#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
889
890#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
891
892#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
893
894#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
895
896#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
897
898#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
899
900#define D3D12_DS_OUTPUT_REGISTER_COMPONENTS ( 4 )
901
902#define D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
903
904#define D3D12_DS_OUTPUT_REGISTER_COUNT ( 32 )
905
906#define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )
907#define D3D12_FLOAT32_MAX ( 3.402823466e+38f )
908#define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )
909#define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )
910#define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )
911#define D3D12_FLOAT_TO_SRGB_OFFSET ( 0.055f )
912#define D3D12_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )
913#define D3D12_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )
914#define D3D12_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )
915#define D3D12_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )
916#define D3D12_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )
917#define D3D12_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )
918#define D3D12_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )
919#define D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST ( 2 )
920
921#define D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS ( 1 )
922
923#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
924
925#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
926
927#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT ( 1 )
928
929#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS ( 1 )
930
931#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT ( 32 )
932
933#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT ( 1 )
934
935#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST ( 2 )
936
937#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS ( 1 )
938
939#define D3D12_GS_INPUT_REGISTER_COMPONENTS ( 4 )
940
941#define D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
942
943#define D3D12_GS_INPUT_REGISTER_COUNT ( 32 )
944
945#define D3D12_GS_INPUT_REGISTER_READS_PER_INST ( 2 )
946
947#define D3D12_GS_INPUT_REGISTER_READ_PORTS ( 1 )
948
949#define D3D12_GS_INPUT_REGISTER_VERTICES ( 32 )
950
951#define D3D12_GS_MAX_INSTANCE_COUNT ( 32 )
952
953#define D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES ( 1024 )
954
955#define D3D12_GS_OUTPUT_ELEMENTS ( 32 )
956
957#define D3D12_GS_OUTPUT_REGISTER_COMPONENTS ( 4 )
958
959#define D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
960
961#define D3D12_GS_OUTPUT_REGISTER_COUNT ( 32 )
962
963#define D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT ( 32 )
964
965#define D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT ( 32 )
966
967#define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
968
969#define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
970
971#define D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
972
973#define D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
974
975#define D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
976
977#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
978
979#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
980
981#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT ( 1 )
982
983#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
984
985#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
986
987#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
988
989#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
990
991#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT ( 1 )
992
993#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
994
995#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
996
997#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
998
999#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
1000
1001#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
1002
1003#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
1004
1005#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
1006
1007#define D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
1008
1009#define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND ( 1.0f )
1010#define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND ( 64.0f )
1011#define D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
1012
1013#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS ( 1 )
1014
1015#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
1016
1017#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT ( 1 )
1018
1019#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST ( 2 )
1020
1021#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS ( 1 )
1022
1023#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
1024
1025#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
1026
1027#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
1028
1029#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
1030
1031#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
1032
1033#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS ( 128 )
1034
1035#define D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES ( 0 )
1036
1037#define D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY ( 0 )
1038
1039#define D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES ( 0 )
1040
1041#define D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT ( 1 )
1042
1043#define D3D12_IA_INSTANCE_ID_BIT_COUNT ( 32 )
1044
1045#define D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT ( 32 )
1046
1047#define D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT ( 32 )
1048
1049#define D3D12_IA_PRIMITIVE_ID_BIT_COUNT ( 32 )
1050
1051#define D3D12_IA_VERTEX_ID_BIT_COUNT ( 32 )
1052
1053#define D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ( 32 )
1054
1055#define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS ( 128 )
1056
1057#define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 32 )
1058
1059#define D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT ( 0xffffffff )
1060
1061#define D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER ( 0xffffffff )
1062
1063#define D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL ( 0xffffffff )
1064
1065#define D3D12_KEEP_UNORDERED_ACCESS_VIEWS ( 0xffffffff )
1066
1067#define D3D12_LINEAR_GAMMA ( 1.0f )
1068#define D3D12_MAJOR_VERSION ( 12 )
1069
1070#define D3D12_MAX_BORDER_COLOR_COMPONENT ( 1.0f )
1071#define D3D12_MAX_DEPTH ( 1.0f )
1072#define D3D12_MAX_LIVE_STATIC_SAMPLERS ( 2032 )
1073
1074#define D3D12_MAX_MAXANISOTROPY ( 16 )
1075
1076#define D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT ( 32 )
1077
1078#define D3D12_MAX_POSITION_VALUE ( 3.402823466e+34f )
1079#define D3D12_MAX_ROOT_COST ( 64 )
1080
1081#define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 ( 1000000 )
1082
1083#define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 ( 1000000 )
1084
1085#define D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE ( 2048 )
1086
1087#define D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP ( 17 )
1088
1089#define D3D12_MAX_VIEW_INSTANCE_COUNT ( 4 )
1090
1091#define D3D12_MINOR_VERSION ( 0 )
1092
1093#define D3D12_MIN_BORDER_COLOR_COMPONENT ( 0.0f )
1094#define D3D12_MIN_DEPTH ( 0.0f )
1095#define D3D12_MIN_MAXANISOTROPY ( 0 )
1096
1097#define D3D12_MIP_LOD_BIAS_MAX ( 15.99f )
1098#define D3D12_MIP_LOD_BIAS_MIN ( -16.0f )
1099#define D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT ( 8 )
1100
1101#define D3D12_MIP_LOD_RANGE_BIT_COUNT ( 8 )
1102
1103#define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )
1104#define D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT ( 0 )
1105
1106#define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )
1107
1108#define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff8 )
1109
1110#define D3D12_PACKED_TILE ( 0xffffffff )
1111
1112#define D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 15 )
1113
1114#define D3D12_PREVIEW_SDK_VERSION ( 714 )
1115
1116#define D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
1117
1118#define D3D12_PS_CS_UAV_REGISTER_COMPONENTS ( 1 )
1119
1120#define D3D12_PS_CS_UAV_REGISTER_COUNT ( 8 )
1121
1122#define D3D12_PS_CS_UAV_REGISTER_READS_PER_INST ( 1 )
1123
1124#define D3D12_PS_CS_UAV_REGISTER_READ_PORTS ( 1 )
1125
1126#define D3D12_PS_FRONTFACING_DEFAULT_VALUE ( 0xffffffff )
1127
1128#define D3D12_PS_FRONTFACING_FALSE_VALUE ( 0 )
1129
1130#define D3D12_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff )
1131
1132#define D3D12_PS_INPUT_REGISTER_COMPONENTS ( 4 )
1133
1134#define D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
1135
1136#define D3D12_PS_INPUT_REGISTER_COUNT ( 32 )
1137
1138#define D3D12_PS_INPUT_REGISTER_READS_PER_INST ( 2 )
1139
1140#define D3D12_PS_INPUT_REGISTER_READ_PORTS ( 1 )
1141
1142#define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )
1143#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS ( 1 )
1144
1145#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT ( 32 )
1146
1147#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT ( 1 )
1148
1149#define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS ( 1 )
1150
1151#define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT ( 32 )
1152
1153#define D3D12_PS_OUTPUT_MASK_REGISTER_COUNT ( 1 )
1154
1155#define D3D12_PS_OUTPUT_REGISTER_COMPONENTS ( 4 )
1156
1157#define D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
1158
1159#define D3D12_PS_OUTPUT_REGISTER_COUNT ( 8 )
1160
1161#define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )
1162#define D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT ( 16 )
1163
1164#define D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT ( 8 )
1165
1166#define D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT ( 256 )
1167
1168#define D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT ( 16 )
1169
1170#define D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES ( 32 )
1171
1172#define D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH ( 31 )
1173
1174#define D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE ( 16777216 )
1175
1176#define D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE ( 16777216 )
1177
1178#define D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE ( 536870912 )
1179
1180#define D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS ( 1073741824 )
1181
1182#define D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE ( 4096 )
1183
1184#define D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT ( 32 )
1185
1186#define D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT ( 64 )
1187
1188#define D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT ( 16 )
1189
1190#define D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE ( 4096 )
1191
1192#define D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP ( 27 )
1193
1194#define D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
1195
1196#define D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE ( 4096 )
1197
1198#define D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 32 )
1199
1200#define D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP ( 32 )
1201
1202#define D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION ( 16384 )
1203
1204#define D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT ( 1024 )
1205
1206#define D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
1207
1208#define D3D12_REQ_MAXANISOTROPY ( 16 )
1209
1210#define D3D12_REQ_MIP_LEVELS ( 15 )
1211
1212#define D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 )
1213
1214#define D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE ( 4096 )
1215
1216#define D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 16384 )
1217
1218#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM ( 128 )
1219
1220#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM ( 0.25f )
1221#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM ( 2048 )
1222
1223#define D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP ( 20 )
1224
1225#define D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE ( 4096 )
1226
1227#define D3D12_REQ_SUBRESOURCES ( 30720 )
1228
1229#define D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION ( 2048 )
1230
1231#define D3D12_REQ_TEXTURE1D_U_DIMENSION ( 16384 )
1232
1233#define D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 2048 )
1234
1235#define D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION ( 16384 )
1236
1237#define D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION ( 2048 )
1238
1239#define D3D12_REQ_TEXTURECUBE_DIMENSION ( 16384 )
1240
1241#define D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL ( 0 )
1242
1243#define D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES ( 0xffffffff )
1244
1245#define D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT ( 2 )
1246
1247#define D3D12_SDK_VERSION ( 614 )
1248
1249#define D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES ( 32 )
1250
1251#define D3D12_SHADER_MAJOR_VERSION ( 5 )
1252
1253#define D3D12_SHADER_MAX_INSTANCES ( 65535 )
1254
1255#define D3D12_SHADER_MAX_INTERFACES ( 253 )
1256
1257#define D3D12_SHADER_MAX_INTERFACE_CALL_SITES ( 4096 )
1258
1259#define D3D12_SHADER_MAX_TYPES ( 65535 )
1260
1261#define D3D12_SHADER_MINOR_VERSION ( 1 )
1262
1263#define D3D12_SHIFT_INSTRUCTION_PAD_VALUE ( 0 )
1264
1265#define D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT ( 5 )
1266
1267#define D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ( 8 )
1268
1269#define D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )
1270
1271#define D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT ( 4096 )
1272
1273#define D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES ( 2048 )
1274
1275#define D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES ( 512 )
1276
1277#define D3D12_SO_BUFFER_SLOT_COUNT ( 4 )
1278
1279#define D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP ( 0xffffffff )
1280
1281#define D3D12_SO_NO_RASTERIZED_STREAM ( 0xffffffff )
1282
1283#define D3D12_SO_OUTPUT_COMPONENT_COUNT ( 128 )
1284
1285#define D3D12_SO_STREAM_COUNT ( 4 )
1286
1287#define D3D12_SPEC_DATE_DAY ( 14 )
1288
1289#define D3D12_SPEC_DATE_MONTH ( 11 )
1290
1291#define D3D12_SPEC_DATE_YEAR ( 2014 )
1292
1293#define D3D12_SPEC_VERSION ( 1.16 )
1294#define D3D12_SRGB_GAMMA ( 2.2f )
1295#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )
1296#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )
1297#define D3D12_SRGB_TO_FLOAT_EXPONENT ( 2.4f )
1298#define D3D12_SRGB_TO_FLOAT_OFFSET ( 0.055f )
1299#define D3D12_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )
1300#define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )
1301#define D3D12_STANDARD_COMPONENT_BIT_COUNT ( 32 )
1302
1303#define D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED ( 64 )
1304
1305#define D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 )
1306
1307#define D3D12_STANDARD_PIXEL_COMPONENT_COUNT ( 128 )
1308
1309#define D3D12_STANDARD_PIXEL_ELEMENT_COUNT ( 32 )
1310
1311#define D3D12_STANDARD_VECTOR_SIZE ( 4 )
1312
1313#define D3D12_STANDARD_VERTEX_ELEMENT_COUNT ( 32 )
1314
1315#define D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT ( 64 )
1316
1317#define D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT ( 8 )
1318
1319#define D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT ( 8 )
1320
1321#define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )
1322
1323#define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )
1324
1325#define D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR ( 64 )
1326
1327#define D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 64 )
1328
1329#define D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR ( 63 )
1330
1331#define D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR ( 64 )
1332
1333#define D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR ( 2 )
1334
1335#define D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 1 )
1336
1337#define D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR ( 1 )
1338
1339#define D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
1340
1341#define D3D12_TEXTURE_DATA_PITCH_ALIGNMENT ( 256 )
1342
1343#define D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT ( 512 )
1344
1345#define D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )
1346
1347#define D3D12_TRACKED_WORKLOAD_MAX_INSTANCES ( 32 )
1348
1349#define D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT ( 4096 )
1350
1351#define D3D12_UAV_SLOT_COUNT ( 64 )
1352
1353#define D3D12_UNBOUND_MEMORY_ACCESS_RESULT ( 0 )
1354
1355#define D3D12_VIDEO_DECODE_MAX_ARGUMENTS ( 10 )
1356
1357#define D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS ( 4 )
1358
1359#define D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT ( 256 )
1360
1361#define D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT ( 256 )
1362
1363#define D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN ( 0xffffffff )
1364
1365#define D3D12_VIDEO_ENCODER_AV1_INVALID_DPB_RESOURCE_INDEX ( 0xff )
1366
1367#define D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS ( 64 )
1368
1369#define D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS ( 64 )
1370
1371#define D3D12_VIDEO_ENCODER_AV1_SUPERRES_DENOM_MIN ( 9 )
1372
1373#define D3D12_VIDEO_ENCODER_AV1_SUPERRES_NUM ( 8 )
1374
1375#define D3D12_VIDEO_PROCESS_MAX_FILTERS ( 32 )
1376
1377#define D3D12_VIDEO_PROCESS_STEREO_VIEWS ( 2 )
1378
1379#define D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX ( 15 )
1380
1381#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE ( 16 )
1382
1383#define D3D12_VIEWPORT_BOUNDS_MAX ( 32767 )
1384
1385#define D3D12_VIEWPORT_BOUNDS_MIN ( -32768 )
1386
1387#define D3D12_VS_INPUT_REGISTER_COMPONENTS ( 4 )
1388
1389#define D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
1390
1391#define D3D12_VS_INPUT_REGISTER_COUNT ( 32 )
1392
1393#define D3D12_VS_INPUT_REGISTER_READS_PER_INST ( 2 )
1394
1395#define D3D12_VS_INPUT_REGISTER_READ_PORTS ( 1 )
1396
1397#define D3D12_VS_OUTPUT_REGISTER_COMPONENTS ( 4 )
1398
1399#define D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
1400
1401#define D3D12_VS_OUTPUT_REGISTER_COUNT ( 32 )
1402
1403#define D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT ( 10 )
1404
1405#define D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 25 )
1406
1407#define D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP ( 25 )
1408
1409#define D3D12_WORK_GRAPHS_BACKING_MEMORY_ALIGNMENT_IN_BYTES ( 8 )
1410
1411#define D3D12_WORK_GRAPHS_MAX_NODE_DEPTH ( 32 )
1412
1413#endif
1414
1415typedef UINT64 D3D12_GPU_VIRTUAL_ADDRESS;
1416
1417typedef
1418enum D3D12_COMMAND_LIST_TYPE
1419 {
1420 D3D12_COMMAND_LIST_TYPE_DIRECT = 0,
1421 D3D12_COMMAND_LIST_TYPE_BUNDLE = 1,
1422 D3D12_COMMAND_LIST_TYPE_COMPUTE = 2,
1423 D3D12_COMMAND_LIST_TYPE_COPY = 3,
1424 D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4,
1425 D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5,
1426 D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6,
1427 D3D12_COMMAND_LIST_TYPE_NONE = -1
1428 } D3D12_COMMAND_LIST_TYPE;
1429
1430typedef
1431enum D3D12_COMMAND_QUEUE_FLAGS
1432 {
1433 D3D12_COMMAND_QUEUE_FLAG_NONE = 0,
1434 D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1
1435 } D3D12_COMMAND_QUEUE_FLAGS;
1436
1437DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_QUEUE_FLAGS )
1438typedef
1439enum D3D12_COMMAND_QUEUE_PRIORITY
1440 {
1441 D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0,
1442 D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100,
1443 D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000
1444 } D3D12_COMMAND_QUEUE_PRIORITY;
1445
1446typedef struct D3D12_COMMAND_QUEUE_DESC
1447 {
1448 D3D12_COMMAND_LIST_TYPE Type;
1449 INT Priority;
1450 D3D12_COMMAND_QUEUE_FLAGS Flags;
1451 UINT NodeMask;
1452 } D3D12_COMMAND_QUEUE_DESC;
1453
1454typedef
1455enum D3D12_PRIMITIVE_TOPOLOGY_TYPE
1456 {
1457 D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0,
1458 D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1,
1459 D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2,
1460 D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3,
1461 D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4
1462 } D3D12_PRIMITIVE_TOPOLOGY_TYPE;
1463
1464typedef
1465enum D3D12_INPUT_CLASSIFICATION
1466 {
1467 D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0,
1468 D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1
1469 } D3D12_INPUT_CLASSIFICATION;
1470
1471typedef struct D3D12_INPUT_ELEMENT_DESC
1472 {
1473 LPCSTR SemanticName;
1474 UINT SemanticIndex;
1475 DXGI_FORMAT Format;
1476 UINT InputSlot;
1477 UINT AlignedByteOffset;
1478 D3D12_INPUT_CLASSIFICATION InputSlotClass;
1479 UINT InstanceDataStepRate;
1480 } D3D12_INPUT_ELEMENT_DESC;
1481
1482typedef
1483enum D3D12_FILL_MODE
1484 {
1485 D3D12_FILL_MODE_WIREFRAME = 2,
1486 D3D12_FILL_MODE_SOLID = 3
1487 } D3D12_FILL_MODE;
1488
1489typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY;
1490
1491typedef D3D_PRIMITIVE D3D12_PRIMITIVE;
1492
1493typedef
1494enum D3D12_CULL_MODE
1495 {
1496 D3D12_CULL_MODE_NONE = 1,
1497 D3D12_CULL_MODE_FRONT = 2,
1498 D3D12_CULL_MODE_BACK = 3
1499 } D3D12_CULL_MODE;
1500
1501typedef struct D3D12_SO_DECLARATION_ENTRY
1502 {
1503 UINT Stream;
1504 LPCSTR SemanticName;
1505 UINT SemanticIndex;
1506 BYTE StartComponent;
1507 BYTE ComponentCount;
1508 BYTE OutputSlot;
1509 } D3D12_SO_DECLARATION_ENTRY;
1510
1511typedef struct D3D12_VIEWPORT
1512 {
1513 FLOAT TopLeftX;
1514 FLOAT TopLeftY;
1515 FLOAT Width;
1516 FLOAT Height;
1517 FLOAT MinDepth;
1518 FLOAT MaxDepth;
1519 } D3D12_VIEWPORT;
1520
1521typedef RECT D3D12_RECT;
1522
1523typedef struct D3D12_BOX
1524 {
1525 UINT left;
1526 UINT top;
1527 UINT front;
1528 UINT right;
1529 UINT bottom;
1530 UINT back;
1531 } D3D12_BOX;
1532
1533typedef
1534enum D3D12_COMPARISON_FUNC
1535 {
1536 D3D12_COMPARISON_FUNC_NONE = 0,
1537 D3D12_COMPARISON_FUNC_NEVER = 1,
1538 D3D12_COMPARISON_FUNC_LESS = 2,
1539 D3D12_COMPARISON_FUNC_EQUAL = 3,
1540 D3D12_COMPARISON_FUNC_LESS_EQUAL = 4,
1541 D3D12_COMPARISON_FUNC_GREATER = 5,
1542 D3D12_COMPARISON_FUNC_NOT_EQUAL = 6,
1543 D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7,
1544 D3D12_COMPARISON_FUNC_ALWAYS = 8
1545 } D3D12_COMPARISON_FUNC;
1546
1547typedef
1548enum D3D12_DEPTH_WRITE_MASK
1549 {
1550 D3D12_DEPTH_WRITE_MASK_ZERO = 0,
1551 D3D12_DEPTH_WRITE_MASK_ALL = 1
1552 } D3D12_DEPTH_WRITE_MASK;
1553
1554typedef
1555enum D3D12_STENCIL_OP
1556 {
1557 D3D12_STENCIL_OP_KEEP = 1,
1558 D3D12_STENCIL_OP_ZERO = 2,
1559 D3D12_STENCIL_OP_REPLACE = 3,
1560 D3D12_STENCIL_OP_INCR_SAT = 4,
1561 D3D12_STENCIL_OP_DECR_SAT = 5,
1562 D3D12_STENCIL_OP_INVERT = 6,
1563 D3D12_STENCIL_OP_INCR = 7,
1564 D3D12_STENCIL_OP_DECR = 8
1565 } D3D12_STENCIL_OP;
1566
1567typedef struct D3D12_DEPTH_STENCILOP_DESC
1568 {
1569 D3D12_STENCIL_OP StencilFailOp;
1570 D3D12_STENCIL_OP StencilDepthFailOp;
1571 D3D12_STENCIL_OP StencilPassOp;
1572 D3D12_COMPARISON_FUNC StencilFunc;
1573 } D3D12_DEPTH_STENCILOP_DESC;
1574
1575typedef struct D3D12_DEPTH_STENCIL_DESC
1576 {
1577 BOOL DepthEnable;
1578 D3D12_DEPTH_WRITE_MASK DepthWriteMask;
1579 D3D12_COMPARISON_FUNC DepthFunc;
1580 BOOL StencilEnable;
1581 UINT8 StencilReadMask;
1582 UINT8 StencilWriteMask;
1583 D3D12_DEPTH_STENCILOP_DESC FrontFace;
1584 D3D12_DEPTH_STENCILOP_DESC BackFace;
1585 } D3D12_DEPTH_STENCIL_DESC;
1586
1587typedef struct D3D12_DEPTH_STENCIL_DESC1
1588 {
1589 BOOL DepthEnable;
1590 D3D12_DEPTH_WRITE_MASK DepthWriteMask;
1591 D3D12_COMPARISON_FUNC DepthFunc;
1592 BOOL StencilEnable;
1593 UINT8 StencilReadMask;
1594 UINT8 StencilWriteMask;
1595 D3D12_DEPTH_STENCILOP_DESC FrontFace;
1596 D3D12_DEPTH_STENCILOP_DESC BackFace;
1597 BOOL DepthBoundsTestEnable;
1598 } D3D12_DEPTH_STENCIL_DESC1;
1599
1600typedef struct D3D12_DEPTH_STENCILOP_DESC1
1601 {
1602 D3D12_STENCIL_OP StencilFailOp;
1603 D3D12_STENCIL_OP StencilDepthFailOp;
1604 D3D12_STENCIL_OP StencilPassOp;
1605 D3D12_COMPARISON_FUNC StencilFunc;
1606 UINT8 StencilReadMask;
1607 UINT8 StencilWriteMask;
1608 } D3D12_DEPTH_STENCILOP_DESC1;
1609
1610typedef struct D3D12_DEPTH_STENCIL_DESC2
1611 {
1612 BOOL DepthEnable;
1613 D3D12_DEPTH_WRITE_MASK DepthWriteMask;
1614 D3D12_COMPARISON_FUNC DepthFunc;
1615 BOOL StencilEnable;
1616 D3D12_DEPTH_STENCILOP_DESC1 FrontFace;
1617 D3D12_DEPTH_STENCILOP_DESC1 BackFace;
1618 BOOL DepthBoundsTestEnable;
1619 } D3D12_DEPTH_STENCIL_DESC2;
1620
1621typedef
1622enum D3D12_BLEND
1623 {
1624 D3D12_BLEND_ZERO = 1,
1625 D3D12_BLEND_ONE = 2,
1626 D3D12_BLEND_SRC_COLOR = 3,
1627 D3D12_BLEND_INV_SRC_COLOR = 4,
1628 D3D12_BLEND_SRC_ALPHA = 5,
1629 D3D12_BLEND_INV_SRC_ALPHA = 6,
1630 D3D12_BLEND_DEST_ALPHA = 7,
1631 D3D12_BLEND_INV_DEST_ALPHA = 8,
1632 D3D12_BLEND_DEST_COLOR = 9,
1633 D3D12_BLEND_INV_DEST_COLOR = 10,
1634 D3D12_BLEND_SRC_ALPHA_SAT = 11,
1635 D3D12_BLEND_BLEND_FACTOR = 14,
1636 D3D12_BLEND_INV_BLEND_FACTOR = 15,
1637 D3D12_BLEND_SRC1_COLOR = 16,
1638 D3D12_BLEND_INV_SRC1_COLOR = 17,
1639 D3D12_BLEND_SRC1_ALPHA = 18,
1640 D3D12_BLEND_INV_SRC1_ALPHA = 19,
1641 D3D12_BLEND_ALPHA_FACTOR = 20,
1642 D3D12_BLEND_INV_ALPHA_FACTOR = 21
1643 } D3D12_BLEND;
1644
1645typedef
1646enum D3D12_BLEND_OP
1647 {
1648 D3D12_BLEND_OP_ADD = 1,
1649 D3D12_BLEND_OP_SUBTRACT = 2,
1650 D3D12_BLEND_OP_REV_SUBTRACT = 3,
1651 D3D12_BLEND_OP_MIN = 4,
1652 D3D12_BLEND_OP_MAX = 5
1653 } D3D12_BLEND_OP;
1654
1655typedef
1656enum D3D12_COLOR_WRITE_ENABLE
1657 {
1658 D3D12_COLOR_WRITE_ENABLE_RED = 1,
1659 D3D12_COLOR_WRITE_ENABLE_GREEN = 2,
1660 D3D12_COLOR_WRITE_ENABLE_BLUE = 4,
1661 D3D12_COLOR_WRITE_ENABLE_ALPHA = 8,
1662 D3D12_COLOR_WRITE_ENABLE_ALL = ( ( ( D3D12_COLOR_WRITE_ENABLE_RED | D3D12_COLOR_WRITE_ENABLE_GREEN ) | D3D12_COLOR_WRITE_ENABLE_BLUE ) | D3D12_COLOR_WRITE_ENABLE_ALPHA )
1663 } D3D12_COLOR_WRITE_ENABLE;
1664
1665typedef
1666enum D3D12_LOGIC_OP
1667 {
1668 D3D12_LOGIC_OP_CLEAR = 0,
1669 D3D12_LOGIC_OP_SET = ( D3D12_LOGIC_OP_CLEAR + 1 ) ,
1670 D3D12_LOGIC_OP_COPY = ( D3D12_LOGIC_OP_SET + 1 ) ,
1671 D3D12_LOGIC_OP_COPY_INVERTED = ( D3D12_LOGIC_OP_COPY + 1 ) ,
1672 D3D12_LOGIC_OP_NOOP = ( D3D12_LOGIC_OP_COPY_INVERTED + 1 ) ,
1673 D3D12_LOGIC_OP_INVERT = ( D3D12_LOGIC_OP_NOOP + 1 ) ,
1674 D3D12_LOGIC_OP_AND = ( D3D12_LOGIC_OP_INVERT + 1 ) ,
1675 D3D12_LOGIC_OP_NAND = ( D3D12_LOGIC_OP_AND + 1 ) ,
1676 D3D12_LOGIC_OP_OR = ( D3D12_LOGIC_OP_NAND + 1 ) ,
1677 D3D12_LOGIC_OP_NOR = ( D3D12_LOGIC_OP_OR + 1 ) ,
1678 D3D12_LOGIC_OP_XOR = ( D3D12_LOGIC_OP_NOR + 1 ) ,
1679 D3D12_LOGIC_OP_EQUIV = ( D3D12_LOGIC_OP_XOR + 1 ) ,
1680 D3D12_LOGIC_OP_AND_REVERSE = ( D3D12_LOGIC_OP_EQUIV + 1 ) ,
1681 D3D12_LOGIC_OP_AND_INVERTED = ( D3D12_LOGIC_OP_AND_REVERSE + 1 ) ,
1682 D3D12_LOGIC_OP_OR_REVERSE = ( D3D12_LOGIC_OP_AND_INVERTED + 1 ) ,
1683 D3D12_LOGIC_OP_OR_INVERTED = ( D3D12_LOGIC_OP_OR_REVERSE + 1 )
1684 } D3D12_LOGIC_OP;
1685
1686typedef struct D3D12_RENDER_TARGET_BLEND_DESC
1687 {
1688 BOOL BlendEnable;
1689 BOOL LogicOpEnable;
1690 D3D12_BLEND SrcBlend;
1691 D3D12_BLEND DestBlend;
1692 D3D12_BLEND_OP BlendOp;
1693 D3D12_BLEND SrcBlendAlpha;
1694 D3D12_BLEND DestBlendAlpha;
1695 D3D12_BLEND_OP BlendOpAlpha;
1696 D3D12_LOGIC_OP LogicOp;
1697 UINT8 RenderTargetWriteMask;
1698 } D3D12_RENDER_TARGET_BLEND_DESC;
1699
1700typedef struct D3D12_BLEND_DESC
1701 {
1702 BOOL AlphaToCoverageEnable;
1703 BOOL IndependentBlendEnable;
1704 D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[ 8 ];
1705 } D3D12_BLEND_DESC;
1706
1707/* Note, the array size for RenderTarget[] above is D3D12_SIMULTANEOUS_RENDERTARGET_COUNT.
1708 IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */
1709typedef
1710enum D3D12_CONSERVATIVE_RASTERIZATION_MODE
1711 {
1712 D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0,
1713 D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1
1714 } D3D12_CONSERVATIVE_RASTERIZATION_MODE;
1715
1716typedef struct D3D12_RASTERIZER_DESC
1717 {
1718 D3D12_FILL_MODE FillMode;
1719 D3D12_CULL_MODE CullMode;
1720 BOOL FrontCounterClockwise;
1721 INT DepthBias;
1722 FLOAT DepthBiasClamp;
1723 FLOAT SlopeScaledDepthBias;
1724 BOOL DepthClipEnable;
1725 BOOL MultisampleEnable;
1726 BOOL AntialiasedLineEnable;
1727 UINT ForcedSampleCount;
1728 D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
1729 } D3D12_RASTERIZER_DESC;
1730
1731typedef struct D3D12_RASTERIZER_DESC1
1732 {
1733 D3D12_FILL_MODE FillMode;
1734 D3D12_CULL_MODE CullMode;
1735 BOOL FrontCounterClockwise;
1736 FLOAT DepthBias;
1737 FLOAT DepthBiasClamp;
1738 FLOAT SlopeScaledDepthBias;
1739 BOOL DepthClipEnable;
1740 BOOL MultisampleEnable;
1741 BOOL AntialiasedLineEnable;
1742 UINT ForcedSampleCount;
1743 D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
1744 } D3D12_RASTERIZER_DESC1;
1745
1746typedef
1747enum D3D12_LINE_RASTERIZATION_MODE
1748 {
1749 D3D12_LINE_RASTERIZATION_MODE_ALIASED = 0,
1750 D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED = ( D3D12_LINE_RASTERIZATION_MODE_ALIASED + 1 ) ,
1751 D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE = ( D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED + 1 ) ,
1752 D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_NARROW = ( D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE + 1 )
1753 } D3D12_LINE_RASTERIZATION_MODE;
1754
1755typedef struct D3D12_RASTERIZER_DESC2
1756 {
1757 D3D12_FILL_MODE FillMode;
1758 D3D12_CULL_MODE CullMode;
1759 BOOL FrontCounterClockwise;
1760 FLOAT DepthBias;
1761 FLOAT DepthBiasClamp;
1762 FLOAT SlopeScaledDepthBias;
1763 BOOL DepthClipEnable;
1764 D3D12_LINE_RASTERIZATION_MODE LineRasterizationMode;
1765 UINT ForcedSampleCount;
1766 D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
1767 } D3D12_RASTERIZER_DESC2;
1768
1769
1770
1771extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_c_ifspec;
1772extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_s_ifspec;
1773
1774#ifndef __ID3D12Object_INTERFACE_DEFINED__
1775#define __ID3D12Object_INTERFACE_DEFINED__
1776
1777/* interface ID3D12Object */
1778/* [unique][local][object][uuid] */
1779
1780
1781EXTERN_C const IID IID_ID3D12Object;
1782
1783#if defined(__cplusplus) && !defined(CINTERFACE)
1784
1785 MIDL_INTERFACE("c4fec28f-7966-4e95-9f94-f431cb56c3b8")
1786 ID3D12Object : public IUnknown
1787 {
1788 public:
1789 virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
1790 _In_ REFGUID guid,
1791 _Inout_ UINT *pDataSize,
1792 _Out_writes_bytes_opt_( *pDataSize ) void *pData) = 0;
1793
1794 virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
1795 _In_ REFGUID guid,
1796 _In_ UINT DataSize,
1797 _In_reads_bytes_opt_( DataSize ) const void *pData) = 0;
1798
1799 virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
1800 _In_ REFGUID guid,
1801 _In_opt_ const IUnknown *pData) = 0;
1802
1803 virtual HRESULT STDMETHODCALLTYPE SetName(
1804 _In_z_ LPCWSTR Name) = 0;
1805
1806 };
1807
1808
1809#else /* C style interface */
1810
1811 typedef struct ID3D12ObjectVtbl
1812 {
1813 BEGIN_INTERFACE
1814
1815 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
1816 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1817 ID3D12Object * This,
1818 REFIID riid,
1819 _COM_Outptr_ void **ppvObject);
1820
1821 DECLSPEC_XFGVIRT(IUnknown, AddRef)
1822 ULONG ( STDMETHODCALLTYPE *AddRef )(
1823 ID3D12Object * This);
1824
1825 DECLSPEC_XFGVIRT(IUnknown, Release)
1826 ULONG ( STDMETHODCALLTYPE *Release )(
1827 ID3D12Object * This);
1828
1829 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
1830 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1831 ID3D12Object * This,
1832 _In_ REFGUID guid,
1833 _Inout_ UINT *pDataSize,
1834 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
1835
1836 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
1837 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1838 ID3D12Object * This,
1839 _In_ REFGUID guid,
1840 _In_ UINT DataSize,
1841 _In_reads_bytes_opt_( DataSize ) const void *pData);
1842
1843 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
1844 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1845 ID3D12Object * This,
1846 _In_ REFGUID guid,
1847 _In_opt_ const IUnknown *pData);
1848
1849 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
1850 HRESULT ( STDMETHODCALLTYPE *SetName )(
1851 ID3D12Object * This,
1852 _In_z_ LPCWSTR Name);
1853
1854 END_INTERFACE
1855 } ID3D12ObjectVtbl;
1856
1857 interface ID3D12Object
1858 {
1859 CONST_VTBL struct ID3D12ObjectVtbl *lpVtbl;
1860 };
1861
1862
1863
1864#ifdef COBJMACROS
1865
1866
1867#define ID3D12Object_QueryInterface(This,riid,ppvObject) \
1868 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1869
1870#define ID3D12Object_AddRef(This) \
1871 ( (This)->lpVtbl -> AddRef(This) )
1872
1873#define ID3D12Object_Release(This) \
1874 ( (This)->lpVtbl -> Release(This) )
1875
1876
1877#define ID3D12Object_GetPrivateData(This,guid,pDataSize,pData) \
1878 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1879
1880#define ID3D12Object_SetPrivateData(This,guid,DataSize,pData) \
1881 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
1882
1883#define ID3D12Object_SetPrivateDataInterface(This,guid,pData) \
1884 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
1885
1886#define ID3D12Object_SetName(This,Name) \
1887 ( (This)->lpVtbl -> SetName(This,Name) )
1888
1889#endif /* COBJMACROS */
1890
1891
1892#endif /* C style interface */
1893
1894
1895
1896
1897#endif /* __ID3D12Object_INTERFACE_DEFINED__ */
1898
1899
1900#ifndef __ID3D12DeviceChild_INTERFACE_DEFINED__
1901#define __ID3D12DeviceChild_INTERFACE_DEFINED__
1902
1903/* interface ID3D12DeviceChild */
1904/* [unique][local][object][uuid] */
1905
1906
1907EXTERN_C const IID IID_ID3D12DeviceChild;
1908
1909#if defined(__cplusplus) && !defined(CINTERFACE)
1910
1911 MIDL_INTERFACE("905db94b-a00c-4140-9df5-2b64ca9ea357")
1912 ID3D12DeviceChild : public ID3D12Object
1913 {
1914 public:
1915 virtual HRESULT STDMETHODCALLTYPE GetDevice(
1916 REFIID riid,
1917 _COM_Outptr_opt_ void **ppvDevice) = 0;
1918
1919 };
1920
1921
1922#else /* C style interface */
1923
1924 typedef struct ID3D12DeviceChildVtbl
1925 {
1926 BEGIN_INTERFACE
1927
1928 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
1929 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1930 ID3D12DeviceChild * This,
1931 REFIID riid,
1932 _COM_Outptr_ void **ppvObject);
1933
1934 DECLSPEC_XFGVIRT(IUnknown, AddRef)
1935 ULONG ( STDMETHODCALLTYPE *AddRef )(
1936 ID3D12DeviceChild * This);
1937
1938 DECLSPEC_XFGVIRT(IUnknown, Release)
1939 ULONG ( STDMETHODCALLTYPE *Release )(
1940 ID3D12DeviceChild * This);
1941
1942 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
1943 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1944 ID3D12DeviceChild * This,
1945 _In_ REFGUID guid,
1946 _Inout_ UINT *pDataSize,
1947 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
1948
1949 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
1950 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1951 ID3D12DeviceChild * This,
1952 _In_ REFGUID guid,
1953 _In_ UINT DataSize,
1954 _In_reads_bytes_opt_( DataSize ) const void *pData);
1955
1956 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
1957 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1958 ID3D12DeviceChild * This,
1959 _In_ REFGUID guid,
1960 _In_opt_ const IUnknown *pData);
1961
1962 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
1963 HRESULT ( STDMETHODCALLTYPE *SetName )(
1964 ID3D12DeviceChild * This,
1965 _In_z_ LPCWSTR Name);
1966
1967 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
1968 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
1969 ID3D12DeviceChild * This,
1970 REFIID riid,
1971 _COM_Outptr_opt_ void **ppvDevice);
1972
1973 END_INTERFACE
1974 } ID3D12DeviceChildVtbl;
1975
1976 interface ID3D12DeviceChild
1977 {
1978 CONST_VTBL struct ID3D12DeviceChildVtbl *lpVtbl;
1979 };
1980
1981
1982
1983#ifdef COBJMACROS
1984
1985
1986#define ID3D12DeviceChild_QueryInterface(This,riid,ppvObject) \
1987 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1988
1989#define ID3D12DeviceChild_AddRef(This) \
1990 ( (This)->lpVtbl -> AddRef(This) )
1991
1992#define ID3D12DeviceChild_Release(This) \
1993 ( (This)->lpVtbl -> Release(This) )
1994
1995
1996#define ID3D12DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \
1997 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
1998
1999#define ID3D12DeviceChild_SetPrivateData(This,guid,DataSize,pData) \
2000 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
2001
2002#define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,pData) \
2003 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
2004
2005#define ID3D12DeviceChild_SetName(This,Name) \
2006 ( (This)->lpVtbl -> SetName(This,Name) )
2007
2008
2009#define ID3D12DeviceChild_GetDevice(This,riid,ppvDevice) \
2010 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
2011
2012#endif /* COBJMACROS */
2013
2014
2015#endif /* C style interface */
2016
2017
2018
2019
2020#endif /* __ID3D12DeviceChild_INTERFACE_DEFINED__ */
2021
2022
2023#ifndef __ID3D12RootSignature_INTERFACE_DEFINED__
2024#define __ID3D12RootSignature_INTERFACE_DEFINED__
2025
2026/* interface ID3D12RootSignature */
2027/* [unique][local][object][uuid] */
2028
2029
2030EXTERN_C const IID IID_ID3D12RootSignature;
2031
2032#if defined(__cplusplus) && !defined(CINTERFACE)
2033
2034 MIDL_INTERFACE("c54a6b66-72df-4ee8-8be5-a946a1429214")
2035 ID3D12RootSignature : public ID3D12DeviceChild
2036 {
2037 public:
2038 };
2039
2040
2041#else /* C style interface */
2042
2043 typedef struct ID3D12RootSignatureVtbl
2044 {
2045 BEGIN_INTERFACE
2046
2047 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
2048 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2049 ID3D12RootSignature * This,
2050 REFIID riid,
2051 _COM_Outptr_ void **ppvObject);
2052
2053 DECLSPEC_XFGVIRT(IUnknown, AddRef)
2054 ULONG ( STDMETHODCALLTYPE *AddRef )(
2055 ID3D12RootSignature * This);
2056
2057 DECLSPEC_XFGVIRT(IUnknown, Release)
2058 ULONG ( STDMETHODCALLTYPE *Release )(
2059 ID3D12RootSignature * This);
2060
2061 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
2062 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2063 ID3D12RootSignature * This,
2064 _In_ REFGUID guid,
2065 _Inout_ UINT *pDataSize,
2066 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
2067
2068 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
2069 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2070 ID3D12RootSignature * This,
2071 _In_ REFGUID guid,
2072 _In_ UINT DataSize,
2073 _In_reads_bytes_opt_( DataSize ) const void *pData);
2074
2075 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
2076 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2077 ID3D12RootSignature * This,
2078 _In_ REFGUID guid,
2079 _In_opt_ const IUnknown *pData);
2080
2081 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
2082 HRESULT ( STDMETHODCALLTYPE *SetName )(
2083 ID3D12RootSignature * This,
2084 _In_z_ LPCWSTR Name);
2085
2086 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
2087 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
2088 ID3D12RootSignature * This,
2089 REFIID riid,
2090 _COM_Outptr_opt_ void **ppvDevice);
2091
2092 END_INTERFACE
2093 } ID3D12RootSignatureVtbl;
2094
2095 interface ID3D12RootSignature
2096 {
2097 CONST_VTBL struct ID3D12RootSignatureVtbl *lpVtbl;
2098 };
2099
2100
2101
2102#ifdef COBJMACROS
2103
2104
2105#define ID3D12RootSignature_QueryInterface(This,riid,ppvObject) \
2106 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2107
2108#define ID3D12RootSignature_AddRef(This) \
2109 ( (This)->lpVtbl -> AddRef(This) )
2110
2111#define ID3D12RootSignature_Release(This) \
2112 ( (This)->lpVtbl -> Release(This) )
2113
2114
2115#define ID3D12RootSignature_GetPrivateData(This,guid,pDataSize,pData) \
2116 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
2117
2118#define ID3D12RootSignature_SetPrivateData(This,guid,DataSize,pData) \
2119 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
2120
2121#define ID3D12RootSignature_SetPrivateDataInterface(This,guid,pData) \
2122 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
2123
2124#define ID3D12RootSignature_SetName(This,Name) \
2125 ( (This)->lpVtbl -> SetName(This,Name) )
2126
2127
2128#define ID3D12RootSignature_GetDevice(This,riid,ppvDevice) \
2129 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
2130
2131
2132#endif /* COBJMACROS */
2133
2134
2135#endif /* C style interface */
2136
2137
2138
2139
2140#endif /* __ID3D12RootSignature_INTERFACE_DEFINED__ */
2141
2142
2143/* interface __MIDL_itf_d3d12_0000_0001 */
2144/* [local] */
2145
2146typedef struct D3D12_SHADER_BYTECODE
2147 {
2148 _Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode;
2149 SIZE_T BytecodeLength;
2150 } D3D12_SHADER_BYTECODE;
2151
2152typedef struct D3D12_STREAM_OUTPUT_DESC
2153 {
2154 _Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration;
2155 UINT NumEntries;
2156 _Field_size_full_(NumStrides) const UINT *pBufferStrides;
2157 UINT NumStrides;
2158 UINT RasterizedStream;
2159 } D3D12_STREAM_OUTPUT_DESC;
2160
2161typedef struct D3D12_INPUT_LAYOUT_DESC
2162 {
2163 _Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs;
2164 UINT NumElements;
2165 } D3D12_INPUT_LAYOUT_DESC;
2166
2167typedef
2168enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
2169 {
2170 D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0,
2171 D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1,
2172 D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2
2173 } D3D12_INDEX_BUFFER_STRIP_CUT_VALUE;
2174
2175typedef
2176enum D3D12_STANDARD_MULTISAMPLE_QUALITY_LEVELS
2177 {
2178 D3D12_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff,
2179 D3D12_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe
2180 } D3D12_STANDARD_MULTISAMPLE_QUALITY_LEVELS;
2181
2182typedef struct D3D12_CACHED_PIPELINE_STATE
2183 {
2184 _Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob;
2185 SIZE_T CachedBlobSizeInBytes;
2186 } D3D12_CACHED_PIPELINE_STATE;
2187
2188typedef
2189enum D3D12_PIPELINE_STATE_FLAGS
2190 {
2191 D3D12_PIPELINE_STATE_FLAG_NONE = 0,
2192 D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1,
2193 D3D12_PIPELINE_STATE_FLAG_DYNAMIC_DEPTH_BIAS = 0x4,
2194 D3D12_PIPELINE_STATE_FLAG_DYNAMIC_INDEX_BUFFER_STRIP_CUT = 0x8
2195 } D3D12_PIPELINE_STATE_FLAGS;
2196
2197DEFINE_ENUM_FLAG_OPERATORS( D3D12_PIPELINE_STATE_FLAGS )
2198typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC
2199 {
2200 ID3D12RootSignature *pRootSignature;
2201 D3D12_SHADER_BYTECODE VS;
2202 D3D12_SHADER_BYTECODE PS;
2203 D3D12_SHADER_BYTECODE DS;
2204 D3D12_SHADER_BYTECODE HS;
2205 D3D12_SHADER_BYTECODE GS;
2206 D3D12_STREAM_OUTPUT_DESC StreamOutput;
2207 D3D12_BLEND_DESC BlendState;
2208 UINT SampleMask;
2209 D3D12_RASTERIZER_DESC RasterizerState;
2210 D3D12_DEPTH_STENCIL_DESC DepthStencilState;
2211 D3D12_INPUT_LAYOUT_DESC InputLayout;
2212 D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue;
2213 D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
2214 UINT NumRenderTargets;
2215 DXGI_FORMAT RTVFormats[ 8 ];
2216 DXGI_FORMAT DSVFormat;
2217 DXGI_SAMPLE_DESC SampleDesc;
2218 UINT NodeMask;
2219 D3D12_CACHED_PIPELINE_STATE CachedPSO;
2220 D3D12_PIPELINE_STATE_FLAGS Flags;
2221 } D3D12_GRAPHICS_PIPELINE_STATE_DESC;
2222
2223typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC
2224 {
2225 ID3D12RootSignature *pRootSignature;
2226 D3D12_SHADER_BYTECODE CS;
2227 UINT NodeMask;
2228 D3D12_CACHED_PIPELINE_STATE CachedPSO;
2229 D3D12_PIPELINE_STATE_FLAGS Flags;
2230 } D3D12_COMPUTE_PIPELINE_STATE_DESC;
2231
2232struct D3D12_RT_FORMAT_ARRAY
2233 {
2234 DXGI_FORMAT RTFormats[ 8 ];
2235 UINT NumRenderTargets;
2236 } ;
2237typedef struct D3D12_PIPELINE_STATE_STREAM_DESC
2238 {
2239 _In_ SIZE_T SizeInBytes;
2240 _In_reads_(_Inexpressible_("Dependent on size of subobjects")) void *pPipelineStateSubobjectStream;
2241 } D3D12_PIPELINE_STATE_STREAM_DESC;
2242
2243typedef
2244enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE
2245 {
2246 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0,
2247 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE + 1 ) ,
2248 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS + 1 ) ,
2249 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS + 1 ) ,
2250 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS + 1 ) ,
2251 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS + 1 ) ,
2252 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS + 1 ) ,
2253 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS + 1 ) ,
2254 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT + 1 ) ,
2255 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND + 1 ) ,
2256 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK + 1 ) ,
2257 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER + 1 ) ,
2258 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL + 1 ) ,
2259 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT + 1 ) ,
2260 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE + 1 ) ,
2261 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY + 1 ) ,
2262 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS + 1 ) ,
2263 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT + 1 ) ,
2264 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC + 1 ) ,
2265 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK + 1 ) ,
2266 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO + 1 ) ,
2267 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS + 1 ) ,
2268 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 + 1 ) ,
2269 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 24,
2270 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 25,
2271 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 26,
2272 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1 = 27,
2273 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2 = 28,
2274 D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2 + 1 )
2275 } D3D12_PIPELINE_STATE_SUBOBJECT_TYPE;
2276
2277typedef
2278enum D3D12_FEATURE
2279 {
2280 D3D12_FEATURE_D3D12_OPTIONS = 0,
2281 D3D12_FEATURE_ARCHITECTURE = 1,
2282 D3D12_FEATURE_FEATURE_LEVELS = 2,
2283 D3D12_FEATURE_FORMAT_SUPPORT = 3,
2284 D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4,
2285 D3D12_FEATURE_FORMAT_INFO = 5,
2286 D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6,
2287 D3D12_FEATURE_SHADER_MODEL = 7,
2288 D3D12_FEATURE_D3D12_OPTIONS1 = 8,
2289 D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10,
2290 D3D12_FEATURE_ROOT_SIGNATURE = 12,
2291 D3D12_FEATURE_ARCHITECTURE1 = 16,
2292 D3D12_FEATURE_D3D12_OPTIONS2 = 18,
2293 D3D12_FEATURE_SHADER_CACHE = 19,
2294 D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20,
2295 D3D12_FEATURE_D3D12_OPTIONS3 = 21,
2296 D3D12_FEATURE_EXISTING_HEAPS = 22,
2297 D3D12_FEATURE_D3D12_OPTIONS4 = 23,
2298 D3D12_FEATURE_SERIALIZATION = 24,
2299 D3D12_FEATURE_CROSS_NODE = 25,
2300 D3D12_FEATURE_D3D12_OPTIONS5 = 27,
2301 D3D12_FEATURE_DISPLAYABLE = 28,
2302 D3D12_FEATURE_D3D12_OPTIONS6 = 30,
2303 D3D12_FEATURE_QUERY_META_COMMAND = 31,
2304 D3D12_FEATURE_D3D12_OPTIONS7 = 32,
2305 D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33,
2306 D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34,
2307 D3D12_FEATURE_D3D12_OPTIONS8 = 36,
2308 D3D12_FEATURE_D3D12_OPTIONS9 = 37,
2309 D3D12_FEATURE_D3D12_OPTIONS10 = 39,
2310 D3D12_FEATURE_D3D12_OPTIONS11 = 40,
2311 D3D12_FEATURE_D3D12_OPTIONS12 = 41,
2312 D3D12_FEATURE_D3D12_OPTIONS13 = 42,
2313 D3D12_FEATURE_D3D12_OPTIONS14 = 43,
2314 D3D12_FEATURE_D3D12_OPTIONS15 = 44,
2315 D3D12_FEATURE_D3D12_OPTIONS16 = 45,
2316 D3D12_FEATURE_D3D12_OPTIONS17 = 46,
2317 D3D12_FEATURE_D3D12_OPTIONS18 = 47,
2318 D3D12_FEATURE_D3D12_OPTIONS19 = 48,
2319 D3D12_FEATURE_D3D12_OPTIONS20 = 49,
2320 D3D12_FEATURE_PREDICATION = 50,
2321 D3D12_FEATURE_PLACED_RESOURCE_SUPPORT_INFO = 51,
2322 D3D12_FEATURE_HARDWARE_COPY = 52,
2323 D3D12_FEATURE_D3D12_OPTIONS21 = 53
2324 } D3D12_FEATURE;
2325
2326typedef
2327enum D3D12_SHADER_MIN_PRECISION_SUPPORT
2328 {
2329 D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0,
2330 D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1,
2331 D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2
2332 } D3D12_SHADER_MIN_PRECISION_SUPPORT;
2333
2334DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_MIN_PRECISION_SUPPORT )
2335typedef
2336enum D3D12_TILED_RESOURCES_TIER
2337 {
2338 D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0,
2339 D3D12_TILED_RESOURCES_TIER_1 = 1,
2340 D3D12_TILED_RESOURCES_TIER_2 = 2,
2341 D3D12_TILED_RESOURCES_TIER_3 = 3,
2342 D3D12_TILED_RESOURCES_TIER_4 = 4
2343 } D3D12_TILED_RESOURCES_TIER;
2344
2345typedef
2346enum D3D12_RESOURCE_BINDING_TIER
2347 {
2348 D3D12_RESOURCE_BINDING_TIER_1 = 1,
2349 D3D12_RESOURCE_BINDING_TIER_2 = 2,
2350 D3D12_RESOURCE_BINDING_TIER_3 = 3
2351 } D3D12_RESOURCE_BINDING_TIER;
2352
2353typedef
2354enum D3D12_CONSERVATIVE_RASTERIZATION_TIER
2355 {
2356 D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0,
2357 D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1,
2358 D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2,
2359 D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3
2360 } D3D12_CONSERVATIVE_RASTERIZATION_TIER;
2361
2362typedef
2363enum D3D12_FORMAT_SUPPORT1
2364 {
2365 D3D12_FORMAT_SUPPORT1_NONE = 0,
2366 D3D12_FORMAT_SUPPORT1_BUFFER = 0x1,
2367 D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x2,
2368 D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x4,
2369 D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x8,
2370 D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x10,
2371 D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x20,
2372 D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x40,
2373 D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x80,
2374 D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x100,
2375 D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x200,
2376 D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x400,
2377 D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x800,
2378 D3D12_FORMAT_SUPPORT1_MIP = 0x1000,
2379 D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x4000,
2380 D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x8000,
2381 D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x10000,
2382 D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x40000,
2383 D3D12_FORMAT_SUPPORT1_DISPLAY = 0x80000,
2384 D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x100000,
2385 D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x200000,
2386 D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x400000,
2387 D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x800000,
2388 D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x1000000,
2389 D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000,
2390 D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x4000000,
2391 D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x8000000,
2392 D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000,
2393 D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000,
2394 D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000
2395 } D3D12_FORMAT_SUPPORT1;
2396
2397DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT1 )
2398typedef
2399enum D3D12_FORMAT_SUPPORT2
2400 {
2401 D3D12_FORMAT_SUPPORT2_NONE = 0,
2402 D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1,
2403 D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2,
2404 D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4,
2405 D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8,
2406 D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10,
2407 D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20,
2408 D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40,
2409 D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80,
2410 D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100,
2411 D3D12_FORMAT_SUPPORT2_TILED = 0x200,
2412 D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000,
2413 D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = 0x8000
2414 } D3D12_FORMAT_SUPPORT2;
2415
2416DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT2 )
2417typedef
2418enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS
2419 {
2420 D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0,
2421 D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x1
2422 } D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS;
2423
2424DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS )
2425typedef
2426enum D3D12_CROSS_NODE_SHARING_TIER
2427 {
2428 D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0,
2429 D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1,
2430 D3D12_CROSS_NODE_SHARING_TIER_1 = 2,
2431 D3D12_CROSS_NODE_SHARING_TIER_2 = 3,
2432 D3D12_CROSS_NODE_SHARING_TIER_3 = 4
2433 } D3D12_CROSS_NODE_SHARING_TIER;
2434
2435typedef
2436enum D3D12_RESOURCE_HEAP_TIER
2437 {
2438 D3D12_RESOURCE_HEAP_TIER_1 = 1,
2439 D3D12_RESOURCE_HEAP_TIER_2 = 2
2440 } D3D12_RESOURCE_HEAP_TIER;
2441
2442typedef
2443enum D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER
2444 {
2445 D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = 0,
2446 D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = 1,
2447 D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = 2
2448 } D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER;
2449
2450typedef
2451enum D3D12_VIEW_INSTANCING_TIER
2452 {
2453 D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0,
2454 D3D12_VIEW_INSTANCING_TIER_1 = 1,
2455 D3D12_VIEW_INSTANCING_TIER_2 = 2,
2456 D3D12_VIEW_INSTANCING_TIER_3 = 3
2457 } D3D12_VIEW_INSTANCING_TIER;
2458
2459typedef
2460enum D3D12_WORK_GRAPHS_TIER
2461 {
2462 D3D12_WORK_GRAPHS_TIER_NOT_SUPPORTED = 0,
2463 D3D12_WORK_GRAPHS_TIER_1_0 = 10
2464 } D3D12_WORK_GRAPHS_TIER;
2465
2466typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS
2467 {
2468 _Out_ BOOL DoublePrecisionFloatShaderOps;
2469 _Out_ BOOL OutputMergerLogicOp;
2470 _Out_ D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport;
2471 _Out_ D3D12_TILED_RESOURCES_TIER TiledResourcesTier;
2472 _Out_ D3D12_RESOURCE_BINDING_TIER ResourceBindingTier;
2473 _Out_ BOOL PSSpecifiedStencilRefSupported;
2474 _Out_ BOOL TypedUAVLoadAdditionalFormats;
2475 _Out_ BOOL ROVsSupported;
2476 _Out_ D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
2477 _Out_ UINT MaxGPUVirtualAddressBitsPerResource;
2478 _Out_ BOOL StandardSwizzle64KBSupported;
2479 _Out_ D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;
2480 _Out_ BOOL CrossAdapterRowMajorTextureSupported;
2481 _Out_ BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
2482 _Out_ D3D12_RESOURCE_HEAP_TIER ResourceHeapTier;
2483 } D3D12_FEATURE_DATA_D3D12_OPTIONS;
2484
2485typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS1
2486 {
2487 _Out_ BOOL WaveOps;
2488 _Out_ UINT WaveLaneCountMin;
2489 _Out_ UINT WaveLaneCountMax;
2490 _Out_ UINT TotalLaneCount;
2491 _Out_ BOOL ExpandedComputeResourceStates;
2492 _Out_ BOOL Int64ShaderOps;
2493 } D3D12_FEATURE_DATA_D3D12_OPTIONS1;
2494
2495typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS2
2496 {
2497 _Out_ BOOL DepthBoundsTestSupported;
2498 _Out_ D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier;
2499 } D3D12_FEATURE_DATA_D3D12_OPTIONS2;
2500
2501typedef
2502enum D3D_ROOT_SIGNATURE_VERSION
2503 {
2504 D3D_ROOT_SIGNATURE_VERSION_1 = 0x1,
2505 D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1,
2506 D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2,
2507 D3D_ROOT_SIGNATURE_VERSION_1_2 = 0x3
2508 } D3D_ROOT_SIGNATURE_VERSION;
2509
2510typedef struct D3D12_FEATURE_DATA_ROOT_SIGNATURE
2511 {
2512 _Inout_ D3D_ROOT_SIGNATURE_VERSION HighestVersion;
2513 } D3D12_FEATURE_DATA_ROOT_SIGNATURE;
2514
2515typedef struct D3D12_FEATURE_DATA_ARCHITECTURE
2516 {
2517 _In_ UINT NodeIndex;
2518 _Out_ BOOL TileBasedRenderer;
2519 _Out_ BOOL UMA;
2520 _Out_ BOOL CacheCoherentUMA;
2521 } D3D12_FEATURE_DATA_ARCHITECTURE;
2522
2523typedef struct D3D12_FEATURE_DATA_ARCHITECTURE1
2524 {
2525 _In_ UINT NodeIndex;
2526 _Out_ BOOL TileBasedRenderer;
2527 _Out_ BOOL UMA;
2528 _Out_ BOOL CacheCoherentUMA;
2529 _Out_ BOOL IsolatedMMU;
2530 } D3D12_FEATURE_DATA_ARCHITECTURE1;
2531
2532typedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS
2533 {
2534 _In_ UINT NumFeatureLevels;
2535 _In_reads_(NumFeatureLevels) const D3D_FEATURE_LEVEL *pFeatureLevelsRequested;
2536 _Out_ D3D_FEATURE_LEVEL MaxSupportedFeatureLevel;
2537 } D3D12_FEATURE_DATA_FEATURE_LEVELS;
2538
2539typedef
2540enum D3D_SHADER_MODEL
2541 {
2542 D3D_SHADER_MODEL_NONE = 0,
2543 D3D_SHADER_MODEL_5_1 = 0x51,
2544 D3D_SHADER_MODEL_6_0 = 0x60,
2545 D3D_SHADER_MODEL_6_1 = 0x61,
2546 D3D_SHADER_MODEL_6_2 = 0x62,
2547 D3D_SHADER_MODEL_6_3 = 0x63,
2548 D3D_SHADER_MODEL_6_4 = 0x64,
2549 D3D_SHADER_MODEL_6_5 = 0x65,
2550 D3D_SHADER_MODEL_6_6 = 0x66,
2551 D3D_SHADER_MODEL_6_7 = 0x67,
2552 D3D_SHADER_MODEL_6_8 = 0x68,
2553 D3D_SHADER_MODEL_6_9 = 0x69,
2554 D3D_HIGHEST_SHADER_MODEL = D3D_SHADER_MODEL_6_9
2555 } D3D_SHADER_MODEL;
2556
2557typedef struct D3D12_FEATURE_DATA_SHADER_MODEL
2558 {
2559 _Inout_ D3D_SHADER_MODEL HighestShaderModel;
2560 } D3D12_FEATURE_DATA_SHADER_MODEL;
2561
2562typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT
2563 {
2564 _In_ DXGI_FORMAT Format;
2565 _Out_ D3D12_FORMAT_SUPPORT1 Support1;
2566 _Out_ D3D12_FORMAT_SUPPORT2 Support2;
2567 } D3D12_FEATURE_DATA_FORMAT_SUPPORT;
2568
2569typedef struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS
2570 {
2571 _In_ DXGI_FORMAT Format;
2572 _In_ UINT SampleCount;
2573 _In_ D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags;
2574 _Out_ UINT NumQualityLevels;
2575 } D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS;
2576
2577typedef struct D3D12_FEATURE_DATA_FORMAT_INFO
2578 {
2579 DXGI_FORMAT Format;
2580 UINT8 PlaneCount;
2581 } D3D12_FEATURE_DATA_FORMAT_INFO;
2582
2583typedef struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT
2584 {
2585 UINT MaxGPUVirtualAddressBitsPerResource;
2586 UINT MaxGPUVirtualAddressBitsPerProcess;
2587 } D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT;
2588
2589typedef
2590enum D3D12_SHADER_CACHE_SUPPORT_FLAGS
2591 {
2592 D3D12_SHADER_CACHE_SUPPORT_NONE = 0,
2593 D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1,
2594 D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2,
2595 D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4,
2596 D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8,
2597 D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE = 0x10,
2598 D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR = 0x20,
2599 D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE = 0x40
2600 } D3D12_SHADER_CACHE_SUPPORT_FLAGS;
2601
2602DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_SUPPORT_FLAGS )
2603typedef struct D3D12_FEATURE_DATA_SHADER_CACHE
2604 {
2605 _Out_ D3D12_SHADER_CACHE_SUPPORT_FLAGS SupportFlags;
2606 } D3D12_FEATURE_DATA_SHADER_CACHE;
2607
2608typedef struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY
2609 {
2610 _In_ D3D12_COMMAND_LIST_TYPE CommandListType;
2611 _In_ UINT Priority;
2612 _Out_ BOOL PriorityForTypeIsSupported;
2613 } D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY;
2614
2615typedef
2616enum D3D12_COMMAND_LIST_SUPPORT_FLAGS
2617 {
2618 D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0,
2619 D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = ( 1 << D3D12_COMMAND_LIST_TYPE_DIRECT ) ,
2620 D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = ( 1 << D3D12_COMMAND_LIST_TYPE_BUNDLE ) ,
2621 D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = ( 1 << D3D12_COMMAND_LIST_TYPE_COMPUTE ) ,
2622 D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = ( 1 << D3D12_COMMAND_LIST_TYPE_COPY ) ,
2623 D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE ) ,
2624 D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS ) ,
2625 D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE )
2626 } D3D12_COMMAND_LIST_SUPPORT_FLAGS;
2627
2628DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_SUPPORT_FLAGS )
2629typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS3
2630 {
2631 _Out_ BOOL CopyQueueTimestampQueriesSupported;
2632 _Out_ BOOL CastingFullyTypedFormatSupported;
2633 _Out_ D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags;
2634 _Out_ D3D12_VIEW_INSTANCING_TIER ViewInstancingTier;
2635 _Out_ BOOL BarycentricsSupported;
2636 } D3D12_FEATURE_DATA_D3D12_OPTIONS3;
2637
2638typedef struct D3D12_FEATURE_DATA_EXISTING_HEAPS
2639 {
2640 _Out_ BOOL Supported;
2641 } D3D12_FEATURE_DATA_EXISTING_HEAPS;
2642
2643typedef
2644enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER
2645 {
2646 D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = 0,
2647 D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = ( D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 + 1 ) ,
2648 D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 = ( D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 + 1 )
2649 } D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER;
2650
2651typedef struct D3D12_FEATURE_DATA_DISPLAYABLE
2652 {
2653 _Out_ BOOL DisplayableTexture;
2654 _Out_ D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier;
2655 } D3D12_FEATURE_DATA_DISPLAYABLE;
2656
2657typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS4
2658 {
2659 _Out_ BOOL MSAA64KBAlignedTextureSupported;
2660 _Out_ D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier;
2661 _Out_ BOOL Native16BitShaderOpsSupported;
2662 } D3D12_FEATURE_DATA_D3D12_OPTIONS4;
2663
2664typedef
2665enum D3D12_HEAP_SERIALIZATION_TIER
2666 {
2667 D3D12_HEAP_SERIALIZATION_TIER_0 = 0,
2668 D3D12_HEAP_SERIALIZATION_TIER_10 = 10
2669 } D3D12_HEAP_SERIALIZATION_TIER;
2670
2671typedef struct D3D12_FEATURE_DATA_SERIALIZATION
2672 {
2673 _In_ UINT NodeIndex;
2674 _Out_ D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier;
2675 } D3D12_FEATURE_DATA_SERIALIZATION;
2676
2677typedef struct D3D12_FEATURE_DATA_CROSS_NODE
2678 {
2679 D3D12_CROSS_NODE_SHARING_TIER SharingTier;
2680 BOOL AtomicShaderInstructions;
2681 } D3D12_FEATURE_DATA_CROSS_NODE;
2682
2683typedef
2684enum D3D12_RENDER_PASS_TIER
2685 {
2686 D3D12_RENDER_PASS_TIER_0 = 0,
2687 D3D12_RENDER_PASS_TIER_1 = 1,
2688 D3D12_RENDER_PASS_TIER_2 = 2
2689 } D3D12_RENDER_PASS_TIER;
2690
2691typedef
2692enum D3D12_RAYTRACING_TIER
2693 {
2694 D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0,
2695 D3D12_RAYTRACING_TIER_1_0 = 10,
2696 D3D12_RAYTRACING_TIER_1_1 = 11
2697 } D3D12_RAYTRACING_TIER;
2698
2699typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS5
2700 {
2701 _Out_ BOOL SRVOnlyTiledResourceTier3;
2702 _Out_ D3D12_RENDER_PASS_TIER RenderPassesTier;
2703 _Out_ D3D12_RAYTRACING_TIER RaytracingTier;
2704 } D3D12_FEATURE_DATA_D3D12_OPTIONS5;
2705
2706typedef
2707enum D3D12_VARIABLE_SHADING_RATE_TIER
2708 {
2709 D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED = 0,
2710 D3D12_VARIABLE_SHADING_RATE_TIER_1 = 1,
2711 D3D12_VARIABLE_SHADING_RATE_TIER_2 = 2
2712 } D3D12_VARIABLE_SHADING_RATE_TIER;
2713
2714typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS6
2715 {
2716 _Out_ BOOL AdditionalShadingRatesSupported;
2717 _Out_ BOOL PerPrimitiveShadingRateSupportedWithViewportIndexing;
2718 _Out_ D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier;
2719 _Out_ UINT ShadingRateImageTileSize;
2720 _Out_ BOOL BackgroundProcessingSupported;
2721 } D3D12_FEATURE_DATA_D3D12_OPTIONS6;
2722
2723typedef
2724enum D3D12_MESH_SHADER_TIER
2725 {
2726 D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0,
2727 D3D12_MESH_SHADER_TIER_1 = 10
2728 } D3D12_MESH_SHADER_TIER;
2729
2730typedef
2731enum D3D12_SAMPLER_FEEDBACK_TIER
2732 {
2733 D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0,
2734 D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 90,
2735 D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 100
2736 } D3D12_SAMPLER_FEEDBACK_TIER;
2737
2738typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS7
2739 {
2740 _Out_ D3D12_MESH_SHADER_TIER MeshShaderTier;
2741 _Out_ D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier;
2742 } D3D12_FEATURE_DATA_D3D12_OPTIONS7;
2743
2744typedef struct D3D12_FEATURE_DATA_QUERY_META_COMMAND
2745 {
2746 _In_ GUID CommandId;
2747 _In_ UINT NodeMask;
2748 _Field_size_bytes_full_opt_( QueryInputDataSizeInBytes ) const void *pQueryInputData;
2749 _In_ SIZE_T QueryInputDataSizeInBytes;
2750 _Field_size_bytes_full_( QueryOutputDataSizeInBytes ) void *pQueryOutputData;
2751 _In_ SIZE_T QueryOutputDataSizeInBytes;
2752 } D3D12_FEATURE_DATA_QUERY_META_COMMAND;
2753
2754typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS8
2755 {
2756 _Out_ BOOL UnalignedBlockTexturesSupported;
2757 } D3D12_FEATURE_DATA_D3D12_OPTIONS8;
2758
2759typedef
2760enum D3D12_WAVE_MMA_TIER
2761 {
2762 D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = 0,
2763 D3D12_WAVE_MMA_TIER_1_0 = 10
2764 } D3D12_WAVE_MMA_TIER;
2765
2766typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS9
2767 {
2768 _Out_ BOOL MeshShaderPipelineStatsSupported;
2769 _Out_ BOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex;
2770 _Out_ BOOL AtomicInt64OnTypedResourceSupported;
2771 _Out_ BOOL AtomicInt64OnGroupSharedSupported;
2772 _Out_ BOOL DerivativesInMeshAndAmplificationShadersSupported;
2773 _Out_ D3D12_WAVE_MMA_TIER WaveMMATier;
2774 } D3D12_FEATURE_DATA_D3D12_OPTIONS9;
2775
2776typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS10
2777 {
2778 _Out_ BOOL VariableRateShadingSumCombinerSupported;
2779 _Out_ BOOL MeshShaderPerPrimitiveShadingRateSupported;
2780 } D3D12_FEATURE_DATA_D3D12_OPTIONS10;
2781
2782typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS11
2783 {
2784 _Out_ BOOL AtomicInt64OnDescriptorHeapResourceSupported;
2785 } D3D12_FEATURE_DATA_D3D12_OPTIONS11;
2786
2787typedef
2788enum D3D12_TRI_STATE
2789 {
2790 D3D12_TRI_STATE_UNKNOWN = -1,
2791 D3D12_TRI_STATE_FALSE = 0,
2792 D3D12_TRI_STATE_TRUE = 1
2793 } D3D12_TRI_STATE;
2794
2795typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS12
2796 {
2797 _Out_ D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives;
2798 _Out_ BOOL EnhancedBarriersSupported;
2799 _Out_ BOOL RelaxedFormatCastingSupported;
2800 } D3D12_FEATURE_DATA_D3D12_OPTIONS12;
2801
2802typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS13
2803 {
2804 _Out_ BOOL UnrestrictedBufferTextureCopyPitchSupported;
2805 _Out_ BOOL UnrestrictedVertexElementAlignmentSupported;
2806 _Out_ BOOL InvertedViewportHeightFlipsYSupported;
2807 _Out_ BOOL InvertedViewportDepthFlipsZSupported;
2808 _Out_ BOOL TextureCopyBetweenDimensionsSupported;
2809 _Out_ BOOL AlphaBlendFactorSupported;
2810 } D3D12_FEATURE_DATA_D3D12_OPTIONS13;
2811
2812typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS14
2813 {
2814 _Out_ BOOL AdvancedTextureOpsSupported;
2815 _Out_ BOOL WriteableMSAATexturesSupported;
2816 _Out_ BOOL IndependentFrontAndBackStencilRefMaskSupported;
2817 } D3D12_FEATURE_DATA_D3D12_OPTIONS14;
2818
2819typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS15
2820 {
2821 _Out_ BOOL TriangleFanSupported;
2822 _Out_ BOOL DynamicIndexBufferStripCutSupported;
2823 } D3D12_FEATURE_DATA_D3D12_OPTIONS15;
2824
2825typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS16
2826 {
2827 _Out_ BOOL DynamicDepthBiasSupported;
2828 _Out_ BOOL GPUUploadHeapSupported;
2829 } D3D12_FEATURE_DATA_D3D12_OPTIONS16;
2830
2831typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS17
2832 {
2833 _Out_ BOOL NonNormalizedCoordinateSamplersSupported;
2834 _Out_ BOOL ManualWriteTrackingResourceSupported;
2835 } D3D12_FEATURE_DATA_D3D12_OPTIONS17;
2836
2837typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS18
2838 {
2839 _Out_ BOOL RenderPassesValid;
2840 } D3D12_FEATURE_DATA_D3D12_OPTIONS18;
2841
2842typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS19
2843 {
2844 BOOL MismatchingOutputDimensionsSupported;
2845 UINT SupportedSampleCountsWithNoOutputs;
2846 BOOL PointSamplingAddressesNeverRoundUp;
2847 BOOL RasterizerDesc2Supported;
2848 BOOL NarrowQuadrilateralLinesSupported;
2849 BOOL AnisoFilterWithPointMipSupported;
2850 UINT MaxSamplerDescriptorHeapSize;
2851 UINT MaxSamplerDescriptorHeapSizeWithStaticSamplers;
2852 UINT MaxViewDescriptorHeapSize;
2853 _Out_ BOOL ComputeOnlyCustomHeapSupported;
2854 } D3D12_FEATURE_DATA_D3D12_OPTIONS19;
2855
2856typedef
2857enum D3D12_RECREATE_AT_TIER
2858 {
2859 D3D12_RECREATE_AT_TIER_NOT_SUPPORTED = 0,
2860 D3D12_RECREATE_AT_TIER_1 = 1
2861 } D3D12_RECREATE_AT_TIER;
2862
2863typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS20
2864 {
2865 _Out_ BOOL ComputeOnlyWriteWatchSupported;
2866 D3D12_RECREATE_AT_TIER RecreateAtTier;
2867 } D3D12_FEATURE_DATA_D3D12_OPTIONS20;
2868
2869typedef
2870enum D3D12_EXECUTE_INDIRECT_TIER
2871 {
2872 D3D12_EXECUTE_INDIRECT_TIER_1_0 = 10,
2873 D3D12_EXECUTE_INDIRECT_TIER_1_1 = 11
2874 } D3D12_EXECUTE_INDIRECT_TIER;
2875
2876typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS21
2877 {
2878 _Out_ D3D12_WORK_GRAPHS_TIER WorkGraphsTier;
2879 _Out_ D3D12_EXECUTE_INDIRECT_TIER ExecuteIndirectTier;
2880 _Out_ BOOL SampleCmpGradientAndBiasSupported;
2881 _Out_ BOOL ExtendedCommandInfoSupported;
2882 } D3D12_FEATURE_DATA_D3D12_OPTIONS21;
2883
2884typedef struct D3D12_FEATURE_DATA_PREDICATION
2885 {
2886 _Out_ BOOL Supported;
2887 } D3D12_FEATURE_DATA_PREDICATION;
2888
2889typedef struct D3D12_FEATURE_DATA_HARDWARE_COPY
2890 {
2891 _Out_ BOOL Supported;
2892 } D3D12_FEATURE_DATA_HARDWARE_COPY;
2893
2894typedef struct D3D12_RESOURCE_ALLOCATION_INFO
2895 {
2896 UINT64 SizeInBytes;
2897 UINT64 Alignment;
2898 } D3D12_RESOURCE_ALLOCATION_INFO;
2899
2900typedef struct D3D12_RESOURCE_ALLOCATION_INFO1
2901 {
2902 UINT64 Offset;
2903 UINT64 Alignment;
2904 UINT64 SizeInBytes;
2905 } D3D12_RESOURCE_ALLOCATION_INFO1;
2906
2907typedef
2908enum D3D12_HEAP_TYPE
2909 {
2910 D3D12_HEAP_TYPE_DEFAULT = 1,
2911 D3D12_HEAP_TYPE_UPLOAD = 2,
2912 D3D12_HEAP_TYPE_READBACK = 3,
2913 D3D12_HEAP_TYPE_CUSTOM = 4,
2914 D3D12_HEAP_TYPE_GPU_UPLOAD = 5
2915 } D3D12_HEAP_TYPE;
2916
2917typedef
2918enum D3D12_CPU_PAGE_PROPERTY
2919 {
2920 D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0,
2921 D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1,
2922 D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2,
2923 D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3
2924 } D3D12_CPU_PAGE_PROPERTY;
2925
2926typedef
2927enum D3D12_MEMORY_POOL
2928 {
2929 D3D12_MEMORY_POOL_UNKNOWN = 0,
2930 D3D12_MEMORY_POOL_L0 = 1,
2931 D3D12_MEMORY_POOL_L1 = 2
2932 } D3D12_MEMORY_POOL;
2933
2934typedef struct D3D12_HEAP_PROPERTIES
2935 {
2936 D3D12_HEAP_TYPE Type;
2937 D3D12_CPU_PAGE_PROPERTY CPUPageProperty;
2938 D3D12_MEMORY_POOL MemoryPoolPreference;
2939 UINT CreationNodeMask;
2940 UINT VisibleNodeMask;
2941 } D3D12_HEAP_PROPERTIES;
2942
2943typedef
2944enum D3D12_HEAP_FLAGS
2945 {
2946 D3D12_HEAP_FLAG_NONE = 0,
2947 D3D12_HEAP_FLAG_SHARED = 0x1,
2948 D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4,
2949 D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8,
2950 D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20,
2951 D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40,
2952 D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80,
2953 D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100,
2954 D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200,
2955 D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400,
2956 D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800,
2957 D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000,
2958 D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 0x2000,
2959 D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0,
2960 D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0,
2961 D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44,
2962 D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84
2963 } D3D12_HEAP_FLAGS;
2964
2965DEFINE_ENUM_FLAG_OPERATORS( D3D12_HEAP_FLAGS )
2966typedef struct D3D12_HEAP_DESC
2967 {
2968 UINT64 SizeInBytes;
2969 D3D12_HEAP_PROPERTIES Properties;
2970 UINT64 Alignment;
2971 D3D12_HEAP_FLAGS Flags;
2972 } D3D12_HEAP_DESC;
2973
2974typedef
2975enum D3D12_RESOURCE_DIMENSION
2976 {
2977 D3D12_RESOURCE_DIMENSION_UNKNOWN = 0,
2978 D3D12_RESOURCE_DIMENSION_BUFFER = 1,
2979 D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2,
2980 D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3,
2981 D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4
2982 } D3D12_RESOURCE_DIMENSION;
2983
2984typedef struct D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO
2985 {
2986 _In_ DXGI_FORMAT Format;
2987 _In_ D3D12_RESOURCE_DIMENSION Dimension;
2988 _In_ D3D12_HEAP_PROPERTIES DestHeapProperties;
2989 _Out_ BOOL Supported;
2990 } D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO;
2991
2992typedef
2993enum D3D12_TEXTURE_LAYOUT
2994 {
2995 D3D12_TEXTURE_LAYOUT_UNKNOWN = 0,
2996 D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1,
2997 D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2,
2998 D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3
2999 } D3D12_TEXTURE_LAYOUT;
3000
3001typedef
3002enum D3D12_RESOURCE_FLAGS
3003 {
3004 D3D12_RESOURCE_FLAG_NONE = 0,
3005 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
3006 D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
3007 D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
3008 D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
3009 D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
3010 D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20,
3011 D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40,
3012 D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80,
3013 D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100
3014 } D3D12_RESOURCE_FLAGS;
3015
3016DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_FLAGS )
3017typedef struct D3D12_MIP_REGION
3018 {
3019 UINT Width;
3020 UINT Height;
3021 UINT Depth;
3022 } D3D12_MIP_REGION;
3023
3024typedef struct D3D12_RESOURCE_DESC
3025 {
3026 D3D12_RESOURCE_DIMENSION Dimension;
3027 UINT64 Alignment;
3028 UINT64 Width;
3029 UINT Height;
3030 UINT16 DepthOrArraySize;
3031 UINT16 MipLevels;
3032 DXGI_FORMAT Format;
3033 DXGI_SAMPLE_DESC SampleDesc;
3034 D3D12_TEXTURE_LAYOUT Layout;
3035 D3D12_RESOURCE_FLAGS Flags;
3036 } D3D12_RESOURCE_DESC;
3037
3038typedef struct D3D12_RESOURCE_DESC1
3039 {
3040 D3D12_RESOURCE_DIMENSION Dimension;
3041 UINT64 Alignment;
3042 UINT64 Width;
3043 UINT Height;
3044 UINT16 DepthOrArraySize;
3045 UINT16 MipLevels;
3046 DXGI_FORMAT Format;
3047 DXGI_SAMPLE_DESC SampleDesc;
3048 D3D12_TEXTURE_LAYOUT Layout;
3049 D3D12_RESOURCE_FLAGS Flags;
3050 D3D12_MIP_REGION SamplerFeedbackMipRegion;
3051 } D3D12_RESOURCE_DESC1;
3052
3053typedef struct D3D12_DEPTH_STENCIL_VALUE
3054 {
3055 FLOAT Depth;
3056 UINT8 Stencil;
3057 } D3D12_DEPTH_STENCIL_VALUE;
3058
3059typedef struct D3D12_CLEAR_VALUE
3060 {
3061 DXGI_FORMAT Format;
3062 union
3063 {
3064 FLOAT Color[ 4 ];
3065 D3D12_DEPTH_STENCIL_VALUE DepthStencil;
3066 } ;
3067 } D3D12_CLEAR_VALUE;
3068
3069typedef struct D3D12_RANGE
3070 {
3071 SIZE_T Begin;
3072 SIZE_T End;
3073 } D3D12_RANGE;
3074
3075typedef struct D3D12_RANGE_UINT64
3076 {
3077 UINT64 Begin;
3078 UINT64 End;
3079 } D3D12_RANGE_UINT64;
3080
3081typedef struct D3D12_SUBRESOURCE_RANGE_UINT64
3082 {
3083 UINT Subresource;
3084 D3D12_RANGE_UINT64 Range;
3085 } D3D12_SUBRESOURCE_RANGE_UINT64;
3086
3087typedef struct D3D12_SUBRESOURCE_INFO
3088 {
3089 UINT64 Offset;
3090 UINT RowPitch;
3091 UINT DepthPitch;
3092 } D3D12_SUBRESOURCE_INFO;
3093
3094typedef struct D3D12_TILED_RESOURCE_COORDINATE
3095 {
3096 UINT X;
3097 UINT Y;
3098 UINT Z;
3099 UINT Subresource;
3100 } D3D12_TILED_RESOURCE_COORDINATE;
3101
3102typedef struct D3D12_TILE_REGION_SIZE
3103 {
3104 UINT NumTiles;
3105 BOOL UseBox;
3106 UINT Width;
3107 UINT16 Height;
3108 UINT16 Depth;
3109 } D3D12_TILE_REGION_SIZE;
3110
3111typedef
3112enum D3D12_TILE_RANGE_FLAGS
3113 {
3114 D3D12_TILE_RANGE_FLAG_NONE = 0,
3115 D3D12_TILE_RANGE_FLAG_NULL = 1,
3116 D3D12_TILE_RANGE_FLAG_SKIP = 2,
3117 D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4
3118 } D3D12_TILE_RANGE_FLAGS;
3119
3120typedef struct D3D12_SUBRESOURCE_TILING
3121 {
3122 UINT WidthInTiles;
3123 UINT16 HeightInTiles;
3124 UINT16 DepthInTiles;
3125 UINT StartTileIndexInOverallResource;
3126 } D3D12_SUBRESOURCE_TILING;
3127
3128typedef struct D3D12_TILE_SHAPE
3129 {
3130 UINT WidthInTexels;
3131 UINT HeightInTexels;
3132 UINT DepthInTexels;
3133 } D3D12_TILE_SHAPE;
3134
3135typedef struct D3D12_PACKED_MIP_INFO
3136 {
3137 UINT8 NumStandardMips;
3138 UINT8 NumPackedMips;
3139 UINT NumTilesForPackedMips;
3140 UINT StartTileIndexInOverallResource;
3141 } D3D12_PACKED_MIP_INFO;
3142
3143typedef
3144enum D3D12_TILE_MAPPING_FLAGS
3145 {
3146 D3D12_TILE_MAPPING_FLAG_NONE = 0,
3147 D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1
3148 } D3D12_TILE_MAPPING_FLAGS;
3149
3150DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_MAPPING_FLAGS )
3151typedef
3152enum D3D12_TILE_COPY_FLAGS
3153 {
3154 D3D12_TILE_COPY_FLAG_NONE = 0,
3155 D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1,
3156 D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2,
3157 D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4
3158 } D3D12_TILE_COPY_FLAGS;
3159
3160DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_COPY_FLAGS )
3161typedef
3162enum D3D12_RESOURCE_STATES
3163 {
3164 D3D12_RESOURCE_STATE_COMMON = 0,
3165 D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1,
3166 D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2,
3167 D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4,
3168 D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8,
3169 D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10,
3170 D3D12_RESOURCE_STATE_DEPTH_READ = 0x20,
3171 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40,
3172 D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80,
3173 D3D12_RESOURCE_STATE_STREAM_OUT = 0x100,
3174 D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200,
3175 D3D12_RESOURCE_STATE_COPY_DEST = 0x400,
3176 D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800,
3177 D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000,
3178 D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000,
3179 D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000,
3180 D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 0x1000000,
3181 D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 0x8000,
3182 D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 0x4000,
3183 D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 0x100000,
3184 D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 0x40000000,
3185 D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = 0x80000000,
3186 D3D12_RESOURCE_STATE_GENERIC_READ = ( ( ( ( ( 0x1 | 0x2 ) | 0x40 ) | 0x80 ) | 0x200 ) | 0x800 ) ,
3187 D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = ( 0x40 | 0x80 ) ,
3188 D3D12_RESOURCE_STATE_PRESENT = 0,
3189 D3D12_RESOURCE_STATE_PREDICATION = 0x200,
3190 D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x10000,
3191 D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 0x20000,
3192 D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 0x40000,
3193 D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 0x80000,
3194 D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 0x200000,
3195 D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 0x800000
3196 } D3D12_RESOURCE_STATES;
3197
3198DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_STATES )
3199typedef
3200enum D3D12_RESOURCE_BARRIER_TYPE
3201 {
3202 D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0,
3203 D3D12_RESOURCE_BARRIER_TYPE_ALIASING = ( D3D12_RESOURCE_BARRIER_TYPE_TRANSITION + 1 ) ,
3204 D3D12_RESOURCE_BARRIER_TYPE_UAV = ( D3D12_RESOURCE_BARRIER_TYPE_ALIASING + 1 )
3205 } D3D12_RESOURCE_BARRIER_TYPE;
3206
3207
3208typedef struct D3D12_RESOURCE_TRANSITION_BARRIER
3209 {
3210 ID3D12Resource *pResource;
3211 UINT Subresource;
3212 D3D12_RESOURCE_STATES StateBefore;
3213 D3D12_RESOURCE_STATES StateAfter;
3214 } D3D12_RESOURCE_TRANSITION_BARRIER;
3215
3216typedef struct D3D12_RESOURCE_ALIASING_BARRIER
3217 {
3218 ID3D12Resource *pResourceBefore;
3219 ID3D12Resource *pResourceAfter;
3220 } D3D12_RESOURCE_ALIASING_BARRIER;
3221
3222typedef struct D3D12_RESOURCE_UAV_BARRIER
3223 {
3224 ID3D12Resource *pResource;
3225 } D3D12_RESOURCE_UAV_BARRIER;
3226
3227typedef
3228enum D3D12_RESOURCE_BARRIER_FLAGS
3229 {
3230 D3D12_RESOURCE_BARRIER_FLAG_NONE = 0,
3231 D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1,
3232 D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2
3233 } D3D12_RESOURCE_BARRIER_FLAGS;
3234
3235DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_BARRIER_FLAGS )
3236typedef struct D3D12_RESOURCE_BARRIER
3237 {
3238 D3D12_RESOURCE_BARRIER_TYPE Type;
3239 D3D12_RESOURCE_BARRIER_FLAGS Flags;
3240 union
3241 {
3242 D3D12_RESOURCE_TRANSITION_BARRIER Transition;
3243 D3D12_RESOURCE_ALIASING_BARRIER Aliasing;
3244 D3D12_RESOURCE_UAV_BARRIER UAV;
3245 } ;
3246 } D3D12_RESOURCE_BARRIER;
3247
3248typedef struct D3D12_SUBRESOURCE_FOOTPRINT
3249 {
3250 DXGI_FORMAT Format;
3251 UINT Width;
3252 UINT Height;
3253 UINT Depth;
3254 UINT RowPitch;
3255 } D3D12_SUBRESOURCE_FOOTPRINT;
3256
3257typedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT
3258 {
3259 UINT64 Offset;
3260 D3D12_SUBRESOURCE_FOOTPRINT Footprint;
3261 } D3D12_PLACED_SUBRESOURCE_FOOTPRINT;
3262
3263typedef
3264enum D3D12_TEXTURE_COPY_TYPE
3265 {
3266 D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0,
3267 D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1
3268 } D3D12_TEXTURE_COPY_TYPE;
3269
3270typedef struct D3D12_TEXTURE_COPY_LOCATION
3271 {
3272 ID3D12Resource *pResource;
3273 D3D12_TEXTURE_COPY_TYPE Type;
3274 union
3275 {
3276 D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint;
3277 UINT SubresourceIndex;
3278 } ;
3279 } D3D12_TEXTURE_COPY_LOCATION;
3280
3281typedef
3282enum D3D12_RESOLVE_MODE
3283 {
3284 D3D12_RESOLVE_MODE_DECOMPRESS = 0,
3285 D3D12_RESOLVE_MODE_MIN = 1,
3286 D3D12_RESOLVE_MODE_MAX = 2,
3287 D3D12_RESOLVE_MODE_AVERAGE = 3,
3288 D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4,
3289 D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5
3290 } D3D12_RESOLVE_MODE;
3291
3292typedef struct D3D12_SAMPLE_POSITION
3293 {
3294 INT8 X;
3295 INT8 Y;
3296 } D3D12_SAMPLE_POSITION;
3297
3298typedef struct D3D12_VIEW_INSTANCE_LOCATION
3299 {
3300 UINT ViewportArrayIndex;
3301 UINT RenderTargetArrayIndex;
3302 } D3D12_VIEW_INSTANCE_LOCATION;
3303
3304typedef
3305enum D3D12_VIEW_INSTANCING_FLAGS
3306 {
3307 D3D12_VIEW_INSTANCING_FLAG_NONE = 0,
3308 D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = 0x1
3309 } D3D12_VIEW_INSTANCING_FLAGS;
3310
3311DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIEW_INSTANCING_FLAGS )
3312typedef struct D3D12_VIEW_INSTANCING_DESC
3313 {
3314 UINT ViewInstanceCount;
3315 _Field_size_full_(ViewInstanceCount) const D3D12_VIEW_INSTANCE_LOCATION *pViewInstanceLocations;
3316 D3D12_VIEW_INSTANCING_FLAGS Flags;
3317 } D3D12_VIEW_INSTANCING_DESC;
3318
3319typedef
3320enum D3D12_SHADER_COMPONENT_MAPPING
3321 {
3322 D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0,
3323 D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1,
3324 D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2,
3325 D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3,
3326 D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4,
3327 D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5
3328 } D3D12_SHADER_COMPONENT_MAPPING;
3329
3330#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7
3331#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3
3332#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4))
3333#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \
3334 (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<D3D12_SHADER_COMPONENT_MAPPING_SHIFT)| \
3335 (((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*2))| \
3336 (((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*3))| \
3337 D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))
3338#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))
3339#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3)
3340typedef
3341enum D3D12_BUFFER_SRV_FLAGS
3342 {
3343 D3D12_BUFFER_SRV_FLAG_NONE = 0,
3344 D3D12_BUFFER_SRV_FLAG_RAW = 0x1
3345 } D3D12_BUFFER_SRV_FLAGS;
3346
3347DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_SRV_FLAGS )
3348typedef struct D3D12_BUFFER_SRV
3349 {
3350 UINT64 FirstElement;
3351 UINT NumElements;
3352 UINT StructureByteStride;
3353 D3D12_BUFFER_SRV_FLAGS Flags;
3354 } D3D12_BUFFER_SRV;
3355
3356typedef struct D3D12_TEX1D_SRV
3357 {
3358 UINT MostDetailedMip;
3359 UINT MipLevels;
3360 FLOAT ResourceMinLODClamp;
3361 } D3D12_TEX1D_SRV;
3362
3363typedef struct D3D12_TEX1D_ARRAY_SRV
3364 {
3365 UINT MostDetailedMip;
3366 UINT MipLevels;
3367 UINT FirstArraySlice;
3368 UINT ArraySize;
3369 FLOAT ResourceMinLODClamp;
3370 } D3D12_TEX1D_ARRAY_SRV;
3371
3372typedef struct D3D12_TEX2D_SRV
3373 {
3374 UINT MostDetailedMip;
3375 UINT MipLevels;
3376 UINT PlaneSlice;
3377 FLOAT ResourceMinLODClamp;
3378 } D3D12_TEX2D_SRV;
3379
3380typedef struct D3D12_TEX2D_ARRAY_SRV
3381 {
3382 UINT MostDetailedMip;
3383 UINT MipLevels;
3384 UINT FirstArraySlice;
3385 UINT ArraySize;
3386 UINT PlaneSlice;
3387 FLOAT ResourceMinLODClamp;
3388 } D3D12_TEX2D_ARRAY_SRV;
3389
3390typedef struct D3D12_TEX3D_SRV
3391 {
3392 UINT MostDetailedMip;
3393 UINT MipLevels;
3394 FLOAT ResourceMinLODClamp;
3395 } D3D12_TEX3D_SRV;
3396
3397typedef struct D3D12_TEXCUBE_SRV
3398 {
3399 UINT MostDetailedMip;
3400 UINT MipLevels;
3401 FLOAT ResourceMinLODClamp;
3402 } D3D12_TEXCUBE_SRV;
3403
3404typedef struct D3D12_TEXCUBE_ARRAY_SRV
3405 {
3406 UINT MostDetailedMip;
3407 UINT MipLevels;
3408 UINT First2DArrayFace;
3409 UINT NumCubes;
3410 FLOAT ResourceMinLODClamp;
3411 } D3D12_TEXCUBE_ARRAY_SRV;
3412
3413typedef struct D3D12_TEX2DMS_SRV
3414 {
3415 UINT UnusedField_NothingToDefine;
3416 } D3D12_TEX2DMS_SRV;
3417
3418typedef struct D3D12_TEX2DMS_ARRAY_SRV
3419 {
3420 UINT FirstArraySlice;
3421 UINT ArraySize;
3422 } D3D12_TEX2DMS_ARRAY_SRV;
3423
3424typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV
3425 {
3426 D3D12_GPU_VIRTUAL_ADDRESS Location;
3427 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV;
3428
3429typedef
3430enum D3D12_SRV_DIMENSION
3431 {
3432 D3D12_SRV_DIMENSION_UNKNOWN = 0,
3433 D3D12_SRV_DIMENSION_BUFFER = 1,
3434 D3D12_SRV_DIMENSION_TEXTURE1D = 2,
3435 D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3,
3436 D3D12_SRV_DIMENSION_TEXTURE2D = 4,
3437 D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5,
3438 D3D12_SRV_DIMENSION_TEXTURE2DMS = 6,
3439 D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
3440 D3D12_SRV_DIMENSION_TEXTURE3D = 8,
3441 D3D12_SRV_DIMENSION_TEXTURECUBE = 9,
3442 D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10,
3443 D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE = 11
3444 } D3D12_SRV_DIMENSION;
3445
3446typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC
3447 {
3448 DXGI_FORMAT Format;
3449 D3D12_SRV_DIMENSION ViewDimension;
3450 UINT Shader4ComponentMapping;
3451 union
3452 {
3453 D3D12_BUFFER_SRV Buffer;
3454 D3D12_TEX1D_SRV Texture1D;
3455 D3D12_TEX1D_ARRAY_SRV Texture1DArray;
3456 D3D12_TEX2D_SRV Texture2D;
3457 D3D12_TEX2D_ARRAY_SRV Texture2DArray;
3458 D3D12_TEX2DMS_SRV Texture2DMS;
3459 D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;
3460 D3D12_TEX3D_SRV Texture3D;
3461 D3D12_TEXCUBE_SRV TextureCube;
3462 D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
3463 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure;
3464 } ;
3465 } D3D12_SHADER_RESOURCE_VIEW_DESC;
3466
3467typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC
3468 {
3469 D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
3470 UINT SizeInBytes;
3471 } D3D12_CONSTANT_BUFFER_VIEW_DESC;
3472
3473typedef
3474enum D3D12_FILTER
3475 {
3476 D3D12_FILTER_MIN_MAG_MIP_POINT = 0,
3477 D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
3478 D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
3479 D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
3480 D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
3481 D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
3482 D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
3483 D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
3484 D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x54,
3485 D3D12_FILTER_ANISOTROPIC = 0x55,
3486 D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
3487 D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
3488 D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
3489 D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
3490 D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
3491 D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
3492 D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
3493 D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
3494 D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT = 0xd4,
3495 D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
3496 D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
3497 D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
3498 D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
3499 D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
3500 D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
3501 D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
3502 D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
3503 D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
3504 D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x154,
3505 D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155,
3506 D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
3507 D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
3508 D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
3509 D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
3510 D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
3511 D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
3512 D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
3513 D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
3514 D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x1d4,
3515 D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
3516 } D3D12_FILTER;
3517
3518typedef
3519enum D3D12_FILTER_TYPE
3520 {
3521 D3D12_FILTER_TYPE_POINT = 0,
3522 D3D12_FILTER_TYPE_LINEAR = 1
3523 } D3D12_FILTER_TYPE;
3524
3525typedef
3526enum D3D12_FILTER_REDUCTION_TYPE
3527 {
3528 D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0,
3529 D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1,
3530 D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2,
3531 D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3
3532 } D3D12_FILTER_REDUCTION_TYPE;
3533
3534#define D3D12_FILTER_REDUCTION_TYPE_MASK ( 0x3 )
3535
3536#define D3D12_FILTER_REDUCTION_TYPE_SHIFT ( 7 )
3537
3538#define D3D12_FILTER_TYPE_MASK ( 0x3 )
3539
3540#define D3D12_MIN_FILTER_SHIFT ( 4 )
3541
3542#define D3D12_MAG_FILTER_SHIFT ( 2 )
3543
3544#define D3D12_MIP_FILTER_SHIFT ( 0 )
3545
3546#define D3D12_ANISOTROPIC_FILTERING_BIT ( 0x40 )
3547
3548#define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction ) \
3549 ( ( D3D12_FILTER ) ( \
3550 ( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) | \
3551 ( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) | \
3552 ( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) | \
3553 ( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) )
3554#define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction ) \
3555 ( ( D3D12_FILTER ) ( \
3556 D3D12_ANISOTROPIC_FILTERING_BIT | \
3557 D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \
3558 D3D12_FILTER_TYPE_LINEAR, \
3559 D3D12_FILTER_TYPE_LINEAR, \
3560 reduction ) ) )
3561#define D3D12_ENCODE_MIN_MAG_ANISOTROPIC_MIP_POINT_FILTER( reduction ) \
3562 ( ( D3D12_FILTER ) ( \
3563 D3D12_ANISOTROPIC_FILTERING_BIT | \
3564 D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \
3565 D3D12_FILTER_TYPE_LINEAR, \
3566 D3D12_FILTER_TYPE_POINT, \
3567 reduction ) ) )
3568#define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \
3569 ( ( D3D12_FILTER_TYPE ) \
3570 ( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
3571#define D3D12_DECODE_MAG_FILTER( D3D12Filter ) \
3572 ( ( D3D12_FILTER_TYPE ) \
3573 ( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
3574#define D3D12_DECODE_MIP_FILTER( D3D12Filter ) \
3575 ( ( D3D12_FILTER_TYPE ) \
3576 ( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
3577#define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) \
3578 ( ( D3D12_FILTER_REDUCTION_TYPE ) \
3579 ( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) )
3580#define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter ) \
3581 ( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON )
3582#define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \
3583 ( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \
3584 ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \
3585 ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) )
3586typedef
3587enum D3D12_TEXTURE_ADDRESS_MODE
3588 {
3589 D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1,
3590 D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2,
3591 D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3,
3592 D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4,
3593 D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5
3594 } D3D12_TEXTURE_ADDRESS_MODE;
3595
3596typedef struct D3D12_SAMPLER_DESC
3597 {
3598 D3D12_FILTER Filter;
3599 D3D12_TEXTURE_ADDRESS_MODE AddressU;
3600 D3D12_TEXTURE_ADDRESS_MODE AddressV;
3601 D3D12_TEXTURE_ADDRESS_MODE AddressW;
3602 FLOAT MipLODBias;
3603 UINT MaxAnisotropy;
3604 D3D12_COMPARISON_FUNC ComparisonFunc;
3605 FLOAT BorderColor[ 4 ];
3606 FLOAT MinLOD;
3607 FLOAT MaxLOD;
3608 } D3D12_SAMPLER_DESC;
3609
3610typedef
3611enum D3D12_SAMPLER_FLAGS
3612 {
3613 D3D12_SAMPLER_FLAG_NONE = 0,
3614 D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR = 0x1,
3615 D3D12_SAMPLER_FLAG_NON_NORMALIZED_COORDINATES = 0x2
3616 } D3D12_SAMPLER_FLAGS;
3617
3618DEFINE_ENUM_FLAG_OPERATORS( D3D12_SAMPLER_FLAGS )
3619typedef struct D3D12_SAMPLER_DESC2
3620 {
3621 D3D12_FILTER Filter;
3622 D3D12_TEXTURE_ADDRESS_MODE AddressU;
3623 D3D12_TEXTURE_ADDRESS_MODE AddressV;
3624 D3D12_TEXTURE_ADDRESS_MODE AddressW;
3625 FLOAT MipLODBias;
3626 UINT MaxAnisotropy;
3627 D3D12_COMPARISON_FUNC ComparisonFunc;
3628 union
3629 {
3630 FLOAT FloatBorderColor[ 4 ];
3631 UINT UintBorderColor[ 4 ];
3632 } ;
3633 FLOAT MinLOD;
3634 FLOAT MaxLOD;
3635 D3D12_SAMPLER_FLAGS Flags;
3636 } D3D12_SAMPLER_DESC2;
3637
3638typedef
3639enum D3D12_BUFFER_UAV_FLAGS
3640 {
3641 D3D12_BUFFER_UAV_FLAG_NONE = 0,
3642 D3D12_BUFFER_UAV_FLAG_RAW = 0x1
3643 } D3D12_BUFFER_UAV_FLAGS;
3644
3645DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_UAV_FLAGS )
3646typedef struct D3D12_BUFFER_UAV
3647 {
3648 UINT64 FirstElement;
3649 UINT NumElements;
3650 UINT StructureByteStride;
3651 UINT64 CounterOffsetInBytes;
3652 D3D12_BUFFER_UAV_FLAGS Flags;
3653 } D3D12_BUFFER_UAV;
3654
3655typedef struct D3D12_TEX1D_UAV
3656 {
3657 UINT MipSlice;
3658 } D3D12_TEX1D_UAV;
3659
3660typedef struct D3D12_TEX1D_ARRAY_UAV
3661 {
3662 UINT MipSlice;
3663 UINT FirstArraySlice;
3664 UINT ArraySize;
3665 } D3D12_TEX1D_ARRAY_UAV;
3666
3667typedef struct D3D12_TEX2D_UAV
3668 {
3669 UINT MipSlice;
3670 UINT PlaneSlice;
3671 } D3D12_TEX2D_UAV;
3672
3673typedef struct D3D12_TEX2D_ARRAY_UAV
3674 {
3675 UINT MipSlice;
3676 UINT FirstArraySlice;
3677 UINT ArraySize;
3678 UINT PlaneSlice;
3679 } D3D12_TEX2D_ARRAY_UAV;
3680
3681typedef struct D3D12_TEX2DMS_UAV
3682 {
3683 UINT UnusedField_NothingToDefine;
3684 } D3D12_TEX2DMS_UAV;
3685
3686typedef struct D3D12_TEX2DMS_ARRAY_UAV
3687 {
3688 UINT FirstArraySlice;
3689 UINT ArraySize;
3690 } D3D12_TEX2DMS_ARRAY_UAV;
3691
3692typedef struct D3D12_TEX3D_UAV
3693 {
3694 UINT MipSlice;
3695 UINT FirstWSlice;
3696 UINT WSize;
3697 } D3D12_TEX3D_UAV;
3698
3699typedef
3700enum D3D12_UAV_DIMENSION
3701 {
3702 D3D12_UAV_DIMENSION_UNKNOWN = 0,
3703 D3D12_UAV_DIMENSION_BUFFER = 1,
3704 D3D12_UAV_DIMENSION_TEXTURE1D = 2,
3705 D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3,
3706 D3D12_UAV_DIMENSION_TEXTURE2D = 4,
3707 D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5,
3708 D3D12_UAV_DIMENSION_TEXTURE2DMS = 6,
3709 D3D12_UAV_DIMENSION_TEXTURE2DMSARRAY = 7,
3710 D3D12_UAV_DIMENSION_TEXTURE3D = 8
3711 } D3D12_UAV_DIMENSION;
3712
3713typedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC
3714 {
3715 DXGI_FORMAT Format;
3716 D3D12_UAV_DIMENSION ViewDimension;
3717 union
3718 {
3719 D3D12_BUFFER_UAV Buffer;
3720 D3D12_TEX1D_UAV Texture1D;
3721 D3D12_TEX1D_ARRAY_UAV Texture1DArray;
3722 D3D12_TEX2D_UAV Texture2D;
3723 D3D12_TEX2D_ARRAY_UAV Texture2DArray;
3724 D3D12_TEX2DMS_UAV Texture2DMS;
3725 D3D12_TEX2DMS_ARRAY_UAV Texture2DMSArray;
3726 D3D12_TEX3D_UAV Texture3D;
3727 } ;
3728 } D3D12_UNORDERED_ACCESS_VIEW_DESC;
3729
3730typedef struct D3D12_BUFFER_RTV
3731 {
3732 UINT64 FirstElement;
3733 UINT NumElements;
3734 } D3D12_BUFFER_RTV;
3735
3736typedef struct D3D12_TEX1D_RTV
3737 {
3738 UINT MipSlice;
3739 } D3D12_TEX1D_RTV;
3740
3741typedef struct D3D12_TEX1D_ARRAY_RTV
3742 {
3743 UINT MipSlice;
3744 UINT FirstArraySlice;
3745 UINT ArraySize;
3746 } D3D12_TEX1D_ARRAY_RTV;
3747
3748typedef struct D3D12_TEX2D_RTV
3749 {
3750 UINT MipSlice;
3751 UINT PlaneSlice;
3752 } D3D12_TEX2D_RTV;
3753
3754typedef struct D3D12_TEX2DMS_RTV
3755 {
3756 UINT UnusedField_NothingToDefine;
3757 } D3D12_TEX2DMS_RTV;
3758
3759typedef struct D3D12_TEX2D_ARRAY_RTV
3760 {
3761 UINT MipSlice;
3762 UINT FirstArraySlice;
3763 UINT ArraySize;
3764 UINT PlaneSlice;
3765 } D3D12_TEX2D_ARRAY_RTV;
3766
3767typedef struct D3D12_TEX2DMS_ARRAY_RTV
3768 {
3769 UINT FirstArraySlice;
3770 UINT ArraySize;
3771 } D3D12_TEX2DMS_ARRAY_RTV;
3772
3773typedef struct D3D12_TEX3D_RTV
3774 {
3775 UINT MipSlice;
3776 UINT FirstWSlice;
3777 UINT WSize;
3778 } D3D12_TEX3D_RTV;
3779
3780typedef
3781enum D3D12_RTV_DIMENSION
3782 {
3783 D3D12_RTV_DIMENSION_UNKNOWN = 0,
3784 D3D12_RTV_DIMENSION_BUFFER = 1,
3785 D3D12_RTV_DIMENSION_TEXTURE1D = 2,
3786 D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3,
3787 D3D12_RTV_DIMENSION_TEXTURE2D = 4,
3788 D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5,
3789 D3D12_RTV_DIMENSION_TEXTURE2DMS = 6,
3790 D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
3791 D3D12_RTV_DIMENSION_TEXTURE3D = 8
3792 } D3D12_RTV_DIMENSION;
3793
3794typedef struct D3D12_RENDER_TARGET_VIEW_DESC
3795 {
3796 DXGI_FORMAT Format;
3797 D3D12_RTV_DIMENSION ViewDimension;
3798 union
3799 {
3800 D3D12_BUFFER_RTV Buffer;
3801 D3D12_TEX1D_RTV Texture1D;
3802 D3D12_TEX1D_ARRAY_RTV Texture1DArray;
3803 D3D12_TEX2D_RTV Texture2D;
3804 D3D12_TEX2D_ARRAY_RTV Texture2DArray;
3805 D3D12_TEX2DMS_RTV Texture2DMS;
3806 D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray;
3807 D3D12_TEX3D_RTV Texture3D;
3808 } ;
3809 } D3D12_RENDER_TARGET_VIEW_DESC;
3810
3811typedef struct D3D12_TEX1D_DSV
3812 {
3813 UINT MipSlice;
3814 } D3D12_TEX1D_DSV;
3815
3816typedef struct D3D12_TEX1D_ARRAY_DSV
3817 {
3818 UINT MipSlice;
3819 UINT FirstArraySlice;
3820 UINT ArraySize;
3821 } D3D12_TEX1D_ARRAY_DSV;
3822
3823typedef struct D3D12_TEX2D_DSV
3824 {
3825 UINT MipSlice;
3826 } D3D12_TEX2D_DSV;
3827
3828typedef struct D3D12_TEX2D_ARRAY_DSV
3829 {
3830 UINT MipSlice;
3831 UINT FirstArraySlice;
3832 UINT ArraySize;
3833 } D3D12_TEX2D_ARRAY_DSV;
3834
3835typedef struct D3D12_TEX2DMS_DSV
3836 {
3837 UINT UnusedField_NothingToDefine;
3838 } D3D12_TEX2DMS_DSV;
3839
3840typedef struct D3D12_TEX2DMS_ARRAY_DSV
3841 {
3842 UINT FirstArraySlice;
3843 UINT ArraySize;
3844 } D3D12_TEX2DMS_ARRAY_DSV;
3845
3846typedef
3847enum D3D12_DSV_FLAGS
3848 {
3849 D3D12_DSV_FLAG_NONE = 0,
3850 D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1,
3851 D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2
3852 } D3D12_DSV_FLAGS;
3853
3854DEFINE_ENUM_FLAG_OPERATORS( D3D12_DSV_FLAGS )
3855typedef
3856enum D3D12_DSV_DIMENSION
3857 {
3858 D3D12_DSV_DIMENSION_UNKNOWN = 0,
3859 D3D12_DSV_DIMENSION_TEXTURE1D = 1,
3860 D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2,
3861 D3D12_DSV_DIMENSION_TEXTURE2D = 3,
3862 D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4,
3863 D3D12_DSV_DIMENSION_TEXTURE2DMS = 5,
3864 D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
3865 } D3D12_DSV_DIMENSION;
3866
3867typedef struct D3D12_DEPTH_STENCIL_VIEW_DESC
3868 {
3869 DXGI_FORMAT Format;
3870 D3D12_DSV_DIMENSION ViewDimension;
3871 D3D12_DSV_FLAGS Flags;
3872 union
3873 {
3874 D3D12_TEX1D_DSV Texture1D;
3875 D3D12_TEX1D_ARRAY_DSV Texture1DArray;
3876 D3D12_TEX2D_DSV Texture2D;
3877 D3D12_TEX2D_ARRAY_DSV Texture2DArray;
3878 D3D12_TEX2DMS_DSV Texture2DMS;
3879 D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray;
3880 } ;
3881 } D3D12_DEPTH_STENCIL_VIEW_DESC;
3882
3883typedef
3884enum D3D12_CLEAR_FLAGS
3885 {
3886 D3D12_CLEAR_FLAG_DEPTH = 0x1,
3887 D3D12_CLEAR_FLAG_STENCIL = 0x2
3888 } D3D12_CLEAR_FLAGS;
3889
3890DEFINE_ENUM_FLAG_OPERATORS( D3D12_CLEAR_FLAGS )
3891typedef
3892enum D3D12_FENCE_FLAGS
3893 {
3894 D3D12_FENCE_FLAG_NONE = 0,
3895 D3D12_FENCE_FLAG_SHARED = 0x1,
3896 D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2,
3897 D3D12_FENCE_FLAG_NON_MONITORED = 0x4
3898 } D3D12_FENCE_FLAGS;
3899
3900DEFINE_ENUM_FLAG_OPERATORS( D3D12_FENCE_FLAGS )
3901typedef
3902enum D3D12_DESCRIPTOR_HEAP_TYPE
3903 {
3904 D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0,
3905 D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = ( D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV + 1 ) ,
3906 D3D12_DESCRIPTOR_HEAP_TYPE_RTV = ( D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER + 1 ) ,
3907 D3D12_DESCRIPTOR_HEAP_TYPE_DSV = ( D3D12_DESCRIPTOR_HEAP_TYPE_RTV + 1 ) ,
3908 D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = ( D3D12_DESCRIPTOR_HEAP_TYPE_DSV + 1 )
3909 } D3D12_DESCRIPTOR_HEAP_TYPE;
3910
3911typedef
3912enum D3D12_DESCRIPTOR_HEAP_FLAGS
3913 {
3914 D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0,
3915 D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1
3916 } D3D12_DESCRIPTOR_HEAP_FLAGS;
3917
3918DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_HEAP_FLAGS )
3919typedef struct D3D12_DESCRIPTOR_HEAP_DESC
3920 {
3921 D3D12_DESCRIPTOR_HEAP_TYPE Type;
3922 UINT NumDescriptors;
3923 D3D12_DESCRIPTOR_HEAP_FLAGS Flags;
3924 UINT NodeMask;
3925 } D3D12_DESCRIPTOR_HEAP_DESC;
3926
3927typedef
3928enum D3D12_DESCRIPTOR_RANGE_TYPE
3929 {
3930 D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0,
3931 D3D12_DESCRIPTOR_RANGE_TYPE_UAV = ( D3D12_DESCRIPTOR_RANGE_TYPE_SRV + 1 ) ,
3932 D3D12_DESCRIPTOR_RANGE_TYPE_CBV = ( D3D12_DESCRIPTOR_RANGE_TYPE_UAV + 1 ) ,
3933 D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = ( D3D12_DESCRIPTOR_RANGE_TYPE_CBV + 1 )
3934 } D3D12_DESCRIPTOR_RANGE_TYPE;
3935
3936typedef struct D3D12_DESCRIPTOR_RANGE
3937 {
3938 D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
3939 UINT NumDescriptors;
3940 UINT BaseShaderRegister;
3941 UINT RegisterSpace;
3942 UINT OffsetInDescriptorsFromTableStart;
3943 } D3D12_DESCRIPTOR_RANGE;
3944
3945typedef struct D3D12_ROOT_DESCRIPTOR_TABLE
3946 {
3947 UINT NumDescriptorRanges;
3948 _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges;
3949 } D3D12_ROOT_DESCRIPTOR_TABLE;
3950
3951typedef struct D3D12_ROOT_CONSTANTS
3952 {
3953 UINT ShaderRegister;
3954 UINT RegisterSpace;
3955 UINT Num32BitValues;
3956 } D3D12_ROOT_CONSTANTS;
3957
3958typedef struct D3D12_ROOT_DESCRIPTOR
3959 {
3960 UINT ShaderRegister;
3961 UINT RegisterSpace;
3962 } D3D12_ROOT_DESCRIPTOR;
3963
3964typedef
3965enum D3D12_SHADER_VISIBILITY
3966 {
3967 D3D12_SHADER_VISIBILITY_ALL = 0,
3968 D3D12_SHADER_VISIBILITY_VERTEX = 1,
3969 D3D12_SHADER_VISIBILITY_HULL = 2,
3970 D3D12_SHADER_VISIBILITY_DOMAIN = 3,
3971 D3D12_SHADER_VISIBILITY_GEOMETRY = 4,
3972 D3D12_SHADER_VISIBILITY_PIXEL = 5,
3973 D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6,
3974 D3D12_SHADER_VISIBILITY_MESH = 7
3975 } D3D12_SHADER_VISIBILITY;
3976
3977typedef
3978enum D3D12_ROOT_PARAMETER_TYPE
3979 {
3980 D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0,
3981 D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = ( D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE + 1 ) ,
3982 D3D12_ROOT_PARAMETER_TYPE_CBV = ( D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS + 1 ) ,
3983 D3D12_ROOT_PARAMETER_TYPE_SRV = ( D3D12_ROOT_PARAMETER_TYPE_CBV + 1 ) ,
3984 D3D12_ROOT_PARAMETER_TYPE_UAV = ( D3D12_ROOT_PARAMETER_TYPE_SRV + 1 )
3985 } D3D12_ROOT_PARAMETER_TYPE;
3986
3987typedef struct D3D12_ROOT_PARAMETER
3988 {
3989 D3D12_ROOT_PARAMETER_TYPE ParameterType;
3990 union
3991 {
3992 D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable;
3993 D3D12_ROOT_CONSTANTS Constants;
3994 D3D12_ROOT_DESCRIPTOR Descriptor;
3995 } ;
3996 D3D12_SHADER_VISIBILITY ShaderVisibility;
3997 } D3D12_ROOT_PARAMETER;
3998
3999typedef
4000enum D3D12_ROOT_SIGNATURE_FLAGS
4001 {
4002 D3D12_ROOT_SIGNATURE_FLAG_NONE = 0,
4003 D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
4004 D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
4005 D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
4006 D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
4007 D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
4008 D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
4009 D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40,
4010 D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80,
4011 D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
4012 D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
4013 D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400,
4014 D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800
4015 } D3D12_ROOT_SIGNATURE_FLAGS;
4016
4017DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_SIGNATURE_FLAGS )
4018typedef
4019enum D3D12_STATIC_BORDER_COLOR
4020 {
4021 D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0,
4022 D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = ( D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK + 1 ) ,
4023 D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK + 1 ) ,
4024 D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE + 1 ) ,
4025 D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT + 1 )
4026 } D3D12_STATIC_BORDER_COLOR;
4027
4028typedef struct D3D12_STATIC_SAMPLER_DESC
4029 {
4030 D3D12_FILTER Filter;
4031 D3D12_TEXTURE_ADDRESS_MODE AddressU;
4032 D3D12_TEXTURE_ADDRESS_MODE AddressV;
4033 D3D12_TEXTURE_ADDRESS_MODE AddressW;
4034 FLOAT MipLODBias;
4035 UINT MaxAnisotropy;
4036 D3D12_COMPARISON_FUNC ComparisonFunc;
4037 D3D12_STATIC_BORDER_COLOR BorderColor;
4038 FLOAT MinLOD;
4039 FLOAT MaxLOD;
4040 UINT ShaderRegister;
4041 UINT RegisterSpace;
4042 D3D12_SHADER_VISIBILITY ShaderVisibility;
4043 } D3D12_STATIC_SAMPLER_DESC;
4044
4045typedef struct D3D12_STATIC_SAMPLER_DESC1
4046 {
4047 D3D12_FILTER Filter;
4048 D3D12_TEXTURE_ADDRESS_MODE AddressU;
4049 D3D12_TEXTURE_ADDRESS_MODE AddressV;
4050 D3D12_TEXTURE_ADDRESS_MODE AddressW;
4051 FLOAT MipLODBias;
4052 UINT MaxAnisotropy;
4053 D3D12_COMPARISON_FUNC ComparisonFunc;
4054 D3D12_STATIC_BORDER_COLOR BorderColor;
4055 FLOAT MinLOD;
4056 FLOAT MaxLOD;
4057 UINT ShaderRegister;
4058 UINT RegisterSpace;
4059 D3D12_SHADER_VISIBILITY ShaderVisibility;
4060 D3D12_SAMPLER_FLAGS Flags;
4061 } D3D12_STATIC_SAMPLER_DESC1;
4062
4063typedef struct D3D12_ROOT_SIGNATURE_DESC
4064 {
4065 UINT NumParameters;
4066 _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER *pParameters;
4067 UINT NumStaticSamplers;
4068 _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
4069 D3D12_ROOT_SIGNATURE_FLAGS Flags;
4070 } D3D12_ROOT_SIGNATURE_DESC;
4071
4072typedef
4073enum D3D12_DESCRIPTOR_RANGE_FLAGS
4074 {
4075 D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0,
4076 D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
4077 D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
4078 D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
4079 D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8,
4080 D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000
4081 } D3D12_DESCRIPTOR_RANGE_FLAGS;
4082
4083DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_RANGE_FLAGS )
4084typedef struct D3D12_DESCRIPTOR_RANGE1
4085 {
4086 D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
4087 UINT NumDescriptors;
4088 UINT BaseShaderRegister;
4089 UINT RegisterSpace;
4090 D3D12_DESCRIPTOR_RANGE_FLAGS Flags;
4091 UINT OffsetInDescriptorsFromTableStart;
4092 } D3D12_DESCRIPTOR_RANGE1;
4093
4094typedef struct D3D12_ROOT_DESCRIPTOR_TABLE1
4095 {
4096 UINT NumDescriptorRanges;
4097 _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges;
4098 } D3D12_ROOT_DESCRIPTOR_TABLE1;
4099
4100typedef
4101enum D3D12_ROOT_DESCRIPTOR_FLAGS
4102 {
4103 D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0,
4104 D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2,
4105 D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
4106 D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8
4107 } D3D12_ROOT_DESCRIPTOR_FLAGS;
4108
4109DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_DESCRIPTOR_FLAGS )
4110typedef struct D3D12_ROOT_DESCRIPTOR1
4111 {
4112 UINT ShaderRegister;
4113 UINT RegisterSpace;
4114 D3D12_ROOT_DESCRIPTOR_FLAGS Flags;
4115 } D3D12_ROOT_DESCRIPTOR1;
4116
4117typedef struct D3D12_ROOT_PARAMETER1
4118 {
4119 D3D12_ROOT_PARAMETER_TYPE ParameterType;
4120 union
4121 {
4122 D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable;
4123 D3D12_ROOT_CONSTANTS Constants;
4124 D3D12_ROOT_DESCRIPTOR1 Descriptor;
4125 } ;
4126 D3D12_SHADER_VISIBILITY ShaderVisibility;
4127 } D3D12_ROOT_PARAMETER1;
4128
4129typedef struct D3D12_ROOT_SIGNATURE_DESC1
4130 {
4131 UINT NumParameters;
4132 _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters;
4133 UINT NumStaticSamplers;
4134 _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
4135 D3D12_ROOT_SIGNATURE_FLAGS Flags;
4136 } D3D12_ROOT_SIGNATURE_DESC1;
4137
4138typedef struct D3D12_ROOT_SIGNATURE_DESC2
4139 {
4140 UINT NumParameters;
4141 _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters;
4142 UINT NumStaticSamplers;
4143 _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC1 *pStaticSamplers;
4144 D3D12_ROOT_SIGNATURE_FLAGS Flags;
4145 } D3D12_ROOT_SIGNATURE_DESC2;
4146
4147typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC
4148 {
4149 D3D_ROOT_SIGNATURE_VERSION Version;
4150 union
4151 {
4152 D3D12_ROOT_SIGNATURE_DESC Desc_1_0;
4153 D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1;
4154 D3D12_ROOT_SIGNATURE_DESC2 Desc_1_2;
4155 } ;
4156 } D3D12_VERSIONED_ROOT_SIGNATURE_DESC;
4157
4158
4159
4160extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_c_ifspec;
4161extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_s_ifspec;
4162
4163#ifndef __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
4164#define __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
4165
4166/* interface ID3D12RootSignatureDeserializer */
4167/* [unique][local][object][uuid] */
4168
4169
4170EXTERN_C const IID IID_ID3D12RootSignatureDeserializer;
4171
4172#if defined(__cplusplus) && !defined(CINTERFACE)
4173
4174 MIDL_INTERFACE("34AB647B-3CC8-46AC-841B-C0965645C046")
4175 ID3D12RootSignatureDeserializer : public IUnknown
4176 {
4177 public:
4178 virtual const D3D12_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetRootSignatureDesc( void) = 0;
4179
4180 };
4181
4182
4183#else /* C style interface */
4184
4185 typedef struct ID3D12RootSignatureDeserializerVtbl
4186 {
4187 BEGIN_INTERFACE
4188
4189 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
4190 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4191 ID3D12RootSignatureDeserializer * This,
4192 REFIID riid,
4193 _COM_Outptr_ void **ppvObject);
4194
4195 DECLSPEC_XFGVIRT(IUnknown, AddRef)
4196 ULONG ( STDMETHODCALLTYPE *AddRef )(
4197 ID3D12RootSignatureDeserializer * This);
4198
4199 DECLSPEC_XFGVIRT(IUnknown, Release)
4200 ULONG ( STDMETHODCALLTYPE *Release )(
4201 ID3D12RootSignatureDeserializer * This);
4202
4203 DECLSPEC_XFGVIRT(ID3D12RootSignatureDeserializer, GetRootSignatureDesc)
4204 const D3D12_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetRootSignatureDesc )(
4205 ID3D12RootSignatureDeserializer * This);
4206
4207 END_INTERFACE
4208 } ID3D12RootSignatureDeserializerVtbl;
4209
4210 interface ID3D12RootSignatureDeserializer
4211 {
4212 CONST_VTBL struct ID3D12RootSignatureDeserializerVtbl *lpVtbl;
4213 };
4214
4215
4216
4217#ifdef COBJMACROS
4218
4219
4220#define ID3D12RootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
4221 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4222
4223#define ID3D12RootSignatureDeserializer_AddRef(This) \
4224 ( (This)->lpVtbl -> AddRef(This) )
4225
4226#define ID3D12RootSignatureDeserializer_Release(This) \
4227 ( (This)->lpVtbl -> Release(This) )
4228
4229
4230#define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This) \
4231 ( (This)->lpVtbl -> GetRootSignatureDesc(This) )
4232
4233#endif /* COBJMACROS */
4234
4235
4236#endif /* C style interface */
4237
4238
4239
4240
4241#endif /* __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__ */
4242
4243
4244#ifndef __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__
4245#define __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__
4246
4247/* interface ID3D12VersionedRootSignatureDeserializer */
4248/* [unique][local][object][uuid] */
4249
4250
4251EXTERN_C const IID IID_ID3D12VersionedRootSignatureDeserializer;
4252
4253#if defined(__cplusplus) && !defined(CINTERFACE)
4254
4255 MIDL_INTERFACE("7F91CE67-090C-4BB7-B78E-ED8FF2E31DA0")
4256 ID3D12VersionedRootSignatureDeserializer : public IUnknown
4257 {
4258 public:
4259 virtual HRESULT STDMETHODCALLTYPE GetRootSignatureDescAtVersion(
4260 D3D_ROOT_SIGNATURE_VERSION convertToVersion,
4261 _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc) = 0;
4262
4263 virtual const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetUnconvertedRootSignatureDesc( void) = 0;
4264
4265 };
4266
4267
4268#else /* C style interface */
4269
4270 typedef struct ID3D12VersionedRootSignatureDeserializerVtbl
4271 {
4272 BEGIN_INTERFACE
4273
4274 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
4275 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4276 ID3D12VersionedRootSignatureDeserializer * This,
4277 REFIID riid,
4278 _COM_Outptr_ void **ppvObject);
4279
4280 DECLSPEC_XFGVIRT(IUnknown, AddRef)
4281 ULONG ( STDMETHODCALLTYPE *AddRef )(
4282 ID3D12VersionedRootSignatureDeserializer * This);
4283
4284 DECLSPEC_XFGVIRT(IUnknown, Release)
4285 ULONG ( STDMETHODCALLTYPE *Release )(
4286 ID3D12VersionedRootSignatureDeserializer * This);
4287
4288 DECLSPEC_XFGVIRT(ID3D12VersionedRootSignatureDeserializer, GetRootSignatureDescAtVersion)
4289 HRESULT ( STDMETHODCALLTYPE *GetRootSignatureDescAtVersion )(
4290 ID3D12VersionedRootSignatureDeserializer * This,
4291 D3D_ROOT_SIGNATURE_VERSION convertToVersion,
4292 _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc);
4293
4294 DECLSPEC_XFGVIRT(ID3D12VersionedRootSignatureDeserializer, GetUnconvertedRootSignatureDesc)
4295 const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetUnconvertedRootSignatureDesc )(
4296 ID3D12VersionedRootSignatureDeserializer * This);
4297
4298 END_INTERFACE
4299 } ID3D12VersionedRootSignatureDeserializerVtbl;
4300
4301 interface ID3D12VersionedRootSignatureDeserializer
4302 {
4303 CONST_VTBL struct ID3D12VersionedRootSignatureDeserializerVtbl *lpVtbl;
4304 };
4305
4306
4307
4308#ifdef COBJMACROS
4309
4310
4311#define ID3D12VersionedRootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
4312 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4313
4314#define ID3D12VersionedRootSignatureDeserializer_AddRef(This) \
4315 ( (This)->lpVtbl -> AddRef(This) )
4316
4317#define ID3D12VersionedRootSignatureDeserializer_Release(This) \
4318 ( (This)->lpVtbl -> Release(This) )
4319
4320
4321#define ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) \
4322 ( (This)->lpVtbl -> GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) )
4323
4324#define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This) \
4325 ( (This)->lpVtbl -> GetUnconvertedRootSignatureDesc(This) )
4326
4327#endif /* COBJMACROS */
4328
4329
4330#endif /* C style interface */
4331
4332
4333
4334
4335#endif /* __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__ */
4336
4337
4338/* interface __MIDL_itf_d3d12_0000_0003 */
4339/* [local] */
4340
4341typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(
4342 _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature,
4343 _In_ D3D_ROOT_SIGNATURE_VERSION Version,
4344 _Out_ ID3DBlob** ppBlob,
4345 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
4346
4347HRESULT WINAPI D3D12SerializeRootSignature(
4348 _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature,
4349 _In_ D3D_ROOT_SIGNATURE_VERSION Version,
4350 _Out_ ID3DBlob** ppBlob,
4351 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
4352
4353typedef HRESULT (WINAPI* PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(
4354 _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
4355 _In_ SIZE_T SrcDataSizeInBytes,
4356 _In_ REFIID pRootSignatureDeserializerInterface,
4357 _Out_ void** ppRootSignatureDeserializer);
4358
4359HRESULT WINAPI D3D12CreateRootSignatureDeserializer(
4360 _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
4361 _In_ SIZE_T SrcDataSizeInBytes,
4362 _In_ REFIID pRootSignatureDeserializerInterface,
4363 _Out_ void** ppRootSignatureDeserializer);
4364
4365typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(
4366 _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
4367 _Out_ ID3DBlob** ppBlob,
4368 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
4369
4370HRESULT WINAPI D3D12SerializeVersionedRootSignature(
4371 _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
4372 _Out_ ID3DBlob** ppBlob,
4373 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
4374
4375typedef HRESULT (WINAPI* PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)(
4376 _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
4377 _In_ SIZE_T SrcDataSizeInBytes,
4378 _In_ REFIID pRootSignatureDeserializerInterface,
4379 _Out_ void** ppRootSignatureDeserializer);
4380
4381HRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializer(
4382 _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
4383 _In_ SIZE_T SrcDataSizeInBytes,
4384 _In_ REFIID pRootSignatureDeserializerInterface,
4385 _Out_ void** ppRootSignatureDeserializer);
4386
4387typedef struct D3D12_CPU_DESCRIPTOR_HANDLE
4388 {
4389 SIZE_T ptr;
4390 } D3D12_CPU_DESCRIPTOR_HANDLE;
4391
4392typedef struct D3D12_GPU_DESCRIPTOR_HANDLE
4393 {
4394 UINT64 ptr;
4395 } D3D12_GPU_DESCRIPTOR_HANDLE;
4396
4397// If rects are supplied in D3D12_DISCARD_REGION, below, the resource
4398// must have 2D subresources with all specified subresources the same dimension.
4399typedef struct D3D12_DISCARD_REGION
4400 {
4401 UINT NumRects;
4402 _In_reads_(NumRects) const D3D12_RECT *pRects;
4403 UINT FirstSubresource;
4404 UINT NumSubresources;
4405 } D3D12_DISCARD_REGION;
4406
4407typedef
4408enum D3D12_QUERY_HEAP_TYPE
4409 {
4410 D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0,
4411 D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1,
4412 D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2,
4413 D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3,
4414 D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS = 4,
4415 D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = 5,
4416 D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = 7
4417 } D3D12_QUERY_HEAP_TYPE;
4418
4419typedef struct D3D12_QUERY_HEAP_DESC
4420 {
4421 D3D12_QUERY_HEAP_TYPE Type;
4422 UINT Count;
4423 UINT NodeMask;
4424 } D3D12_QUERY_HEAP_DESC;
4425
4426typedef
4427enum D3D12_QUERY_TYPE
4428 {
4429 D3D12_QUERY_TYPE_OCCLUSION = 0,
4430 D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1,
4431 D3D12_QUERY_TYPE_TIMESTAMP = 2,
4432 D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3,
4433 D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4,
4434 D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5,
4435 D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6,
4436 D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7,
4437 D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = 8,
4438 D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = 10
4439 } D3D12_QUERY_TYPE;
4440
4441typedef
4442enum D3D12_PREDICATION_OP
4443 {
4444 D3D12_PREDICATION_OP_EQUAL_ZERO = 0,
4445 D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1
4446 } D3D12_PREDICATION_OP;
4447
4448typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS
4449 {
4450 UINT64 IAVertices;
4451 UINT64 IAPrimitives;
4452 UINT64 VSInvocations;
4453 UINT64 GSInvocations;
4454 UINT64 GSPrimitives;
4455 UINT64 CInvocations;
4456 UINT64 CPrimitives;
4457 UINT64 PSInvocations;
4458 UINT64 HSInvocations;
4459 UINT64 DSInvocations;
4460 UINT64 CSInvocations;
4461 } D3D12_QUERY_DATA_PIPELINE_STATISTICS;
4462
4463typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1
4464 {
4465 UINT64 IAVertices;
4466 UINT64 IAPrimitives;
4467 UINT64 VSInvocations;
4468 UINT64 GSInvocations;
4469 UINT64 GSPrimitives;
4470 UINT64 CInvocations;
4471 UINT64 CPrimitives;
4472 UINT64 PSInvocations;
4473 UINT64 HSInvocations;
4474 UINT64 DSInvocations;
4475 UINT64 CSInvocations;
4476 UINT64 ASInvocations;
4477 UINT64 MSInvocations;
4478 UINT64 MSPrimitives;
4479 } D3D12_QUERY_DATA_PIPELINE_STATISTICS1;
4480
4481typedef struct D3D12_QUERY_DATA_SO_STATISTICS
4482 {
4483 UINT64 NumPrimitivesWritten;
4484 UINT64 PrimitivesStorageNeeded;
4485 } D3D12_QUERY_DATA_SO_STATISTICS;
4486
4487typedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW
4488 {
4489 D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
4490 UINT64 SizeInBytes;
4491 D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation;
4492 } D3D12_STREAM_OUTPUT_BUFFER_VIEW;
4493
4494typedef struct D3D12_DRAW_ARGUMENTS
4495 {
4496 UINT VertexCountPerInstance;
4497 UINT InstanceCount;
4498 UINT StartVertexLocation;
4499 UINT StartInstanceLocation;
4500 } D3D12_DRAW_ARGUMENTS;
4501
4502typedef struct D3D12_DRAW_INDEXED_ARGUMENTS
4503 {
4504 UINT IndexCountPerInstance;
4505 UINT InstanceCount;
4506 UINT StartIndexLocation;
4507 INT BaseVertexLocation;
4508 UINT StartInstanceLocation;
4509 } D3D12_DRAW_INDEXED_ARGUMENTS;
4510
4511typedef struct D3D12_DISPATCH_ARGUMENTS
4512 {
4513 UINT ThreadGroupCountX;
4514 UINT ThreadGroupCountY;
4515 UINT ThreadGroupCountZ;
4516 } D3D12_DISPATCH_ARGUMENTS;
4517
4518typedef struct D3D12_VERTEX_BUFFER_VIEW
4519 {
4520 D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
4521 UINT SizeInBytes;
4522 UINT StrideInBytes;
4523 } D3D12_VERTEX_BUFFER_VIEW;
4524
4525typedef struct D3D12_INDEX_BUFFER_VIEW
4526 {
4527 D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
4528 UINT SizeInBytes;
4529 DXGI_FORMAT Format;
4530 } D3D12_INDEX_BUFFER_VIEW;
4531
4532typedef
4533enum D3D12_INDIRECT_ARGUMENT_TYPE
4534 {
4535 D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0,
4536 D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = ( D3D12_INDIRECT_ARGUMENT_TYPE_DRAW + 1 ) ,
4537 D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = ( D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED + 1 ) ,
4538 D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH + 1 ) ,
4539 D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW + 1 ) ,
4540 D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = ( D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW + 1 ) ,
4541 D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT + 1 ) ,
4542 D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW + 1 ) ,
4543 D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW + 1 ) ,
4544 D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS = ( D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW + 1 ) ,
4545 D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS + 1 ) ,
4546 D3D12_INDIRECT_ARGUMENT_TYPE_INCREMENTING_CONSTANT = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH + 1 )
4547 } D3D12_INDIRECT_ARGUMENT_TYPE;
4548
4549typedef struct D3D12_INDIRECT_ARGUMENT_DESC
4550 {
4551 D3D12_INDIRECT_ARGUMENT_TYPE Type;
4552 union
4553 {
4554 struct
4555 {
4556 UINT Slot;
4557 } VertexBuffer;
4558 struct
4559 {
4560 UINT RootParameterIndex;
4561 UINT DestOffsetIn32BitValues;
4562 UINT Num32BitValuesToSet;
4563 } Constant;
4564 struct
4565 {
4566 UINT RootParameterIndex;
4567 } ConstantBufferView;
4568 struct
4569 {
4570 UINT RootParameterIndex;
4571 } ShaderResourceView;
4572 struct
4573 {
4574 UINT RootParameterIndex;
4575 } UnorderedAccessView;
4576 struct
4577 {
4578 UINT RootParameterIndex;
4579 UINT DestOffsetIn32BitValues;
4580 } IncrementingConstant;
4581 } ;
4582 } D3D12_INDIRECT_ARGUMENT_DESC;
4583
4584typedef struct D3D12_COMMAND_SIGNATURE_DESC
4585 {
4586 UINT ByteStride;
4587 UINT NumArgumentDescs;
4588 _Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs;
4589 UINT NodeMask;
4590 } D3D12_COMMAND_SIGNATURE_DESC;
4591
4592
4593
4594
4595extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_c_ifspec;
4596extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_s_ifspec;
4597
4598#ifndef __ID3D12Pageable_INTERFACE_DEFINED__
4599#define __ID3D12Pageable_INTERFACE_DEFINED__
4600
4601/* interface ID3D12Pageable */
4602/* [unique][local][object][uuid] */
4603
4604
4605EXTERN_C const IID IID_ID3D12Pageable;
4606
4607#if defined(__cplusplus) && !defined(CINTERFACE)
4608
4609 MIDL_INTERFACE("63ee58fb-1268-4835-86da-f008ce62f0d6")
4610 ID3D12Pageable : public ID3D12DeviceChild
4611 {
4612 public:
4613 };
4614
4615
4616#else /* C style interface */
4617
4618 typedef struct ID3D12PageableVtbl
4619 {
4620 BEGIN_INTERFACE
4621
4622 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
4623 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4624 ID3D12Pageable * This,
4625 REFIID riid,
4626 _COM_Outptr_ void **ppvObject);
4627
4628 DECLSPEC_XFGVIRT(IUnknown, AddRef)
4629 ULONG ( STDMETHODCALLTYPE *AddRef )(
4630 ID3D12Pageable * This);
4631
4632 DECLSPEC_XFGVIRT(IUnknown, Release)
4633 ULONG ( STDMETHODCALLTYPE *Release )(
4634 ID3D12Pageable * This);
4635
4636 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
4637 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4638 ID3D12Pageable * This,
4639 _In_ REFGUID guid,
4640 _Inout_ UINT *pDataSize,
4641 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4642
4643 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
4644 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4645 ID3D12Pageable * This,
4646 _In_ REFGUID guid,
4647 _In_ UINT DataSize,
4648 _In_reads_bytes_opt_( DataSize ) const void *pData);
4649
4650 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
4651 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4652 ID3D12Pageable * This,
4653 _In_ REFGUID guid,
4654 _In_opt_ const IUnknown *pData);
4655
4656 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
4657 HRESULT ( STDMETHODCALLTYPE *SetName )(
4658 ID3D12Pageable * This,
4659 _In_z_ LPCWSTR Name);
4660
4661 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
4662 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
4663 ID3D12Pageable * This,
4664 REFIID riid,
4665 _COM_Outptr_opt_ void **ppvDevice);
4666
4667 END_INTERFACE
4668 } ID3D12PageableVtbl;
4669
4670 interface ID3D12Pageable
4671 {
4672 CONST_VTBL struct ID3D12PageableVtbl *lpVtbl;
4673 };
4674
4675
4676
4677#ifdef COBJMACROS
4678
4679
4680#define ID3D12Pageable_QueryInterface(This,riid,ppvObject) \
4681 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4682
4683#define ID3D12Pageable_AddRef(This) \
4684 ( (This)->lpVtbl -> AddRef(This) )
4685
4686#define ID3D12Pageable_Release(This) \
4687 ( (This)->lpVtbl -> Release(This) )
4688
4689
4690#define ID3D12Pageable_GetPrivateData(This,guid,pDataSize,pData) \
4691 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4692
4693#define ID3D12Pageable_SetPrivateData(This,guid,DataSize,pData) \
4694 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4695
4696#define ID3D12Pageable_SetPrivateDataInterface(This,guid,pData) \
4697 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4698
4699#define ID3D12Pageable_SetName(This,Name) \
4700 ( (This)->lpVtbl -> SetName(This,Name) )
4701
4702
4703#define ID3D12Pageable_GetDevice(This,riid,ppvDevice) \
4704 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
4705
4706
4707#endif /* COBJMACROS */
4708
4709
4710#endif /* C style interface */
4711
4712
4713
4714
4715#endif /* __ID3D12Pageable_INTERFACE_DEFINED__ */
4716
4717
4718#ifndef __ID3D12Heap_INTERFACE_DEFINED__
4719#define __ID3D12Heap_INTERFACE_DEFINED__
4720
4721/* interface ID3D12Heap */
4722/* [unique][local][object][uuid] */
4723
4724
4725EXTERN_C const IID IID_ID3D12Heap;
4726
4727#if defined(__cplusplus) && !defined(CINTERFACE)
4728
4729 MIDL_INTERFACE("6b3b2502-6e51-45b3-90ee-9884265e8df3")
4730 ID3D12Heap : public ID3D12Pageable
4731 {
4732 public:
4733#if defined(_MSC_VER) || !defined(_WIN32)
4734 virtual D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
4735#else
4736 virtual D3D12_HEAP_DESC *STDMETHODCALLTYPE GetDesc(
4737 D3D12_HEAP_DESC * RetVal) = 0;
4738#endif
4739
4740 };
4741
4742
4743#else /* C style interface */
4744
4745 typedef struct ID3D12HeapVtbl
4746 {
4747 BEGIN_INTERFACE
4748
4749 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
4750 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4751 ID3D12Heap * This,
4752 REFIID riid,
4753 _COM_Outptr_ void **ppvObject);
4754
4755 DECLSPEC_XFGVIRT(IUnknown, AddRef)
4756 ULONG ( STDMETHODCALLTYPE *AddRef )(
4757 ID3D12Heap * This);
4758
4759 DECLSPEC_XFGVIRT(IUnknown, Release)
4760 ULONG ( STDMETHODCALLTYPE *Release )(
4761 ID3D12Heap * This);
4762
4763 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
4764 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4765 ID3D12Heap * This,
4766 _In_ REFGUID guid,
4767 _Inout_ UINT *pDataSize,
4768 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4769
4770 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
4771 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4772 ID3D12Heap * This,
4773 _In_ REFGUID guid,
4774 _In_ UINT DataSize,
4775 _In_reads_bytes_opt_( DataSize ) const void *pData);
4776
4777 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
4778 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4779 ID3D12Heap * This,
4780 _In_ REFGUID guid,
4781 _In_opt_ const IUnknown *pData);
4782
4783 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
4784 HRESULT ( STDMETHODCALLTYPE *SetName )(
4785 ID3D12Heap * This,
4786 _In_z_ LPCWSTR Name);
4787
4788 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
4789 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
4790 ID3D12Heap * This,
4791 REFIID riid,
4792 _COM_Outptr_opt_ void **ppvDevice);
4793
4794 DECLSPEC_XFGVIRT(ID3D12Heap, GetDesc)
4795#if !defined(_WIN32)
4796 D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
4797 ID3D12Heap * This);
4798
4799#else
4800 D3D12_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
4801 ID3D12Heap * This,
4802 D3D12_HEAP_DESC * RetVal);
4803
4804#endif
4805
4806 END_INTERFACE
4807 } ID3D12HeapVtbl;
4808
4809 interface ID3D12Heap
4810 {
4811 CONST_VTBL struct ID3D12HeapVtbl *lpVtbl;
4812 };
4813
4814
4815
4816#ifdef COBJMACROS
4817
4818
4819#define ID3D12Heap_QueryInterface(This,riid,ppvObject) \
4820 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4821
4822#define ID3D12Heap_AddRef(This) \
4823 ( (This)->lpVtbl -> AddRef(This) )
4824
4825#define ID3D12Heap_Release(This) \
4826 ( (This)->lpVtbl -> Release(This) )
4827
4828
4829#define ID3D12Heap_GetPrivateData(This,guid,pDataSize,pData) \
4830 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
4831
4832#define ID3D12Heap_SetPrivateData(This,guid,DataSize,pData) \
4833 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
4834
4835#define ID3D12Heap_SetPrivateDataInterface(This,guid,pData) \
4836 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
4837
4838#define ID3D12Heap_SetName(This,Name) \
4839 ( (This)->lpVtbl -> SetName(This,Name) )
4840
4841
4842#define ID3D12Heap_GetDevice(This,riid,ppvDevice) \
4843 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
4844
4845
4846#if !defined(_WIN32)
4847
4848#define ID3D12Heap_GetDesc(This) \
4849 ( (This)->lpVtbl -> GetDesc(This) )
4850#else
4851#define ID3D12Heap_GetDesc(This,RetVal) \
4852 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
4853#endif
4854
4855#endif /* COBJMACROS */
4856
4857
4858#endif /* C style interface */
4859
4860
4861
4862
4863#endif /* __ID3D12Heap_INTERFACE_DEFINED__ */
4864
4865
4866#ifndef __ID3D12Resource_INTERFACE_DEFINED__
4867#define __ID3D12Resource_INTERFACE_DEFINED__
4868
4869/* interface ID3D12Resource */
4870/* [unique][local][object][uuid] */
4871
4872
4873EXTERN_C const IID IID_ID3D12Resource;
4874
4875#if defined(__cplusplus) && !defined(CINTERFACE)
4876
4877 MIDL_INTERFACE("696442be-a72e-4059-bc79-5b5c98040fad")
4878 ID3D12Resource : public ID3D12Pageable
4879 {
4880 public:
4881 virtual HRESULT STDMETHODCALLTYPE Map(
4882 UINT Subresource,
4883 _In_opt_ const D3D12_RANGE *pReadRange,
4884 _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData) = 0;
4885
4886 virtual void STDMETHODCALLTYPE Unmap(
4887 UINT Subresource,
4888 _In_opt_ const D3D12_RANGE *pWrittenRange) = 0;
4889
4890#if defined(_MSC_VER) || !defined(_WIN32)
4891 virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
4892#else
4893 virtual D3D12_RESOURCE_DESC *STDMETHODCALLTYPE GetDesc(
4894 D3D12_RESOURCE_DESC * RetVal) = 0;
4895#endif
4896
4897 virtual D3D12_GPU_VIRTUAL_ADDRESS STDMETHODCALLTYPE GetGPUVirtualAddress( void) = 0;
4898
4899 virtual HRESULT STDMETHODCALLTYPE WriteToSubresource(
4900 UINT DstSubresource,
4901 _In_opt_ const D3D12_BOX *pDstBox,
4902 _In_ const void *pSrcData,
4903 UINT SrcRowPitch,
4904 UINT SrcDepthPitch) = 0;
4905
4906 virtual HRESULT STDMETHODCALLTYPE ReadFromSubresource(
4907 _Out_ void *pDstData,
4908 UINT DstRowPitch,
4909 UINT DstDepthPitch,
4910 UINT SrcSubresource,
4911 _In_opt_ const D3D12_BOX *pSrcBox) = 0;
4912
4913 virtual HRESULT STDMETHODCALLTYPE GetHeapProperties(
4914 _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
4915 _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags) = 0;
4916
4917 };
4918
4919
4920#else /* C style interface */
4921
4922 typedef struct ID3D12ResourceVtbl
4923 {
4924 BEGIN_INTERFACE
4925
4926 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
4927 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4928 ID3D12Resource * This,
4929 REFIID riid,
4930 _COM_Outptr_ void **ppvObject);
4931
4932 DECLSPEC_XFGVIRT(IUnknown, AddRef)
4933 ULONG ( STDMETHODCALLTYPE *AddRef )(
4934 ID3D12Resource * This);
4935
4936 DECLSPEC_XFGVIRT(IUnknown, Release)
4937 ULONG ( STDMETHODCALLTYPE *Release )(
4938 ID3D12Resource * This);
4939
4940 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
4941 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4942 ID3D12Resource * This,
4943 _In_ REFGUID guid,
4944 _Inout_ UINT *pDataSize,
4945 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
4946
4947 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
4948 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4949 ID3D12Resource * This,
4950 _In_ REFGUID guid,
4951 _In_ UINT DataSize,
4952 _In_reads_bytes_opt_( DataSize ) const void *pData);
4953
4954 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
4955 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4956 ID3D12Resource * This,
4957 _In_ REFGUID guid,
4958 _In_opt_ const IUnknown *pData);
4959
4960 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
4961 HRESULT ( STDMETHODCALLTYPE *SetName )(
4962 ID3D12Resource * This,
4963 _In_z_ LPCWSTR Name);
4964
4965 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
4966 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
4967 ID3D12Resource * This,
4968 REFIID riid,
4969 _COM_Outptr_opt_ void **ppvDevice);
4970
4971 DECLSPEC_XFGVIRT(ID3D12Resource, Map)
4972 HRESULT ( STDMETHODCALLTYPE *Map )(
4973 ID3D12Resource * This,
4974 UINT Subresource,
4975 _In_opt_ const D3D12_RANGE *pReadRange,
4976 _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
4977
4978 DECLSPEC_XFGVIRT(ID3D12Resource, Unmap)
4979 void ( STDMETHODCALLTYPE *Unmap )(
4980 ID3D12Resource * This,
4981 UINT Subresource,
4982 _In_opt_ const D3D12_RANGE *pWrittenRange);
4983
4984 DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc)
4985#if !defined(_WIN32)
4986 D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
4987 ID3D12Resource * This);
4988
4989#else
4990 D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )(
4991 ID3D12Resource * This,
4992 D3D12_RESOURCE_DESC * RetVal);
4993
4994#endif
4995
4996 DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress)
4997 D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
4998 ID3D12Resource * This);
4999
5000 DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource)
5001 HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
5002 ID3D12Resource * This,
5003 UINT DstSubresource,
5004 _In_opt_ const D3D12_BOX *pDstBox,
5005 _In_ const void *pSrcData,
5006 UINT SrcRowPitch,
5007 UINT SrcDepthPitch);
5008
5009 DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource)
5010 HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
5011 ID3D12Resource * This,
5012 _Out_ void *pDstData,
5013 UINT DstRowPitch,
5014 UINT DstDepthPitch,
5015 UINT SrcSubresource,
5016 _In_opt_ const D3D12_BOX *pSrcBox);
5017
5018 DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties)
5019 HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
5020 ID3D12Resource * This,
5021 _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
5022 _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
5023
5024 END_INTERFACE
5025 } ID3D12ResourceVtbl;
5026
5027 interface ID3D12Resource
5028 {
5029 CONST_VTBL struct ID3D12ResourceVtbl *lpVtbl;
5030 };
5031
5032
5033
5034#ifdef COBJMACROS
5035
5036
5037#define ID3D12Resource_QueryInterface(This,riid,ppvObject) \
5038 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5039
5040#define ID3D12Resource_AddRef(This) \
5041 ( (This)->lpVtbl -> AddRef(This) )
5042
5043#define ID3D12Resource_Release(This) \
5044 ( (This)->lpVtbl -> Release(This) )
5045
5046
5047#define ID3D12Resource_GetPrivateData(This,guid,pDataSize,pData) \
5048 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
5049
5050#define ID3D12Resource_SetPrivateData(This,guid,DataSize,pData) \
5051 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
5052
5053#define ID3D12Resource_SetPrivateDataInterface(This,guid,pData) \
5054 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
5055
5056#define ID3D12Resource_SetName(This,Name) \
5057 ( (This)->lpVtbl -> SetName(This,Name) )
5058
5059
5060#define ID3D12Resource_GetDevice(This,riid,ppvDevice) \
5061 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
5062
5063
5064
5065#define ID3D12Resource_Map(This,Subresource,pReadRange,ppData) \
5066 ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
5067
5068#define ID3D12Resource_Unmap(This,Subresource,pWrittenRange) \
5069 ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
5070#if !defined(_WIN32)
5071
5072#define ID3D12Resource_GetDesc(This) \
5073 ( (This)->lpVtbl -> GetDesc(This) )
5074#else
5075#define ID3D12Resource_GetDesc(This,RetVal) \
5076 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
5077#endif
5078
5079#define ID3D12Resource_GetGPUVirtualAddress(This) \
5080 ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
5081
5082#define ID3D12Resource_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
5083 ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
5084
5085#define ID3D12Resource_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
5086 ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
5087
5088#define ID3D12Resource_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
5089 ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
5090
5091#endif /* COBJMACROS */
5092
5093
5094#endif /* C style interface */
5095
5096
5097
5098
5099#endif /* __ID3D12Resource_INTERFACE_DEFINED__ */
5100
5101
5102#ifndef __ID3D12CommandAllocator_INTERFACE_DEFINED__
5103#define __ID3D12CommandAllocator_INTERFACE_DEFINED__
5104
5105/* interface ID3D12CommandAllocator */
5106/* [unique][local][object][uuid] */
5107
5108
5109EXTERN_C const IID IID_ID3D12CommandAllocator;
5110
5111#if defined(__cplusplus) && !defined(CINTERFACE)
5112
5113 MIDL_INTERFACE("6102dee4-af59-4b09-b999-b44d73f09b24")
5114 ID3D12CommandAllocator : public ID3D12Pageable
5115 {
5116 public:
5117 virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
5118
5119 };
5120
5121
5122#else /* C style interface */
5123
5124 typedef struct ID3D12CommandAllocatorVtbl
5125 {
5126 BEGIN_INTERFACE
5127
5128 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
5129 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5130 ID3D12CommandAllocator * This,
5131 REFIID riid,
5132 _COM_Outptr_ void **ppvObject);
5133
5134 DECLSPEC_XFGVIRT(IUnknown, AddRef)
5135 ULONG ( STDMETHODCALLTYPE *AddRef )(
5136 ID3D12CommandAllocator * This);
5137
5138 DECLSPEC_XFGVIRT(IUnknown, Release)
5139 ULONG ( STDMETHODCALLTYPE *Release )(
5140 ID3D12CommandAllocator * This);
5141
5142 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
5143 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5144 ID3D12CommandAllocator * This,
5145 _In_ REFGUID guid,
5146 _Inout_ UINT *pDataSize,
5147 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
5148
5149 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
5150 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5151 ID3D12CommandAllocator * This,
5152 _In_ REFGUID guid,
5153 _In_ UINT DataSize,
5154 _In_reads_bytes_opt_( DataSize ) const void *pData);
5155
5156 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
5157 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5158 ID3D12CommandAllocator * This,
5159 _In_ REFGUID guid,
5160 _In_opt_ const IUnknown *pData);
5161
5162 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
5163 HRESULT ( STDMETHODCALLTYPE *SetName )(
5164 ID3D12CommandAllocator * This,
5165 _In_z_ LPCWSTR Name);
5166
5167 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
5168 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
5169 ID3D12CommandAllocator * This,
5170 REFIID riid,
5171 _COM_Outptr_opt_ void **ppvDevice);
5172
5173 DECLSPEC_XFGVIRT(ID3D12CommandAllocator, Reset)
5174 HRESULT ( STDMETHODCALLTYPE *Reset )(
5175 ID3D12CommandAllocator * This);
5176
5177 END_INTERFACE
5178 } ID3D12CommandAllocatorVtbl;
5179
5180 interface ID3D12CommandAllocator
5181 {
5182 CONST_VTBL struct ID3D12CommandAllocatorVtbl *lpVtbl;
5183 };
5184
5185
5186
5187#ifdef COBJMACROS
5188
5189
5190#define ID3D12CommandAllocator_QueryInterface(This,riid,ppvObject) \
5191 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5192
5193#define ID3D12CommandAllocator_AddRef(This) \
5194 ( (This)->lpVtbl -> AddRef(This) )
5195
5196#define ID3D12CommandAllocator_Release(This) \
5197 ( (This)->lpVtbl -> Release(This) )
5198
5199
5200#define ID3D12CommandAllocator_GetPrivateData(This,guid,pDataSize,pData) \
5201 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
5202
5203#define ID3D12CommandAllocator_SetPrivateData(This,guid,DataSize,pData) \
5204 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
5205
5206#define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,pData) \
5207 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
5208
5209#define ID3D12CommandAllocator_SetName(This,Name) \
5210 ( (This)->lpVtbl -> SetName(This,Name) )
5211
5212
5213#define ID3D12CommandAllocator_GetDevice(This,riid,ppvDevice) \
5214 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
5215
5216
5217
5218#define ID3D12CommandAllocator_Reset(This) \
5219 ( (This)->lpVtbl -> Reset(This) )
5220
5221#endif /* COBJMACROS */
5222
5223
5224#endif /* C style interface */
5225
5226
5227
5228
5229#endif /* __ID3D12CommandAllocator_INTERFACE_DEFINED__ */
5230
5231
5232#ifndef __ID3D12Fence_INTERFACE_DEFINED__
5233#define __ID3D12Fence_INTERFACE_DEFINED__
5234
5235/* interface ID3D12Fence */
5236/* [unique][local][object][uuid] */
5237
5238
5239EXTERN_C const IID IID_ID3D12Fence;
5240
5241#if defined(__cplusplus) && !defined(CINTERFACE)
5242
5243 MIDL_INTERFACE("0a753dcf-c4d8-4b91-adf6-be5a60d95a76")
5244 ID3D12Fence : public ID3D12Pageable
5245 {
5246 public:
5247 virtual UINT64 STDMETHODCALLTYPE GetCompletedValue( void) = 0;
5248
5249 virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion(
5250 UINT64 Value,
5251 HANDLE hEvent) = 0;
5252
5253 virtual HRESULT STDMETHODCALLTYPE Signal(
5254 UINT64 Value) = 0;
5255
5256 };
5257
5258
5259#else /* C style interface */
5260
5261 typedef struct ID3D12FenceVtbl
5262 {
5263 BEGIN_INTERFACE
5264
5265 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
5266 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5267 ID3D12Fence * This,
5268 REFIID riid,
5269 _COM_Outptr_ void **ppvObject);
5270
5271 DECLSPEC_XFGVIRT(IUnknown, AddRef)
5272 ULONG ( STDMETHODCALLTYPE *AddRef )(
5273 ID3D12Fence * This);
5274
5275 DECLSPEC_XFGVIRT(IUnknown, Release)
5276 ULONG ( STDMETHODCALLTYPE *Release )(
5277 ID3D12Fence * This);
5278
5279 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
5280 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5281 ID3D12Fence * This,
5282 _In_ REFGUID guid,
5283 _Inout_ UINT *pDataSize,
5284 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
5285
5286 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
5287 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5288 ID3D12Fence * This,
5289 _In_ REFGUID guid,
5290 _In_ UINT DataSize,
5291 _In_reads_bytes_opt_( DataSize ) const void *pData);
5292
5293 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
5294 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5295 ID3D12Fence * This,
5296 _In_ REFGUID guid,
5297 _In_opt_ const IUnknown *pData);
5298
5299 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
5300 HRESULT ( STDMETHODCALLTYPE *SetName )(
5301 ID3D12Fence * This,
5302 _In_z_ LPCWSTR Name);
5303
5304 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
5305 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
5306 ID3D12Fence * This,
5307 REFIID riid,
5308 _COM_Outptr_opt_ void **ppvDevice);
5309
5310 DECLSPEC_XFGVIRT(ID3D12Fence, GetCompletedValue)
5311 UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )(
5312 ID3D12Fence * This);
5313
5314 DECLSPEC_XFGVIRT(ID3D12Fence, SetEventOnCompletion)
5315 HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )(
5316 ID3D12Fence * This,
5317 UINT64 Value,
5318 HANDLE hEvent);
5319
5320 DECLSPEC_XFGVIRT(ID3D12Fence, Signal)
5321 HRESULT ( STDMETHODCALLTYPE *Signal )(
5322 ID3D12Fence * This,
5323 UINT64 Value);
5324
5325 END_INTERFACE
5326 } ID3D12FenceVtbl;
5327
5328 interface ID3D12Fence
5329 {
5330 CONST_VTBL struct ID3D12FenceVtbl *lpVtbl;
5331 };
5332
5333
5334
5335#ifdef COBJMACROS
5336
5337
5338#define ID3D12Fence_QueryInterface(This,riid,ppvObject) \
5339 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5340
5341#define ID3D12Fence_AddRef(This) \
5342 ( (This)->lpVtbl -> AddRef(This) )
5343
5344#define ID3D12Fence_Release(This) \
5345 ( (This)->lpVtbl -> Release(This) )
5346
5347
5348#define ID3D12Fence_GetPrivateData(This,guid,pDataSize,pData) \
5349 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
5350
5351#define ID3D12Fence_SetPrivateData(This,guid,DataSize,pData) \
5352 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
5353
5354#define ID3D12Fence_SetPrivateDataInterface(This,guid,pData) \
5355 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
5356
5357#define ID3D12Fence_SetName(This,Name) \
5358 ( (This)->lpVtbl -> SetName(This,Name) )
5359
5360
5361#define ID3D12Fence_GetDevice(This,riid,ppvDevice) \
5362 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
5363
5364
5365
5366#define ID3D12Fence_GetCompletedValue(This) \
5367 ( (This)->lpVtbl -> GetCompletedValue(This) )
5368
5369#define ID3D12Fence_SetEventOnCompletion(This,Value,hEvent) \
5370 ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) )
5371
5372#define ID3D12Fence_Signal(This,Value) \
5373 ( (This)->lpVtbl -> Signal(This,Value) )
5374
5375#endif /* COBJMACROS */
5376
5377
5378#endif /* C style interface */
5379
5380
5381
5382
5383#endif /* __ID3D12Fence_INTERFACE_DEFINED__ */
5384
5385
5386#ifndef __ID3D12Fence1_INTERFACE_DEFINED__
5387#define __ID3D12Fence1_INTERFACE_DEFINED__
5388
5389/* interface ID3D12Fence1 */
5390/* [unique][local][object][uuid] */
5391
5392
5393EXTERN_C const IID IID_ID3D12Fence1;
5394
5395#if defined(__cplusplus) && !defined(CINTERFACE)
5396
5397 MIDL_INTERFACE("433685fe-e22b-4ca0-a8db-b5b4f4dd0e4a")
5398 ID3D12Fence1 : public ID3D12Fence
5399 {
5400 public:
5401 virtual D3D12_FENCE_FLAGS STDMETHODCALLTYPE GetCreationFlags( void) = 0;
5402
5403 };
5404
5405
5406#else /* C style interface */
5407
5408 typedef struct ID3D12Fence1Vtbl
5409 {
5410 BEGIN_INTERFACE
5411
5412 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
5413 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5414 ID3D12Fence1 * This,
5415 REFIID riid,
5416 _COM_Outptr_ void **ppvObject);
5417
5418 DECLSPEC_XFGVIRT(IUnknown, AddRef)
5419 ULONG ( STDMETHODCALLTYPE *AddRef )(
5420 ID3D12Fence1 * This);
5421
5422 DECLSPEC_XFGVIRT(IUnknown, Release)
5423 ULONG ( STDMETHODCALLTYPE *Release )(
5424 ID3D12Fence1 * This);
5425
5426 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
5427 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5428 ID3D12Fence1 * This,
5429 _In_ REFGUID guid,
5430 _Inout_ UINT *pDataSize,
5431 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
5432
5433 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
5434 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5435 ID3D12Fence1 * This,
5436 _In_ REFGUID guid,
5437 _In_ UINT DataSize,
5438 _In_reads_bytes_opt_( DataSize ) const void *pData);
5439
5440 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
5441 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5442 ID3D12Fence1 * This,
5443 _In_ REFGUID guid,
5444 _In_opt_ const IUnknown *pData);
5445
5446 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
5447 HRESULT ( STDMETHODCALLTYPE *SetName )(
5448 ID3D12Fence1 * This,
5449 _In_z_ LPCWSTR Name);
5450
5451 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
5452 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
5453 ID3D12Fence1 * This,
5454 REFIID riid,
5455 _COM_Outptr_opt_ void **ppvDevice);
5456
5457 DECLSPEC_XFGVIRT(ID3D12Fence, GetCompletedValue)
5458 UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )(
5459 ID3D12Fence1 * This);
5460
5461 DECLSPEC_XFGVIRT(ID3D12Fence, SetEventOnCompletion)
5462 HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )(
5463 ID3D12Fence1 * This,
5464 UINT64 Value,
5465 HANDLE hEvent);
5466
5467 DECLSPEC_XFGVIRT(ID3D12Fence, Signal)
5468 HRESULT ( STDMETHODCALLTYPE *Signal )(
5469 ID3D12Fence1 * This,
5470 UINT64 Value);
5471
5472 DECLSPEC_XFGVIRT(ID3D12Fence1, GetCreationFlags)
5473 D3D12_FENCE_FLAGS ( STDMETHODCALLTYPE *GetCreationFlags )(
5474 ID3D12Fence1 * This);
5475
5476 END_INTERFACE
5477 } ID3D12Fence1Vtbl;
5478
5479 interface ID3D12Fence1
5480 {
5481 CONST_VTBL struct ID3D12Fence1Vtbl *lpVtbl;
5482 };
5483
5484
5485
5486#ifdef COBJMACROS
5487
5488
5489#define ID3D12Fence1_QueryInterface(This,riid,ppvObject) \
5490 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5491
5492#define ID3D12Fence1_AddRef(This) \
5493 ( (This)->lpVtbl -> AddRef(This) )
5494
5495#define ID3D12Fence1_Release(This) \
5496 ( (This)->lpVtbl -> Release(This) )
5497
5498
5499#define ID3D12Fence1_GetPrivateData(This,guid,pDataSize,pData) \
5500 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
5501
5502#define ID3D12Fence1_SetPrivateData(This,guid,DataSize,pData) \
5503 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
5504
5505#define ID3D12Fence1_SetPrivateDataInterface(This,guid,pData) \
5506 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
5507
5508#define ID3D12Fence1_SetName(This,Name) \
5509 ( (This)->lpVtbl -> SetName(This,Name) )
5510
5511
5512#define ID3D12Fence1_GetDevice(This,riid,ppvDevice) \
5513 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
5514
5515
5516
5517#define ID3D12Fence1_GetCompletedValue(This) \
5518 ( (This)->lpVtbl -> GetCompletedValue(This) )
5519
5520#define ID3D12Fence1_SetEventOnCompletion(This,Value,hEvent) \
5521 ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) )
5522
5523#define ID3D12Fence1_Signal(This,Value) \
5524 ( (This)->lpVtbl -> Signal(This,Value) )
5525
5526
5527#define ID3D12Fence1_GetCreationFlags(This) \
5528 ( (This)->lpVtbl -> GetCreationFlags(This) )
5529
5530#endif /* COBJMACROS */
5531
5532
5533#endif /* C style interface */
5534
5535
5536
5537
5538#endif /* __ID3D12Fence1_INTERFACE_DEFINED__ */
5539
5540
5541#ifndef __ID3D12PipelineState_INTERFACE_DEFINED__
5542#define __ID3D12PipelineState_INTERFACE_DEFINED__
5543
5544/* interface ID3D12PipelineState */
5545/* [unique][local][object][uuid] */
5546
5547
5548EXTERN_C const IID IID_ID3D12PipelineState;
5549
5550#if defined(__cplusplus) && !defined(CINTERFACE)
5551
5552 MIDL_INTERFACE("765a30f3-f624-4c6f-a828-ace948622445")
5553 ID3D12PipelineState : public ID3D12Pageable
5554 {
5555 public:
5556 virtual HRESULT STDMETHODCALLTYPE GetCachedBlob(
5557 _COM_Outptr_ ID3DBlob **ppBlob) = 0;
5558
5559 };
5560
5561
5562#else /* C style interface */
5563
5564 typedef struct ID3D12PipelineStateVtbl
5565 {
5566 BEGIN_INTERFACE
5567
5568 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
5569 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5570 ID3D12PipelineState * This,
5571 REFIID riid,
5572 _COM_Outptr_ void **ppvObject);
5573
5574 DECLSPEC_XFGVIRT(IUnknown, AddRef)
5575 ULONG ( STDMETHODCALLTYPE *AddRef )(
5576 ID3D12PipelineState * This);
5577
5578 DECLSPEC_XFGVIRT(IUnknown, Release)
5579 ULONG ( STDMETHODCALLTYPE *Release )(
5580 ID3D12PipelineState * This);
5581
5582 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
5583 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5584 ID3D12PipelineState * This,
5585 _In_ REFGUID guid,
5586 _Inout_ UINT *pDataSize,
5587 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
5588
5589 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
5590 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5591 ID3D12PipelineState * This,
5592 _In_ REFGUID guid,
5593 _In_ UINT DataSize,
5594 _In_reads_bytes_opt_( DataSize ) const void *pData);
5595
5596 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
5597 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5598 ID3D12PipelineState * This,
5599 _In_ REFGUID guid,
5600 _In_opt_ const IUnknown *pData);
5601
5602 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
5603 HRESULT ( STDMETHODCALLTYPE *SetName )(
5604 ID3D12PipelineState * This,
5605 _In_z_ LPCWSTR Name);
5606
5607 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
5608 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
5609 ID3D12PipelineState * This,
5610 REFIID riid,
5611 _COM_Outptr_opt_ void **ppvDevice);
5612
5613 DECLSPEC_XFGVIRT(ID3D12PipelineState, GetCachedBlob)
5614 HRESULT ( STDMETHODCALLTYPE *GetCachedBlob )(
5615 ID3D12PipelineState * This,
5616 _COM_Outptr_ ID3DBlob **ppBlob);
5617
5618 END_INTERFACE
5619 } ID3D12PipelineStateVtbl;
5620
5621 interface ID3D12PipelineState
5622 {
5623 CONST_VTBL struct ID3D12PipelineStateVtbl *lpVtbl;
5624 };
5625
5626
5627
5628#ifdef COBJMACROS
5629
5630
5631#define ID3D12PipelineState_QueryInterface(This,riid,ppvObject) \
5632 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5633
5634#define ID3D12PipelineState_AddRef(This) \
5635 ( (This)->lpVtbl -> AddRef(This) )
5636
5637#define ID3D12PipelineState_Release(This) \
5638 ( (This)->lpVtbl -> Release(This) )
5639
5640
5641#define ID3D12PipelineState_GetPrivateData(This,guid,pDataSize,pData) \
5642 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
5643
5644#define ID3D12PipelineState_SetPrivateData(This,guid,DataSize,pData) \
5645 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
5646
5647#define ID3D12PipelineState_SetPrivateDataInterface(This,guid,pData) \
5648 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
5649
5650#define ID3D12PipelineState_SetName(This,Name) \
5651 ( (This)->lpVtbl -> SetName(This,Name) )
5652
5653
5654#define ID3D12PipelineState_GetDevice(This,riid,ppvDevice) \
5655 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
5656
5657
5658
5659#define ID3D12PipelineState_GetCachedBlob(This,ppBlob) \
5660 ( (This)->lpVtbl -> GetCachedBlob(This,ppBlob) )
5661
5662#endif /* COBJMACROS */
5663
5664
5665#endif /* C style interface */
5666
5667
5668
5669
5670#endif /* __ID3D12PipelineState_INTERFACE_DEFINED__ */
5671
5672
5673#ifndef __ID3D12DescriptorHeap_INTERFACE_DEFINED__
5674#define __ID3D12DescriptorHeap_INTERFACE_DEFINED__
5675
5676/* interface ID3D12DescriptorHeap */
5677/* [unique][local][object][uuid] */
5678
5679
5680EXTERN_C const IID IID_ID3D12DescriptorHeap;
5681
5682#if defined(__cplusplus) && !defined(CINTERFACE)
5683
5684 MIDL_INTERFACE("8efb471d-616c-4f49-90f7-127bb763fa51")
5685 ID3D12DescriptorHeap : public ID3D12Pageable
5686 {
5687 public:
5688#if defined(_MSC_VER) || !defined(_WIN32)
5689 virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
5690#else
5691 virtual D3D12_DESCRIPTOR_HEAP_DESC *STDMETHODCALLTYPE GetDesc(
5692 D3D12_DESCRIPTOR_HEAP_DESC * RetVal) = 0;
5693#endif
5694
5695#if defined(_MSC_VER) || !defined(_WIN32)
5696 virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart( void) = 0;
5697#else
5698 virtual D3D12_CPU_DESCRIPTOR_HANDLE *STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart(
5699 D3D12_CPU_DESCRIPTOR_HANDLE * RetVal) = 0;
5700#endif
5701
5702#if defined(_MSC_VER) || !defined(_WIN32)
5703 virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart( void) = 0;
5704#else
5705 virtual D3D12_GPU_DESCRIPTOR_HANDLE *STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart(
5706 D3D12_GPU_DESCRIPTOR_HANDLE * RetVal) = 0;
5707#endif
5708
5709 };
5710
5711
5712#else /* C style interface */
5713
5714 typedef struct ID3D12DescriptorHeapVtbl
5715 {
5716 BEGIN_INTERFACE
5717
5718 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
5719 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5720 ID3D12DescriptorHeap * This,
5721 REFIID riid,
5722 _COM_Outptr_ void **ppvObject);
5723
5724 DECLSPEC_XFGVIRT(IUnknown, AddRef)
5725 ULONG ( STDMETHODCALLTYPE *AddRef )(
5726 ID3D12DescriptorHeap * This);
5727
5728 DECLSPEC_XFGVIRT(IUnknown, Release)
5729 ULONG ( STDMETHODCALLTYPE *Release )(
5730 ID3D12DescriptorHeap * This);
5731
5732 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
5733 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5734 ID3D12DescriptorHeap * This,
5735 _In_ REFGUID guid,
5736 _Inout_ UINT *pDataSize,
5737 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
5738
5739 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
5740 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5741 ID3D12DescriptorHeap * This,
5742 _In_ REFGUID guid,
5743 _In_ UINT DataSize,
5744 _In_reads_bytes_opt_( DataSize ) const void *pData);
5745
5746 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
5747 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5748 ID3D12DescriptorHeap * This,
5749 _In_ REFGUID guid,
5750 _In_opt_ const IUnknown *pData);
5751
5752 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
5753 HRESULT ( STDMETHODCALLTYPE *SetName )(
5754 ID3D12DescriptorHeap * This,
5755 _In_z_ LPCWSTR Name);
5756
5757 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
5758 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
5759 ID3D12DescriptorHeap * This,
5760 REFIID riid,
5761 _COM_Outptr_opt_ void **ppvDevice);
5762
5763 DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetDesc)
5764#if !defined(_WIN32)
5765 D3D12_DESCRIPTOR_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
5766 ID3D12DescriptorHeap * This);
5767
5768#else
5769 D3D12_DESCRIPTOR_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
5770 ID3D12DescriptorHeap * This,
5771 D3D12_DESCRIPTOR_HEAP_DESC * RetVal);
5772
5773#endif
5774
5775 DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetCPUDescriptorHandleForHeapStart)
5776#if !defined(_WIN32)
5777 D3D12_CPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )(
5778 ID3D12DescriptorHeap * This);
5779
5780#else
5781 D3D12_CPU_DESCRIPTOR_HANDLE *( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )(
5782 ID3D12DescriptorHeap * This,
5783 D3D12_CPU_DESCRIPTOR_HANDLE * RetVal);
5784
5785#endif
5786
5787 DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetGPUDescriptorHandleForHeapStart)
5788#if !defined(_WIN32)
5789 D3D12_GPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )(
5790 ID3D12DescriptorHeap * This);
5791
5792#else
5793 D3D12_GPU_DESCRIPTOR_HANDLE *( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )(
5794 ID3D12DescriptorHeap * This,
5795 D3D12_GPU_DESCRIPTOR_HANDLE * RetVal);
5796
5797#endif
5798
5799 END_INTERFACE
5800 } ID3D12DescriptorHeapVtbl;
5801
5802 interface ID3D12DescriptorHeap
5803 {
5804 CONST_VTBL struct ID3D12DescriptorHeapVtbl *lpVtbl;
5805 };
5806
5807
5808
5809#ifdef COBJMACROS
5810
5811
5812#define ID3D12DescriptorHeap_QueryInterface(This,riid,ppvObject) \
5813 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5814
5815#define ID3D12DescriptorHeap_AddRef(This) \
5816 ( (This)->lpVtbl -> AddRef(This) )
5817
5818#define ID3D12DescriptorHeap_Release(This) \
5819 ( (This)->lpVtbl -> Release(This) )
5820
5821
5822#define ID3D12DescriptorHeap_GetPrivateData(This,guid,pDataSize,pData) \
5823 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
5824
5825#define ID3D12DescriptorHeap_SetPrivateData(This,guid,DataSize,pData) \
5826 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
5827
5828#define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,pData) \
5829 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
5830
5831#define ID3D12DescriptorHeap_SetName(This,Name) \
5832 ( (This)->lpVtbl -> SetName(This,Name) )
5833
5834
5835#define ID3D12DescriptorHeap_GetDevice(This,riid,ppvDevice) \
5836 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
5837
5838
5839#if !defined(_WIN32)
5840
5841#define ID3D12DescriptorHeap_GetDesc(This) \
5842 ( (This)->lpVtbl -> GetDesc(This) )
5843#else
5844#define ID3D12DescriptorHeap_GetDesc(This,RetVal) \
5845 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
5846#endif
5847#if !defined(_WIN32)
5848
5849#define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This) \
5850 ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This) )
5851#else
5852#define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This,RetVal) \
5853 ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This,RetVal) )
5854#endif
5855#if !defined(_WIN32)
5856
5857#define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) \
5858 ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This) )
5859#else
5860#define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This,RetVal) \
5861 ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This,RetVal) )
5862#endif
5863
5864#endif /* COBJMACROS */
5865
5866
5867#endif /* C style interface */
5868
5869
5870
5871
5872#endif /* __ID3D12DescriptorHeap_INTERFACE_DEFINED__ */
5873
5874
5875#ifndef __ID3D12QueryHeap_INTERFACE_DEFINED__
5876#define __ID3D12QueryHeap_INTERFACE_DEFINED__
5877
5878/* interface ID3D12QueryHeap */
5879/* [unique][local][object][uuid] */
5880
5881
5882EXTERN_C const IID IID_ID3D12QueryHeap;
5883
5884#if defined(__cplusplus) && !defined(CINTERFACE)
5885
5886 MIDL_INTERFACE("0d9658ae-ed45-469e-a61d-970ec583cab4")
5887 ID3D12QueryHeap : public ID3D12Pageable
5888 {
5889 public:
5890 };
5891
5892
5893#else /* C style interface */
5894
5895 typedef struct ID3D12QueryHeapVtbl
5896 {
5897 BEGIN_INTERFACE
5898
5899 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
5900 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5901 ID3D12QueryHeap * This,
5902 REFIID riid,
5903 _COM_Outptr_ void **ppvObject);
5904
5905 DECLSPEC_XFGVIRT(IUnknown, AddRef)
5906 ULONG ( STDMETHODCALLTYPE *AddRef )(
5907 ID3D12QueryHeap * This);
5908
5909 DECLSPEC_XFGVIRT(IUnknown, Release)
5910 ULONG ( STDMETHODCALLTYPE *Release )(
5911 ID3D12QueryHeap * This);
5912
5913 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
5914 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5915 ID3D12QueryHeap * This,
5916 _In_ REFGUID guid,
5917 _Inout_ UINT *pDataSize,
5918 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
5919
5920 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
5921 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5922 ID3D12QueryHeap * This,
5923 _In_ REFGUID guid,
5924 _In_ UINT DataSize,
5925 _In_reads_bytes_opt_( DataSize ) const void *pData);
5926
5927 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
5928 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5929 ID3D12QueryHeap * This,
5930 _In_ REFGUID guid,
5931 _In_opt_ const IUnknown *pData);
5932
5933 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
5934 HRESULT ( STDMETHODCALLTYPE *SetName )(
5935 ID3D12QueryHeap * This,
5936 _In_z_ LPCWSTR Name);
5937
5938 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
5939 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
5940 ID3D12QueryHeap * This,
5941 REFIID riid,
5942 _COM_Outptr_opt_ void **ppvDevice);
5943
5944 END_INTERFACE
5945 } ID3D12QueryHeapVtbl;
5946
5947 interface ID3D12QueryHeap
5948 {
5949 CONST_VTBL struct ID3D12QueryHeapVtbl *lpVtbl;
5950 };
5951
5952
5953
5954#ifdef COBJMACROS
5955
5956
5957#define ID3D12QueryHeap_QueryInterface(This,riid,ppvObject) \
5958 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5959
5960#define ID3D12QueryHeap_AddRef(This) \
5961 ( (This)->lpVtbl -> AddRef(This) )
5962
5963#define ID3D12QueryHeap_Release(This) \
5964 ( (This)->lpVtbl -> Release(This) )
5965
5966
5967#define ID3D12QueryHeap_GetPrivateData(This,guid,pDataSize,pData) \
5968 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
5969
5970#define ID3D12QueryHeap_SetPrivateData(This,guid,DataSize,pData) \
5971 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
5972
5973#define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,pData) \
5974 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
5975
5976#define ID3D12QueryHeap_SetName(This,Name) \
5977 ( (This)->lpVtbl -> SetName(This,Name) )
5978
5979
5980#define ID3D12QueryHeap_GetDevice(This,riid,ppvDevice) \
5981 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
5982
5983
5984
5985#endif /* COBJMACROS */
5986
5987
5988#endif /* C style interface */
5989
5990
5991
5992
5993#endif /* __ID3D12QueryHeap_INTERFACE_DEFINED__ */
5994
5995
5996#ifndef __ID3D12CommandSignature_INTERFACE_DEFINED__
5997#define __ID3D12CommandSignature_INTERFACE_DEFINED__
5998
5999/* interface ID3D12CommandSignature */
6000/* [unique][local][object][uuid] */
6001
6002
6003EXTERN_C const IID IID_ID3D12CommandSignature;
6004
6005#if defined(__cplusplus) && !defined(CINTERFACE)
6006
6007 MIDL_INTERFACE("c36a797c-ec80-4f0a-8985-a7b2475082d1")
6008 ID3D12CommandSignature : public ID3D12Pageable
6009 {
6010 public:
6011 };
6012
6013
6014#else /* C style interface */
6015
6016 typedef struct ID3D12CommandSignatureVtbl
6017 {
6018 BEGIN_INTERFACE
6019
6020 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
6021 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6022 ID3D12CommandSignature * This,
6023 REFIID riid,
6024 _COM_Outptr_ void **ppvObject);
6025
6026 DECLSPEC_XFGVIRT(IUnknown, AddRef)
6027 ULONG ( STDMETHODCALLTYPE *AddRef )(
6028 ID3D12CommandSignature * This);
6029
6030 DECLSPEC_XFGVIRT(IUnknown, Release)
6031 ULONG ( STDMETHODCALLTYPE *Release )(
6032 ID3D12CommandSignature * This);
6033
6034 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
6035 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
6036 ID3D12CommandSignature * This,
6037 _In_ REFGUID guid,
6038 _Inout_ UINT *pDataSize,
6039 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
6040
6041 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
6042 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
6043 ID3D12CommandSignature * This,
6044 _In_ REFGUID guid,
6045 _In_ UINT DataSize,
6046 _In_reads_bytes_opt_( DataSize ) const void *pData);
6047
6048 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
6049 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
6050 ID3D12CommandSignature * This,
6051 _In_ REFGUID guid,
6052 _In_opt_ const IUnknown *pData);
6053
6054 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
6055 HRESULT ( STDMETHODCALLTYPE *SetName )(
6056 ID3D12CommandSignature * This,
6057 _In_z_ LPCWSTR Name);
6058
6059 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
6060 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
6061 ID3D12CommandSignature * This,
6062 REFIID riid,
6063 _COM_Outptr_opt_ void **ppvDevice);
6064
6065 END_INTERFACE
6066 } ID3D12CommandSignatureVtbl;
6067
6068 interface ID3D12CommandSignature
6069 {
6070 CONST_VTBL struct ID3D12CommandSignatureVtbl *lpVtbl;
6071 };
6072
6073
6074
6075#ifdef COBJMACROS
6076
6077
6078#define ID3D12CommandSignature_QueryInterface(This,riid,ppvObject) \
6079 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6080
6081#define ID3D12CommandSignature_AddRef(This) \
6082 ( (This)->lpVtbl -> AddRef(This) )
6083
6084#define ID3D12CommandSignature_Release(This) \
6085 ( (This)->lpVtbl -> Release(This) )
6086
6087
6088#define ID3D12CommandSignature_GetPrivateData(This,guid,pDataSize,pData) \
6089 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
6090
6091#define ID3D12CommandSignature_SetPrivateData(This,guid,DataSize,pData) \
6092 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
6093
6094#define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,pData) \
6095 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
6096
6097#define ID3D12CommandSignature_SetName(This,Name) \
6098 ( (This)->lpVtbl -> SetName(This,Name) )
6099
6100
6101#define ID3D12CommandSignature_GetDevice(This,riid,ppvDevice) \
6102 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
6103
6104
6105
6106#endif /* COBJMACROS */
6107
6108
6109#endif /* C style interface */
6110
6111
6112
6113
6114#endif /* __ID3D12CommandSignature_INTERFACE_DEFINED__ */
6115
6116
6117#ifndef __ID3D12CommandList_INTERFACE_DEFINED__
6118#define __ID3D12CommandList_INTERFACE_DEFINED__
6119
6120/* interface ID3D12CommandList */
6121/* [unique][local][object][uuid] */
6122
6123
6124EXTERN_C const IID IID_ID3D12CommandList;
6125
6126#if defined(__cplusplus) && !defined(CINTERFACE)
6127
6128 MIDL_INTERFACE("7116d91c-e7e4-47ce-b8c6-ec8168f437e5")
6129 ID3D12CommandList : public ID3D12DeviceChild
6130 {
6131 public:
6132 virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType( void) = 0;
6133
6134 };
6135
6136
6137#else /* C style interface */
6138
6139 typedef struct ID3D12CommandListVtbl
6140 {
6141 BEGIN_INTERFACE
6142
6143 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
6144 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6145 ID3D12CommandList * This,
6146 REFIID riid,
6147 _COM_Outptr_ void **ppvObject);
6148
6149 DECLSPEC_XFGVIRT(IUnknown, AddRef)
6150 ULONG ( STDMETHODCALLTYPE *AddRef )(
6151 ID3D12CommandList * This);
6152
6153 DECLSPEC_XFGVIRT(IUnknown, Release)
6154 ULONG ( STDMETHODCALLTYPE *Release )(
6155 ID3D12CommandList * This);
6156
6157 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
6158 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
6159 ID3D12CommandList * This,
6160 _In_ REFGUID guid,
6161 _Inout_ UINT *pDataSize,
6162 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
6163
6164 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
6165 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
6166 ID3D12CommandList * This,
6167 _In_ REFGUID guid,
6168 _In_ UINT DataSize,
6169 _In_reads_bytes_opt_( DataSize ) const void *pData);
6170
6171 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
6172 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
6173 ID3D12CommandList * This,
6174 _In_ REFGUID guid,
6175 _In_opt_ const IUnknown *pData);
6176
6177 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
6178 HRESULT ( STDMETHODCALLTYPE *SetName )(
6179 ID3D12CommandList * This,
6180 _In_z_ LPCWSTR Name);
6181
6182 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
6183 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
6184 ID3D12CommandList * This,
6185 REFIID riid,
6186 _COM_Outptr_opt_ void **ppvDevice);
6187
6188 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
6189 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
6190 ID3D12CommandList * This);
6191
6192 END_INTERFACE
6193 } ID3D12CommandListVtbl;
6194
6195 interface ID3D12CommandList
6196 {
6197 CONST_VTBL struct ID3D12CommandListVtbl *lpVtbl;
6198 };
6199
6200
6201
6202#ifdef COBJMACROS
6203
6204
6205#define ID3D12CommandList_QueryInterface(This,riid,ppvObject) \
6206 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6207
6208#define ID3D12CommandList_AddRef(This) \
6209 ( (This)->lpVtbl -> AddRef(This) )
6210
6211#define ID3D12CommandList_Release(This) \
6212 ( (This)->lpVtbl -> Release(This) )
6213
6214
6215#define ID3D12CommandList_GetPrivateData(This,guid,pDataSize,pData) \
6216 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
6217
6218#define ID3D12CommandList_SetPrivateData(This,guid,DataSize,pData) \
6219 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
6220
6221#define ID3D12CommandList_SetPrivateDataInterface(This,guid,pData) \
6222 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
6223
6224#define ID3D12CommandList_SetName(This,Name) \
6225 ( (This)->lpVtbl -> SetName(This,Name) )
6226
6227
6228#define ID3D12CommandList_GetDevice(This,riid,ppvDevice) \
6229 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
6230
6231
6232#define ID3D12CommandList_GetType(This) \
6233 ( (This)->lpVtbl -> GetType(This) )
6234
6235#endif /* COBJMACROS */
6236
6237
6238#endif /* C style interface */
6239
6240
6241
6242
6243#endif /* __ID3D12CommandList_INTERFACE_DEFINED__ */
6244
6245
6246#ifndef __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
6247#define __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
6248
6249/* interface ID3D12GraphicsCommandList */
6250/* [unique][local][object][uuid] */
6251
6252
6253EXTERN_C const IID IID_ID3D12GraphicsCommandList;
6254
6255#if defined(__cplusplus) && !defined(CINTERFACE)
6256
6257 MIDL_INTERFACE("5b160d0f-ac1b-4185-8ba8-b3ae42a5a455")
6258 ID3D12GraphicsCommandList : public ID3D12CommandList
6259 {
6260 public:
6261 virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
6262
6263 virtual HRESULT STDMETHODCALLTYPE Reset(
6264 _In_ ID3D12CommandAllocator *pAllocator,
6265 _In_opt_ ID3D12PipelineState *pInitialState) = 0;
6266
6267 virtual void STDMETHODCALLTYPE ClearState(
6268 _In_opt_ ID3D12PipelineState *pPipelineState) = 0;
6269
6270 virtual void STDMETHODCALLTYPE DrawInstanced(
6271 _In_ UINT VertexCountPerInstance,
6272 _In_ UINT InstanceCount,
6273 _In_ UINT StartVertexLocation,
6274 _In_ UINT StartInstanceLocation) = 0;
6275
6276 virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
6277 _In_ UINT IndexCountPerInstance,
6278 _In_ UINT InstanceCount,
6279 _In_ UINT StartIndexLocation,
6280 _In_ INT BaseVertexLocation,
6281 _In_ UINT StartInstanceLocation) = 0;
6282
6283 virtual void STDMETHODCALLTYPE Dispatch(
6284 _In_ UINT ThreadGroupCountX,
6285 _In_ UINT ThreadGroupCountY,
6286 _In_ UINT ThreadGroupCountZ) = 0;
6287
6288 virtual void STDMETHODCALLTYPE CopyBufferRegion(
6289 _In_ ID3D12Resource *pDstBuffer,
6290 UINT64 DstOffset,
6291 _In_ ID3D12Resource *pSrcBuffer,
6292 UINT64 SrcOffset,
6293 UINT64 NumBytes) = 0;
6294
6295 virtual void STDMETHODCALLTYPE CopyTextureRegion(
6296 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
6297 UINT DstX,
6298 UINT DstY,
6299 UINT DstZ,
6300 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
6301 _In_opt_ const D3D12_BOX *pSrcBox) = 0;
6302
6303 virtual void STDMETHODCALLTYPE CopyResource(
6304 _In_ ID3D12Resource *pDstResource,
6305 _In_ ID3D12Resource *pSrcResource) = 0;
6306
6307 virtual void STDMETHODCALLTYPE CopyTiles(
6308 _In_ ID3D12Resource *pTiledResource,
6309 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
6310 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
6311 _In_ ID3D12Resource *pBuffer,
6312 UINT64 BufferStartOffsetInBytes,
6313 D3D12_TILE_COPY_FLAGS Flags) = 0;
6314
6315 virtual void STDMETHODCALLTYPE ResolveSubresource(
6316 _In_ ID3D12Resource *pDstResource,
6317 _In_ UINT DstSubresource,
6318 _In_ ID3D12Resource *pSrcResource,
6319 _In_ UINT SrcSubresource,
6320 _In_ DXGI_FORMAT Format) = 0;
6321
6322 virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
6323 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology) = 0;
6324
6325 virtual void STDMETHODCALLTYPE RSSetViewports(
6326 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
6327 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports) = 0;
6328
6329 virtual void STDMETHODCALLTYPE RSSetScissorRects(
6330 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
6331 _In_reads_( NumRects) const D3D12_RECT *pRects) = 0;
6332
6333 virtual void STDMETHODCALLTYPE OMSetBlendFactor(
6334 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]) = 0;
6335
6336 virtual void STDMETHODCALLTYPE OMSetStencilRef(
6337 _In_ UINT StencilRef) = 0;
6338
6339 virtual void STDMETHODCALLTYPE SetPipelineState(
6340 _In_ ID3D12PipelineState *pPipelineState) = 0;
6341
6342 virtual void STDMETHODCALLTYPE ResourceBarrier(
6343 _In_ UINT NumBarriers,
6344 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0;
6345
6346 virtual void STDMETHODCALLTYPE ExecuteBundle(
6347 _In_ ID3D12GraphicsCommandList *pCommandList) = 0;
6348
6349 virtual void STDMETHODCALLTYPE SetDescriptorHeaps(
6350 _In_ UINT NumDescriptorHeaps,
6351 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps) = 0;
6352
6353 virtual void STDMETHODCALLTYPE SetComputeRootSignature(
6354 _In_opt_ ID3D12RootSignature *pRootSignature) = 0;
6355
6356 virtual void STDMETHODCALLTYPE SetGraphicsRootSignature(
6357 _In_opt_ ID3D12RootSignature *pRootSignature) = 0;
6358
6359 virtual void STDMETHODCALLTYPE SetComputeRootDescriptorTable(
6360 _In_ UINT RootParameterIndex,
6361 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
6362
6363 virtual void STDMETHODCALLTYPE SetGraphicsRootDescriptorTable(
6364 _In_ UINT RootParameterIndex,
6365 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
6366
6367 virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstant(
6368 _In_ UINT RootParameterIndex,
6369 _In_ UINT SrcData,
6370 _In_ UINT DestOffsetIn32BitValues) = 0;
6371
6372 virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstant(
6373 _In_ UINT RootParameterIndex,
6374 _In_ UINT SrcData,
6375 _In_ UINT DestOffsetIn32BitValues) = 0;
6376
6377 virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstants(
6378 _In_ UINT RootParameterIndex,
6379 _In_ UINT Num32BitValuesToSet,
6380 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
6381 _In_ UINT DestOffsetIn32BitValues) = 0;
6382
6383 virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstants(
6384 _In_ UINT RootParameterIndex,
6385 _In_ UINT Num32BitValuesToSet,
6386 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
6387 _In_ UINT DestOffsetIn32BitValues) = 0;
6388
6389 virtual void STDMETHODCALLTYPE SetComputeRootConstantBufferView(
6390 _In_ UINT RootParameterIndex,
6391 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
6392
6393 virtual void STDMETHODCALLTYPE SetGraphicsRootConstantBufferView(
6394 _In_ UINT RootParameterIndex,
6395 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
6396
6397 virtual void STDMETHODCALLTYPE SetComputeRootShaderResourceView(
6398 _In_ UINT RootParameterIndex,
6399 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
6400
6401 virtual void STDMETHODCALLTYPE SetGraphicsRootShaderResourceView(
6402 _In_ UINT RootParameterIndex,
6403 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
6404
6405 virtual void STDMETHODCALLTYPE SetComputeRootUnorderedAccessView(
6406 _In_ UINT RootParameterIndex,
6407 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
6408
6409 virtual void STDMETHODCALLTYPE SetGraphicsRootUnorderedAccessView(
6410 _In_ UINT RootParameterIndex,
6411 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
6412
6413 virtual void STDMETHODCALLTYPE IASetIndexBuffer(
6414 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView) = 0;
6415
6416 virtual void STDMETHODCALLTYPE IASetVertexBuffers(
6417 _In_ UINT StartSlot,
6418 _In_ UINT NumViews,
6419 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews) = 0;
6420
6421 virtual void STDMETHODCALLTYPE SOSetTargets(
6422 _In_ UINT StartSlot,
6423 _In_ UINT NumViews,
6424 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews) = 0;
6425
6426 virtual void STDMETHODCALLTYPE OMSetRenderTargets(
6427 _In_ UINT NumRenderTargetDescriptors,
6428 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
6429 _In_ BOOL RTsSingleHandleToDescriptorRange,
6430 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor) = 0;
6431
6432 virtual void STDMETHODCALLTYPE ClearDepthStencilView(
6433 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
6434 _In_ D3D12_CLEAR_FLAGS ClearFlags,
6435 _In_ FLOAT Depth,
6436 _In_ UINT8 Stencil,
6437 _In_ UINT NumRects,
6438 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
6439
6440 virtual void STDMETHODCALLTYPE ClearRenderTargetView(
6441 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
6442 _In_ const FLOAT ColorRGBA[ 4 ],
6443 _In_ UINT NumRects,
6444 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
6445
6446 virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
6447 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
6448 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
6449 _In_ ID3D12Resource *pResource,
6450 _In_ const UINT Values[ 4 ],
6451 _In_ UINT NumRects,
6452 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
6453
6454 virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
6455 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
6456 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
6457 _In_ ID3D12Resource *pResource,
6458 _In_ const FLOAT Values[ 4 ],
6459 _In_ UINT NumRects,
6460 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
6461
6462 virtual void STDMETHODCALLTYPE DiscardResource(
6463 _In_ ID3D12Resource *pResource,
6464 _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0;
6465
6466 virtual void STDMETHODCALLTYPE BeginQuery(
6467 _In_ ID3D12QueryHeap *pQueryHeap,
6468 _In_ D3D12_QUERY_TYPE Type,
6469 _In_ UINT Index) = 0;
6470
6471 virtual void STDMETHODCALLTYPE EndQuery(
6472 _In_ ID3D12QueryHeap *pQueryHeap,
6473 _In_ D3D12_QUERY_TYPE Type,
6474 _In_ UINT Index) = 0;
6475
6476 virtual void STDMETHODCALLTYPE ResolveQueryData(
6477 _In_ ID3D12QueryHeap *pQueryHeap,
6478 _In_ D3D12_QUERY_TYPE Type,
6479 _In_ UINT StartIndex,
6480 _In_ UINT NumQueries,
6481 _In_ ID3D12Resource *pDestinationBuffer,
6482 _In_ UINT64 AlignedDestinationBufferOffset) = 0;
6483
6484 virtual void STDMETHODCALLTYPE SetPredication(
6485 _In_opt_ ID3D12Resource *pBuffer,
6486 _In_ UINT64 AlignedBufferOffset,
6487 _In_ D3D12_PREDICATION_OP Operation) = 0;
6488
6489 virtual void STDMETHODCALLTYPE SetMarker(
6490 UINT Metadata,
6491 _In_reads_bytes_opt_(Size) const void *pData,
6492 UINT Size) = 0;
6493
6494 virtual void STDMETHODCALLTYPE BeginEvent(
6495 UINT Metadata,
6496 _In_reads_bytes_opt_(Size) const void *pData,
6497 UINT Size) = 0;
6498
6499 virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
6500
6501 virtual void STDMETHODCALLTYPE ExecuteIndirect(
6502 _In_ ID3D12CommandSignature *pCommandSignature,
6503 _In_ UINT MaxCommandCount,
6504 _In_ ID3D12Resource *pArgumentBuffer,
6505 _In_ UINT64 ArgumentBufferOffset,
6506 _In_opt_ ID3D12Resource *pCountBuffer,
6507 _In_ UINT64 CountBufferOffset) = 0;
6508
6509 };
6510
6511
6512#else /* C style interface */
6513
6514 typedef struct ID3D12GraphicsCommandListVtbl
6515 {
6516 BEGIN_INTERFACE
6517
6518 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
6519 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6520 ID3D12GraphicsCommandList * This,
6521 REFIID riid,
6522 _COM_Outptr_ void **ppvObject);
6523
6524 DECLSPEC_XFGVIRT(IUnknown, AddRef)
6525 ULONG ( STDMETHODCALLTYPE *AddRef )(
6526 ID3D12GraphicsCommandList * This);
6527
6528 DECLSPEC_XFGVIRT(IUnknown, Release)
6529 ULONG ( STDMETHODCALLTYPE *Release )(
6530 ID3D12GraphicsCommandList * This);
6531
6532 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
6533 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
6534 ID3D12GraphicsCommandList * This,
6535 _In_ REFGUID guid,
6536 _Inout_ UINT *pDataSize,
6537 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
6538
6539 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
6540 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
6541 ID3D12GraphicsCommandList * This,
6542 _In_ REFGUID guid,
6543 _In_ UINT DataSize,
6544 _In_reads_bytes_opt_( DataSize ) const void *pData);
6545
6546 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
6547 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
6548 ID3D12GraphicsCommandList * This,
6549 _In_ REFGUID guid,
6550 _In_opt_ const IUnknown *pData);
6551
6552 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
6553 HRESULT ( STDMETHODCALLTYPE *SetName )(
6554 ID3D12GraphicsCommandList * This,
6555 _In_z_ LPCWSTR Name);
6556
6557 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
6558 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
6559 ID3D12GraphicsCommandList * This,
6560 REFIID riid,
6561 _COM_Outptr_opt_ void **ppvDevice);
6562
6563 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
6564 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
6565 ID3D12GraphicsCommandList * This);
6566
6567 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
6568 HRESULT ( STDMETHODCALLTYPE *Close )(
6569 ID3D12GraphicsCommandList * This);
6570
6571 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
6572 HRESULT ( STDMETHODCALLTYPE *Reset )(
6573 ID3D12GraphicsCommandList * This,
6574 _In_ ID3D12CommandAllocator *pAllocator,
6575 _In_opt_ ID3D12PipelineState *pInitialState);
6576
6577 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
6578 void ( STDMETHODCALLTYPE *ClearState )(
6579 ID3D12GraphicsCommandList * This,
6580 _In_opt_ ID3D12PipelineState *pPipelineState);
6581
6582 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
6583 void ( STDMETHODCALLTYPE *DrawInstanced )(
6584 ID3D12GraphicsCommandList * This,
6585 _In_ UINT VertexCountPerInstance,
6586 _In_ UINT InstanceCount,
6587 _In_ UINT StartVertexLocation,
6588 _In_ UINT StartInstanceLocation);
6589
6590 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
6591 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
6592 ID3D12GraphicsCommandList * This,
6593 _In_ UINT IndexCountPerInstance,
6594 _In_ UINT InstanceCount,
6595 _In_ UINT StartIndexLocation,
6596 _In_ INT BaseVertexLocation,
6597 _In_ UINT StartInstanceLocation);
6598
6599 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
6600 void ( STDMETHODCALLTYPE *Dispatch )(
6601 ID3D12GraphicsCommandList * This,
6602 _In_ UINT ThreadGroupCountX,
6603 _In_ UINT ThreadGroupCountY,
6604 _In_ UINT ThreadGroupCountZ);
6605
6606 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
6607 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
6608 ID3D12GraphicsCommandList * This,
6609 _In_ ID3D12Resource *pDstBuffer,
6610 UINT64 DstOffset,
6611 _In_ ID3D12Resource *pSrcBuffer,
6612 UINT64 SrcOffset,
6613 UINT64 NumBytes);
6614
6615 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
6616 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
6617 ID3D12GraphicsCommandList * This,
6618 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
6619 UINT DstX,
6620 UINT DstY,
6621 UINT DstZ,
6622 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
6623 _In_opt_ const D3D12_BOX *pSrcBox);
6624
6625 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
6626 void ( STDMETHODCALLTYPE *CopyResource )(
6627 ID3D12GraphicsCommandList * This,
6628 _In_ ID3D12Resource *pDstResource,
6629 _In_ ID3D12Resource *pSrcResource);
6630
6631 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
6632 void ( STDMETHODCALLTYPE *CopyTiles )(
6633 ID3D12GraphicsCommandList * This,
6634 _In_ ID3D12Resource *pTiledResource,
6635 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
6636 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
6637 _In_ ID3D12Resource *pBuffer,
6638 UINT64 BufferStartOffsetInBytes,
6639 D3D12_TILE_COPY_FLAGS Flags);
6640
6641 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
6642 void ( STDMETHODCALLTYPE *ResolveSubresource )(
6643 ID3D12GraphicsCommandList * This,
6644 _In_ ID3D12Resource *pDstResource,
6645 _In_ UINT DstSubresource,
6646 _In_ ID3D12Resource *pSrcResource,
6647 _In_ UINT SrcSubresource,
6648 _In_ DXGI_FORMAT Format);
6649
6650 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
6651 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
6652 ID3D12GraphicsCommandList * This,
6653 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
6654
6655 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
6656 void ( STDMETHODCALLTYPE *RSSetViewports )(
6657 ID3D12GraphicsCommandList * This,
6658 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
6659 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
6660
6661 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
6662 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
6663 ID3D12GraphicsCommandList * This,
6664 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
6665 _In_reads_( NumRects) const D3D12_RECT *pRects);
6666
6667 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
6668 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
6669 ID3D12GraphicsCommandList * This,
6670 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
6671
6672 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
6673 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
6674 ID3D12GraphicsCommandList * This,
6675 _In_ UINT StencilRef);
6676
6677 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
6678 void ( STDMETHODCALLTYPE *SetPipelineState )(
6679 ID3D12GraphicsCommandList * This,
6680 _In_ ID3D12PipelineState *pPipelineState);
6681
6682 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
6683 void ( STDMETHODCALLTYPE *ResourceBarrier )(
6684 ID3D12GraphicsCommandList * This,
6685 _In_ UINT NumBarriers,
6686 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
6687
6688 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
6689 void ( STDMETHODCALLTYPE *ExecuteBundle )(
6690 ID3D12GraphicsCommandList * This,
6691 _In_ ID3D12GraphicsCommandList *pCommandList);
6692
6693 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
6694 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
6695 ID3D12GraphicsCommandList * This,
6696 _In_ UINT NumDescriptorHeaps,
6697 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
6698
6699 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
6700 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
6701 ID3D12GraphicsCommandList * This,
6702 _In_opt_ ID3D12RootSignature *pRootSignature);
6703
6704 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
6705 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
6706 ID3D12GraphicsCommandList * This,
6707 _In_opt_ ID3D12RootSignature *pRootSignature);
6708
6709 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
6710 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
6711 ID3D12GraphicsCommandList * This,
6712 _In_ UINT RootParameterIndex,
6713 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
6714
6715 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
6716 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
6717 ID3D12GraphicsCommandList * This,
6718 _In_ UINT RootParameterIndex,
6719 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
6720
6721 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
6722 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
6723 ID3D12GraphicsCommandList * This,
6724 _In_ UINT RootParameterIndex,
6725 _In_ UINT SrcData,
6726 _In_ UINT DestOffsetIn32BitValues);
6727
6728 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
6729 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
6730 ID3D12GraphicsCommandList * This,
6731 _In_ UINT RootParameterIndex,
6732 _In_ UINT SrcData,
6733 _In_ UINT DestOffsetIn32BitValues);
6734
6735 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
6736 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
6737 ID3D12GraphicsCommandList * This,
6738 _In_ UINT RootParameterIndex,
6739 _In_ UINT Num32BitValuesToSet,
6740 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
6741 _In_ UINT DestOffsetIn32BitValues);
6742
6743 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
6744 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
6745 ID3D12GraphicsCommandList * This,
6746 _In_ UINT RootParameterIndex,
6747 _In_ UINT Num32BitValuesToSet,
6748 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
6749 _In_ UINT DestOffsetIn32BitValues);
6750
6751 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
6752 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
6753 ID3D12GraphicsCommandList * This,
6754 _In_ UINT RootParameterIndex,
6755 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6756
6757 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
6758 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
6759 ID3D12GraphicsCommandList * This,
6760 _In_ UINT RootParameterIndex,
6761 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6762
6763 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
6764 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
6765 ID3D12GraphicsCommandList * This,
6766 _In_ UINT RootParameterIndex,
6767 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6768
6769 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
6770 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
6771 ID3D12GraphicsCommandList * This,
6772 _In_ UINT RootParameterIndex,
6773 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6774
6775 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
6776 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
6777 ID3D12GraphicsCommandList * This,
6778 _In_ UINT RootParameterIndex,
6779 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6780
6781 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
6782 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
6783 ID3D12GraphicsCommandList * This,
6784 _In_ UINT RootParameterIndex,
6785 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
6786
6787 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
6788 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
6789 ID3D12GraphicsCommandList * This,
6790 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
6791
6792 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
6793 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
6794 ID3D12GraphicsCommandList * This,
6795 _In_ UINT StartSlot,
6796 _In_ UINT NumViews,
6797 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
6798
6799 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
6800 void ( STDMETHODCALLTYPE *SOSetTargets )(
6801 ID3D12GraphicsCommandList * This,
6802 _In_ UINT StartSlot,
6803 _In_ UINT NumViews,
6804 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
6805
6806 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
6807 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
6808 ID3D12GraphicsCommandList * This,
6809 _In_ UINT NumRenderTargetDescriptors,
6810 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
6811 _In_ BOOL RTsSingleHandleToDescriptorRange,
6812 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
6813
6814 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
6815 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
6816 ID3D12GraphicsCommandList * This,
6817 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
6818 _In_ D3D12_CLEAR_FLAGS ClearFlags,
6819 _In_ FLOAT Depth,
6820 _In_ UINT8 Stencil,
6821 _In_ UINT NumRects,
6822 _In_reads_(NumRects) const D3D12_RECT *pRects);
6823
6824 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
6825 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
6826 ID3D12GraphicsCommandList * This,
6827 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
6828 _In_ const FLOAT ColorRGBA[ 4 ],
6829 _In_ UINT NumRects,
6830 _In_reads_(NumRects) const D3D12_RECT *pRects);
6831
6832 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
6833 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
6834 ID3D12GraphicsCommandList * This,
6835 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
6836 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
6837 _In_ ID3D12Resource *pResource,
6838 _In_ const UINT Values[ 4 ],
6839 _In_ UINT NumRects,
6840 _In_reads_(NumRects) const D3D12_RECT *pRects);
6841
6842 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
6843 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
6844 ID3D12GraphicsCommandList * This,
6845 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
6846 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
6847 _In_ ID3D12Resource *pResource,
6848 _In_ const FLOAT Values[ 4 ],
6849 _In_ UINT NumRects,
6850 _In_reads_(NumRects) const D3D12_RECT *pRects);
6851
6852 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
6853 void ( STDMETHODCALLTYPE *DiscardResource )(
6854 ID3D12GraphicsCommandList * This,
6855 _In_ ID3D12Resource *pResource,
6856 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
6857
6858 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
6859 void ( STDMETHODCALLTYPE *BeginQuery )(
6860 ID3D12GraphicsCommandList * This,
6861 _In_ ID3D12QueryHeap *pQueryHeap,
6862 _In_ D3D12_QUERY_TYPE Type,
6863 _In_ UINT Index);
6864
6865 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
6866 void ( STDMETHODCALLTYPE *EndQuery )(
6867 ID3D12GraphicsCommandList * This,
6868 _In_ ID3D12QueryHeap *pQueryHeap,
6869 _In_ D3D12_QUERY_TYPE Type,
6870 _In_ UINT Index);
6871
6872 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
6873 void ( STDMETHODCALLTYPE *ResolveQueryData )(
6874 ID3D12GraphicsCommandList * This,
6875 _In_ ID3D12QueryHeap *pQueryHeap,
6876 _In_ D3D12_QUERY_TYPE Type,
6877 _In_ UINT StartIndex,
6878 _In_ UINT NumQueries,
6879 _In_ ID3D12Resource *pDestinationBuffer,
6880 _In_ UINT64 AlignedDestinationBufferOffset);
6881
6882 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
6883 void ( STDMETHODCALLTYPE *SetPredication )(
6884 ID3D12GraphicsCommandList * This,
6885 _In_opt_ ID3D12Resource *pBuffer,
6886 _In_ UINT64 AlignedBufferOffset,
6887 _In_ D3D12_PREDICATION_OP Operation);
6888
6889 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
6890 void ( STDMETHODCALLTYPE *SetMarker )(
6891 ID3D12GraphicsCommandList * This,
6892 UINT Metadata,
6893 _In_reads_bytes_opt_(Size) const void *pData,
6894 UINT Size);
6895
6896 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
6897 void ( STDMETHODCALLTYPE *BeginEvent )(
6898 ID3D12GraphicsCommandList * This,
6899 UINT Metadata,
6900 _In_reads_bytes_opt_(Size) const void *pData,
6901 UINT Size);
6902
6903 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
6904 void ( STDMETHODCALLTYPE *EndEvent )(
6905 ID3D12GraphicsCommandList * This);
6906
6907 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
6908 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
6909 ID3D12GraphicsCommandList * This,
6910 _In_ ID3D12CommandSignature *pCommandSignature,
6911 _In_ UINT MaxCommandCount,
6912 _In_ ID3D12Resource *pArgumentBuffer,
6913 _In_ UINT64 ArgumentBufferOffset,
6914 _In_opt_ ID3D12Resource *pCountBuffer,
6915 _In_ UINT64 CountBufferOffset);
6916
6917 END_INTERFACE
6918 } ID3D12GraphicsCommandListVtbl;
6919
6920 interface ID3D12GraphicsCommandList
6921 {
6922 CONST_VTBL struct ID3D12GraphicsCommandListVtbl *lpVtbl;
6923 };
6924
6925
6926
6927#ifdef COBJMACROS
6928
6929
6930#define ID3D12GraphicsCommandList_QueryInterface(This,riid,ppvObject) \
6931 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6932
6933#define ID3D12GraphicsCommandList_AddRef(This) \
6934 ( (This)->lpVtbl -> AddRef(This) )
6935
6936#define ID3D12GraphicsCommandList_Release(This) \
6937 ( (This)->lpVtbl -> Release(This) )
6938
6939
6940#define ID3D12GraphicsCommandList_GetPrivateData(This,guid,pDataSize,pData) \
6941 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
6942
6943#define ID3D12GraphicsCommandList_SetPrivateData(This,guid,DataSize,pData) \
6944 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
6945
6946#define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,pData) \
6947 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
6948
6949#define ID3D12GraphicsCommandList_SetName(This,Name) \
6950 ( (This)->lpVtbl -> SetName(This,Name) )
6951
6952
6953#define ID3D12GraphicsCommandList_GetDevice(This,riid,ppvDevice) \
6954 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
6955
6956
6957#define ID3D12GraphicsCommandList_GetType(This) \
6958 ( (This)->lpVtbl -> GetType(This) )
6959
6960
6961#define ID3D12GraphicsCommandList_Close(This) \
6962 ( (This)->lpVtbl -> Close(This) )
6963
6964#define ID3D12GraphicsCommandList_Reset(This,pAllocator,pInitialState) \
6965 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
6966
6967#define ID3D12GraphicsCommandList_ClearState(This,pPipelineState) \
6968 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
6969
6970#define ID3D12GraphicsCommandList_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
6971 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
6972
6973#define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
6974 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
6975
6976#define ID3D12GraphicsCommandList_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
6977 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
6978
6979#define ID3D12GraphicsCommandList_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
6980 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
6981
6982#define ID3D12GraphicsCommandList_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
6983 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
6984
6985#define ID3D12GraphicsCommandList_CopyResource(This,pDstResource,pSrcResource) \
6986 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
6987
6988#define ID3D12GraphicsCommandList_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
6989 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
6990
6991#define ID3D12GraphicsCommandList_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
6992 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
6993
6994#define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,PrimitiveTopology) \
6995 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
6996
6997#define ID3D12GraphicsCommandList_RSSetViewports(This,NumViewports,pViewports) \
6998 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
6999
7000#define ID3D12GraphicsCommandList_RSSetScissorRects(This,NumRects,pRects) \
7001 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
7002
7003#define ID3D12GraphicsCommandList_OMSetBlendFactor(This,BlendFactor) \
7004 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
7005
7006#define ID3D12GraphicsCommandList_OMSetStencilRef(This,StencilRef) \
7007 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
7008
7009#define ID3D12GraphicsCommandList_SetPipelineState(This,pPipelineState) \
7010 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
7011
7012#define ID3D12GraphicsCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \
7013 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
7014
7015#define ID3D12GraphicsCommandList_ExecuteBundle(This,pCommandList) \
7016 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
7017
7018#define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
7019 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
7020
7021#define ID3D12GraphicsCommandList_SetComputeRootSignature(This,pRootSignature) \
7022 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
7023
7024#define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,pRootSignature) \
7025 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
7026
7027#define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
7028 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
7029
7030#define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
7031 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
7032
7033#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
7034 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
7035
7036#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
7037 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
7038
7039#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
7040 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
7041
7042#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
7043 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
7044
7045#define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
7046 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
7047
7048#define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
7049 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
7050
7051#define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
7052 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
7053
7054#define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
7055 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
7056
7057#define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
7058 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
7059
7060#define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
7061 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
7062
7063#define ID3D12GraphicsCommandList_IASetIndexBuffer(This,pView) \
7064 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
7065
7066#define ID3D12GraphicsCommandList_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
7067 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
7068
7069#define ID3D12GraphicsCommandList_SOSetTargets(This,StartSlot,NumViews,pViews) \
7070 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
7071
7072#define ID3D12GraphicsCommandList_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
7073 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
7074
7075#define ID3D12GraphicsCommandList_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
7076 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
7077
7078#define ID3D12GraphicsCommandList_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
7079 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
7080
7081#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
7082 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
7083
7084#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
7085 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
7086
7087#define ID3D12GraphicsCommandList_DiscardResource(This,pResource,pRegion) \
7088 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
7089
7090#define ID3D12GraphicsCommandList_BeginQuery(This,pQueryHeap,Type,Index) \
7091 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
7092
7093#define ID3D12GraphicsCommandList_EndQuery(This,pQueryHeap,Type,Index) \
7094 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
7095
7096#define ID3D12GraphicsCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
7097 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
7098
7099#define ID3D12GraphicsCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
7100 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
7101
7102#define ID3D12GraphicsCommandList_SetMarker(This,Metadata,pData,Size) \
7103 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
7104
7105#define ID3D12GraphicsCommandList_BeginEvent(This,Metadata,pData,Size) \
7106 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
7107
7108#define ID3D12GraphicsCommandList_EndEvent(This) \
7109 ( (This)->lpVtbl -> EndEvent(This) )
7110
7111#define ID3D12GraphicsCommandList_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
7112 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
7113
7114#endif /* COBJMACROS */
7115
7116
7117#endif /* C style interface */
7118
7119
7120
7121
7122#endif /* __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ */
7123
7124
7125#ifndef __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__
7126#define __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__
7127
7128/* interface ID3D12GraphicsCommandList1 */
7129/* [unique][local][object][uuid] */
7130
7131
7132EXTERN_C const IID IID_ID3D12GraphicsCommandList1;
7133
7134#if defined(__cplusplus) && !defined(CINTERFACE)
7135
7136 MIDL_INTERFACE("553103fb-1fe7-4557-bb38-946d7d0e7ca7")
7137 ID3D12GraphicsCommandList1 : public ID3D12GraphicsCommandList
7138 {
7139 public:
7140 virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT(
7141 _In_ ID3D12Resource *pDstBuffer,
7142 UINT64 DstOffset,
7143 _In_ ID3D12Resource *pSrcBuffer,
7144 UINT64 SrcOffset,
7145 UINT Dependencies,
7146 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
7147 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges) = 0;
7148
7149 virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT64(
7150 _In_ ID3D12Resource *pDstBuffer,
7151 UINT64 DstOffset,
7152 _In_ ID3D12Resource *pSrcBuffer,
7153 UINT64 SrcOffset,
7154 UINT Dependencies,
7155 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
7156 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges) = 0;
7157
7158 virtual void STDMETHODCALLTYPE OMSetDepthBounds(
7159 _In_ FLOAT Min,
7160 _In_ FLOAT Max) = 0;
7161
7162 virtual void STDMETHODCALLTYPE SetSamplePositions(
7163 _In_ UINT NumSamplesPerPixel,
7164 _In_ UINT NumPixels,
7165 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions) = 0;
7166
7167 virtual void STDMETHODCALLTYPE ResolveSubresourceRegion(
7168 _In_ ID3D12Resource *pDstResource,
7169 _In_ UINT DstSubresource,
7170 _In_ UINT DstX,
7171 _In_ UINT DstY,
7172 _In_ ID3D12Resource *pSrcResource,
7173 _In_ UINT SrcSubresource,
7174 _In_opt_ D3D12_RECT *pSrcRect,
7175 _In_ DXGI_FORMAT Format,
7176 _In_ D3D12_RESOLVE_MODE ResolveMode) = 0;
7177
7178 virtual void STDMETHODCALLTYPE SetViewInstanceMask(
7179 _In_ UINT Mask) = 0;
7180
7181 };
7182
7183
7184#else /* C style interface */
7185
7186 typedef struct ID3D12GraphicsCommandList1Vtbl
7187 {
7188 BEGIN_INTERFACE
7189
7190 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
7191 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7192 ID3D12GraphicsCommandList1 * This,
7193 REFIID riid,
7194 _COM_Outptr_ void **ppvObject);
7195
7196 DECLSPEC_XFGVIRT(IUnknown, AddRef)
7197 ULONG ( STDMETHODCALLTYPE *AddRef )(
7198 ID3D12GraphicsCommandList1 * This);
7199
7200 DECLSPEC_XFGVIRT(IUnknown, Release)
7201 ULONG ( STDMETHODCALLTYPE *Release )(
7202 ID3D12GraphicsCommandList1 * This);
7203
7204 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
7205 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
7206 ID3D12GraphicsCommandList1 * This,
7207 _In_ REFGUID guid,
7208 _Inout_ UINT *pDataSize,
7209 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
7210
7211 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
7212 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
7213 ID3D12GraphicsCommandList1 * This,
7214 _In_ REFGUID guid,
7215 _In_ UINT DataSize,
7216 _In_reads_bytes_opt_( DataSize ) const void *pData);
7217
7218 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
7219 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
7220 ID3D12GraphicsCommandList1 * This,
7221 _In_ REFGUID guid,
7222 _In_opt_ const IUnknown *pData);
7223
7224 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
7225 HRESULT ( STDMETHODCALLTYPE *SetName )(
7226 ID3D12GraphicsCommandList1 * This,
7227 _In_z_ LPCWSTR Name);
7228
7229 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
7230 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
7231 ID3D12GraphicsCommandList1 * This,
7232 REFIID riid,
7233 _COM_Outptr_opt_ void **ppvDevice);
7234
7235 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
7236 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
7237 ID3D12GraphicsCommandList1 * This);
7238
7239 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
7240 HRESULT ( STDMETHODCALLTYPE *Close )(
7241 ID3D12GraphicsCommandList1 * This);
7242
7243 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
7244 HRESULT ( STDMETHODCALLTYPE *Reset )(
7245 ID3D12GraphicsCommandList1 * This,
7246 _In_ ID3D12CommandAllocator *pAllocator,
7247 _In_opt_ ID3D12PipelineState *pInitialState);
7248
7249 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
7250 void ( STDMETHODCALLTYPE *ClearState )(
7251 ID3D12GraphicsCommandList1 * This,
7252 _In_opt_ ID3D12PipelineState *pPipelineState);
7253
7254 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
7255 void ( STDMETHODCALLTYPE *DrawInstanced )(
7256 ID3D12GraphicsCommandList1 * This,
7257 _In_ UINT VertexCountPerInstance,
7258 _In_ UINT InstanceCount,
7259 _In_ UINT StartVertexLocation,
7260 _In_ UINT StartInstanceLocation);
7261
7262 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
7263 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
7264 ID3D12GraphicsCommandList1 * This,
7265 _In_ UINT IndexCountPerInstance,
7266 _In_ UINT InstanceCount,
7267 _In_ UINT StartIndexLocation,
7268 _In_ INT BaseVertexLocation,
7269 _In_ UINT StartInstanceLocation);
7270
7271 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
7272 void ( STDMETHODCALLTYPE *Dispatch )(
7273 ID3D12GraphicsCommandList1 * This,
7274 _In_ UINT ThreadGroupCountX,
7275 _In_ UINT ThreadGroupCountY,
7276 _In_ UINT ThreadGroupCountZ);
7277
7278 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
7279 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
7280 ID3D12GraphicsCommandList1 * This,
7281 _In_ ID3D12Resource *pDstBuffer,
7282 UINT64 DstOffset,
7283 _In_ ID3D12Resource *pSrcBuffer,
7284 UINT64 SrcOffset,
7285 UINT64 NumBytes);
7286
7287 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
7288 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
7289 ID3D12GraphicsCommandList1 * This,
7290 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
7291 UINT DstX,
7292 UINT DstY,
7293 UINT DstZ,
7294 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
7295 _In_opt_ const D3D12_BOX *pSrcBox);
7296
7297 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
7298 void ( STDMETHODCALLTYPE *CopyResource )(
7299 ID3D12GraphicsCommandList1 * This,
7300 _In_ ID3D12Resource *pDstResource,
7301 _In_ ID3D12Resource *pSrcResource);
7302
7303 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
7304 void ( STDMETHODCALLTYPE *CopyTiles )(
7305 ID3D12GraphicsCommandList1 * This,
7306 _In_ ID3D12Resource *pTiledResource,
7307 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
7308 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
7309 _In_ ID3D12Resource *pBuffer,
7310 UINT64 BufferStartOffsetInBytes,
7311 D3D12_TILE_COPY_FLAGS Flags);
7312
7313 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
7314 void ( STDMETHODCALLTYPE *ResolveSubresource )(
7315 ID3D12GraphicsCommandList1 * This,
7316 _In_ ID3D12Resource *pDstResource,
7317 _In_ UINT DstSubresource,
7318 _In_ ID3D12Resource *pSrcResource,
7319 _In_ UINT SrcSubresource,
7320 _In_ DXGI_FORMAT Format);
7321
7322 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
7323 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
7324 ID3D12GraphicsCommandList1 * This,
7325 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
7326
7327 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
7328 void ( STDMETHODCALLTYPE *RSSetViewports )(
7329 ID3D12GraphicsCommandList1 * This,
7330 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
7331 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
7332
7333 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
7334 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
7335 ID3D12GraphicsCommandList1 * This,
7336 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
7337 _In_reads_( NumRects) const D3D12_RECT *pRects);
7338
7339 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
7340 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
7341 ID3D12GraphicsCommandList1 * This,
7342 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
7343
7344 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
7345 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
7346 ID3D12GraphicsCommandList1 * This,
7347 _In_ UINT StencilRef);
7348
7349 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
7350 void ( STDMETHODCALLTYPE *SetPipelineState )(
7351 ID3D12GraphicsCommandList1 * This,
7352 _In_ ID3D12PipelineState *pPipelineState);
7353
7354 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
7355 void ( STDMETHODCALLTYPE *ResourceBarrier )(
7356 ID3D12GraphicsCommandList1 * This,
7357 _In_ UINT NumBarriers,
7358 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
7359
7360 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
7361 void ( STDMETHODCALLTYPE *ExecuteBundle )(
7362 ID3D12GraphicsCommandList1 * This,
7363 _In_ ID3D12GraphicsCommandList *pCommandList);
7364
7365 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
7366 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
7367 ID3D12GraphicsCommandList1 * This,
7368 _In_ UINT NumDescriptorHeaps,
7369 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
7370
7371 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
7372 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
7373 ID3D12GraphicsCommandList1 * This,
7374 _In_opt_ ID3D12RootSignature *pRootSignature);
7375
7376 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
7377 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
7378 ID3D12GraphicsCommandList1 * This,
7379 _In_opt_ ID3D12RootSignature *pRootSignature);
7380
7381 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
7382 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
7383 ID3D12GraphicsCommandList1 * This,
7384 _In_ UINT RootParameterIndex,
7385 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
7386
7387 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
7388 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
7389 ID3D12GraphicsCommandList1 * This,
7390 _In_ UINT RootParameterIndex,
7391 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
7392
7393 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
7394 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
7395 ID3D12GraphicsCommandList1 * This,
7396 _In_ UINT RootParameterIndex,
7397 _In_ UINT SrcData,
7398 _In_ UINT DestOffsetIn32BitValues);
7399
7400 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
7401 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
7402 ID3D12GraphicsCommandList1 * This,
7403 _In_ UINT RootParameterIndex,
7404 _In_ UINT SrcData,
7405 _In_ UINT DestOffsetIn32BitValues);
7406
7407 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
7408 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
7409 ID3D12GraphicsCommandList1 * This,
7410 _In_ UINT RootParameterIndex,
7411 _In_ UINT Num32BitValuesToSet,
7412 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
7413 _In_ UINT DestOffsetIn32BitValues);
7414
7415 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
7416 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
7417 ID3D12GraphicsCommandList1 * This,
7418 _In_ UINT RootParameterIndex,
7419 _In_ UINT Num32BitValuesToSet,
7420 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
7421 _In_ UINT DestOffsetIn32BitValues);
7422
7423 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
7424 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
7425 ID3D12GraphicsCommandList1 * This,
7426 _In_ UINT RootParameterIndex,
7427 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
7428
7429 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
7430 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
7431 ID3D12GraphicsCommandList1 * This,
7432 _In_ UINT RootParameterIndex,
7433 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
7434
7435 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
7436 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
7437 ID3D12GraphicsCommandList1 * This,
7438 _In_ UINT RootParameterIndex,
7439 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
7440
7441 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
7442 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
7443 ID3D12GraphicsCommandList1 * This,
7444 _In_ UINT RootParameterIndex,
7445 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
7446
7447 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
7448 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
7449 ID3D12GraphicsCommandList1 * This,
7450 _In_ UINT RootParameterIndex,
7451 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
7452
7453 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
7454 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
7455 ID3D12GraphicsCommandList1 * This,
7456 _In_ UINT RootParameterIndex,
7457 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
7458
7459 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
7460 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
7461 ID3D12GraphicsCommandList1 * This,
7462 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
7463
7464 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
7465 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
7466 ID3D12GraphicsCommandList1 * This,
7467 _In_ UINT StartSlot,
7468 _In_ UINT NumViews,
7469 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
7470
7471 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
7472 void ( STDMETHODCALLTYPE *SOSetTargets )(
7473 ID3D12GraphicsCommandList1 * This,
7474 _In_ UINT StartSlot,
7475 _In_ UINT NumViews,
7476 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
7477
7478 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
7479 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
7480 ID3D12GraphicsCommandList1 * This,
7481 _In_ UINT NumRenderTargetDescriptors,
7482 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
7483 _In_ BOOL RTsSingleHandleToDescriptorRange,
7484 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
7485
7486 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
7487 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
7488 ID3D12GraphicsCommandList1 * This,
7489 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
7490 _In_ D3D12_CLEAR_FLAGS ClearFlags,
7491 _In_ FLOAT Depth,
7492 _In_ UINT8 Stencil,
7493 _In_ UINT NumRects,
7494 _In_reads_(NumRects) const D3D12_RECT *pRects);
7495
7496 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
7497 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
7498 ID3D12GraphicsCommandList1 * This,
7499 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
7500 _In_ const FLOAT ColorRGBA[ 4 ],
7501 _In_ UINT NumRects,
7502 _In_reads_(NumRects) const D3D12_RECT *pRects);
7503
7504 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
7505 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
7506 ID3D12GraphicsCommandList1 * This,
7507 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
7508 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
7509 _In_ ID3D12Resource *pResource,
7510 _In_ const UINT Values[ 4 ],
7511 _In_ UINT NumRects,
7512 _In_reads_(NumRects) const D3D12_RECT *pRects);
7513
7514 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
7515 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
7516 ID3D12GraphicsCommandList1 * This,
7517 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
7518 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
7519 _In_ ID3D12Resource *pResource,
7520 _In_ const FLOAT Values[ 4 ],
7521 _In_ UINT NumRects,
7522 _In_reads_(NumRects) const D3D12_RECT *pRects);
7523
7524 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
7525 void ( STDMETHODCALLTYPE *DiscardResource )(
7526 ID3D12GraphicsCommandList1 * This,
7527 _In_ ID3D12Resource *pResource,
7528 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
7529
7530 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
7531 void ( STDMETHODCALLTYPE *BeginQuery )(
7532 ID3D12GraphicsCommandList1 * This,
7533 _In_ ID3D12QueryHeap *pQueryHeap,
7534 _In_ D3D12_QUERY_TYPE Type,
7535 _In_ UINT Index);
7536
7537 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
7538 void ( STDMETHODCALLTYPE *EndQuery )(
7539 ID3D12GraphicsCommandList1 * This,
7540 _In_ ID3D12QueryHeap *pQueryHeap,
7541 _In_ D3D12_QUERY_TYPE Type,
7542 _In_ UINT Index);
7543
7544 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
7545 void ( STDMETHODCALLTYPE *ResolveQueryData )(
7546 ID3D12GraphicsCommandList1 * This,
7547 _In_ ID3D12QueryHeap *pQueryHeap,
7548 _In_ D3D12_QUERY_TYPE Type,
7549 _In_ UINT StartIndex,
7550 _In_ UINT NumQueries,
7551 _In_ ID3D12Resource *pDestinationBuffer,
7552 _In_ UINT64 AlignedDestinationBufferOffset);
7553
7554 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
7555 void ( STDMETHODCALLTYPE *SetPredication )(
7556 ID3D12GraphicsCommandList1 * This,
7557 _In_opt_ ID3D12Resource *pBuffer,
7558 _In_ UINT64 AlignedBufferOffset,
7559 _In_ D3D12_PREDICATION_OP Operation);
7560
7561 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
7562 void ( STDMETHODCALLTYPE *SetMarker )(
7563 ID3D12GraphicsCommandList1 * This,
7564 UINT Metadata,
7565 _In_reads_bytes_opt_(Size) const void *pData,
7566 UINT Size);
7567
7568 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
7569 void ( STDMETHODCALLTYPE *BeginEvent )(
7570 ID3D12GraphicsCommandList1 * This,
7571 UINT Metadata,
7572 _In_reads_bytes_opt_(Size) const void *pData,
7573 UINT Size);
7574
7575 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
7576 void ( STDMETHODCALLTYPE *EndEvent )(
7577 ID3D12GraphicsCommandList1 * This);
7578
7579 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
7580 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
7581 ID3D12GraphicsCommandList1 * This,
7582 _In_ ID3D12CommandSignature *pCommandSignature,
7583 _In_ UINT MaxCommandCount,
7584 _In_ ID3D12Resource *pArgumentBuffer,
7585 _In_ UINT64 ArgumentBufferOffset,
7586 _In_opt_ ID3D12Resource *pCountBuffer,
7587 _In_ UINT64 CountBufferOffset);
7588
7589 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
7590 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
7591 ID3D12GraphicsCommandList1 * This,
7592 _In_ ID3D12Resource *pDstBuffer,
7593 UINT64 DstOffset,
7594 _In_ ID3D12Resource *pSrcBuffer,
7595 UINT64 SrcOffset,
7596 UINT Dependencies,
7597 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
7598 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
7599
7600 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
7601 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
7602 ID3D12GraphicsCommandList1 * This,
7603 _In_ ID3D12Resource *pDstBuffer,
7604 UINT64 DstOffset,
7605 _In_ ID3D12Resource *pSrcBuffer,
7606 UINT64 SrcOffset,
7607 UINT Dependencies,
7608 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
7609 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
7610
7611 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
7612 void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
7613 ID3D12GraphicsCommandList1 * This,
7614 _In_ FLOAT Min,
7615 _In_ FLOAT Max);
7616
7617 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
7618 void ( STDMETHODCALLTYPE *SetSamplePositions )(
7619 ID3D12GraphicsCommandList1 * This,
7620 _In_ UINT NumSamplesPerPixel,
7621 _In_ UINT NumPixels,
7622 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
7623
7624 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
7625 void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
7626 ID3D12GraphicsCommandList1 * This,
7627 _In_ ID3D12Resource *pDstResource,
7628 _In_ UINT DstSubresource,
7629 _In_ UINT DstX,
7630 _In_ UINT DstY,
7631 _In_ ID3D12Resource *pSrcResource,
7632 _In_ UINT SrcSubresource,
7633 _In_opt_ D3D12_RECT *pSrcRect,
7634 _In_ DXGI_FORMAT Format,
7635 _In_ D3D12_RESOLVE_MODE ResolveMode);
7636
7637 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
7638 void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
7639 ID3D12GraphicsCommandList1 * This,
7640 _In_ UINT Mask);
7641
7642 END_INTERFACE
7643 } ID3D12GraphicsCommandList1Vtbl;
7644
7645 interface ID3D12GraphicsCommandList1
7646 {
7647 CONST_VTBL struct ID3D12GraphicsCommandList1Vtbl *lpVtbl;
7648 };
7649
7650
7651
7652#ifdef COBJMACROS
7653
7654
7655#define ID3D12GraphicsCommandList1_QueryInterface(This,riid,ppvObject) \
7656 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
7657
7658#define ID3D12GraphicsCommandList1_AddRef(This) \
7659 ( (This)->lpVtbl -> AddRef(This) )
7660
7661#define ID3D12GraphicsCommandList1_Release(This) \
7662 ( (This)->lpVtbl -> Release(This) )
7663
7664
7665#define ID3D12GraphicsCommandList1_GetPrivateData(This,guid,pDataSize,pData) \
7666 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
7667
7668#define ID3D12GraphicsCommandList1_SetPrivateData(This,guid,DataSize,pData) \
7669 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
7670
7671#define ID3D12GraphicsCommandList1_SetPrivateDataInterface(This,guid,pData) \
7672 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
7673
7674#define ID3D12GraphicsCommandList1_SetName(This,Name) \
7675 ( (This)->lpVtbl -> SetName(This,Name) )
7676
7677
7678#define ID3D12GraphicsCommandList1_GetDevice(This,riid,ppvDevice) \
7679 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
7680
7681
7682#define ID3D12GraphicsCommandList1_GetType(This) \
7683 ( (This)->lpVtbl -> GetType(This) )
7684
7685
7686#define ID3D12GraphicsCommandList1_Close(This) \
7687 ( (This)->lpVtbl -> Close(This) )
7688
7689#define ID3D12GraphicsCommandList1_Reset(This,pAllocator,pInitialState) \
7690 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
7691
7692#define ID3D12GraphicsCommandList1_ClearState(This,pPipelineState) \
7693 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
7694
7695#define ID3D12GraphicsCommandList1_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
7696 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
7697
7698#define ID3D12GraphicsCommandList1_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
7699 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
7700
7701#define ID3D12GraphicsCommandList1_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
7702 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
7703
7704#define ID3D12GraphicsCommandList1_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
7705 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
7706
7707#define ID3D12GraphicsCommandList1_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
7708 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
7709
7710#define ID3D12GraphicsCommandList1_CopyResource(This,pDstResource,pSrcResource) \
7711 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
7712
7713#define ID3D12GraphicsCommandList1_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
7714 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
7715
7716#define ID3D12GraphicsCommandList1_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
7717 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
7718
7719#define ID3D12GraphicsCommandList1_IASetPrimitiveTopology(This,PrimitiveTopology) \
7720 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
7721
7722#define ID3D12GraphicsCommandList1_RSSetViewports(This,NumViewports,pViewports) \
7723 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
7724
7725#define ID3D12GraphicsCommandList1_RSSetScissorRects(This,NumRects,pRects) \
7726 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
7727
7728#define ID3D12GraphicsCommandList1_OMSetBlendFactor(This,BlendFactor) \
7729 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
7730
7731#define ID3D12GraphicsCommandList1_OMSetStencilRef(This,StencilRef) \
7732 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
7733
7734#define ID3D12GraphicsCommandList1_SetPipelineState(This,pPipelineState) \
7735 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
7736
7737#define ID3D12GraphicsCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \
7738 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
7739
7740#define ID3D12GraphicsCommandList1_ExecuteBundle(This,pCommandList) \
7741 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
7742
7743#define ID3D12GraphicsCommandList1_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
7744 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
7745
7746#define ID3D12GraphicsCommandList1_SetComputeRootSignature(This,pRootSignature) \
7747 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
7748
7749#define ID3D12GraphicsCommandList1_SetGraphicsRootSignature(This,pRootSignature) \
7750 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
7751
7752#define ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
7753 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
7754
7755#define ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
7756 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
7757
7758#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
7759 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
7760
7761#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
7762 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
7763
7764#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
7765 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
7766
7767#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
7768 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
7769
7770#define ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
7771 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
7772
7773#define ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
7774 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
7775
7776#define ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
7777 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
7778
7779#define ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
7780 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
7781
7782#define ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
7783 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
7784
7785#define ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
7786 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
7787
7788#define ID3D12GraphicsCommandList1_IASetIndexBuffer(This,pView) \
7789 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
7790
7791#define ID3D12GraphicsCommandList1_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
7792 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
7793
7794#define ID3D12GraphicsCommandList1_SOSetTargets(This,StartSlot,NumViews,pViews) \
7795 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
7796
7797#define ID3D12GraphicsCommandList1_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
7798 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
7799
7800#define ID3D12GraphicsCommandList1_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
7801 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
7802
7803#define ID3D12GraphicsCommandList1_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
7804 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
7805
7806#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
7807 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
7808
7809#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
7810 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
7811
7812#define ID3D12GraphicsCommandList1_DiscardResource(This,pResource,pRegion) \
7813 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
7814
7815#define ID3D12GraphicsCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \
7816 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
7817
7818#define ID3D12GraphicsCommandList1_EndQuery(This,pQueryHeap,Type,Index) \
7819 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
7820
7821#define ID3D12GraphicsCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
7822 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
7823
7824#define ID3D12GraphicsCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
7825 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
7826
7827#define ID3D12GraphicsCommandList1_SetMarker(This,Metadata,pData,Size) \
7828 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
7829
7830#define ID3D12GraphicsCommandList1_BeginEvent(This,Metadata,pData,Size) \
7831 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
7832
7833#define ID3D12GraphicsCommandList1_EndEvent(This) \
7834 ( (This)->lpVtbl -> EndEvent(This) )
7835
7836#define ID3D12GraphicsCommandList1_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
7837 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
7838
7839
7840#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
7841 ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
7842
7843#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
7844 ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
7845
7846#define ID3D12GraphicsCommandList1_OMSetDepthBounds(This,Min,Max) \
7847 ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
7848
7849#define ID3D12GraphicsCommandList1_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
7850 ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
7851
7852#define ID3D12GraphicsCommandList1_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
7853 ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
7854
7855#define ID3D12GraphicsCommandList1_SetViewInstanceMask(This,Mask) \
7856 ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
7857
7858#endif /* COBJMACROS */
7859
7860
7861#endif /* C style interface */
7862
7863
7864
7865
7866#endif /* __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__ */
7867
7868
7869/* interface __MIDL_itf_d3d12_0000_0018 */
7870/* [local] */
7871
7872typedef struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER
7873 {
7874 D3D12_GPU_VIRTUAL_ADDRESS Dest;
7875 UINT32 Value;
7876 } D3D12_WRITEBUFFERIMMEDIATE_PARAMETER;
7877
7878typedef
7879enum D3D12_WRITEBUFFERIMMEDIATE_MODE
7880 {
7881 D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = 0,
7882 D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = 0x1,
7883 D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = 0x2
7884 } D3D12_WRITEBUFFERIMMEDIATE_MODE;
7885
7886
7887
7888extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_v0_0_c_ifspec;
7889extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_v0_0_s_ifspec;
7890
7891#ifndef __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__
7892#define __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__
7893
7894/* interface ID3D12GraphicsCommandList2 */
7895/* [unique][local][object][uuid] */
7896
7897
7898EXTERN_C const IID IID_ID3D12GraphicsCommandList2;
7899
7900#if defined(__cplusplus) && !defined(CINTERFACE)
7901
7902 MIDL_INTERFACE("38C3E585-FF17-412C-9150-4FC6F9D72A28")
7903 ID3D12GraphicsCommandList2 : public ID3D12GraphicsCommandList1
7904 {
7905 public:
7906 virtual void STDMETHODCALLTYPE WriteBufferImmediate(
7907 UINT Count,
7908 _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
7909 _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0;
7910
7911 };
7912
7913
7914#else /* C style interface */
7915
7916 typedef struct ID3D12GraphicsCommandList2Vtbl
7917 {
7918 BEGIN_INTERFACE
7919
7920 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
7921 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7922 ID3D12GraphicsCommandList2 * This,
7923 REFIID riid,
7924 _COM_Outptr_ void **ppvObject);
7925
7926 DECLSPEC_XFGVIRT(IUnknown, AddRef)
7927 ULONG ( STDMETHODCALLTYPE *AddRef )(
7928 ID3D12GraphicsCommandList2 * This);
7929
7930 DECLSPEC_XFGVIRT(IUnknown, Release)
7931 ULONG ( STDMETHODCALLTYPE *Release )(
7932 ID3D12GraphicsCommandList2 * This);
7933
7934 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
7935 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
7936 ID3D12GraphicsCommandList2 * This,
7937 _In_ REFGUID guid,
7938 _Inout_ UINT *pDataSize,
7939 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
7940
7941 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
7942 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
7943 ID3D12GraphicsCommandList2 * This,
7944 _In_ REFGUID guid,
7945 _In_ UINT DataSize,
7946 _In_reads_bytes_opt_( DataSize ) const void *pData);
7947
7948 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
7949 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
7950 ID3D12GraphicsCommandList2 * This,
7951 _In_ REFGUID guid,
7952 _In_opt_ const IUnknown *pData);
7953
7954 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
7955 HRESULT ( STDMETHODCALLTYPE *SetName )(
7956 ID3D12GraphicsCommandList2 * This,
7957 _In_z_ LPCWSTR Name);
7958
7959 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
7960 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
7961 ID3D12GraphicsCommandList2 * This,
7962 REFIID riid,
7963 _COM_Outptr_opt_ void **ppvDevice);
7964
7965 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
7966 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
7967 ID3D12GraphicsCommandList2 * This);
7968
7969 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
7970 HRESULT ( STDMETHODCALLTYPE *Close )(
7971 ID3D12GraphicsCommandList2 * This);
7972
7973 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
7974 HRESULT ( STDMETHODCALLTYPE *Reset )(
7975 ID3D12GraphicsCommandList2 * This,
7976 _In_ ID3D12CommandAllocator *pAllocator,
7977 _In_opt_ ID3D12PipelineState *pInitialState);
7978
7979 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
7980 void ( STDMETHODCALLTYPE *ClearState )(
7981 ID3D12GraphicsCommandList2 * This,
7982 _In_opt_ ID3D12PipelineState *pPipelineState);
7983
7984 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
7985 void ( STDMETHODCALLTYPE *DrawInstanced )(
7986 ID3D12GraphicsCommandList2 * This,
7987 _In_ UINT VertexCountPerInstance,
7988 _In_ UINT InstanceCount,
7989 _In_ UINT StartVertexLocation,
7990 _In_ UINT StartInstanceLocation);
7991
7992 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
7993 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
7994 ID3D12GraphicsCommandList2 * This,
7995 _In_ UINT IndexCountPerInstance,
7996 _In_ UINT InstanceCount,
7997 _In_ UINT StartIndexLocation,
7998 _In_ INT BaseVertexLocation,
7999 _In_ UINT StartInstanceLocation);
8000
8001 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
8002 void ( STDMETHODCALLTYPE *Dispatch )(
8003 ID3D12GraphicsCommandList2 * This,
8004 _In_ UINT ThreadGroupCountX,
8005 _In_ UINT ThreadGroupCountY,
8006 _In_ UINT ThreadGroupCountZ);
8007
8008 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
8009 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
8010 ID3D12GraphicsCommandList2 * This,
8011 _In_ ID3D12Resource *pDstBuffer,
8012 UINT64 DstOffset,
8013 _In_ ID3D12Resource *pSrcBuffer,
8014 UINT64 SrcOffset,
8015 UINT64 NumBytes);
8016
8017 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
8018 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
8019 ID3D12GraphicsCommandList2 * This,
8020 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
8021 UINT DstX,
8022 UINT DstY,
8023 UINT DstZ,
8024 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
8025 _In_opt_ const D3D12_BOX *pSrcBox);
8026
8027 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
8028 void ( STDMETHODCALLTYPE *CopyResource )(
8029 ID3D12GraphicsCommandList2 * This,
8030 _In_ ID3D12Resource *pDstResource,
8031 _In_ ID3D12Resource *pSrcResource);
8032
8033 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
8034 void ( STDMETHODCALLTYPE *CopyTiles )(
8035 ID3D12GraphicsCommandList2 * This,
8036 _In_ ID3D12Resource *pTiledResource,
8037 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
8038 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
8039 _In_ ID3D12Resource *pBuffer,
8040 UINT64 BufferStartOffsetInBytes,
8041 D3D12_TILE_COPY_FLAGS Flags);
8042
8043 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
8044 void ( STDMETHODCALLTYPE *ResolveSubresource )(
8045 ID3D12GraphicsCommandList2 * This,
8046 _In_ ID3D12Resource *pDstResource,
8047 _In_ UINT DstSubresource,
8048 _In_ ID3D12Resource *pSrcResource,
8049 _In_ UINT SrcSubresource,
8050 _In_ DXGI_FORMAT Format);
8051
8052 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
8053 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
8054 ID3D12GraphicsCommandList2 * This,
8055 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
8056
8057 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
8058 void ( STDMETHODCALLTYPE *RSSetViewports )(
8059 ID3D12GraphicsCommandList2 * This,
8060 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
8061 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
8062
8063 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
8064 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
8065 ID3D12GraphicsCommandList2 * This,
8066 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
8067 _In_reads_( NumRects) const D3D12_RECT *pRects);
8068
8069 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
8070 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
8071 ID3D12GraphicsCommandList2 * This,
8072 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
8073
8074 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
8075 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
8076 ID3D12GraphicsCommandList2 * This,
8077 _In_ UINT StencilRef);
8078
8079 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
8080 void ( STDMETHODCALLTYPE *SetPipelineState )(
8081 ID3D12GraphicsCommandList2 * This,
8082 _In_ ID3D12PipelineState *pPipelineState);
8083
8084 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
8085 void ( STDMETHODCALLTYPE *ResourceBarrier )(
8086 ID3D12GraphicsCommandList2 * This,
8087 _In_ UINT NumBarriers,
8088 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
8089
8090 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
8091 void ( STDMETHODCALLTYPE *ExecuteBundle )(
8092 ID3D12GraphicsCommandList2 * This,
8093 _In_ ID3D12GraphicsCommandList *pCommandList);
8094
8095 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
8096 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
8097 ID3D12GraphicsCommandList2 * This,
8098 _In_ UINT NumDescriptorHeaps,
8099 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
8100
8101 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
8102 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
8103 ID3D12GraphicsCommandList2 * This,
8104 _In_opt_ ID3D12RootSignature *pRootSignature);
8105
8106 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
8107 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
8108 ID3D12GraphicsCommandList2 * This,
8109 _In_opt_ ID3D12RootSignature *pRootSignature);
8110
8111 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
8112 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
8113 ID3D12GraphicsCommandList2 * This,
8114 _In_ UINT RootParameterIndex,
8115 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
8116
8117 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
8118 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
8119 ID3D12GraphicsCommandList2 * This,
8120 _In_ UINT RootParameterIndex,
8121 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
8122
8123 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
8124 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
8125 ID3D12GraphicsCommandList2 * This,
8126 _In_ UINT RootParameterIndex,
8127 _In_ UINT SrcData,
8128 _In_ UINT DestOffsetIn32BitValues);
8129
8130 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
8131 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
8132 ID3D12GraphicsCommandList2 * This,
8133 _In_ UINT RootParameterIndex,
8134 _In_ UINT SrcData,
8135 _In_ UINT DestOffsetIn32BitValues);
8136
8137 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
8138 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
8139 ID3D12GraphicsCommandList2 * This,
8140 _In_ UINT RootParameterIndex,
8141 _In_ UINT Num32BitValuesToSet,
8142 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
8143 _In_ UINT DestOffsetIn32BitValues);
8144
8145 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
8146 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
8147 ID3D12GraphicsCommandList2 * This,
8148 _In_ UINT RootParameterIndex,
8149 _In_ UINT Num32BitValuesToSet,
8150 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
8151 _In_ UINT DestOffsetIn32BitValues);
8152
8153 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
8154 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
8155 ID3D12GraphicsCommandList2 * This,
8156 _In_ UINT RootParameterIndex,
8157 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
8158
8159 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
8160 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
8161 ID3D12GraphicsCommandList2 * This,
8162 _In_ UINT RootParameterIndex,
8163 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
8164
8165 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
8166 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
8167 ID3D12GraphicsCommandList2 * This,
8168 _In_ UINT RootParameterIndex,
8169 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
8170
8171 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
8172 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
8173 ID3D12GraphicsCommandList2 * This,
8174 _In_ UINT RootParameterIndex,
8175 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
8176
8177 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
8178 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
8179 ID3D12GraphicsCommandList2 * This,
8180 _In_ UINT RootParameterIndex,
8181 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
8182
8183 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
8184 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
8185 ID3D12GraphicsCommandList2 * This,
8186 _In_ UINT RootParameterIndex,
8187 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
8188
8189 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
8190 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
8191 ID3D12GraphicsCommandList2 * This,
8192 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
8193
8194 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
8195 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
8196 ID3D12GraphicsCommandList2 * This,
8197 _In_ UINT StartSlot,
8198 _In_ UINT NumViews,
8199 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
8200
8201 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
8202 void ( STDMETHODCALLTYPE *SOSetTargets )(
8203 ID3D12GraphicsCommandList2 * This,
8204 _In_ UINT StartSlot,
8205 _In_ UINT NumViews,
8206 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
8207
8208 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
8209 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
8210 ID3D12GraphicsCommandList2 * This,
8211 _In_ UINT NumRenderTargetDescriptors,
8212 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
8213 _In_ BOOL RTsSingleHandleToDescriptorRange,
8214 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
8215
8216 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
8217 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
8218 ID3D12GraphicsCommandList2 * This,
8219 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
8220 _In_ D3D12_CLEAR_FLAGS ClearFlags,
8221 _In_ FLOAT Depth,
8222 _In_ UINT8 Stencil,
8223 _In_ UINT NumRects,
8224 _In_reads_(NumRects) const D3D12_RECT *pRects);
8225
8226 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
8227 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
8228 ID3D12GraphicsCommandList2 * This,
8229 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
8230 _In_ const FLOAT ColorRGBA[ 4 ],
8231 _In_ UINT NumRects,
8232 _In_reads_(NumRects) const D3D12_RECT *pRects);
8233
8234 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
8235 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
8236 ID3D12GraphicsCommandList2 * This,
8237 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
8238 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
8239 _In_ ID3D12Resource *pResource,
8240 _In_ const UINT Values[ 4 ],
8241 _In_ UINT NumRects,
8242 _In_reads_(NumRects) const D3D12_RECT *pRects);
8243
8244 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
8245 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
8246 ID3D12GraphicsCommandList2 * This,
8247 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
8248 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
8249 _In_ ID3D12Resource *pResource,
8250 _In_ const FLOAT Values[ 4 ],
8251 _In_ UINT NumRects,
8252 _In_reads_(NumRects) const D3D12_RECT *pRects);
8253
8254 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
8255 void ( STDMETHODCALLTYPE *DiscardResource )(
8256 ID3D12GraphicsCommandList2 * This,
8257 _In_ ID3D12Resource *pResource,
8258 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
8259
8260 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
8261 void ( STDMETHODCALLTYPE *BeginQuery )(
8262 ID3D12GraphicsCommandList2 * This,
8263 _In_ ID3D12QueryHeap *pQueryHeap,
8264 _In_ D3D12_QUERY_TYPE Type,
8265 _In_ UINT Index);
8266
8267 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
8268 void ( STDMETHODCALLTYPE *EndQuery )(
8269 ID3D12GraphicsCommandList2 * This,
8270 _In_ ID3D12QueryHeap *pQueryHeap,
8271 _In_ D3D12_QUERY_TYPE Type,
8272 _In_ UINT Index);
8273
8274 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
8275 void ( STDMETHODCALLTYPE *ResolveQueryData )(
8276 ID3D12GraphicsCommandList2 * This,
8277 _In_ ID3D12QueryHeap *pQueryHeap,
8278 _In_ D3D12_QUERY_TYPE Type,
8279 _In_ UINT StartIndex,
8280 _In_ UINT NumQueries,
8281 _In_ ID3D12Resource *pDestinationBuffer,
8282 _In_ UINT64 AlignedDestinationBufferOffset);
8283
8284 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
8285 void ( STDMETHODCALLTYPE *SetPredication )(
8286 ID3D12GraphicsCommandList2 * This,
8287 _In_opt_ ID3D12Resource *pBuffer,
8288 _In_ UINT64 AlignedBufferOffset,
8289 _In_ D3D12_PREDICATION_OP Operation);
8290
8291 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
8292 void ( STDMETHODCALLTYPE *SetMarker )(
8293 ID3D12GraphicsCommandList2 * This,
8294 UINT Metadata,
8295 _In_reads_bytes_opt_(Size) const void *pData,
8296 UINT Size);
8297
8298 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
8299 void ( STDMETHODCALLTYPE *BeginEvent )(
8300 ID3D12GraphicsCommandList2 * This,
8301 UINT Metadata,
8302 _In_reads_bytes_opt_(Size) const void *pData,
8303 UINT Size);
8304
8305 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
8306 void ( STDMETHODCALLTYPE *EndEvent )(
8307 ID3D12GraphicsCommandList2 * This);
8308
8309 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
8310 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
8311 ID3D12GraphicsCommandList2 * This,
8312 _In_ ID3D12CommandSignature *pCommandSignature,
8313 _In_ UINT MaxCommandCount,
8314 _In_ ID3D12Resource *pArgumentBuffer,
8315 _In_ UINT64 ArgumentBufferOffset,
8316 _In_opt_ ID3D12Resource *pCountBuffer,
8317 _In_ UINT64 CountBufferOffset);
8318
8319 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
8320 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
8321 ID3D12GraphicsCommandList2 * This,
8322 _In_ ID3D12Resource *pDstBuffer,
8323 UINT64 DstOffset,
8324 _In_ ID3D12Resource *pSrcBuffer,
8325 UINT64 SrcOffset,
8326 UINT Dependencies,
8327 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
8328 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
8329
8330 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
8331 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
8332 ID3D12GraphicsCommandList2 * This,
8333 _In_ ID3D12Resource *pDstBuffer,
8334 UINT64 DstOffset,
8335 _In_ ID3D12Resource *pSrcBuffer,
8336 UINT64 SrcOffset,
8337 UINT Dependencies,
8338 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
8339 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
8340
8341 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
8342 void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
8343 ID3D12GraphicsCommandList2 * This,
8344 _In_ FLOAT Min,
8345 _In_ FLOAT Max);
8346
8347 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
8348 void ( STDMETHODCALLTYPE *SetSamplePositions )(
8349 ID3D12GraphicsCommandList2 * This,
8350 _In_ UINT NumSamplesPerPixel,
8351 _In_ UINT NumPixels,
8352 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
8353
8354 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
8355 void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
8356 ID3D12GraphicsCommandList2 * This,
8357 _In_ ID3D12Resource *pDstResource,
8358 _In_ UINT DstSubresource,
8359 _In_ UINT DstX,
8360 _In_ UINT DstY,
8361 _In_ ID3D12Resource *pSrcResource,
8362 _In_ UINT SrcSubresource,
8363 _In_opt_ D3D12_RECT *pSrcRect,
8364 _In_ DXGI_FORMAT Format,
8365 _In_ D3D12_RESOLVE_MODE ResolveMode);
8366
8367 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
8368 void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
8369 ID3D12GraphicsCommandList2 * This,
8370 _In_ UINT Mask);
8371
8372 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
8373 void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
8374 ID3D12GraphicsCommandList2 * This,
8375 UINT Count,
8376 _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
8377 _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
8378
8379 END_INTERFACE
8380 } ID3D12GraphicsCommandList2Vtbl;
8381
8382 interface ID3D12GraphicsCommandList2
8383 {
8384 CONST_VTBL struct ID3D12GraphicsCommandList2Vtbl *lpVtbl;
8385 };
8386
8387
8388
8389#ifdef COBJMACROS
8390
8391
8392#define ID3D12GraphicsCommandList2_QueryInterface(This,riid,ppvObject) \
8393 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
8394
8395#define ID3D12GraphicsCommandList2_AddRef(This) \
8396 ( (This)->lpVtbl -> AddRef(This) )
8397
8398#define ID3D12GraphicsCommandList2_Release(This) \
8399 ( (This)->lpVtbl -> Release(This) )
8400
8401
8402#define ID3D12GraphicsCommandList2_GetPrivateData(This,guid,pDataSize,pData) \
8403 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
8404
8405#define ID3D12GraphicsCommandList2_SetPrivateData(This,guid,DataSize,pData) \
8406 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
8407
8408#define ID3D12GraphicsCommandList2_SetPrivateDataInterface(This,guid,pData) \
8409 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
8410
8411#define ID3D12GraphicsCommandList2_SetName(This,Name) \
8412 ( (This)->lpVtbl -> SetName(This,Name) )
8413
8414
8415#define ID3D12GraphicsCommandList2_GetDevice(This,riid,ppvDevice) \
8416 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
8417
8418
8419#define ID3D12GraphicsCommandList2_GetType(This) \
8420 ( (This)->lpVtbl -> GetType(This) )
8421
8422
8423#define ID3D12GraphicsCommandList2_Close(This) \
8424 ( (This)->lpVtbl -> Close(This) )
8425
8426#define ID3D12GraphicsCommandList2_Reset(This,pAllocator,pInitialState) \
8427 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
8428
8429#define ID3D12GraphicsCommandList2_ClearState(This,pPipelineState) \
8430 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
8431
8432#define ID3D12GraphicsCommandList2_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
8433 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
8434
8435#define ID3D12GraphicsCommandList2_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
8436 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
8437
8438#define ID3D12GraphicsCommandList2_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
8439 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
8440
8441#define ID3D12GraphicsCommandList2_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
8442 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
8443
8444#define ID3D12GraphicsCommandList2_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
8445 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
8446
8447#define ID3D12GraphicsCommandList2_CopyResource(This,pDstResource,pSrcResource) \
8448 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
8449
8450#define ID3D12GraphicsCommandList2_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
8451 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
8452
8453#define ID3D12GraphicsCommandList2_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
8454 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
8455
8456#define ID3D12GraphicsCommandList2_IASetPrimitiveTopology(This,PrimitiveTopology) \
8457 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
8458
8459#define ID3D12GraphicsCommandList2_RSSetViewports(This,NumViewports,pViewports) \
8460 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
8461
8462#define ID3D12GraphicsCommandList2_RSSetScissorRects(This,NumRects,pRects) \
8463 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
8464
8465#define ID3D12GraphicsCommandList2_OMSetBlendFactor(This,BlendFactor) \
8466 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
8467
8468#define ID3D12GraphicsCommandList2_OMSetStencilRef(This,StencilRef) \
8469 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
8470
8471#define ID3D12GraphicsCommandList2_SetPipelineState(This,pPipelineState) \
8472 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
8473
8474#define ID3D12GraphicsCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \
8475 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
8476
8477#define ID3D12GraphicsCommandList2_ExecuteBundle(This,pCommandList) \
8478 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
8479
8480#define ID3D12GraphicsCommandList2_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
8481 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
8482
8483#define ID3D12GraphicsCommandList2_SetComputeRootSignature(This,pRootSignature) \
8484 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
8485
8486#define ID3D12GraphicsCommandList2_SetGraphicsRootSignature(This,pRootSignature) \
8487 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
8488
8489#define ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
8490 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
8491
8492#define ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
8493 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
8494
8495#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
8496 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
8497
8498#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
8499 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
8500
8501#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
8502 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
8503
8504#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
8505 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
8506
8507#define ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
8508 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
8509
8510#define ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
8511 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
8512
8513#define ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
8514 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
8515
8516#define ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
8517 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
8518
8519#define ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
8520 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
8521
8522#define ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
8523 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
8524
8525#define ID3D12GraphicsCommandList2_IASetIndexBuffer(This,pView) \
8526 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
8527
8528#define ID3D12GraphicsCommandList2_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
8529 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
8530
8531#define ID3D12GraphicsCommandList2_SOSetTargets(This,StartSlot,NumViews,pViews) \
8532 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
8533
8534#define ID3D12GraphicsCommandList2_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
8535 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
8536
8537#define ID3D12GraphicsCommandList2_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
8538 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
8539
8540#define ID3D12GraphicsCommandList2_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
8541 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
8542
8543#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
8544 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
8545
8546#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
8547 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
8548
8549#define ID3D12GraphicsCommandList2_DiscardResource(This,pResource,pRegion) \
8550 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
8551
8552#define ID3D12GraphicsCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \
8553 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
8554
8555#define ID3D12GraphicsCommandList2_EndQuery(This,pQueryHeap,Type,Index) \
8556 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
8557
8558#define ID3D12GraphicsCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
8559 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
8560
8561#define ID3D12GraphicsCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
8562 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
8563
8564#define ID3D12GraphicsCommandList2_SetMarker(This,Metadata,pData,Size) \
8565 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
8566
8567#define ID3D12GraphicsCommandList2_BeginEvent(This,Metadata,pData,Size) \
8568 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
8569
8570#define ID3D12GraphicsCommandList2_EndEvent(This) \
8571 ( (This)->lpVtbl -> EndEvent(This) )
8572
8573#define ID3D12GraphicsCommandList2_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
8574 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
8575
8576
8577#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
8578 ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
8579
8580#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
8581 ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
8582
8583#define ID3D12GraphicsCommandList2_OMSetDepthBounds(This,Min,Max) \
8584 ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
8585
8586#define ID3D12GraphicsCommandList2_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
8587 ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
8588
8589#define ID3D12GraphicsCommandList2_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
8590 ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
8591
8592#define ID3D12GraphicsCommandList2_SetViewInstanceMask(This,Mask) \
8593 ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
8594
8595
8596#define ID3D12GraphicsCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \
8597 ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
8598
8599#endif /* COBJMACROS */
8600
8601
8602#endif /* C style interface */
8603
8604
8605
8606
8607#endif /* __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__ */
8608
8609
8610#ifndef __ID3D12CommandQueue_INTERFACE_DEFINED__
8611#define __ID3D12CommandQueue_INTERFACE_DEFINED__
8612
8613/* interface ID3D12CommandQueue */
8614/* [unique][local][object][uuid] */
8615
8616
8617EXTERN_C const IID IID_ID3D12CommandQueue;
8618
8619#if defined(__cplusplus) && !defined(CINTERFACE)
8620
8621 MIDL_INTERFACE("0ec870a6-5d7e-4c22-8cfc-5baae07616ed")
8622 ID3D12CommandQueue : public ID3D12Pageable
8623 {
8624 public:
8625 virtual void STDMETHODCALLTYPE UpdateTileMappings(
8626 _In_ ID3D12Resource *pResource,
8627 UINT NumResourceRegions,
8628 _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
8629 _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
8630 _In_opt_ ID3D12Heap *pHeap,
8631 UINT NumRanges,
8632 _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
8633 _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
8634 _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
8635 D3D12_TILE_MAPPING_FLAGS Flags) = 0;
8636
8637 virtual void STDMETHODCALLTYPE CopyTileMappings(
8638 _In_ ID3D12Resource *pDstResource,
8639 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
8640 _In_ ID3D12Resource *pSrcResource,
8641 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
8642 _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
8643 D3D12_TILE_MAPPING_FLAGS Flags) = 0;
8644
8645 virtual void STDMETHODCALLTYPE ExecuteCommandLists(
8646 _In_ UINT NumCommandLists,
8647 _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists) = 0;
8648
8649 virtual void STDMETHODCALLTYPE SetMarker(
8650 UINT Metadata,
8651 _In_reads_bytes_opt_(Size) const void *pData,
8652 UINT Size) = 0;
8653
8654 virtual void STDMETHODCALLTYPE BeginEvent(
8655 UINT Metadata,
8656 _In_reads_bytes_opt_(Size) const void *pData,
8657 UINT Size) = 0;
8658
8659 virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
8660
8661 virtual HRESULT STDMETHODCALLTYPE Signal(
8662 ID3D12Fence *pFence,
8663 UINT64 Value) = 0;
8664
8665 virtual HRESULT STDMETHODCALLTYPE Wait(
8666 ID3D12Fence *pFence,
8667 UINT64 Value) = 0;
8668
8669 virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency(
8670 _Out_ UINT64 *pFrequency) = 0;
8671
8672 virtual HRESULT STDMETHODCALLTYPE GetClockCalibration(
8673 _Out_ UINT64 *pGPUTimestamp,
8674 _Out_ UINT64 *pCpuTimestamp) = 0;
8675
8676#if defined(_MSC_VER) || !defined(_WIN32)
8677 virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
8678#else
8679 virtual D3D12_COMMAND_QUEUE_DESC *STDMETHODCALLTYPE GetDesc(
8680 D3D12_COMMAND_QUEUE_DESC * RetVal) = 0;
8681#endif
8682
8683 };
8684
8685
8686#else /* C style interface */
8687
8688 typedef struct ID3D12CommandQueueVtbl
8689 {
8690 BEGIN_INTERFACE
8691
8692 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
8693 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
8694 ID3D12CommandQueue * This,
8695 REFIID riid,
8696 _COM_Outptr_ void **ppvObject);
8697
8698 DECLSPEC_XFGVIRT(IUnknown, AddRef)
8699 ULONG ( STDMETHODCALLTYPE *AddRef )(
8700 ID3D12CommandQueue * This);
8701
8702 DECLSPEC_XFGVIRT(IUnknown, Release)
8703 ULONG ( STDMETHODCALLTYPE *Release )(
8704 ID3D12CommandQueue * This);
8705
8706 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
8707 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
8708 ID3D12CommandQueue * This,
8709 _In_ REFGUID guid,
8710 _Inout_ UINT *pDataSize,
8711 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
8712
8713 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
8714 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
8715 ID3D12CommandQueue * This,
8716 _In_ REFGUID guid,
8717 _In_ UINT DataSize,
8718 _In_reads_bytes_opt_( DataSize ) const void *pData);
8719
8720 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
8721 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
8722 ID3D12CommandQueue * This,
8723 _In_ REFGUID guid,
8724 _In_opt_ const IUnknown *pData);
8725
8726 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
8727 HRESULT ( STDMETHODCALLTYPE *SetName )(
8728 ID3D12CommandQueue * This,
8729 _In_z_ LPCWSTR Name);
8730
8731 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
8732 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
8733 ID3D12CommandQueue * This,
8734 REFIID riid,
8735 _COM_Outptr_opt_ void **ppvDevice);
8736
8737 DECLSPEC_XFGVIRT(ID3D12CommandQueue, UpdateTileMappings)
8738 void ( STDMETHODCALLTYPE *UpdateTileMappings )(
8739 ID3D12CommandQueue * This,
8740 _In_ ID3D12Resource *pResource,
8741 UINT NumResourceRegions,
8742 _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
8743 _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
8744 _In_opt_ ID3D12Heap *pHeap,
8745 UINT NumRanges,
8746 _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
8747 _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
8748 _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
8749 D3D12_TILE_MAPPING_FLAGS Flags);
8750
8751 DECLSPEC_XFGVIRT(ID3D12CommandQueue, CopyTileMappings)
8752 void ( STDMETHODCALLTYPE *CopyTileMappings )(
8753 ID3D12CommandQueue * This,
8754 _In_ ID3D12Resource *pDstResource,
8755 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
8756 _In_ ID3D12Resource *pSrcResource,
8757 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
8758 _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
8759 D3D12_TILE_MAPPING_FLAGS Flags);
8760
8761 DECLSPEC_XFGVIRT(ID3D12CommandQueue, ExecuteCommandLists)
8762 void ( STDMETHODCALLTYPE *ExecuteCommandLists )(
8763 ID3D12CommandQueue * This,
8764 _In_ UINT NumCommandLists,
8765 _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists);
8766
8767 DECLSPEC_XFGVIRT(ID3D12CommandQueue, SetMarker)
8768 void ( STDMETHODCALLTYPE *SetMarker )(
8769 ID3D12CommandQueue * This,
8770 UINT Metadata,
8771 _In_reads_bytes_opt_(Size) const void *pData,
8772 UINT Size);
8773
8774 DECLSPEC_XFGVIRT(ID3D12CommandQueue, BeginEvent)
8775 void ( STDMETHODCALLTYPE *BeginEvent )(
8776 ID3D12CommandQueue * This,
8777 UINT Metadata,
8778 _In_reads_bytes_opt_(Size) const void *pData,
8779 UINT Size);
8780
8781 DECLSPEC_XFGVIRT(ID3D12CommandQueue, EndEvent)
8782 void ( STDMETHODCALLTYPE *EndEvent )(
8783 ID3D12CommandQueue * This);
8784
8785 DECLSPEC_XFGVIRT(ID3D12CommandQueue, Signal)
8786 HRESULT ( STDMETHODCALLTYPE *Signal )(
8787 ID3D12CommandQueue * This,
8788 ID3D12Fence *pFence,
8789 UINT64 Value);
8790
8791 DECLSPEC_XFGVIRT(ID3D12CommandQueue, Wait)
8792 HRESULT ( STDMETHODCALLTYPE *Wait )(
8793 ID3D12CommandQueue * This,
8794 ID3D12Fence *pFence,
8795 UINT64 Value);
8796
8797 DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetTimestampFrequency)
8798 HRESULT ( STDMETHODCALLTYPE *GetTimestampFrequency )(
8799 ID3D12CommandQueue * This,
8800 _Out_ UINT64 *pFrequency);
8801
8802 DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetClockCalibration)
8803 HRESULT ( STDMETHODCALLTYPE *GetClockCalibration )(
8804 ID3D12CommandQueue * This,
8805 _Out_ UINT64 *pGPUTimestamp,
8806 _Out_ UINT64 *pCpuTimestamp);
8807
8808 DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetDesc)
8809#if !defined(_WIN32)
8810 D3D12_COMMAND_QUEUE_DESC ( STDMETHODCALLTYPE *GetDesc )(
8811 ID3D12CommandQueue * This);
8812
8813#else
8814 D3D12_COMMAND_QUEUE_DESC *( STDMETHODCALLTYPE *GetDesc )(
8815 ID3D12CommandQueue * This,
8816 D3D12_COMMAND_QUEUE_DESC * RetVal);
8817
8818#endif
8819
8820 END_INTERFACE
8821 } ID3D12CommandQueueVtbl;
8822
8823 interface ID3D12CommandQueue
8824 {
8825 CONST_VTBL struct ID3D12CommandQueueVtbl *lpVtbl;
8826 };
8827
8828
8829
8830#ifdef COBJMACROS
8831
8832
8833#define ID3D12CommandQueue_QueryInterface(This,riid,ppvObject) \
8834 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
8835
8836#define ID3D12CommandQueue_AddRef(This) \
8837 ( (This)->lpVtbl -> AddRef(This) )
8838
8839#define ID3D12CommandQueue_Release(This) \
8840 ( (This)->lpVtbl -> Release(This) )
8841
8842
8843#define ID3D12CommandQueue_GetPrivateData(This,guid,pDataSize,pData) \
8844 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
8845
8846#define ID3D12CommandQueue_SetPrivateData(This,guid,DataSize,pData) \
8847 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
8848
8849#define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,pData) \
8850 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
8851
8852#define ID3D12CommandQueue_SetName(This,Name) \
8853 ( (This)->lpVtbl -> SetName(This,Name) )
8854
8855
8856#define ID3D12CommandQueue_GetDevice(This,riid,ppvDevice) \
8857 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
8858
8859
8860
8861#define ID3D12CommandQueue_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) \
8862 ( (This)->lpVtbl -> UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) )
8863
8864#define ID3D12CommandQueue_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) \
8865 ( (This)->lpVtbl -> CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) )
8866
8867#define ID3D12CommandQueue_ExecuteCommandLists(This,NumCommandLists,ppCommandLists) \
8868 ( (This)->lpVtbl -> ExecuteCommandLists(This,NumCommandLists,ppCommandLists) )
8869
8870#define ID3D12CommandQueue_SetMarker(This,Metadata,pData,Size) \
8871 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
8872
8873#define ID3D12CommandQueue_BeginEvent(This,Metadata,pData,Size) \
8874 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
8875
8876#define ID3D12CommandQueue_EndEvent(This) \
8877 ( (This)->lpVtbl -> EndEvent(This) )
8878
8879#define ID3D12CommandQueue_Signal(This,pFence,Value) \
8880 ( (This)->lpVtbl -> Signal(This,pFence,Value) )
8881
8882#define ID3D12CommandQueue_Wait(This,pFence,Value) \
8883 ( (This)->lpVtbl -> Wait(This,pFence,Value) )
8884
8885#define ID3D12CommandQueue_GetTimestampFrequency(This,pFrequency) \
8886 ( (This)->lpVtbl -> GetTimestampFrequency(This,pFrequency) )
8887
8888#define ID3D12CommandQueue_GetClockCalibration(This,pGPUTimestamp,pCpuTimestamp) \
8889 ( (This)->lpVtbl -> GetClockCalibration(This,pGPUTimestamp,pCpuTimestamp) )
8890#if !defined(_WIN32)
8891
8892#define ID3D12CommandQueue_GetDesc(This) \
8893 ( (This)->lpVtbl -> GetDesc(This) )
8894#else
8895#define ID3D12CommandQueue_GetDesc(This,RetVal) \
8896 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
8897#endif
8898
8899#endif /* COBJMACROS */
8900
8901
8902#endif /* C style interface */
8903
8904
8905
8906
8907#endif /* __ID3D12CommandQueue_INTERFACE_DEFINED__ */
8908
8909
8910/* interface __MIDL_itf_d3d12_0000_0020 */
8911/* [local] */
8912
8913#ifdef __midl
8914#ifndef LUID_DEFINED
8915#define LUID_DEFINED 1
8916typedef struct __LUID
8917 {
8918 DWORD LowPart;
8919 LONG HighPart;
8920 } LUID;
8921
8922typedef struct __LUID *PLUID;
8923
8924#endif
8925#endif
8926
8927
8928extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_c_ifspec;
8929extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_s_ifspec;
8930
8931#ifndef __ID3D12Device_INTERFACE_DEFINED__
8932#define __ID3D12Device_INTERFACE_DEFINED__
8933
8934/* interface ID3D12Device */
8935/* [unique][local][object][uuid] */
8936
8937
8938EXTERN_C const IID IID_ID3D12Device;
8939
8940#if defined(__cplusplus) && !defined(CINTERFACE)
8941
8942 MIDL_INTERFACE("189819f1-1db6-4b57-be54-1821339b85f7")
8943 ID3D12Device : public ID3D12Object
8944 {
8945 public:
8946 virtual UINT STDMETHODCALLTYPE GetNodeCount( void) = 0;
8947
8948 virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue(
8949 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
8950 REFIID riid,
8951 _COM_Outptr_ void **ppCommandQueue) = 0;
8952
8953 virtual HRESULT STDMETHODCALLTYPE CreateCommandAllocator(
8954 _In_ D3D12_COMMAND_LIST_TYPE type,
8955 REFIID riid,
8956 _COM_Outptr_ void **ppCommandAllocator) = 0;
8957
8958 virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState(
8959 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
8960 REFIID riid,
8961 _COM_Outptr_ void **ppPipelineState) = 0;
8962
8963 virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState(
8964 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
8965 REFIID riid,
8966 _COM_Outptr_ void **ppPipelineState) = 0;
8967
8968 virtual HRESULT STDMETHODCALLTYPE CreateCommandList(
8969 _In_ UINT nodeMask,
8970 _In_ D3D12_COMMAND_LIST_TYPE type,
8971 _In_ ID3D12CommandAllocator *pCommandAllocator,
8972 _In_opt_ ID3D12PipelineState *pInitialState,
8973 REFIID riid,
8974 _COM_Outptr_ void **ppCommandList) = 0;
8975
8976 virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
8977 D3D12_FEATURE Feature,
8978 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
8979 UINT FeatureSupportDataSize) = 0;
8980
8981 virtual HRESULT STDMETHODCALLTYPE CreateDescriptorHeap(
8982 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
8983 REFIID riid,
8984 _COM_Outptr_ void **ppvHeap) = 0;
8985
8986 virtual UINT STDMETHODCALLTYPE GetDescriptorHandleIncrementSize(
8987 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) = 0;
8988
8989 virtual HRESULT STDMETHODCALLTYPE CreateRootSignature(
8990 _In_ UINT nodeMask,
8991 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
8992 _In_ SIZE_T blobLengthInBytes,
8993 REFIID riid,
8994 _COM_Outptr_ void **ppvRootSignature) = 0;
8995
8996 virtual void STDMETHODCALLTYPE CreateConstantBufferView(
8997 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
8998 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
8999
9000 virtual void STDMETHODCALLTYPE CreateShaderResourceView(
9001 _In_opt_ ID3D12Resource *pResource,
9002 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
9003 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
9004
9005 virtual void STDMETHODCALLTYPE CreateUnorderedAccessView(
9006 _In_opt_ ID3D12Resource *pResource,
9007 _In_opt_ ID3D12Resource *pCounterResource,
9008 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
9009 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
9010
9011 virtual void STDMETHODCALLTYPE CreateRenderTargetView(
9012 _In_opt_ ID3D12Resource *pResource,
9013 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
9014 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
9015
9016 virtual void STDMETHODCALLTYPE CreateDepthStencilView(
9017 _In_opt_ ID3D12Resource *pResource,
9018 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
9019 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
9020
9021 virtual void STDMETHODCALLTYPE CreateSampler(
9022 _In_ const D3D12_SAMPLER_DESC *pDesc,
9023 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
9024
9025 virtual void STDMETHODCALLTYPE CopyDescriptors(
9026 _In_ UINT NumDestDescriptorRanges,
9027 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
9028 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
9029 _In_ UINT NumSrcDescriptorRanges,
9030 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
9031 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
9032 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
9033
9034 virtual void STDMETHODCALLTYPE CopyDescriptorsSimple(
9035 _In_ UINT NumDescriptors,
9036 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
9037 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
9038 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
9039
9040#if defined(_MSC_VER) || !defined(_WIN32)
9041 virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo(
9042 _In_ UINT visibleMask,
9043 _In_ UINT numResourceDescs,
9044 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
9045#else
9046 virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo(
9047 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
9048 _In_ UINT visibleMask,
9049 _In_ UINT numResourceDescs,
9050 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
9051#endif
9052
9053#if defined(_MSC_VER) || !defined(_WIN32)
9054 virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties(
9055 _In_ UINT nodeMask,
9056 D3D12_HEAP_TYPE heapType) = 0;
9057#else
9058 virtual D3D12_HEAP_PROPERTIES *STDMETHODCALLTYPE GetCustomHeapProperties(
9059 D3D12_HEAP_PROPERTIES * RetVal,
9060 _In_ UINT nodeMask,
9061 D3D12_HEAP_TYPE heapType) = 0;
9062#endif
9063
9064 virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource(
9065 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
9066 D3D12_HEAP_FLAGS HeapFlags,
9067 _In_ const D3D12_RESOURCE_DESC *pDesc,
9068 D3D12_RESOURCE_STATES InitialResourceState,
9069 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9070 REFIID riidResource,
9071 _COM_Outptr_opt_ void **ppvResource) = 0;
9072
9073 virtual HRESULT STDMETHODCALLTYPE CreateHeap(
9074 _In_ const D3D12_HEAP_DESC *pDesc,
9075 REFIID riid,
9076 _COM_Outptr_opt_ void **ppvHeap) = 0;
9077
9078 virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource(
9079 _In_ ID3D12Heap *pHeap,
9080 UINT64 HeapOffset,
9081 _In_ const D3D12_RESOURCE_DESC *pDesc,
9082 D3D12_RESOURCE_STATES InitialState,
9083 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9084 REFIID riid,
9085 _COM_Outptr_opt_ void **ppvResource) = 0;
9086
9087 virtual HRESULT STDMETHODCALLTYPE CreateReservedResource(
9088 _In_ const D3D12_RESOURCE_DESC *pDesc,
9089 D3D12_RESOURCE_STATES InitialState,
9090 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9091 REFIID riid,
9092 _COM_Outptr_opt_ void **ppvResource) = 0;
9093
9094 virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle(
9095 _In_ ID3D12DeviceChild *pObject,
9096 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
9097 DWORD Access,
9098 _In_opt_ LPCWSTR Name,
9099 _Out_ HANDLE *pHandle) = 0;
9100
9101 virtual HRESULT STDMETHODCALLTYPE OpenSharedHandle(
9102 _In_ HANDLE NTHandle,
9103 REFIID riid,
9104 _COM_Outptr_opt_ void **ppvObj) = 0;
9105
9106 virtual HRESULT STDMETHODCALLTYPE OpenSharedHandleByName(
9107 _In_ LPCWSTR Name,
9108 DWORD Access,
9109 /* [annotation][out] */
9110 _Out_ HANDLE *pNTHandle) = 0;
9111
9112 virtual HRESULT STDMETHODCALLTYPE MakeResident(
9113 UINT NumObjects,
9114 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
9115
9116 virtual HRESULT STDMETHODCALLTYPE Evict(
9117 UINT NumObjects,
9118 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
9119
9120 virtual HRESULT STDMETHODCALLTYPE CreateFence(
9121 UINT64 InitialValue,
9122 D3D12_FENCE_FLAGS Flags,
9123 REFIID riid,
9124 _COM_Outptr_ void **ppFence) = 0;
9125
9126 virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;
9127
9128 virtual void STDMETHODCALLTYPE GetCopyableFootprints(
9129 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
9130 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
9131 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
9132 UINT64 BaseOffset,
9133 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
9134 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
9135 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
9136 _Out_opt_ UINT64 *pTotalBytes) = 0;
9137
9138 virtual HRESULT STDMETHODCALLTYPE CreateQueryHeap(
9139 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
9140 REFIID riid,
9141 _COM_Outptr_opt_ void **ppvHeap) = 0;
9142
9143 virtual HRESULT STDMETHODCALLTYPE SetStablePowerState(
9144 BOOL Enable) = 0;
9145
9146 virtual HRESULT STDMETHODCALLTYPE CreateCommandSignature(
9147 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
9148 _In_opt_ ID3D12RootSignature *pRootSignature,
9149 REFIID riid,
9150 _COM_Outptr_opt_ void **ppvCommandSignature) = 0;
9151
9152 virtual void STDMETHODCALLTYPE GetResourceTiling(
9153 _In_ ID3D12Resource *pTiledResource,
9154 _Out_opt_ UINT *pNumTilesForEntireResource,
9155 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
9156 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
9157 _Inout_opt_ UINT *pNumSubresourceTilings,
9158 _In_ UINT FirstSubresourceTilingToGet,
9159 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips) = 0;
9160
9161#if defined(_MSC_VER) || !defined(_WIN32)
9162 virtual LUID STDMETHODCALLTYPE GetAdapterLuid( void) = 0;
9163#else
9164 virtual LUID *STDMETHODCALLTYPE GetAdapterLuid(
9165 LUID * RetVal) = 0;
9166#endif
9167
9168 };
9169
9170
9171#else /* C style interface */
9172
9173 typedef struct ID3D12DeviceVtbl
9174 {
9175 BEGIN_INTERFACE
9176
9177 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
9178 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
9179 ID3D12Device * This,
9180 REFIID riid,
9181 _COM_Outptr_ void **ppvObject);
9182
9183 DECLSPEC_XFGVIRT(IUnknown, AddRef)
9184 ULONG ( STDMETHODCALLTYPE *AddRef )(
9185 ID3D12Device * This);
9186
9187 DECLSPEC_XFGVIRT(IUnknown, Release)
9188 ULONG ( STDMETHODCALLTYPE *Release )(
9189 ID3D12Device * This);
9190
9191 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
9192 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
9193 ID3D12Device * This,
9194 _In_ REFGUID guid,
9195 _Inout_ UINT *pDataSize,
9196 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
9197
9198 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
9199 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
9200 ID3D12Device * This,
9201 _In_ REFGUID guid,
9202 _In_ UINT DataSize,
9203 _In_reads_bytes_opt_( DataSize ) const void *pData);
9204
9205 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
9206 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
9207 ID3D12Device * This,
9208 _In_ REFGUID guid,
9209 _In_opt_ const IUnknown *pData);
9210
9211 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
9212 HRESULT ( STDMETHODCALLTYPE *SetName )(
9213 ID3D12Device * This,
9214 _In_z_ LPCWSTR Name);
9215
9216 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
9217 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
9218 ID3D12Device * This);
9219
9220 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
9221 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
9222 ID3D12Device * This,
9223 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
9224 REFIID riid,
9225 _COM_Outptr_ void **ppCommandQueue);
9226
9227 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
9228 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
9229 ID3D12Device * This,
9230 _In_ D3D12_COMMAND_LIST_TYPE type,
9231 REFIID riid,
9232 _COM_Outptr_ void **ppCommandAllocator);
9233
9234 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
9235 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
9236 ID3D12Device * This,
9237 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
9238 REFIID riid,
9239 _COM_Outptr_ void **ppPipelineState);
9240
9241 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
9242 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
9243 ID3D12Device * This,
9244 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
9245 REFIID riid,
9246 _COM_Outptr_ void **ppPipelineState);
9247
9248 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
9249 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
9250 ID3D12Device * This,
9251 _In_ UINT nodeMask,
9252 _In_ D3D12_COMMAND_LIST_TYPE type,
9253 _In_ ID3D12CommandAllocator *pCommandAllocator,
9254 _In_opt_ ID3D12PipelineState *pInitialState,
9255 REFIID riid,
9256 _COM_Outptr_ void **ppCommandList);
9257
9258 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
9259 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
9260 ID3D12Device * This,
9261 D3D12_FEATURE Feature,
9262 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
9263 UINT FeatureSupportDataSize);
9264
9265 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
9266 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
9267 ID3D12Device * This,
9268 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
9269 REFIID riid,
9270 _COM_Outptr_ void **ppvHeap);
9271
9272 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
9273 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
9274 ID3D12Device * This,
9275 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
9276
9277 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
9278 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
9279 ID3D12Device * This,
9280 _In_ UINT nodeMask,
9281 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
9282 _In_ SIZE_T blobLengthInBytes,
9283 REFIID riid,
9284 _COM_Outptr_ void **ppvRootSignature);
9285
9286 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
9287 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
9288 ID3D12Device * This,
9289 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
9290 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9291
9292 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
9293 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
9294 ID3D12Device * This,
9295 _In_opt_ ID3D12Resource *pResource,
9296 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
9297 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9298
9299 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
9300 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
9301 ID3D12Device * This,
9302 _In_opt_ ID3D12Resource *pResource,
9303 _In_opt_ ID3D12Resource *pCounterResource,
9304 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
9305 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9306
9307 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
9308 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
9309 ID3D12Device * This,
9310 _In_opt_ ID3D12Resource *pResource,
9311 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
9312 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9313
9314 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
9315 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
9316 ID3D12Device * This,
9317 _In_opt_ ID3D12Resource *pResource,
9318 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
9319 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9320
9321 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
9322 void ( STDMETHODCALLTYPE *CreateSampler )(
9323 ID3D12Device * This,
9324 _In_ const D3D12_SAMPLER_DESC *pDesc,
9325 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
9326
9327 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
9328 void ( STDMETHODCALLTYPE *CopyDescriptors )(
9329 ID3D12Device * This,
9330 _In_ UINT NumDestDescriptorRanges,
9331 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
9332 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
9333 _In_ UINT NumSrcDescriptorRanges,
9334 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
9335 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
9336 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
9337
9338 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
9339 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
9340 ID3D12Device * This,
9341 _In_ UINT NumDescriptors,
9342 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
9343 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
9344 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
9345
9346 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
9347#if !defined(_WIN32)
9348 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
9349 ID3D12Device * This,
9350 _In_ UINT visibleMask,
9351 _In_ UINT numResourceDescs,
9352 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
9353
9354#else
9355 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
9356 ID3D12Device * This,
9357 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
9358 _In_ UINT visibleMask,
9359 _In_ UINT numResourceDescs,
9360 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
9361
9362#endif
9363
9364 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
9365#if !defined(_WIN32)
9366 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
9367 ID3D12Device * This,
9368 _In_ UINT nodeMask,
9369 D3D12_HEAP_TYPE heapType);
9370
9371#else
9372 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
9373 ID3D12Device * This,
9374 D3D12_HEAP_PROPERTIES * RetVal,
9375 _In_ UINT nodeMask,
9376 D3D12_HEAP_TYPE heapType);
9377
9378#endif
9379
9380 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
9381 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
9382 ID3D12Device * This,
9383 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
9384 D3D12_HEAP_FLAGS HeapFlags,
9385 _In_ const D3D12_RESOURCE_DESC *pDesc,
9386 D3D12_RESOURCE_STATES InitialResourceState,
9387 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9388 REFIID riidResource,
9389 _COM_Outptr_opt_ void **ppvResource);
9390
9391 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
9392 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
9393 ID3D12Device * This,
9394 _In_ const D3D12_HEAP_DESC *pDesc,
9395 REFIID riid,
9396 _COM_Outptr_opt_ void **ppvHeap);
9397
9398 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
9399 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
9400 ID3D12Device * This,
9401 _In_ ID3D12Heap *pHeap,
9402 UINT64 HeapOffset,
9403 _In_ const D3D12_RESOURCE_DESC *pDesc,
9404 D3D12_RESOURCE_STATES InitialState,
9405 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9406 REFIID riid,
9407 _COM_Outptr_opt_ void **ppvResource);
9408
9409 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
9410 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
9411 ID3D12Device * This,
9412 _In_ const D3D12_RESOURCE_DESC *pDesc,
9413 D3D12_RESOURCE_STATES InitialState,
9414 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
9415 REFIID riid,
9416 _COM_Outptr_opt_ void **ppvResource);
9417
9418 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
9419 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
9420 ID3D12Device * This,
9421 _In_ ID3D12DeviceChild *pObject,
9422 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
9423 DWORD Access,
9424 _In_opt_ LPCWSTR Name,
9425 _Out_ HANDLE *pHandle);
9426
9427 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
9428 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
9429 ID3D12Device * This,
9430 _In_ HANDLE NTHandle,
9431 REFIID riid,
9432 _COM_Outptr_opt_ void **ppvObj);
9433
9434 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
9435 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
9436 ID3D12Device * This,
9437 _In_ LPCWSTR Name,
9438 DWORD Access,
9439 /* [annotation][out] */
9440 _Out_ HANDLE *pNTHandle);
9441
9442 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
9443 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
9444 ID3D12Device * This,
9445 UINT NumObjects,
9446 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
9447
9448 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
9449 HRESULT ( STDMETHODCALLTYPE *Evict )(
9450 ID3D12Device * This,
9451 UINT NumObjects,
9452 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
9453
9454 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
9455 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
9456 ID3D12Device * This,
9457 UINT64 InitialValue,
9458 D3D12_FENCE_FLAGS Flags,
9459 REFIID riid,
9460 _COM_Outptr_ void **ppFence);
9461
9462 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
9463 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
9464 ID3D12Device * This);
9465
9466 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
9467 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
9468 ID3D12Device * This,
9469 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
9470 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
9471 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
9472 UINT64 BaseOffset,
9473 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
9474 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
9475 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
9476 _Out_opt_ UINT64 *pTotalBytes);
9477
9478 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
9479 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
9480 ID3D12Device * This,
9481 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
9482 REFIID riid,
9483 _COM_Outptr_opt_ void **ppvHeap);
9484
9485 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
9486 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
9487 ID3D12Device * This,
9488 BOOL Enable);
9489
9490 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
9491 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
9492 ID3D12Device * This,
9493 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
9494 _In_opt_ ID3D12RootSignature *pRootSignature,
9495 REFIID riid,
9496 _COM_Outptr_opt_ void **ppvCommandSignature);
9497
9498 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
9499 void ( STDMETHODCALLTYPE *GetResourceTiling )(
9500 ID3D12Device * This,
9501 _In_ ID3D12Resource *pTiledResource,
9502 _Out_opt_ UINT *pNumTilesForEntireResource,
9503 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
9504 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
9505 _Inout_opt_ UINT *pNumSubresourceTilings,
9506 _In_ UINT FirstSubresourceTilingToGet,
9507 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
9508
9509 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
9510#if !defined(_WIN32)
9511 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
9512 ID3D12Device * This);
9513
9514#else
9515 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
9516 ID3D12Device * This,
9517 LUID * RetVal);
9518
9519#endif
9520
9521 END_INTERFACE
9522 } ID3D12DeviceVtbl;
9523
9524 interface ID3D12Device
9525 {
9526 CONST_VTBL struct ID3D12DeviceVtbl *lpVtbl;
9527 };
9528
9529
9530
9531#ifdef COBJMACROS
9532
9533
9534#define ID3D12Device_QueryInterface(This,riid,ppvObject) \
9535 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
9536
9537#define ID3D12Device_AddRef(This) \
9538 ( (This)->lpVtbl -> AddRef(This) )
9539
9540#define ID3D12Device_Release(This) \
9541 ( (This)->lpVtbl -> Release(This) )
9542
9543
9544#define ID3D12Device_GetPrivateData(This,guid,pDataSize,pData) \
9545 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
9546
9547#define ID3D12Device_SetPrivateData(This,guid,DataSize,pData) \
9548 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
9549
9550#define ID3D12Device_SetPrivateDataInterface(This,guid,pData) \
9551 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
9552
9553#define ID3D12Device_SetName(This,Name) \
9554 ( (This)->lpVtbl -> SetName(This,Name) )
9555
9556
9557#define ID3D12Device_GetNodeCount(This) \
9558 ( (This)->lpVtbl -> GetNodeCount(This) )
9559
9560#define ID3D12Device_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
9561 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
9562
9563#define ID3D12Device_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
9564 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
9565
9566#define ID3D12Device_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
9567 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
9568
9569#define ID3D12Device_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
9570 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
9571
9572#define ID3D12Device_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
9573 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
9574
9575#define ID3D12Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
9576 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
9577
9578#define ID3D12Device_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
9579 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
9580
9581#define ID3D12Device_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
9582 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
9583
9584#define ID3D12Device_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
9585 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
9586
9587#define ID3D12Device_CreateConstantBufferView(This,pDesc,DestDescriptor) \
9588 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
9589
9590#define ID3D12Device_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
9591 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
9592
9593#define ID3D12Device_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
9594 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
9595
9596#define ID3D12Device_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
9597 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
9598
9599#define ID3D12Device_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
9600 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
9601
9602#define ID3D12Device_CreateSampler(This,pDesc,DestDescriptor) \
9603 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
9604
9605#define ID3D12Device_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
9606 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
9607
9608#define ID3D12Device_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
9609 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
9610#if !defined(_WIN32)
9611
9612#define ID3D12Device_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
9613 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
9614#else
9615#define ID3D12Device_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
9616 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
9617#endif
9618#if !defined(_WIN32)
9619
9620#define ID3D12Device_GetCustomHeapProperties(This,nodeMask,heapType) \
9621 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
9622#else
9623#define ID3D12Device_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
9624 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
9625#endif
9626
9627#define ID3D12Device_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
9628 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
9629
9630#define ID3D12Device_CreateHeap(This,pDesc,riid,ppvHeap) \
9631 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
9632
9633#define ID3D12Device_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
9634 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
9635
9636#define ID3D12Device_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
9637 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
9638
9639#define ID3D12Device_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
9640 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
9641
9642#define ID3D12Device_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
9643 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
9644
9645#define ID3D12Device_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
9646 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
9647
9648#define ID3D12Device_MakeResident(This,NumObjects,ppObjects) \
9649 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
9650
9651#define ID3D12Device_Evict(This,NumObjects,ppObjects) \
9652 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
9653
9654#define ID3D12Device_CreateFence(This,InitialValue,Flags,riid,ppFence) \
9655 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
9656
9657#define ID3D12Device_GetDeviceRemovedReason(This) \
9658 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
9659
9660#define ID3D12Device_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
9661 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
9662
9663#define ID3D12Device_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
9664 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
9665
9666#define ID3D12Device_SetStablePowerState(This,Enable) \
9667 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
9668
9669#define ID3D12Device_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
9670 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
9671
9672#define ID3D12Device_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
9673 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
9674#if !defined(_WIN32)
9675
9676#define ID3D12Device_GetAdapterLuid(This) \
9677 ( (This)->lpVtbl -> GetAdapterLuid(This) )
9678#else
9679#define ID3D12Device_GetAdapterLuid(This,RetVal) \
9680 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
9681#endif
9682
9683#endif /* COBJMACROS */
9684
9685
9686#endif /* C style interface */
9687
9688
9689
9690
9691#endif /* __ID3D12Device_INTERFACE_DEFINED__ */
9692
9693
9694#ifndef __ID3D12PipelineLibrary_INTERFACE_DEFINED__
9695#define __ID3D12PipelineLibrary_INTERFACE_DEFINED__
9696
9697/* interface ID3D12PipelineLibrary */
9698/* [unique][local][object][uuid] */
9699
9700
9701EXTERN_C const IID IID_ID3D12PipelineLibrary;
9702
9703#if defined(__cplusplus) && !defined(CINTERFACE)
9704
9705 MIDL_INTERFACE("c64226a8-9201-46af-b4cc-53fb9ff7414f")
9706 ID3D12PipelineLibrary : public ID3D12DeviceChild
9707 {
9708 public:
9709 virtual HRESULT STDMETHODCALLTYPE StorePipeline(
9710 _In_opt_ LPCWSTR pName,
9711 _In_ ID3D12PipelineState *pPipeline) = 0;
9712
9713 virtual HRESULT STDMETHODCALLTYPE LoadGraphicsPipeline(
9714 _In_ LPCWSTR pName,
9715 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
9716 REFIID riid,
9717 _COM_Outptr_ void **ppPipelineState) = 0;
9718
9719 virtual HRESULT STDMETHODCALLTYPE LoadComputePipeline(
9720 _In_ LPCWSTR pName,
9721 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
9722 REFIID riid,
9723 _COM_Outptr_ void **ppPipelineState) = 0;
9724
9725 virtual SIZE_T STDMETHODCALLTYPE GetSerializedSize( void) = 0;
9726
9727 virtual HRESULT STDMETHODCALLTYPE Serialize(
9728 _Out_writes_(DataSizeInBytes) void *pData,
9729 SIZE_T DataSizeInBytes) = 0;
9730
9731 };
9732
9733
9734#else /* C style interface */
9735
9736 typedef struct ID3D12PipelineLibraryVtbl
9737 {
9738 BEGIN_INTERFACE
9739
9740 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
9741 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
9742 ID3D12PipelineLibrary * This,
9743 REFIID riid,
9744 _COM_Outptr_ void **ppvObject);
9745
9746 DECLSPEC_XFGVIRT(IUnknown, AddRef)
9747 ULONG ( STDMETHODCALLTYPE *AddRef )(
9748 ID3D12PipelineLibrary * This);
9749
9750 DECLSPEC_XFGVIRT(IUnknown, Release)
9751 ULONG ( STDMETHODCALLTYPE *Release )(
9752 ID3D12PipelineLibrary * This);
9753
9754 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
9755 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
9756 ID3D12PipelineLibrary * This,
9757 _In_ REFGUID guid,
9758 _Inout_ UINT *pDataSize,
9759 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
9760
9761 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
9762 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
9763 ID3D12PipelineLibrary * This,
9764 _In_ REFGUID guid,
9765 _In_ UINT DataSize,
9766 _In_reads_bytes_opt_( DataSize ) const void *pData);
9767
9768 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
9769 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
9770 ID3D12PipelineLibrary * This,
9771 _In_ REFGUID guid,
9772 _In_opt_ const IUnknown *pData);
9773
9774 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
9775 HRESULT ( STDMETHODCALLTYPE *SetName )(
9776 ID3D12PipelineLibrary * This,
9777 _In_z_ LPCWSTR Name);
9778
9779 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
9780 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
9781 ID3D12PipelineLibrary * This,
9782 REFIID riid,
9783 _COM_Outptr_opt_ void **ppvDevice);
9784
9785 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, StorePipeline)
9786 HRESULT ( STDMETHODCALLTYPE *StorePipeline )(
9787 ID3D12PipelineLibrary * This,
9788 _In_opt_ LPCWSTR pName,
9789 _In_ ID3D12PipelineState *pPipeline);
9790
9791 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadGraphicsPipeline)
9792 HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )(
9793 ID3D12PipelineLibrary * This,
9794 _In_ LPCWSTR pName,
9795 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
9796 REFIID riid,
9797 _COM_Outptr_ void **ppPipelineState);
9798
9799 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadComputePipeline)
9800 HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )(
9801 ID3D12PipelineLibrary * This,
9802 _In_ LPCWSTR pName,
9803 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
9804 REFIID riid,
9805 _COM_Outptr_ void **ppPipelineState);
9806
9807 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, GetSerializedSize)
9808 SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )(
9809 ID3D12PipelineLibrary * This);
9810
9811 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, Serialize)
9812 HRESULT ( STDMETHODCALLTYPE *Serialize )(
9813 ID3D12PipelineLibrary * This,
9814 _Out_writes_(DataSizeInBytes) void *pData,
9815 SIZE_T DataSizeInBytes);
9816
9817 END_INTERFACE
9818 } ID3D12PipelineLibraryVtbl;
9819
9820 interface ID3D12PipelineLibrary
9821 {
9822 CONST_VTBL struct ID3D12PipelineLibraryVtbl *lpVtbl;
9823 };
9824
9825
9826
9827#ifdef COBJMACROS
9828
9829
9830#define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject) \
9831 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
9832
9833#define ID3D12PipelineLibrary_AddRef(This) \
9834 ( (This)->lpVtbl -> AddRef(This) )
9835
9836#define ID3D12PipelineLibrary_Release(This) \
9837 ( (This)->lpVtbl -> Release(This) )
9838
9839
9840#define ID3D12PipelineLibrary_GetPrivateData(This,guid,pDataSize,pData) \
9841 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
9842
9843#define ID3D12PipelineLibrary_SetPrivateData(This,guid,DataSize,pData) \
9844 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
9845
9846#define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,pData) \
9847 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
9848
9849#define ID3D12PipelineLibrary_SetName(This,Name) \
9850 ( (This)->lpVtbl -> SetName(This,Name) )
9851
9852
9853#define ID3D12PipelineLibrary_GetDevice(This,riid,ppvDevice) \
9854 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
9855
9856
9857#define ID3D12PipelineLibrary_StorePipeline(This,pName,pPipeline) \
9858 ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) )
9859
9860#define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \
9861 ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) )
9862
9863#define ID3D12PipelineLibrary_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \
9864 ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) )
9865
9866#define ID3D12PipelineLibrary_GetSerializedSize(This) \
9867 ( (This)->lpVtbl -> GetSerializedSize(This) )
9868
9869#define ID3D12PipelineLibrary_Serialize(This,pData,DataSizeInBytes) \
9870 ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) )
9871
9872#endif /* COBJMACROS */
9873
9874
9875#endif /* C style interface */
9876
9877
9878
9879
9880#endif /* __ID3D12PipelineLibrary_INTERFACE_DEFINED__ */
9881
9882
9883#ifndef __ID3D12PipelineLibrary1_INTERFACE_DEFINED__
9884#define __ID3D12PipelineLibrary1_INTERFACE_DEFINED__
9885
9886/* interface ID3D12PipelineLibrary1 */
9887/* [unique][local][object][uuid] */
9888
9889
9890EXTERN_C const IID IID_ID3D12PipelineLibrary1;
9891
9892#if defined(__cplusplus) && !defined(CINTERFACE)
9893
9894 MIDL_INTERFACE("80eabf42-2568-4e5e-bd82-c37f86961dc3")
9895 ID3D12PipelineLibrary1 : public ID3D12PipelineLibrary
9896 {
9897 public:
9898 virtual HRESULT STDMETHODCALLTYPE LoadPipeline(
9899 _In_ LPCWSTR pName,
9900 _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
9901 REFIID riid,
9902 _COM_Outptr_ void **ppPipelineState) = 0;
9903
9904 };
9905
9906
9907#else /* C style interface */
9908
9909 typedef struct ID3D12PipelineLibrary1Vtbl
9910 {
9911 BEGIN_INTERFACE
9912
9913 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
9914 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
9915 ID3D12PipelineLibrary1 * This,
9916 REFIID riid,
9917 _COM_Outptr_ void **ppvObject);
9918
9919 DECLSPEC_XFGVIRT(IUnknown, AddRef)
9920 ULONG ( STDMETHODCALLTYPE *AddRef )(
9921 ID3D12PipelineLibrary1 * This);
9922
9923 DECLSPEC_XFGVIRT(IUnknown, Release)
9924 ULONG ( STDMETHODCALLTYPE *Release )(
9925 ID3D12PipelineLibrary1 * This);
9926
9927 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
9928 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
9929 ID3D12PipelineLibrary1 * This,
9930 _In_ REFGUID guid,
9931 _Inout_ UINT *pDataSize,
9932 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
9933
9934 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
9935 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
9936 ID3D12PipelineLibrary1 * This,
9937 _In_ REFGUID guid,
9938 _In_ UINT DataSize,
9939 _In_reads_bytes_opt_( DataSize ) const void *pData);
9940
9941 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
9942 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
9943 ID3D12PipelineLibrary1 * This,
9944 _In_ REFGUID guid,
9945 _In_opt_ const IUnknown *pData);
9946
9947 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
9948 HRESULT ( STDMETHODCALLTYPE *SetName )(
9949 ID3D12PipelineLibrary1 * This,
9950 _In_z_ LPCWSTR Name);
9951
9952 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
9953 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
9954 ID3D12PipelineLibrary1 * This,
9955 REFIID riid,
9956 _COM_Outptr_opt_ void **ppvDevice);
9957
9958 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, StorePipeline)
9959 HRESULT ( STDMETHODCALLTYPE *StorePipeline )(
9960 ID3D12PipelineLibrary1 * This,
9961 _In_opt_ LPCWSTR pName,
9962 _In_ ID3D12PipelineState *pPipeline);
9963
9964 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadGraphicsPipeline)
9965 HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )(
9966 ID3D12PipelineLibrary1 * This,
9967 _In_ LPCWSTR pName,
9968 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
9969 REFIID riid,
9970 _COM_Outptr_ void **ppPipelineState);
9971
9972 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadComputePipeline)
9973 HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )(
9974 ID3D12PipelineLibrary1 * This,
9975 _In_ LPCWSTR pName,
9976 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
9977 REFIID riid,
9978 _COM_Outptr_ void **ppPipelineState);
9979
9980 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, GetSerializedSize)
9981 SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )(
9982 ID3D12PipelineLibrary1 * This);
9983
9984 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, Serialize)
9985 HRESULT ( STDMETHODCALLTYPE *Serialize )(
9986 ID3D12PipelineLibrary1 * This,
9987 _Out_writes_(DataSizeInBytes) void *pData,
9988 SIZE_T DataSizeInBytes);
9989
9990 DECLSPEC_XFGVIRT(ID3D12PipelineLibrary1, LoadPipeline)
9991 HRESULT ( STDMETHODCALLTYPE *LoadPipeline )(
9992 ID3D12PipelineLibrary1 * This,
9993 _In_ LPCWSTR pName,
9994 _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
9995 REFIID riid,
9996 _COM_Outptr_ void **ppPipelineState);
9997
9998 END_INTERFACE
9999 } ID3D12PipelineLibrary1Vtbl;
10000
10001 interface ID3D12PipelineLibrary1
10002 {
10003 CONST_VTBL struct ID3D12PipelineLibrary1Vtbl *lpVtbl;
10004 };
10005
10006
10007
10008#ifdef COBJMACROS
10009
10010
10011#define ID3D12PipelineLibrary1_QueryInterface(This,riid,ppvObject) \
10012 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
10013
10014#define ID3D12PipelineLibrary1_AddRef(This) \
10015 ( (This)->lpVtbl -> AddRef(This) )
10016
10017#define ID3D12PipelineLibrary1_Release(This) \
10018 ( (This)->lpVtbl -> Release(This) )
10019
10020
10021#define ID3D12PipelineLibrary1_GetPrivateData(This,guid,pDataSize,pData) \
10022 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
10023
10024#define ID3D12PipelineLibrary1_SetPrivateData(This,guid,DataSize,pData) \
10025 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
10026
10027#define ID3D12PipelineLibrary1_SetPrivateDataInterface(This,guid,pData) \
10028 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
10029
10030#define ID3D12PipelineLibrary1_SetName(This,Name) \
10031 ( (This)->lpVtbl -> SetName(This,Name) )
10032
10033
10034#define ID3D12PipelineLibrary1_GetDevice(This,riid,ppvDevice) \
10035 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
10036
10037
10038#define ID3D12PipelineLibrary1_StorePipeline(This,pName,pPipeline) \
10039 ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) )
10040
10041#define ID3D12PipelineLibrary1_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \
10042 ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) )
10043
10044#define ID3D12PipelineLibrary1_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \
10045 ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) )
10046
10047#define ID3D12PipelineLibrary1_GetSerializedSize(This) \
10048 ( (This)->lpVtbl -> GetSerializedSize(This) )
10049
10050#define ID3D12PipelineLibrary1_Serialize(This,pData,DataSizeInBytes) \
10051 ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) )
10052
10053
10054#define ID3D12PipelineLibrary1_LoadPipeline(This,pName,pDesc,riid,ppPipelineState) \
10055 ( (This)->lpVtbl -> LoadPipeline(This,pName,pDesc,riid,ppPipelineState) )
10056
10057#endif /* COBJMACROS */
10058
10059
10060#endif /* C style interface */
10061
10062
10063
10064
10065#endif /* __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ */
10066
10067
10068/* interface __MIDL_itf_d3d12_0000_0023 */
10069/* [local] */
10070
10071typedef
10072enum D3D12_MULTIPLE_FENCE_WAIT_FLAGS
10073 {
10074 D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0,
10075 D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1,
10076 D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0
10077 } D3D12_MULTIPLE_FENCE_WAIT_FLAGS;
10078
10079DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTIPLE_FENCE_WAIT_FLAGS )
10080typedef
10081enum D3D12_RESIDENCY_PRIORITY
10082 {
10083 D3D12_RESIDENCY_PRIORITY_MINIMUM = 0x28000000,
10084 D3D12_RESIDENCY_PRIORITY_LOW = 0x50000000,
10085 D3D12_RESIDENCY_PRIORITY_NORMAL = 0x78000000,
10086 D3D12_RESIDENCY_PRIORITY_HIGH = 0xa0010000,
10087 D3D12_RESIDENCY_PRIORITY_MAXIMUM = 0xc8000000
10088 } D3D12_RESIDENCY_PRIORITY;
10089
10090
10091
10092extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0023_v0_0_c_ifspec;
10093extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0023_v0_0_s_ifspec;
10094
10095#ifndef __ID3D12Device1_INTERFACE_DEFINED__
10096#define __ID3D12Device1_INTERFACE_DEFINED__
10097
10098/* interface ID3D12Device1 */
10099/* [unique][local][object][uuid] */
10100
10101
10102EXTERN_C const IID IID_ID3D12Device1;
10103
10104#if defined(__cplusplus) && !defined(CINTERFACE)
10105
10106 MIDL_INTERFACE("77acce80-638e-4e65-8895-c1f23386863e")
10107 ID3D12Device1 : public ID3D12Device
10108 {
10109 public:
10110 virtual HRESULT STDMETHODCALLTYPE CreatePipelineLibrary(
10111 _In_reads_(BlobLength) const void *pLibraryBlob,
10112 SIZE_T BlobLength,
10113 REFIID riid,
10114 _COM_Outptr_ void **ppPipelineLibrary) = 0;
10115
10116 virtual HRESULT STDMETHODCALLTYPE SetEventOnMultipleFenceCompletion(
10117 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
10118 _In_reads_(NumFences) const UINT64 *pFenceValues,
10119 UINT NumFences,
10120 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
10121 HANDLE hEvent) = 0;
10122
10123 virtual HRESULT STDMETHODCALLTYPE SetResidencyPriority(
10124 UINT NumObjects,
10125 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
10126 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities) = 0;
10127
10128 };
10129
10130
10131#else /* C style interface */
10132
10133 typedef struct ID3D12Device1Vtbl
10134 {
10135 BEGIN_INTERFACE
10136
10137 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
10138 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
10139 ID3D12Device1 * This,
10140 REFIID riid,
10141 _COM_Outptr_ void **ppvObject);
10142
10143 DECLSPEC_XFGVIRT(IUnknown, AddRef)
10144 ULONG ( STDMETHODCALLTYPE *AddRef )(
10145 ID3D12Device1 * This);
10146
10147 DECLSPEC_XFGVIRT(IUnknown, Release)
10148 ULONG ( STDMETHODCALLTYPE *Release )(
10149 ID3D12Device1 * This);
10150
10151 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
10152 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
10153 ID3D12Device1 * This,
10154 _In_ REFGUID guid,
10155 _Inout_ UINT *pDataSize,
10156 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
10157
10158 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
10159 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
10160 ID3D12Device1 * This,
10161 _In_ REFGUID guid,
10162 _In_ UINT DataSize,
10163 _In_reads_bytes_opt_( DataSize ) const void *pData);
10164
10165 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
10166 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
10167 ID3D12Device1 * This,
10168 _In_ REFGUID guid,
10169 _In_opt_ const IUnknown *pData);
10170
10171 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
10172 HRESULT ( STDMETHODCALLTYPE *SetName )(
10173 ID3D12Device1 * This,
10174 _In_z_ LPCWSTR Name);
10175
10176 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
10177 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
10178 ID3D12Device1 * This);
10179
10180 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
10181 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
10182 ID3D12Device1 * This,
10183 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
10184 REFIID riid,
10185 _COM_Outptr_ void **ppCommandQueue);
10186
10187 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
10188 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
10189 ID3D12Device1 * This,
10190 _In_ D3D12_COMMAND_LIST_TYPE type,
10191 REFIID riid,
10192 _COM_Outptr_ void **ppCommandAllocator);
10193
10194 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
10195 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
10196 ID3D12Device1 * This,
10197 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
10198 REFIID riid,
10199 _COM_Outptr_ void **ppPipelineState);
10200
10201 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
10202 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
10203 ID3D12Device1 * This,
10204 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
10205 REFIID riid,
10206 _COM_Outptr_ void **ppPipelineState);
10207
10208 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
10209 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
10210 ID3D12Device1 * This,
10211 _In_ UINT nodeMask,
10212 _In_ D3D12_COMMAND_LIST_TYPE type,
10213 _In_ ID3D12CommandAllocator *pCommandAllocator,
10214 _In_opt_ ID3D12PipelineState *pInitialState,
10215 REFIID riid,
10216 _COM_Outptr_ void **ppCommandList);
10217
10218 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
10219 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
10220 ID3D12Device1 * This,
10221 D3D12_FEATURE Feature,
10222 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
10223 UINT FeatureSupportDataSize);
10224
10225 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
10226 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
10227 ID3D12Device1 * This,
10228 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
10229 REFIID riid,
10230 _COM_Outptr_ void **ppvHeap);
10231
10232 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
10233 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
10234 ID3D12Device1 * This,
10235 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
10236
10237 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
10238 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
10239 ID3D12Device1 * This,
10240 _In_ UINT nodeMask,
10241 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
10242 _In_ SIZE_T blobLengthInBytes,
10243 REFIID riid,
10244 _COM_Outptr_ void **ppvRootSignature);
10245
10246 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
10247 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
10248 ID3D12Device1 * This,
10249 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
10250 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10251
10252 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
10253 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
10254 ID3D12Device1 * This,
10255 _In_opt_ ID3D12Resource *pResource,
10256 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
10257 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10258
10259 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
10260 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
10261 ID3D12Device1 * This,
10262 _In_opt_ ID3D12Resource *pResource,
10263 _In_opt_ ID3D12Resource *pCounterResource,
10264 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
10265 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10266
10267 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
10268 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
10269 ID3D12Device1 * This,
10270 _In_opt_ ID3D12Resource *pResource,
10271 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
10272 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10273
10274 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
10275 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
10276 ID3D12Device1 * This,
10277 _In_opt_ ID3D12Resource *pResource,
10278 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
10279 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10280
10281 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
10282 void ( STDMETHODCALLTYPE *CreateSampler )(
10283 ID3D12Device1 * This,
10284 _In_ const D3D12_SAMPLER_DESC *pDesc,
10285 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10286
10287 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
10288 void ( STDMETHODCALLTYPE *CopyDescriptors )(
10289 ID3D12Device1 * This,
10290 _In_ UINT NumDestDescriptorRanges,
10291 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
10292 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
10293 _In_ UINT NumSrcDescriptorRanges,
10294 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
10295 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
10296 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
10297
10298 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
10299 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
10300 ID3D12Device1 * This,
10301 _In_ UINT NumDescriptors,
10302 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
10303 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
10304 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
10305
10306 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
10307#if !defined(_WIN32)
10308 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
10309 ID3D12Device1 * This,
10310 _In_ UINT visibleMask,
10311 _In_ UINT numResourceDescs,
10312 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
10313
10314#else
10315 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
10316 ID3D12Device1 * This,
10317 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
10318 _In_ UINT visibleMask,
10319 _In_ UINT numResourceDescs,
10320 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
10321
10322#endif
10323
10324 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
10325#if !defined(_WIN32)
10326 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
10327 ID3D12Device1 * This,
10328 _In_ UINT nodeMask,
10329 D3D12_HEAP_TYPE heapType);
10330
10331#else
10332 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
10333 ID3D12Device1 * This,
10334 D3D12_HEAP_PROPERTIES * RetVal,
10335 _In_ UINT nodeMask,
10336 D3D12_HEAP_TYPE heapType);
10337
10338#endif
10339
10340 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
10341 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
10342 ID3D12Device1 * This,
10343 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
10344 D3D12_HEAP_FLAGS HeapFlags,
10345 _In_ const D3D12_RESOURCE_DESC *pDesc,
10346 D3D12_RESOURCE_STATES InitialResourceState,
10347 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
10348 REFIID riidResource,
10349 _COM_Outptr_opt_ void **ppvResource);
10350
10351 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
10352 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
10353 ID3D12Device1 * This,
10354 _In_ const D3D12_HEAP_DESC *pDesc,
10355 REFIID riid,
10356 _COM_Outptr_opt_ void **ppvHeap);
10357
10358 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
10359 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
10360 ID3D12Device1 * This,
10361 _In_ ID3D12Heap *pHeap,
10362 UINT64 HeapOffset,
10363 _In_ const D3D12_RESOURCE_DESC *pDesc,
10364 D3D12_RESOURCE_STATES InitialState,
10365 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
10366 REFIID riid,
10367 _COM_Outptr_opt_ void **ppvResource);
10368
10369 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
10370 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
10371 ID3D12Device1 * This,
10372 _In_ const D3D12_RESOURCE_DESC *pDesc,
10373 D3D12_RESOURCE_STATES InitialState,
10374 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
10375 REFIID riid,
10376 _COM_Outptr_opt_ void **ppvResource);
10377
10378 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
10379 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
10380 ID3D12Device1 * This,
10381 _In_ ID3D12DeviceChild *pObject,
10382 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
10383 DWORD Access,
10384 _In_opt_ LPCWSTR Name,
10385 _Out_ HANDLE *pHandle);
10386
10387 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
10388 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
10389 ID3D12Device1 * This,
10390 _In_ HANDLE NTHandle,
10391 REFIID riid,
10392 _COM_Outptr_opt_ void **ppvObj);
10393
10394 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
10395 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
10396 ID3D12Device1 * This,
10397 _In_ LPCWSTR Name,
10398 DWORD Access,
10399 /* [annotation][out] */
10400 _Out_ HANDLE *pNTHandle);
10401
10402 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
10403 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
10404 ID3D12Device1 * This,
10405 UINT NumObjects,
10406 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
10407
10408 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
10409 HRESULT ( STDMETHODCALLTYPE *Evict )(
10410 ID3D12Device1 * This,
10411 UINT NumObjects,
10412 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
10413
10414 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
10415 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
10416 ID3D12Device1 * This,
10417 UINT64 InitialValue,
10418 D3D12_FENCE_FLAGS Flags,
10419 REFIID riid,
10420 _COM_Outptr_ void **ppFence);
10421
10422 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
10423 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
10424 ID3D12Device1 * This);
10425
10426 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
10427 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
10428 ID3D12Device1 * This,
10429 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
10430 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
10431 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
10432 UINT64 BaseOffset,
10433 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
10434 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
10435 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
10436 _Out_opt_ UINT64 *pTotalBytes);
10437
10438 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
10439 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
10440 ID3D12Device1 * This,
10441 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
10442 REFIID riid,
10443 _COM_Outptr_opt_ void **ppvHeap);
10444
10445 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
10446 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
10447 ID3D12Device1 * This,
10448 BOOL Enable);
10449
10450 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
10451 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
10452 ID3D12Device1 * This,
10453 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
10454 _In_opt_ ID3D12RootSignature *pRootSignature,
10455 REFIID riid,
10456 _COM_Outptr_opt_ void **ppvCommandSignature);
10457
10458 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
10459 void ( STDMETHODCALLTYPE *GetResourceTiling )(
10460 ID3D12Device1 * This,
10461 _In_ ID3D12Resource *pTiledResource,
10462 _Out_opt_ UINT *pNumTilesForEntireResource,
10463 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
10464 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
10465 _Inout_opt_ UINT *pNumSubresourceTilings,
10466 _In_ UINT FirstSubresourceTilingToGet,
10467 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
10468
10469 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
10470#if !defined(_WIN32)
10471 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
10472 ID3D12Device1 * This);
10473
10474#else
10475 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
10476 ID3D12Device1 * This,
10477 LUID * RetVal);
10478
10479#endif
10480
10481 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
10482 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
10483 ID3D12Device1 * This,
10484 _In_reads_(BlobLength) const void *pLibraryBlob,
10485 SIZE_T BlobLength,
10486 REFIID riid,
10487 _COM_Outptr_ void **ppPipelineLibrary);
10488
10489 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
10490 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
10491 ID3D12Device1 * This,
10492 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
10493 _In_reads_(NumFences) const UINT64 *pFenceValues,
10494 UINT NumFences,
10495 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
10496 HANDLE hEvent);
10497
10498 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
10499 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
10500 ID3D12Device1 * This,
10501 UINT NumObjects,
10502 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
10503 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
10504
10505 END_INTERFACE
10506 } ID3D12Device1Vtbl;
10507
10508 interface ID3D12Device1
10509 {
10510 CONST_VTBL struct ID3D12Device1Vtbl *lpVtbl;
10511 };
10512
10513
10514
10515#ifdef COBJMACROS
10516
10517
10518#define ID3D12Device1_QueryInterface(This,riid,ppvObject) \
10519 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
10520
10521#define ID3D12Device1_AddRef(This) \
10522 ( (This)->lpVtbl -> AddRef(This) )
10523
10524#define ID3D12Device1_Release(This) \
10525 ( (This)->lpVtbl -> Release(This) )
10526
10527
10528#define ID3D12Device1_GetPrivateData(This,guid,pDataSize,pData) \
10529 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
10530
10531#define ID3D12Device1_SetPrivateData(This,guid,DataSize,pData) \
10532 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
10533
10534#define ID3D12Device1_SetPrivateDataInterface(This,guid,pData) \
10535 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
10536
10537#define ID3D12Device1_SetName(This,Name) \
10538 ( (This)->lpVtbl -> SetName(This,Name) )
10539
10540
10541#define ID3D12Device1_GetNodeCount(This) \
10542 ( (This)->lpVtbl -> GetNodeCount(This) )
10543
10544#define ID3D12Device1_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
10545 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
10546
10547#define ID3D12Device1_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
10548 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
10549
10550#define ID3D12Device1_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
10551 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
10552
10553#define ID3D12Device1_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
10554 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
10555
10556#define ID3D12Device1_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
10557 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
10558
10559#define ID3D12Device1_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
10560 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
10561
10562#define ID3D12Device1_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
10563 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
10564
10565#define ID3D12Device1_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
10566 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
10567
10568#define ID3D12Device1_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
10569 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
10570
10571#define ID3D12Device1_CreateConstantBufferView(This,pDesc,DestDescriptor) \
10572 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
10573
10574#define ID3D12Device1_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
10575 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
10576
10577#define ID3D12Device1_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
10578 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
10579
10580#define ID3D12Device1_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
10581 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
10582
10583#define ID3D12Device1_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
10584 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
10585
10586#define ID3D12Device1_CreateSampler(This,pDesc,DestDescriptor) \
10587 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
10588
10589#define ID3D12Device1_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
10590 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
10591
10592#define ID3D12Device1_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
10593 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
10594#if !defined(_WIN32)
10595
10596#define ID3D12Device1_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
10597 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
10598#else
10599#define ID3D12Device1_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
10600 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
10601#endif
10602#if !defined(_WIN32)
10603
10604#define ID3D12Device1_GetCustomHeapProperties(This,nodeMask,heapType) \
10605 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
10606#else
10607#define ID3D12Device1_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
10608 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
10609#endif
10610
10611#define ID3D12Device1_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
10612 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
10613
10614#define ID3D12Device1_CreateHeap(This,pDesc,riid,ppvHeap) \
10615 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
10616
10617#define ID3D12Device1_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
10618 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
10619
10620#define ID3D12Device1_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
10621 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
10622
10623#define ID3D12Device1_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
10624 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
10625
10626#define ID3D12Device1_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
10627 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
10628
10629#define ID3D12Device1_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
10630 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
10631
10632#define ID3D12Device1_MakeResident(This,NumObjects,ppObjects) \
10633 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
10634
10635#define ID3D12Device1_Evict(This,NumObjects,ppObjects) \
10636 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
10637
10638#define ID3D12Device1_CreateFence(This,InitialValue,Flags,riid,ppFence) \
10639 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
10640
10641#define ID3D12Device1_GetDeviceRemovedReason(This) \
10642 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
10643
10644#define ID3D12Device1_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
10645 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
10646
10647#define ID3D12Device1_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
10648 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
10649
10650#define ID3D12Device1_SetStablePowerState(This,Enable) \
10651 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
10652
10653#define ID3D12Device1_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
10654 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
10655
10656#define ID3D12Device1_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
10657 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
10658#if !defined(_WIN32)
10659
10660#define ID3D12Device1_GetAdapterLuid(This) \
10661 ( (This)->lpVtbl -> GetAdapterLuid(This) )
10662#else
10663#define ID3D12Device1_GetAdapterLuid(This,RetVal) \
10664 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
10665#endif
10666
10667
10668#define ID3D12Device1_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
10669 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
10670
10671#define ID3D12Device1_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
10672 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
10673
10674#define ID3D12Device1_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
10675 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
10676
10677#endif /* COBJMACROS */
10678
10679
10680#endif /* C style interface */
10681
10682
10683
10684
10685#endif /* __ID3D12Device1_INTERFACE_DEFINED__ */
10686
10687
10688#ifndef __ID3D12Device2_INTERFACE_DEFINED__
10689#define __ID3D12Device2_INTERFACE_DEFINED__
10690
10691/* interface ID3D12Device2 */
10692/* [unique][local][object][uuid] */
10693
10694
10695EXTERN_C const IID IID_ID3D12Device2;
10696
10697#if defined(__cplusplus) && !defined(CINTERFACE)
10698
10699 MIDL_INTERFACE("30baa41e-b15b-475c-a0bb-1af5c5b64328")
10700 ID3D12Device2 : public ID3D12Device1
10701 {
10702 public:
10703 virtual HRESULT STDMETHODCALLTYPE CreatePipelineState(
10704 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
10705 REFIID riid,
10706 _COM_Outptr_ void **ppPipelineState) = 0;
10707
10708 };
10709
10710
10711#else /* C style interface */
10712
10713 typedef struct ID3D12Device2Vtbl
10714 {
10715 BEGIN_INTERFACE
10716
10717 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
10718 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
10719 ID3D12Device2 * This,
10720 REFIID riid,
10721 _COM_Outptr_ void **ppvObject);
10722
10723 DECLSPEC_XFGVIRT(IUnknown, AddRef)
10724 ULONG ( STDMETHODCALLTYPE *AddRef )(
10725 ID3D12Device2 * This);
10726
10727 DECLSPEC_XFGVIRT(IUnknown, Release)
10728 ULONG ( STDMETHODCALLTYPE *Release )(
10729 ID3D12Device2 * This);
10730
10731 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
10732 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
10733 ID3D12Device2 * This,
10734 _In_ REFGUID guid,
10735 _Inout_ UINT *pDataSize,
10736 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
10737
10738 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
10739 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
10740 ID3D12Device2 * This,
10741 _In_ REFGUID guid,
10742 _In_ UINT DataSize,
10743 _In_reads_bytes_opt_( DataSize ) const void *pData);
10744
10745 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
10746 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
10747 ID3D12Device2 * This,
10748 _In_ REFGUID guid,
10749 _In_opt_ const IUnknown *pData);
10750
10751 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
10752 HRESULT ( STDMETHODCALLTYPE *SetName )(
10753 ID3D12Device2 * This,
10754 _In_z_ LPCWSTR Name);
10755
10756 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
10757 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
10758 ID3D12Device2 * This);
10759
10760 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
10761 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
10762 ID3D12Device2 * This,
10763 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
10764 REFIID riid,
10765 _COM_Outptr_ void **ppCommandQueue);
10766
10767 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
10768 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
10769 ID3D12Device2 * This,
10770 _In_ D3D12_COMMAND_LIST_TYPE type,
10771 REFIID riid,
10772 _COM_Outptr_ void **ppCommandAllocator);
10773
10774 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
10775 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
10776 ID3D12Device2 * This,
10777 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
10778 REFIID riid,
10779 _COM_Outptr_ void **ppPipelineState);
10780
10781 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
10782 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
10783 ID3D12Device2 * This,
10784 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
10785 REFIID riid,
10786 _COM_Outptr_ void **ppPipelineState);
10787
10788 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
10789 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
10790 ID3D12Device2 * This,
10791 _In_ UINT nodeMask,
10792 _In_ D3D12_COMMAND_LIST_TYPE type,
10793 _In_ ID3D12CommandAllocator *pCommandAllocator,
10794 _In_opt_ ID3D12PipelineState *pInitialState,
10795 REFIID riid,
10796 _COM_Outptr_ void **ppCommandList);
10797
10798 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
10799 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
10800 ID3D12Device2 * This,
10801 D3D12_FEATURE Feature,
10802 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
10803 UINT FeatureSupportDataSize);
10804
10805 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
10806 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
10807 ID3D12Device2 * This,
10808 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
10809 REFIID riid,
10810 _COM_Outptr_ void **ppvHeap);
10811
10812 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
10813 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
10814 ID3D12Device2 * This,
10815 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
10816
10817 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
10818 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
10819 ID3D12Device2 * This,
10820 _In_ UINT nodeMask,
10821 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
10822 _In_ SIZE_T blobLengthInBytes,
10823 REFIID riid,
10824 _COM_Outptr_ void **ppvRootSignature);
10825
10826 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
10827 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
10828 ID3D12Device2 * This,
10829 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
10830 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10831
10832 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
10833 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
10834 ID3D12Device2 * This,
10835 _In_opt_ ID3D12Resource *pResource,
10836 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
10837 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10838
10839 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
10840 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
10841 ID3D12Device2 * This,
10842 _In_opt_ ID3D12Resource *pResource,
10843 _In_opt_ ID3D12Resource *pCounterResource,
10844 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
10845 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10846
10847 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
10848 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
10849 ID3D12Device2 * This,
10850 _In_opt_ ID3D12Resource *pResource,
10851 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
10852 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10853
10854 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
10855 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
10856 ID3D12Device2 * This,
10857 _In_opt_ ID3D12Resource *pResource,
10858 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
10859 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10860
10861 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
10862 void ( STDMETHODCALLTYPE *CreateSampler )(
10863 ID3D12Device2 * This,
10864 _In_ const D3D12_SAMPLER_DESC *pDesc,
10865 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
10866
10867 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
10868 void ( STDMETHODCALLTYPE *CopyDescriptors )(
10869 ID3D12Device2 * This,
10870 _In_ UINT NumDestDescriptorRanges,
10871 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
10872 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
10873 _In_ UINT NumSrcDescriptorRanges,
10874 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
10875 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
10876 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
10877
10878 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
10879 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
10880 ID3D12Device2 * This,
10881 _In_ UINT NumDescriptors,
10882 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
10883 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
10884 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
10885
10886 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
10887#if !defined(_WIN32)
10888 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
10889 ID3D12Device2 * This,
10890 _In_ UINT visibleMask,
10891 _In_ UINT numResourceDescs,
10892 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
10893
10894#else
10895 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
10896 ID3D12Device2 * This,
10897 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
10898 _In_ UINT visibleMask,
10899 _In_ UINT numResourceDescs,
10900 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
10901
10902#endif
10903
10904 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
10905#if !defined(_WIN32)
10906 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
10907 ID3D12Device2 * This,
10908 _In_ UINT nodeMask,
10909 D3D12_HEAP_TYPE heapType);
10910
10911#else
10912 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
10913 ID3D12Device2 * This,
10914 D3D12_HEAP_PROPERTIES * RetVal,
10915 _In_ UINT nodeMask,
10916 D3D12_HEAP_TYPE heapType);
10917
10918#endif
10919
10920 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
10921 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
10922 ID3D12Device2 * This,
10923 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
10924 D3D12_HEAP_FLAGS HeapFlags,
10925 _In_ const D3D12_RESOURCE_DESC *pDesc,
10926 D3D12_RESOURCE_STATES InitialResourceState,
10927 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
10928 REFIID riidResource,
10929 _COM_Outptr_opt_ void **ppvResource);
10930
10931 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
10932 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
10933 ID3D12Device2 * This,
10934 _In_ const D3D12_HEAP_DESC *pDesc,
10935 REFIID riid,
10936 _COM_Outptr_opt_ void **ppvHeap);
10937
10938 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
10939 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
10940 ID3D12Device2 * This,
10941 _In_ ID3D12Heap *pHeap,
10942 UINT64 HeapOffset,
10943 _In_ const D3D12_RESOURCE_DESC *pDesc,
10944 D3D12_RESOURCE_STATES InitialState,
10945 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
10946 REFIID riid,
10947 _COM_Outptr_opt_ void **ppvResource);
10948
10949 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
10950 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
10951 ID3D12Device2 * This,
10952 _In_ const D3D12_RESOURCE_DESC *pDesc,
10953 D3D12_RESOURCE_STATES InitialState,
10954 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
10955 REFIID riid,
10956 _COM_Outptr_opt_ void **ppvResource);
10957
10958 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
10959 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
10960 ID3D12Device2 * This,
10961 _In_ ID3D12DeviceChild *pObject,
10962 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
10963 DWORD Access,
10964 _In_opt_ LPCWSTR Name,
10965 _Out_ HANDLE *pHandle);
10966
10967 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
10968 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
10969 ID3D12Device2 * This,
10970 _In_ HANDLE NTHandle,
10971 REFIID riid,
10972 _COM_Outptr_opt_ void **ppvObj);
10973
10974 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
10975 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
10976 ID3D12Device2 * This,
10977 _In_ LPCWSTR Name,
10978 DWORD Access,
10979 /* [annotation][out] */
10980 _Out_ HANDLE *pNTHandle);
10981
10982 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
10983 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
10984 ID3D12Device2 * This,
10985 UINT NumObjects,
10986 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
10987
10988 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
10989 HRESULT ( STDMETHODCALLTYPE *Evict )(
10990 ID3D12Device2 * This,
10991 UINT NumObjects,
10992 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
10993
10994 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
10995 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
10996 ID3D12Device2 * This,
10997 UINT64 InitialValue,
10998 D3D12_FENCE_FLAGS Flags,
10999 REFIID riid,
11000 _COM_Outptr_ void **ppFence);
11001
11002 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
11003 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
11004 ID3D12Device2 * This);
11005
11006 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
11007 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
11008 ID3D12Device2 * This,
11009 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
11010 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
11011 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
11012 UINT64 BaseOffset,
11013 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
11014 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
11015 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
11016 _Out_opt_ UINT64 *pTotalBytes);
11017
11018 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
11019 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
11020 ID3D12Device2 * This,
11021 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
11022 REFIID riid,
11023 _COM_Outptr_opt_ void **ppvHeap);
11024
11025 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
11026 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
11027 ID3D12Device2 * This,
11028 BOOL Enable);
11029
11030 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
11031 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
11032 ID3D12Device2 * This,
11033 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
11034 _In_opt_ ID3D12RootSignature *pRootSignature,
11035 REFIID riid,
11036 _COM_Outptr_opt_ void **ppvCommandSignature);
11037
11038 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
11039 void ( STDMETHODCALLTYPE *GetResourceTiling )(
11040 ID3D12Device2 * This,
11041 _In_ ID3D12Resource *pTiledResource,
11042 _Out_opt_ UINT *pNumTilesForEntireResource,
11043 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
11044 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
11045 _Inout_opt_ UINT *pNumSubresourceTilings,
11046 _In_ UINT FirstSubresourceTilingToGet,
11047 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
11048
11049 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
11050#if !defined(_WIN32)
11051 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
11052 ID3D12Device2 * This);
11053
11054#else
11055 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
11056 ID3D12Device2 * This,
11057 LUID * RetVal);
11058
11059#endif
11060
11061 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
11062 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
11063 ID3D12Device2 * This,
11064 _In_reads_(BlobLength) const void *pLibraryBlob,
11065 SIZE_T BlobLength,
11066 REFIID riid,
11067 _COM_Outptr_ void **ppPipelineLibrary);
11068
11069 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
11070 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
11071 ID3D12Device2 * This,
11072 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
11073 _In_reads_(NumFences) const UINT64 *pFenceValues,
11074 UINT NumFences,
11075 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
11076 HANDLE hEvent);
11077
11078 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
11079 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
11080 ID3D12Device2 * This,
11081 UINT NumObjects,
11082 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
11083 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
11084
11085 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
11086 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
11087 ID3D12Device2 * This,
11088 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
11089 REFIID riid,
11090 _COM_Outptr_ void **ppPipelineState);
11091
11092 END_INTERFACE
11093 } ID3D12Device2Vtbl;
11094
11095 interface ID3D12Device2
11096 {
11097 CONST_VTBL struct ID3D12Device2Vtbl *lpVtbl;
11098 };
11099
11100
11101
11102#ifdef COBJMACROS
11103
11104
11105#define ID3D12Device2_QueryInterface(This,riid,ppvObject) \
11106 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
11107
11108#define ID3D12Device2_AddRef(This) \
11109 ( (This)->lpVtbl -> AddRef(This) )
11110
11111#define ID3D12Device2_Release(This) \
11112 ( (This)->lpVtbl -> Release(This) )
11113
11114
11115#define ID3D12Device2_GetPrivateData(This,guid,pDataSize,pData) \
11116 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
11117
11118#define ID3D12Device2_SetPrivateData(This,guid,DataSize,pData) \
11119 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
11120
11121#define ID3D12Device2_SetPrivateDataInterface(This,guid,pData) \
11122 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
11123
11124#define ID3D12Device2_SetName(This,Name) \
11125 ( (This)->lpVtbl -> SetName(This,Name) )
11126
11127
11128#define ID3D12Device2_GetNodeCount(This) \
11129 ( (This)->lpVtbl -> GetNodeCount(This) )
11130
11131#define ID3D12Device2_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
11132 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
11133
11134#define ID3D12Device2_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
11135 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
11136
11137#define ID3D12Device2_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
11138 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
11139
11140#define ID3D12Device2_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
11141 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
11142
11143#define ID3D12Device2_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
11144 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
11145
11146#define ID3D12Device2_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
11147 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
11148
11149#define ID3D12Device2_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
11150 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
11151
11152#define ID3D12Device2_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
11153 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
11154
11155#define ID3D12Device2_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
11156 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
11157
11158#define ID3D12Device2_CreateConstantBufferView(This,pDesc,DestDescriptor) \
11159 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
11160
11161#define ID3D12Device2_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
11162 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
11163
11164#define ID3D12Device2_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
11165 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
11166
11167#define ID3D12Device2_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
11168 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
11169
11170#define ID3D12Device2_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
11171 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
11172
11173#define ID3D12Device2_CreateSampler(This,pDesc,DestDescriptor) \
11174 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
11175
11176#define ID3D12Device2_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
11177 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
11178
11179#define ID3D12Device2_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
11180 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
11181#if !defined(_WIN32)
11182
11183#define ID3D12Device2_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
11184 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
11185#else
11186#define ID3D12Device2_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
11187 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
11188#endif
11189#if !defined(_WIN32)
11190
11191#define ID3D12Device2_GetCustomHeapProperties(This,nodeMask,heapType) \
11192 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
11193#else
11194#define ID3D12Device2_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
11195 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
11196#endif
11197
11198#define ID3D12Device2_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
11199 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
11200
11201#define ID3D12Device2_CreateHeap(This,pDesc,riid,ppvHeap) \
11202 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
11203
11204#define ID3D12Device2_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
11205 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
11206
11207#define ID3D12Device2_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
11208 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
11209
11210#define ID3D12Device2_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
11211 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
11212
11213#define ID3D12Device2_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
11214 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
11215
11216#define ID3D12Device2_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
11217 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
11218
11219#define ID3D12Device2_MakeResident(This,NumObjects,ppObjects) \
11220 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
11221
11222#define ID3D12Device2_Evict(This,NumObjects,ppObjects) \
11223 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
11224
11225#define ID3D12Device2_CreateFence(This,InitialValue,Flags,riid,ppFence) \
11226 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
11227
11228#define ID3D12Device2_GetDeviceRemovedReason(This) \
11229 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
11230
11231#define ID3D12Device2_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
11232 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
11233
11234#define ID3D12Device2_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
11235 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
11236
11237#define ID3D12Device2_SetStablePowerState(This,Enable) \
11238 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
11239
11240#define ID3D12Device2_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
11241 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
11242
11243#define ID3D12Device2_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
11244 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
11245#if !defined(_WIN32)
11246
11247#define ID3D12Device2_GetAdapterLuid(This) \
11248 ( (This)->lpVtbl -> GetAdapterLuid(This) )
11249#else
11250#define ID3D12Device2_GetAdapterLuid(This,RetVal) \
11251 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
11252#endif
11253
11254
11255#define ID3D12Device2_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
11256 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
11257
11258#define ID3D12Device2_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
11259 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
11260
11261#define ID3D12Device2_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
11262 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
11263
11264
11265#define ID3D12Device2_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
11266 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
11267
11268#endif /* COBJMACROS */
11269
11270
11271#endif /* C style interface */
11272
11273
11274
11275
11276#endif /* __ID3D12Device2_INTERFACE_DEFINED__ */
11277
11278
11279/* interface __MIDL_itf_d3d12_0000_0025 */
11280/* [local] */
11281
11282typedef
11283enum D3D12_RESIDENCY_FLAGS
11284 {
11285 D3D12_RESIDENCY_FLAG_NONE = 0,
11286 D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 0x1
11287 } D3D12_RESIDENCY_FLAGS;
11288
11289DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESIDENCY_FLAGS )
11290
11291
11292extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_c_ifspec;
11293extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_s_ifspec;
11294
11295#ifndef __ID3D12Device3_INTERFACE_DEFINED__
11296#define __ID3D12Device3_INTERFACE_DEFINED__
11297
11298/* interface ID3D12Device3 */
11299/* [unique][local][object][uuid] */
11300
11301
11302EXTERN_C const IID IID_ID3D12Device3;
11303
11304#if defined(__cplusplus) && !defined(CINTERFACE)
11305
11306 MIDL_INTERFACE("81dadc15-2bad-4392-93c5-101345c4aa98")
11307 ID3D12Device3 : public ID3D12Device2
11308 {
11309 public:
11310 virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress(
11311 _In_ const void *pAddress,
11312 REFIID riid,
11313 _COM_Outptr_ void **ppvHeap) = 0;
11314
11315 virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromFileMapping(
11316 _In_ HANDLE hFileMapping,
11317 REFIID riid,
11318 _COM_Outptr_ void **ppvHeap) = 0;
11319
11320 virtual HRESULT STDMETHODCALLTYPE EnqueueMakeResident(
11321 D3D12_RESIDENCY_FLAGS Flags,
11322 UINT NumObjects,
11323 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
11324 _In_ ID3D12Fence *pFenceToSignal,
11325 UINT64 FenceValueToSignal) = 0;
11326
11327 };
11328
11329
11330#else /* C style interface */
11331
11332 typedef struct ID3D12Device3Vtbl
11333 {
11334 BEGIN_INTERFACE
11335
11336 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
11337 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
11338 ID3D12Device3 * This,
11339 REFIID riid,
11340 _COM_Outptr_ void **ppvObject);
11341
11342 DECLSPEC_XFGVIRT(IUnknown, AddRef)
11343 ULONG ( STDMETHODCALLTYPE *AddRef )(
11344 ID3D12Device3 * This);
11345
11346 DECLSPEC_XFGVIRT(IUnknown, Release)
11347 ULONG ( STDMETHODCALLTYPE *Release )(
11348 ID3D12Device3 * This);
11349
11350 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
11351 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
11352 ID3D12Device3 * This,
11353 _In_ REFGUID guid,
11354 _Inout_ UINT *pDataSize,
11355 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
11356
11357 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
11358 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
11359 ID3D12Device3 * This,
11360 _In_ REFGUID guid,
11361 _In_ UINT DataSize,
11362 _In_reads_bytes_opt_( DataSize ) const void *pData);
11363
11364 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
11365 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
11366 ID3D12Device3 * This,
11367 _In_ REFGUID guid,
11368 _In_opt_ const IUnknown *pData);
11369
11370 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
11371 HRESULT ( STDMETHODCALLTYPE *SetName )(
11372 ID3D12Device3 * This,
11373 _In_z_ LPCWSTR Name);
11374
11375 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
11376 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
11377 ID3D12Device3 * This);
11378
11379 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
11380 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
11381 ID3D12Device3 * This,
11382 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
11383 REFIID riid,
11384 _COM_Outptr_ void **ppCommandQueue);
11385
11386 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
11387 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
11388 ID3D12Device3 * This,
11389 _In_ D3D12_COMMAND_LIST_TYPE type,
11390 REFIID riid,
11391 _COM_Outptr_ void **ppCommandAllocator);
11392
11393 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
11394 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
11395 ID3D12Device3 * This,
11396 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
11397 REFIID riid,
11398 _COM_Outptr_ void **ppPipelineState);
11399
11400 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
11401 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
11402 ID3D12Device3 * This,
11403 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
11404 REFIID riid,
11405 _COM_Outptr_ void **ppPipelineState);
11406
11407 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
11408 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
11409 ID3D12Device3 * This,
11410 _In_ UINT nodeMask,
11411 _In_ D3D12_COMMAND_LIST_TYPE type,
11412 _In_ ID3D12CommandAllocator *pCommandAllocator,
11413 _In_opt_ ID3D12PipelineState *pInitialState,
11414 REFIID riid,
11415 _COM_Outptr_ void **ppCommandList);
11416
11417 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
11418 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
11419 ID3D12Device3 * This,
11420 D3D12_FEATURE Feature,
11421 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
11422 UINT FeatureSupportDataSize);
11423
11424 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
11425 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
11426 ID3D12Device3 * This,
11427 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
11428 REFIID riid,
11429 _COM_Outptr_ void **ppvHeap);
11430
11431 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
11432 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
11433 ID3D12Device3 * This,
11434 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
11435
11436 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
11437 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
11438 ID3D12Device3 * This,
11439 _In_ UINT nodeMask,
11440 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
11441 _In_ SIZE_T blobLengthInBytes,
11442 REFIID riid,
11443 _COM_Outptr_ void **ppvRootSignature);
11444
11445 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
11446 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
11447 ID3D12Device3 * This,
11448 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
11449 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
11450
11451 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
11452 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
11453 ID3D12Device3 * This,
11454 _In_opt_ ID3D12Resource *pResource,
11455 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
11456 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
11457
11458 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
11459 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
11460 ID3D12Device3 * This,
11461 _In_opt_ ID3D12Resource *pResource,
11462 _In_opt_ ID3D12Resource *pCounterResource,
11463 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
11464 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
11465
11466 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
11467 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
11468 ID3D12Device3 * This,
11469 _In_opt_ ID3D12Resource *pResource,
11470 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
11471 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
11472
11473 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
11474 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
11475 ID3D12Device3 * This,
11476 _In_opt_ ID3D12Resource *pResource,
11477 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
11478 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
11479
11480 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
11481 void ( STDMETHODCALLTYPE *CreateSampler )(
11482 ID3D12Device3 * This,
11483 _In_ const D3D12_SAMPLER_DESC *pDesc,
11484 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
11485
11486 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
11487 void ( STDMETHODCALLTYPE *CopyDescriptors )(
11488 ID3D12Device3 * This,
11489 _In_ UINT NumDestDescriptorRanges,
11490 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
11491 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
11492 _In_ UINT NumSrcDescriptorRanges,
11493 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
11494 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
11495 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
11496
11497 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
11498 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
11499 ID3D12Device3 * This,
11500 _In_ UINT NumDescriptors,
11501 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
11502 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
11503 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
11504
11505 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
11506#if !defined(_WIN32)
11507 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
11508 ID3D12Device3 * This,
11509 _In_ UINT visibleMask,
11510 _In_ UINT numResourceDescs,
11511 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
11512
11513#else
11514 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
11515 ID3D12Device3 * This,
11516 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
11517 _In_ UINT visibleMask,
11518 _In_ UINT numResourceDescs,
11519 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
11520
11521#endif
11522
11523 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
11524#if !defined(_WIN32)
11525 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
11526 ID3D12Device3 * This,
11527 _In_ UINT nodeMask,
11528 D3D12_HEAP_TYPE heapType);
11529
11530#else
11531 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
11532 ID3D12Device3 * This,
11533 D3D12_HEAP_PROPERTIES * RetVal,
11534 _In_ UINT nodeMask,
11535 D3D12_HEAP_TYPE heapType);
11536
11537#endif
11538
11539 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
11540 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
11541 ID3D12Device3 * This,
11542 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
11543 D3D12_HEAP_FLAGS HeapFlags,
11544 _In_ const D3D12_RESOURCE_DESC *pDesc,
11545 D3D12_RESOURCE_STATES InitialResourceState,
11546 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
11547 REFIID riidResource,
11548 _COM_Outptr_opt_ void **ppvResource);
11549
11550 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
11551 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
11552 ID3D12Device3 * This,
11553 _In_ const D3D12_HEAP_DESC *pDesc,
11554 REFIID riid,
11555 _COM_Outptr_opt_ void **ppvHeap);
11556
11557 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
11558 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
11559 ID3D12Device3 * This,
11560 _In_ ID3D12Heap *pHeap,
11561 UINT64 HeapOffset,
11562 _In_ const D3D12_RESOURCE_DESC *pDesc,
11563 D3D12_RESOURCE_STATES InitialState,
11564 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
11565 REFIID riid,
11566 _COM_Outptr_opt_ void **ppvResource);
11567
11568 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
11569 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
11570 ID3D12Device3 * This,
11571 _In_ const D3D12_RESOURCE_DESC *pDesc,
11572 D3D12_RESOURCE_STATES InitialState,
11573 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
11574 REFIID riid,
11575 _COM_Outptr_opt_ void **ppvResource);
11576
11577 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
11578 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
11579 ID3D12Device3 * This,
11580 _In_ ID3D12DeviceChild *pObject,
11581 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
11582 DWORD Access,
11583 _In_opt_ LPCWSTR Name,
11584 _Out_ HANDLE *pHandle);
11585
11586 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
11587 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
11588 ID3D12Device3 * This,
11589 _In_ HANDLE NTHandle,
11590 REFIID riid,
11591 _COM_Outptr_opt_ void **ppvObj);
11592
11593 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
11594 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
11595 ID3D12Device3 * This,
11596 _In_ LPCWSTR Name,
11597 DWORD Access,
11598 /* [annotation][out] */
11599 _Out_ HANDLE *pNTHandle);
11600
11601 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
11602 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
11603 ID3D12Device3 * This,
11604 UINT NumObjects,
11605 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
11606
11607 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
11608 HRESULT ( STDMETHODCALLTYPE *Evict )(
11609 ID3D12Device3 * This,
11610 UINT NumObjects,
11611 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
11612
11613 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
11614 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
11615 ID3D12Device3 * This,
11616 UINT64 InitialValue,
11617 D3D12_FENCE_FLAGS Flags,
11618 REFIID riid,
11619 _COM_Outptr_ void **ppFence);
11620
11621 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
11622 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
11623 ID3D12Device3 * This);
11624
11625 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
11626 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
11627 ID3D12Device3 * This,
11628 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
11629 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
11630 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
11631 UINT64 BaseOffset,
11632 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
11633 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
11634 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
11635 _Out_opt_ UINT64 *pTotalBytes);
11636
11637 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
11638 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
11639 ID3D12Device3 * This,
11640 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
11641 REFIID riid,
11642 _COM_Outptr_opt_ void **ppvHeap);
11643
11644 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
11645 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
11646 ID3D12Device3 * This,
11647 BOOL Enable);
11648
11649 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
11650 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
11651 ID3D12Device3 * This,
11652 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
11653 _In_opt_ ID3D12RootSignature *pRootSignature,
11654 REFIID riid,
11655 _COM_Outptr_opt_ void **ppvCommandSignature);
11656
11657 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
11658 void ( STDMETHODCALLTYPE *GetResourceTiling )(
11659 ID3D12Device3 * This,
11660 _In_ ID3D12Resource *pTiledResource,
11661 _Out_opt_ UINT *pNumTilesForEntireResource,
11662 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
11663 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
11664 _Inout_opt_ UINT *pNumSubresourceTilings,
11665 _In_ UINT FirstSubresourceTilingToGet,
11666 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
11667
11668 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
11669#if !defined(_WIN32)
11670 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
11671 ID3D12Device3 * This);
11672
11673#else
11674 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
11675 ID3D12Device3 * This,
11676 LUID * RetVal);
11677
11678#endif
11679
11680 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
11681 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
11682 ID3D12Device3 * This,
11683 _In_reads_(BlobLength) const void *pLibraryBlob,
11684 SIZE_T BlobLength,
11685 REFIID riid,
11686 _COM_Outptr_ void **ppPipelineLibrary);
11687
11688 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
11689 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
11690 ID3D12Device3 * This,
11691 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
11692 _In_reads_(NumFences) const UINT64 *pFenceValues,
11693 UINT NumFences,
11694 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
11695 HANDLE hEvent);
11696
11697 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
11698 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
11699 ID3D12Device3 * This,
11700 UINT NumObjects,
11701 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
11702 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
11703
11704 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
11705 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
11706 ID3D12Device3 * This,
11707 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
11708 REFIID riid,
11709 _COM_Outptr_ void **ppPipelineState);
11710
11711 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
11712 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
11713 ID3D12Device3 * This,
11714 _In_ const void *pAddress,
11715 REFIID riid,
11716 _COM_Outptr_ void **ppvHeap);
11717
11718 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
11719 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
11720 ID3D12Device3 * This,
11721 _In_ HANDLE hFileMapping,
11722 REFIID riid,
11723 _COM_Outptr_ void **ppvHeap);
11724
11725 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
11726 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
11727 ID3D12Device3 * This,
11728 D3D12_RESIDENCY_FLAGS Flags,
11729 UINT NumObjects,
11730 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
11731 _In_ ID3D12Fence *pFenceToSignal,
11732 UINT64 FenceValueToSignal);
11733
11734 END_INTERFACE
11735 } ID3D12Device3Vtbl;
11736
11737 interface ID3D12Device3
11738 {
11739 CONST_VTBL struct ID3D12Device3Vtbl *lpVtbl;
11740 };
11741
11742
11743
11744#ifdef COBJMACROS
11745
11746
11747#define ID3D12Device3_QueryInterface(This,riid,ppvObject) \
11748 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
11749
11750#define ID3D12Device3_AddRef(This) \
11751 ( (This)->lpVtbl -> AddRef(This) )
11752
11753#define ID3D12Device3_Release(This) \
11754 ( (This)->lpVtbl -> Release(This) )
11755
11756
11757#define ID3D12Device3_GetPrivateData(This,guid,pDataSize,pData) \
11758 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
11759
11760#define ID3D12Device3_SetPrivateData(This,guid,DataSize,pData) \
11761 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
11762
11763#define ID3D12Device3_SetPrivateDataInterface(This,guid,pData) \
11764 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
11765
11766#define ID3D12Device3_SetName(This,Name) \
11767 ( (This)->lpVtbl -> SetName(This,Name) )
11768
11769
11770#define ID3D12Device3_GetNodeCount(This) \
11771 ( (This)->lpVtbl -> GetNodeCount(This) )
11772
11773#define ID3D12Device3_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
11774 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
11775
11776#define ID3D12Device3_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
11777 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
11778
11779#define ID3D12Device3_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
11780 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
11781
11782#define ID3D12Device3_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
11783 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
11784
11785#define ID3D12Device3_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
11786 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
11787
11788#define ID3D12Device3_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
11789 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
11790
11791#define ID3D12Device3_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
11792 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
11793
11794#define ID3D12Device3_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
11795 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
11796
11797#define ID3D12Device3_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
11798 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
11799
11800#define ID3D12Device3_CreateConstantBufferView(This,pDesc,DestDescriptor) \
11801 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
11802
11803#define ID3D12Device3_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
11804 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
11805
11806#define ID3D12Device3_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
11807 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
11808
11809#define ID3D12Device3_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
11810 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
11811
11812#define ID3D12Device3_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
11813 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
11814
11815#define ID3D12Device3_CreateSampler(This,pDesc,DestDescriptor) \
11816 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
11817
11818#define ID3D12Device3_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
11819 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
11820
11821#define ID3D12Device3_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
11822 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
11823#if !defined(_WIN32)
11824
11825#define ID3D12Device3_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
11826 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
11827#else
11828#define ID3D12Device3_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
11829 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
11830#endif
11831#if !defined(_WIN32)
11832
11833#define ID3D12Device3_GetCustomHeapProperties(This,nodeMask,heapType) \
11834 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
11835#else
11836#define ID3D12Device3_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
11837 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
11838#endif
11839
11840#define ID3D12Device3_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
11841 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
11842
11843#define ID3D12Device3_CreateHeap(This,pDesc,riid,ppvHeap) \
11844 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
11845
11846#define ID3D12Device3_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
11847 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
11848
11849#define ID3D12Device3_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
11850 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
11851
11852#define ID3D12Device3_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
11853 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
11854
11855#define ID3D12Device3_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
11856 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
11857
11858#define ID3D12Device3_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
11859 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
11860
11861#define ID3D12Device3_MakeResident(This,NumObjects,ppObjects) \
11862 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
11863
11864#define ID3D12Device3_Evict(This,NumObjects,ppObjects) \
11865 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
11866
11867#define ID3D12Device3_CreateFence(This,InitialValue,Flags,riid,ppFence) \
11868 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
11869
11870#define ID3D12Device3_GetDeviceRemovedReason(This) \
11871 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
11872
11873#define ID3D12Device3_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
11874 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
11875
11876#define ID3D12Device3_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
11877 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
11878
11879#define ID3D12Device3_SetStablePowerState(This,Enable) \
11880 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
11881
11882#define ID3D12Device3_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
11883 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
11884
11885#define ID3D12Device3_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
11886 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
11887#if !defined(_WIN32)
11888
11889#define ID3D12Device3_GetAdapterLuid(This) \
11890 ( (This)->lpVtbl -> GetAdapterLuid(This) )
11891#else
11892#define ID3D12Device3_GetAdapterLuid(This,RetVal) \
11893 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
11894#endif
11895
11896
11897#define ID3D12Device3_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
11898 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
11899
11900#define ID3D12Device3_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
11901 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
11902
11903#define ID3D12Device3_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
11904 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
11905
11906
11907#define ID3D12Device3_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
11908 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
11909
11910
11911#define ID3D12Device3_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
11912 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
11913
11914#define ID3D12Device3_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
11915 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
11916
11917#define ID3D12Device3_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
11918 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
11919
11920#endif /* COBJMACROS */
11921
11922
11923#endif /* C style interface */
11924
11925
11926
11927
11928#endif /* __ID3D12Device3_INTERFACE_DEFINED__ */
11929
11930
11931/* interface __MIDL_itf_d3d12_0000_0026 */
11932/* [local] */
11933
11934typedef
11935enum D3D12_COMMAND_LIST_FLAGS
11936 {
11937 D3D12_COMMAND_LIST_FLAG_NONE = 0
11938 } D3D12_COMMAND_LIST_FLAGS;
11939
11940DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_FLAGS )
11941typedef
11942enum D3D12_COMMAND_POOL_FLAGS
11943 {
11944 D3D12_COMMAND_POOL_FLAG_NONE = 0
11945 } D3D12_COMMAND_POOL_FLAGS;
11946
11947DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_POOL_FLAGS )
11948typedef
11949enum D3D12_COMMAND_RECORDER_FLAGS
11950 {
11951 D3D12_COMMAND_RECORDER_FLAG_NONE = 0
11952 } D3D12_COMMAND_RECORDER_FLAGS;
11953
11954DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_RECORDER_FLAGS )
11955typedef
11956enum D3D12_PROTECTED_SESSION_STATUS
11957 {
11958 D3D12_PROTECTED_SESSION_STATUS_OK = 0,
11959 D3D12_PROTECTED_SESSION_STATUS_INVALID = 1
11960 } D3D12_PROTECTED_SESSION_STATUS;
11961
11962
11963
11964extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0026_v0_0_c_ifspec;
11965extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0026_v0_0_s_ifspec;
11966
11967#ifndef __ID3D12ProtectedSession_INTERFACE_DEFINED__
11968#define __ID3D12ProtectedSession_INTERFACE_DEFINED__
11969
11970/* interface ID3D12ProtectedSession */
11971/* [unique][local][object][uuid] */
11972
11973
11974EXTERN_C const IID IID_ID3D12ProtectedSession;
11975
11976#if defined(__cplusplus) && !defined(CINTERFACE)
11977
11978 MIDL_INTERFACE("A1533D18-0AC1-4084-85B9-89A96116806B")
11979 ID3D12ProtectedSession : public ID3D12DeviceChild
11980 {
11981 public:
11982 virtual HRESULT STDMETHODCALLTYPE GetStatusFence(
11983 REFIID riid,
11984 _COM_Outptr_opt_ void **ppFence) = 0;
11985
11986 virtual D3D12_PROTECTED_SESSION_STATUS STDMETHODCALLTYPE GetSessionStatus( void) = 0;
11987
11988 };
11989
11990
11991#else /* C style interface */
11992
11993 typedef struct ID3D12ProtectedSessionVtbl
11994 {
11995 BEGIN_INTERFACE
11996
11997 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
11998 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
11999 ID3D12ProtectedSession * This,
12000 REFIID riid,
12001 _COM_Outptr_ void **ppvObject);
12002
12003 DECLSPEC_XFGVIRT(IUnknown, AddRef)
12004 ULONG ( STDMETHODCALLTYPE *AddRef )(
12005 ID3D12ProtectedSession * This);
12006
12007 DECLSPEC_XFGVIRT(IUnknown, Release)
12008 ULONG ( STDMETHODCALLTYPE *Release )(
12009 ID3D12ProtectedSession * This);
12010
12011 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
12012 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
12013 ID3D12ProtectedSession * This,
12014 _In_ REFGUID guid,
12015 _Inout_ UINT *pDataSize,
12016 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
12017
12018 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
12019 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
12020 ID3D12ProtectedSession * This,
12021 _In_ REFGUID guid,
12022 _In_ UINT DataSize,
12023 _In_reads_bytes_opt_( DataSize ) const void *pData);
12024
12025 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
12026 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
12027 ID3D12ProtectedSession * This,
12028 _In_ REFGUID guid,
12029 _In_opt_ const IUnknown *pData);
12030
12031 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
12032 HRESULT ( STDMETHODCALLTYPE *SetName )(
12033 ID3D12ProtectedSession * This,
12034 _In_z_ LPCWSTR Name);
12035
12036 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
12037 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
12038 ID3D12ProtectedSession * This,
12039 REFIID riid,
12040 _COM_Outptr_opt_ void **ppvDevice);
12041
12042 DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence)
12043 HRESULT ( STDMETHODCALLTYPE *GetStatusFence )(
12044 ID3D12ProtectedSession * This,
12045 REFIID riid,
12046 _COM_Outptr_opt_ void **ppFence);
12047
12048 DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus)
12049 D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )(
12050 ID3D12ProtectedSession * This);
12051
12052 END_INTERFACE
12053 } ID3D12ProtectedSessionVtbl;
12054
12055 interface ID3D12ProtectedSession
12056 {
12057 CONST_VTBL struct ID3D12ProtectedSessionVtbl *lpVtbl;
12058 };
12059
12060
12061
12062#ifdef COBJMACROS
12063
12064
12065#define ID3D12ProtectedSession_QueryInterface(This,riid,ppvObject) \
12066 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
12067
12068#define ID3D12ProtectedSession_AddRef(This) \
12069 ( (This)->lpVtbl -> AddRef(This) )
12070
12071#define ID3D12ProtectedSession_Release(This) \
12072 ( (This)->lpVtbl -> Release(This) )
12073
12074
12075#define ID3D12ProtectedSession_GetPrivateData(This,guid,pDataSize,pData) \
12076 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
12077
12078#define ID3D12ProtectedSession_SetPrivateData(This,guid,DataSize,pData) \
12079 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
12080
12081#define ID3D12ProtectedSession_SetPrivateDataInterface(This,guid,pData) \
12082 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
12083
12084#define ID3D12ProtectedSession_SetName(This,Name) \
12085 ( (This)->lpVtbl -> SetName(This,Name) )
12086
12087
12088#define ID3D12ProtectedSession_GetDevice(This,riid,ppvDevice) \
12089 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
12090
12091
12092#define ID3D12ProtectedSession_GetStatusFence(This,riid,ppFence) \
12093 ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) )
12094
12095#define ID3D12ProtectedSession_GetSessionStatus(This) \
12096 ( (This)->lpVtbl -> GetSessionStatus(This) )
12097
12098#endif /* COBJMACROS */
12099
12100
12101#endif /* C style interface */
12102
12103
12104
12105
12106#endif /* __ID3D12ProtectedSession_INTERFACE_DEFINED__ */
12107
12108
12109/* interface __MIDL_itf_d3d12_0000_0027 */
12110/* [local] */
12111
12112typedef
12113enum D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS
12114 {
12115 D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = 0,
12116 D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = 0x1
12117 } D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS;
12118
12119DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS )
12120typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT
12121 {
12122 UINT NodeIndex;
12123 D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS Support;
12124 } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT;
12125
12126typedef
12127enum D3D12_PROTECTED_RESOURCE_SESSION_FLAGS
12128 {
12129 D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0
12130 } D3D12_PROTECTED_RESOURCE_SESSION_FLAGS;
12131
12132DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_FLAGS )
12133typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC
12134 {
12135 UINT NodeMask;
12136 D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
12137 } D3D12_PROTECTED_RESOURCE_SESSION_DESC;
12138
12139
12140
12141extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_c_ifspec;
12142extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_s_ifspec;
12143
12144#ifndef __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__
12145#define __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__
12146
12147/* interface ID3D12ProtectedResourceSession */
12148/* [unique][local][object][uuid] */
12149
12150
12151EXTERN_C const IID IID_ID3D12ProtectedResourceSession;
12152
12153#if defined(__cplusplus) && !defined(CINTERFACE)
12154
12155 MIDL_INTERFACE("6CD696F4-F289-40CC-8091-5A6C0A099C3D")
12156 ID3D12ProtectedResourceSession : public ID3D12ProtectedSession
12157 {
12158 public:
12159#if defined(_MSC_VER) || !defined(_WIN32)
12160 virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
12161#else
12162 virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC *STDMETHODCALLTYPE GetDesc(
12163 D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal) = 0;
12164#endif
12165
12166 };
12167
12168
12169#else /* C style interface */
12170
12171 typedef struct ID3D12ProtectedResourceSessionVtbl
12172 {
12173 BEGIN_INTERFACE
12174
12175 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
12176 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
12177 ID3D12ProtectedResourceSession * This,
12178 REFIID riid,
12179 _COM_Outptr_ void **ppvObject);
12180
12181 DECLSPEC_XFGVIRT(IUnknown, AddRef)
12182 ULONG ( STDMETHODCALLTYPE *AddRef )(
12183 ID3D12ProtectedResourceSession * This);
12184
12185 DECLSPEC_XFGVIRT(IUnknown, Release)
12186 ULONG ( STDMETHODCALLTYPE *Release )(
12187 ID3D12ProtectedResourceSession * This);
12188
12189 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
12190 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
12191 ID3D12ProtectedResourceSession * This,
12192 _In_ REFGUID guid,
12193 _Inout_ UINT *pDataSize,
12194 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
12195
12196 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
12197 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
12198 ID3D12ProtectedResourceSession * This,
12199 _In_ REFGUID guid,
12200 _In_ UINT DataSize,
12201 _In_reads_bytes_opt_( DataSize ) const void *pData);
12202
12203 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
12204 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
12205 ID3D12ProtectedResourceSession * This,
12206 _In_ REFGUID guid,
12207 _In_opt_ const IUnknown *pData);
12208
12209 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
12210 HRESULT ( STDMETHODCALLTYPE *SetName )(
12211 ID3D12ProtectedResourceSession * This,
12212 _In_z_ LPCWSTR Name);
12213
12214 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
12215 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
12216 ID3D12ProtectedResourceSession * This,
12217 REFIID riid,
12218 _COM_Outptr_opt_ void **ppvDevice);
12219
12220 DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence)
12221 HRESULT ( STDMETHODCALLTYPE *GetStatusFence )(
12222 ID3D12ProtectedResourceSession * This,
12223 REFIID riid,
12224 _COM_Outptr_opt_ void **ppFence);
12225
12226 DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus)
12227 D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )(
12228 ID3D12ProtectedResourceSession * This);
12229
12230 DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession, GetDesc)
12231#if !defined(_WIN32)
12232 D3D12_PROTECTED_RESOURCE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )(
12233 ID3D12ProtectedResourceSession * This);
12234
12235#else
12236 D3D12_PROTECTED_RESOURCE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )(
12237 ID3D12ProtectedResourceSession * This,
12238 D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal);
12239
12240#endif
12241
12242 END_INTERFACE
12243 } ID3D12ProtectedResourceSessionVtbl;
12244
12245 interface ID3D12ProtectedResourceSession
12246 {
12247 CONST_VTBL struct ID3D12ProtectedResourceSessionVtbl *lpVtbl;
12248 };
12249
12250
12251
12252#ifdef COBJMACROS
12253
12254
12255#define ID3D12ProtectedResourceSession_QueryInterface(This,riid,ppvObject) \
12256 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
12257
12258#define ID3D12ProtectedResourceSession_AddRef(This) \
12259 ( (This)->lpVtbl -> AddRef(This) )
12260
12261#define ID3D12ProtectedResourceSession_Release(This) \
12262 ( (This)->lpVtbl -> Release(This) )
12263
12264
12265#define ID3D12ProtectedResourceSession_GetPrivateData(This,guid,pDataSize,pData) \
12266 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
12267
12268#define ID3D12ProtectedResourceSession_SetPrivateData(This,guid,DataSize,pData) \
12269 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
12270
12271#define ID3D12ProtectedResourceSession_SetPrivateDataInterface(This,guid,pData) \
12272 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
12273
12274#define ID3D12ProtectedResourceSession_SetName(This,Name) \
12275 ( (This)->lpVtbl -> SetName(This,Name) )
12276
12277
12278#define ID3D12ProtectedResourceSession_GetDevice(This,riid,ppvDevice) \
12279 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
12280
12281
12282#define ID3D12ProtectedResourceSession_GetStatusFence(This,riid,ppFence) \
12283 ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) )
12284
12285#define ID3D12ProtectedResourceSession_GetSessionStatus(This) \
12286 ( (This)->lpVtbl -> GetSessionStatus(This) )
12287
12288#if !defined(_WIN32)
12289
12290#define ID3D12ProtectedResourceSession_GetDesc(This) \
12291 ( (This)->lpVtbl -> GetDesc(This) )
12292#else
12293#define ID3D12ProtectedResourceSession_GetDesc(This,RetVal) \
12294 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
12295#endif
12296
12297#endif /* COBJMACROS */
12298
12299
12300#endif /* C style interface */
12301
12302
12303
12304
12305#endif /* __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__ */
12306
12307
12308#ifndef __ID3D12Device4_INTERFACE_DEFINED__
12309#define __ID3D12Device4_INTERFACE_DEFINED__
12310
12311/* interface ID3D12Device4 */
12312/* [unique][local][object][uuid] */
12313
12314
12315EXTERN_C const IID IID_ID3D12Device4;
12316
12317#if defined(__cplusplus) && !defined(CINTERFACE)
12318
12319 MIDL_INTERFACE("e865df17-a9ee-46f9-a463-3098315aa2e5")
12320 ID3D12Device4 : public ID3D12Device3
12321 {
12322 public:
12323 virtual HRESULT STDMETHODCALLTYPE CreateCommandList1(
12324 _In_ UINT nodeMask,
12325 _In_ D3D12_COMMAND_LIST_TYPE type,
12326 _In_ D3D12_COMMAND_LIST_FLAGS flags,
12327 REFIID riid,
12328 _COM_Outptr_ void **ppCommandList) = 0;
12329
12330 virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession(
12331 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
12332 _In_ REFIID riid,
12333 _COM_Outptr_ void **ppSession) = 0;
12334
12335 virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource1(
12336 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
12337 D3D12_HEAP_FLAGS HeapFlags,
12338 _In_ const D3D12_RESOURCE_DESC *pDesc,
12339 D3D12_RESOURCE_STATES InitialResourceState,
12340 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
12341 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
12342 REFIID riidResource,
12343 _COM_Outptr_opt_ void **ppvResource) = 0;
12344
12345 virtual HRESULT STDMETHODCALLTYPE CreateHeap1(
12346 _In_ const D3D12_HEAP_DESC *pDesc,
12347 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
12348 REFIID riid,
12349 _COM_Outptr_opt_ void **ppvHeap) = 0;
12350
12351 virtual HRESULT STDMETHODCALLTYPE CreateReservedResource1(
12352 _In_ const D3D12_RESOURCE_DESC *pDesc,
12353 D3D12_RESOURCE_STATES InitialState,
12354 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
12355 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
12356 REFIID riid,
12357 _COM_Outptr_opt_ void **ppvResource) = 0;
12358
12359#if defined(_MSC_VER) || !defined(_WIN32)
12360 virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo1(
12361 UINT visibleMask,
12362 UINT numResourceDescs,
12363 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
12364 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
12365#else
12366 virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo1(
12367 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
12368 UINT visibleMask,
12369 UINT numResourceDescs,
12370 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
12371 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
12372#endif
12373
12374 };
12375
12376
12377#else /* C style interface */
12378
12379 typedef struct ID3D12Device4Vtbl
12380 {
12381 BEGIN_INTERFACE
12382
12383 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
12384 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
12385 ID3D12Device4 * This,
12386 REFIID riid,
12387 _COM_Outptr_ void **ppvObject);
12388
12389 DECLSPEC_XFGVIRT(IUnknown, AddRef)
12390 ULONG ( STDMETHODCALLTYPE *AddRef )(
12391 ID3D12Device4 * This);
12392
12393 DECLSPEC_XFGVIRT(IUnknown, Release)
12394 ULONG ( STDMETHODCALLTYPE *Release )(
12395 ID3D12Device4 * This);
12396
12397 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
12398 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
12399 ID3D12Device4 * This,
12400 _In_ REFGUID guid,
12401 _Inout_ UINT *pDataSize,
12402 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
12403
12404 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
12405 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
12406 ID3D12Device4 * This,
12407 _In_ REFGUID guid,
12408 _In_ UINT DataSize,
12409 _In_reads_bytes_opt_( DataSize ) const void *pData);
12410
12411 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
12412 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
12413 ID3D12Device4 * This,
12414 _In_ REFGUID guid,
12415 _In_opt_ const IUnknown *pData);
12416
12417 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
12418 HRESULT ( STDMETHODCALLTYPE *SetName )(
12419 ID3D12Device4 * This,
12420 _In_z_ LPCWSTR Name);
12421
12422 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
12423 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
12424 ID3D12Device4 * This);
12425
12426 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
12427 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
12428 ID3D12Device4 * This,
12429 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
12430 REFIID riid,
12431 _COM_Outptr_ void **ppCommandQueue);
12432
12433 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
12434 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
12435 ID3D12Device4 * This,
12436 _In_ D3D12_COMMAND_LIST_TYPE type,
12437 REFIID riid,
12438 _COM_Outptr_ void **ppCommandAllocator);
12439
12440 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
12441 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
12442 ID3D12Device4 * This,
12443 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
12444 REFIID riid,
12445 _COM_Outptr_ void **ppPipelineState);
12446
12447 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
12448 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
12449 ID3D12Device4 * This,
12450 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
12451 REFIID riid,
12452 _COM_Outptr_ void **ppPipelineState);
12453
12454 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
12455 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
12456 ID3D12Device4 * This,
12457 _In_ UINT nodeMask,
12458 _In_ D3D12_COMMAND_LIST_TYPE type,
12459 _In_ ID3D12CommandAllocator *pCommandAllocator,
12460 _In_opt_ ID3D12PipelineState *pInitialState,
12461 REFIID riid,
12462 _COM_Outptr_ void **ppCommandList);
12463
12464 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
12465 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
12466 ID3D12Device4 * This,
12467 D3D12_FEATURE Feature,
12468 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
12469 UINT FeatureSupportDataSize);
12470
12471 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
12472 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
12473 ID3D12Device4 * This,
12474 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
12475 REFIID riid,
12476 _COM_Outptr_ void **ppvHeap);
12477
12478 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
12479 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
12480 ID3D12Device4 * This,
12481 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
12482
12483 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
12484 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
12485 ID3D12Device4 * This,
12486 _In_ UINT nodeMask,
12487 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
12488 _In_ SIZE_T blobLengthInBytes,
12489 REFIID riid,
12490 _COM_Outptr_ void **ppvRootSignature);
12491
12492 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
12493 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
12494 ID3D12Device4 * This,
12495 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
12496 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
12497
12498 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
12499 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
12500 ID3D12Device4 * This,
12501 _In_opt_ ID3D12Resource *pResource,
12502 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
12503 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
12504
12505 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
12506 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
12507 ID3D12Device4 * This,
12508 _In_opt_ ID3D12Resource *pResource,
12509 _In_opt_ ID3D12Resource *pCounterResource,
12510 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
12511 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
12512
12513 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
12514 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
12515 ID3D12Device4 * This,
12516 _In_opt_ ID3D12Resource *pResource,
12517 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
12518 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
12519
12520 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
12521 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
12522 ID3D12Device4 * This,
12523 _In_opt_ ID3D12Resource *pResource,
12524 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
12525 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
12526
12527 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
12528 void ( STDMETHODCALLTYPE *CreateSampler )(
12529 ID3D12Device4 * This,
12530 _In_ const D3D12_SAMPLER_DESC *pDesc,
12531 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
12532
12533 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
12534 void ( STDMETHODCALLTYPE *CopyDescriptors )(
12535 ID3D12Device4 * This,
12536 _In_ UINT NumDestDescriptorRanges,
12537 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
12538 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
12539 _In_ UINT NumSrcDescriptorRanges,
12540 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
12541 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
12542 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
12543
12544 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
12545 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
12546 ID3D12Device4 * This,
12547 _In_ UINT NumDescriptors,
12548 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
12549 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
12550 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
12551
12552 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
12553#if !defined(_WIN32)
12554 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
12555 ID3D12Device4 * This,
12556 _In_ UINT visibleMask,
12557 _In_ UINT numResourceDescs,
12558 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
12559
12560#else
12561 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
12562 ID3D12Device4 * This,
12563 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
12564 _In_ UINT visibleMask,
12565 _In_ UINT numResourceDescs,
12566 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
12567
12568#endif
12569
12570 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
12571#if !defined(_WIN32)
12572 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
12573 ID3D12Device4 * This,
12574 _In_ UINT nodeMask,
12575 D3D12_HEAP_TYPE heapType);
12576
12577#else
12578 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
12579 ID3D12Device4 * This,
12580 D3D12_HEAP_PROPERTIES * RetVal,
12581 _In_ UINT nodeMask,
12582 D3D12_HEAP_TYPE heapType);
12583
12584#endif
12585
12586 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
12587 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
12588 ID3D12Device4 * This,
12589 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
12590 D3D12_HEAP_FLAGS HeapFlags,
12591 _In_ const D3D12_RESOURCE_DESC *pDesc,
12592 D3D12_RESOURCE_STATES InitialResourceState,
12593 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
12594 REFIID riidResource,
12595 _COM_Outptr_opt_ void **ppvResource);
12596
12597 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
12598 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
12599 ID3D12Device4 * This,
12600 _In_ const D3D12_HEAP_DESC *pDesc,
12601 REFIID riid,
12602 _COM_Outptr_opt_ void **ppvHeap);
12603
12604 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
12605 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
12606 ID3D12Device4 * This,
12607 _In_ ID3D12Heap *pHeap,
12608 UINT64 HeapOffset,
12609 _In_ const D3D12_RESOURCE_DESC *pDesc,
12610 D3D12_RESOURCE_STATES InitialState,
12611 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
12612 REFIID riid,
12613 _COM_Outptr_opt_ void **ppvResource);
12614
12615 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
12616 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
12617 ID3D12Device4 * This,
12618 _In_ const D3D12_RESOURCE_DESC *pDesc,
12619 D3D12_RESOURCE_STATES InitialState,
12620 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
12621 REFIID riid,
12622 _COM_Outptr_opt_ void **ppvResource);
12623
12624 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
12625 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
12626 ID3D12Device4 * This,
12627 _In_ ID3D12DeviceChild *pObject,
12628 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
12629 DWORD Access,
12630 _In_opt_ LPCWSTR Name,
12631 _Out_ HANDLE *pHandle);
12632
12633 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
12634 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
12635 ID3D12Device4 * This,
12636 _In_ HANDLE NTHandle,
12637 REFIID riid,
12638 _COM_Outptr_opt_ void **ppvObj);
12639
12640 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
12641 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
12642 ID3D12Device4 * This,
12643 _In_ LPCWSTR Name,
12644 DWORD Access,
12645 /* [annotation][out] */
12646 _Out_ HANDLE *pNTHandle);
12647
12648 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
12649 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
12650 ID3D12Device4 * This,
12651 UINT NumObjects,
12652 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
12653
12654 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
12655 HRESULT ( STDMETHODCALLTYPE *Evict )(
12656 ID3D12Device4 * This,
12657 UINT NumObjects,
12658 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
12659
12660 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
12661 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
12662 ID3D12Device4 * This,
12663 UINT64 InitialValue,
12664 D3D12_FENCE_FLAGS Flags,
12665 REFIID riid,
12666 _COM_Outptr_ void **ppFence);
12667
12668 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
12669 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
12670 ID3D12Device4 * This);
12671
12672 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
12673 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
12674 ID3D12Device4 * This,
12675 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
12676 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
12677 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
12678 UINT64 BaseOffset,
12679 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
12680 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
12681 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
12682 _Out_opt_ UINT64 *pTotalBytes);
12683
12684 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
12685 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
12686 ID3D12Device4 * This,
12687 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
12688 REFIID riid,
12689 _COM_Outptr_opt_ void **ppvHeap);
12690
12691 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
12692 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
12693 ID3D12Device4 * This,
12694 BOOL Enable);
12695
12696 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
12697 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
12698 ID3D12Device4 * This,
12699 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
12700 _In_opt_ ID3D12RootSignature *pRootSignature,
12701 REFIID riid,
12702 _COM_Outptr_opt_ void **ppvCommandSignature);
12703
12704 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
12705 void ( STDMETHODCALLTYPE *GetResourceTiling )(
12706 ID3D12Device4 * This,
12707 _In_ ID3D12Resource *pTiledResource,
12708 _Out_opt_ UINT *pNumTilesForEntireResource,
12709 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
12710 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
12711 _Inout_opt_ UINT *pNumSubresourceTilings,
12712 _In_ UINT FirstSubresourceTilingToGet,
12713 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
12714
12715 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
12716#if !defined(_WIN32)
12717 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
12718 ID3D12Device4 * This);
12719
12720#else
12721 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
12722 ID3D12Device4 * This,
12723 LUID * RetVal);
12724
12725#endif
12726
12727 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
12728 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
12729 ID3D12Device4 * This,
12730 _In_reads_(BlobLength) const void *pLibraryBlob,
12731 SIZE_T BlobLength,
12732 REFIID riid,
12733 _COM_Outptr_ void **ppPipelineLibrary);
12734
12735 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
12736 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
12737 ID3D12Device4 * This,
12738 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
12739 _In_reads_(NumFences) const UINT64 *pFenceValues,
12740 UINT NumFences,
12741 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
12742 HANDLE hEvent);
12743
12744 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
12745 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
12746 ID3D12Device4 * This,
12747 UINT NumObjects,
12748 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
12749 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
12750
12751 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
12752 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
12753 ID3D12Device4 * This,
12754 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
12755 REFIID riid,
12756 _COM_Outptr_ void **ppPipelineState);
12757
12758 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
12759 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
12760 ID3D12Device4 * This,
12761 _In_ const void *pAddress,
12762 REFIID riid,
12763 _COM_Outptr_ void **ppvHeap);
12764
12765 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
12766 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
12767 ID3D12Device4 * This,
12768 _In_ HANDLE hFileMapping,
12769 REFIID riid,
12770 _COM_Outptr_ void **ppvHeap);
12771
12772 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
12773 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
12774 ID3D12Device4 * This,
12775 D3D12_RESIDENCY_FLAGS Flags,
12776 UINT NumObjects,
12777 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
12778 _In_ ID3D12Fence *pFenceToSignal,
12779 UINT64 FenceValueToSignal);
12780
12781 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
12782 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
12783 ID3D12Device4 * This,
12784 _In_ UINT nodeMask,
12785 _In_ D3D12_COMMAND_LIST_TYPE type,
12786 _In_ D3D12_COMMAND_LIST_FLAGS flags,
12787 REFIID riid,
12788 _COM_Outptr_ void **ppCommandList);
12789
12790 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
12791 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
12792 ID3D12Device4 * This,
12793 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
12794 _In_ REFIID riid,
12795 _COM_Outptr_ void **ppSession);
12796
12797 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
12798 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
12799 ID3D12Device4 * This,
12800 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
12801 D3D12_HEAP_FLAGS HeapFlags,
12802 _In_ const D3D12_RESOURCE_DESC *pDesc,
12803 D3D12_RESOURCE_STATES InitialResourceState,
12804 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
12805 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
12806 REFIID riidResource,
12807 _COM_Outptr_opt_ void **ppvResource);
12808
12809 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
12810 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
12811 ID3D12Device4 * This,
12812 _In_ const D3D12_HEAP_DESC *pDesc,
12813 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
12814 REFIID riid,
12815 _COM_Outptr_opt_ void **ppvHeap);
12816
12817 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
12818 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
12819 ID3D12Device4 * This,
12820 _In_ const D3D12_RESOURCE_DESC *pDesc,
12821 D3D12_RESOURCE_STATES InitialState,
12822 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
12823 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
12824 REFIID riid,
12825 _COM_Outptr_opt_ void **ppvResource);
12826
12827 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
12828#if !defined(_WIN32)
12829 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
12830 ID3D12Device4 * This,
12831 UINT visibleMask,
12832 UINT numResourceDescs,
12833 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
12834 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
12835
12836#else
12837 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
12838 ID3D12Device4 * This,
12839 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
12840 UINT visibleMask,
12841 UINT numResourceDescs,
12842 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
12843 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
12844
12845#endif
12846
12847 END_INTERFACE
12848 } ID3D12Device4Vtbl;
12849
12850 interface ID3D12Device4
12851 {
12852 CONST_VTBL struct ID3D12Device4Vtbl *lpVtbl;
12853 };
12854
12855
12856
12857#ifdef COBJMACROS
12858
12859
12860#define ID3D12Device4_QueryInterface(This,riid,ppvObject) \
12861 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
12862
12863#define ID3D12Device4_AddRef(This) \
12864 ( (This)->lpVtbl -> AddRef(This) )
12865
12866#define ID3D12Device4_Release(This) \
12867 ( (This)->lpVtbl -> Release(This) )
12868
12869
12870#define ID3D12Device4_GetPrivateData(This,guid,pDataSize,pData) \
12871 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
12872
12873#define ID3D12Device4_SetPrivateData(This,guid,DataSize,pData) \
12874 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
12875
12876#define ID3D12Device4_SetPrivateDataInterface(This,guid,pData) \
12877 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
12878
12879#define ID3D12Device4_SetName(This,Name) \
12880 ( (This)->lpVtbl -> SetName(This,Name) )
12881
12882
12883#define ID3D12Device4_GetNodeCount(This) \
12884 ( (This)->lpVtbl -> GetNodeCount(This) )
12885
12886#define ID3D12Device4_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
12887 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
12888
12889#define ID3D12Device4_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
12890 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
12891
12892#define ID3D12Device4_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
12893 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
12894
12895#define ID3D12Device4_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
12896 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
12897
12898#define ID3D12Device4_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
12899 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
12900
12901#define ID3D12Device4_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
12902 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
12903
12904#define ID3D12Device4_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
12905 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
12906
12907#define ID3D12Device4_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
12908 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
12909
12910#define ID3D12Device4_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
12911 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
12912
12913#define ID3D12Device4_CreateConstantBufferView(This,pDesc,DestDescriptor) \
12914 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
12915
12916#define ID3D12Device4_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
12917 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
12918
12919#define ID3D12Device4_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
12920 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
12921
12922#define ID3D12Device4_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
12923 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
12924
12925#define ID3D12Device4_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
12926 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
12927
12928#define ID3D12Device4_CreateSampler(This,pDesc,DestDescriptor) \
12929 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
12930
12931#define ID3D12Device4_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
12932 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
12933
12934#define ID3D12Device4_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
12935 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
12936#if !defined(_WIN32)
12937
12938#define ID3D12Device4_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
12939 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
12940#else
12941#define ID3D12Device4_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
12942 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
12943#endif
12944#if !defined(_WIN32)
12945
12946#define ID3D12Device4_GetCustomHeapProperties(This,nodeMask,heapType) \
12947 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
12948#else
12949#define ID3D12Device4_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
12950 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
12951#endif
12952
12953#define ID3D12Device4_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
12954 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
12955
12956#define ID3D12Device4_CreateHeap(This,pDesc,riid,ppvHeap) \
12957 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
12958
12959#define ID3D12Device4_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
12960 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
12961
12962#define ID3D12Device4_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
12963 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
12964
12965#define ID3D12Device4_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
12966 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
12967
12968#define ID3D12Device4_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
12969 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
12970
12971#define ID3D12Device4_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
12972 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
12973
12974#define ID3D12Device4_MakeResident(This,NumObjects,ppObjects) \
12975 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
12976
12977#define ID3D12Device4_Evict(This,NumObjects,ppObjects) \
12978 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
12979
12980#define ID3D12Device4_CreateFence(This,InitialValue,Flags,riid,ppFence) \
12981 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
12982
12983#define ID3D12Device4_GetDeviceRemovedReason(This) \
12984 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
12985
12986#define ID3D12Device4_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
12987 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
12988
12989#define ID3D12Device4_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
12990 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
12991
12992#define ID3D12Device4_SetStablePowerState(This,Enable) \
12993 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
12994
12995#define ID3D12Device4_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
12996 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
12997
12998#define ID3D12Device4_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
12999 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
13000#if !defined(_WIN32)
13001
13002#define ID3D12Device4_GetAdapterLuid(This) \
13003 ( (This)->lpVtbl -> GetAdapterLuid(This) )
13004#else
13005#define ID3D12Device4_GetAdapterLuid(This,RetVal) \
13006 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
13007#endif
13008
13009
13010#define ID3D12Device4_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
13011 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
13012
13013#define ID3D12Device4_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
13014 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
13015
13016#define ID3D12Device4_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
13017 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
13018
13019
13020#define ID3D12Device4_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
13021 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
13022
13023
13024#define ID3D12Device4_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
13025 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
13026
13027#define ID3D12Device4_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
13028 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
13029
13030#define ID3D12Device4_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
13031 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
13032
13033
13034#define ID3D12Device4_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
13035 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
13036
13037#define ID3D12Device4_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
13038 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
13039
13040#define ID3D12Device4_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
13041 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
13042
13043#define ID3D12Device4_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
13044 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
13045
13046#define ID3D12Device4_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
13047 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
13048#if !defined(_WIN32)
13049
13050#define ID3D12Device4_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
13051 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
13052#else
13053#define ID3D12Device4_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
13054 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
13055#endif
13056
13057#endif /* COBJMACROS */
13058
13059
13060#endif /* C style interface */
13061
13062
13063
13064
13065#endif /* __ID3D12Device4_INTERFACE_DEFINED__ */
13066
13067
13068/* interface __MIDL_itf_d3d12_0000_0029 */
13069/* [local] */
13070
13071typedef
13072enum D3D12_LIFETIME_STATE
13073 {
13074 D3D12_LIFETIME_STATE_IN_USE = 0,
13075 D3D12_LIFETIME_STATE_NOT_IN_USE = ( D3D12_LIFETIME_STATE_IN_USE + 1 )
13076 } D3D12_LIFETIME_STATE;
13077
13078
13079
13080
13081extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0029_v0_0_c_ifspec;
13082extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0029_v0_0_s_ifspec;
13083
13084#ifndef __ID3D12LifetimeOwner_INTERFACE_DEFINED__
13085#define __ID3D12LifetimeOwner_INTERFACE_DEFINED__
13086
13087/* interface ID3D12LifetimeOwner */
13088/* [unique][local][object][uuid] */
13089
13090
13091EXTERN_C const IID IID_ID3D12LifetimeOwner;
13092
13093#if defined(__cplusplus) && !defined(CINTERFACE)
13094
13095 MIDL_INTERFACE("e667af9f-cd56-4f46-83ce-032e595d70a8")
13096 ID3D12LifetimeOwner : public IUnknown
13097 {
13098 public:
13099 virtual void STDMETHODCALLTYPE LifetimeStateUpdated(
13100 D3D12_LIFETIME_STATE NewState) = 0;
13101
13102 };
13103
13104
13105#else /* C style interface */
13106
13107 typedef struct ID3D12LifetimeOwnerVtbl
13108 {
13109 BEGIN_INTERFACE
13110
13111 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
13112 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
13113 ID3D12LifetimeOwner * This,
13114 REFIID riid,
13115 _COM_Outptr_ void **ppvObject);
13116
13117 DECLSPEC_XFGVIRT(IUnknown, AddRef)
13118 ULONG ( STDMETHODCALLTYPE *AddRef )(
13119 ID3D12LifetimeOwner * This);
13120
13121 DECLSPEC_XFGVIRT(IUnknown, Release)
13122 ULONG ( STDMETHODCALLTYPE *Release )(
13123 ID3D12LifetimeOwner * This);
13124
13125 DECLSPEC_XFGVIRT(ID3D12LifetimeOwner, LifetimeStateUpdated)
13126 void ( STDMETHODCALLTYPE *LifetimeStateUpdated )(
13127 ID3D12LifetimeOwner * This,
13128 D3D12_LIFETIME_STATE NewState);
13129
13130 END_INTERFACE
13131 } ID3D12LifetimeOwnerVtbl;
13132
13133 interface ID3D12LifetimeOwner
13134 {
13135 CONST_VTBL struct ID3D12LifetimeOwnerVtbl *lpVtbl;
13136 };
13137
13138
13139
13140#ifdef COBJMACROS
13141
13142
13143#define ID3D12LifetimeOwner_QueryInterface(This,riid,ppvObject) \
13144 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
13145
13146#define ID3D12LifetimeOwner_AddRef(This) \
13147 ( (This)->lpVtbl -> AddRef(This) )
13148
13149#define ID3D12LifetimeOwner_Release(This) \
13150 ( (This)->lpVtbl -> Release(This) )
13151
13152
13153#define ID3D12LifetimeOwner_LifetimeStateUpdated(This,NewState) \
13154 ( (This)->lpVtbl -> LifetimeStateUpdated(This,NewState) )
13155
13156#endif /* COBJMACROS */
13157
13158
13159#endif /* C style interface */
13160
13161
13162
13163
13164#endif /* __ID3D12LifetimeOwner_INTERFACE_DEFINED__ */
13165
13166
13167#ifndef __ID3D12SwapChainAssistant_INTERFACE_DEFINED__
13168#define __ID3D12SwapChainAssistant_INTERFACE_DEFINED__
13169
13170/* interface ID3D12SwapChainAssistant */
13171/* [unique][local][object][uuid] */
13172
13173
13174EXTERN_C const IID IID_ID3D12SwapChainAssistant;
13175
13176#if defined(__cplusplus) && !defined(CINTERFACE)
13177
13178 MIDL_INTERFACE("f1df64b6-57fd-49cd-8807-c0eb88b45c8f")
13179 ID3D12SwapChainAssistant : public IUnknown
13180 {
13181 public:
13182#if defined(_MSC_VER) || !defined(_WIN32)
13183 virtual LUID STDMETHODCALLTYPE GetLUID( void) = 0;
13184#else
13185 virtual LUID *STDMETHODCALLTYPE GetLUID(
13186 LUID * RetVal) = 0;
13187#endif
13188
13189 virtual HRESULT STDMETHODCALLTYPE GetSwapChainObject(
13190 REFIID riid,
13191 _COM_Outptr_ void **ppv) = 0;
13192
13193 virtual HRESULT STDMETHODCALLTYPE GetCurrentResourceAndCommandQueue(
13194 REFIID riidResource,
13195 _COM_Outptr_ void **ppvResource,
13196 REFIID riidQueue,
13197 _COM_Outptr_ void **ppvQueue) = 0;
13198
13199 virtual HRESULT STDMETHODCALLTYPE InsertImplicitSync( void) = 0;
13200
13201 };
13202
13203
13204#else /* C style interface */
13205
13206 typedef struct ID3D12SwapChainAssistantVtbl
13207 {
13208 BEGIN_INTERFACE
13209
13210 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
13211 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
13212 ID3D12SwapChainAssistant * This,
13213 REFIID riid,
13214 _COM_Outptr_ void **ppvObject);
13215
13216 DECLSPEC_XFGVIRT(IUnknown, AddRef)
13217 ULONG ( STDMETHODCALLTYPE *AddRef )(
13218 ID3D12SwapChainAssistant * This);
13219
13220 DECLSPEC_XFGVIRT(IUnknown, Release)
13221 ULONG ( STDMETHODCALLTYPE *Release )(
13222 ID3D12SwapChainAssistant * This);
13223
13224 DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetLUID)
13225#if !defined(_WIN32)
13226 LUID ( STDMETHODCALLTYPE *GetLUID )(
13227 ID3D12SwapChainAssistant * This);
13228
13229#else
13230 LUID *( STDMETHODCALLTYPE *GetLUID )(
13231 ID3D12SwapChainAssistant * This,
13232 LUID * RetVal);
13233
13234#endif
13235
13236 DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetSwapChainObject)
13237 HRESULT ( STDMETHODCALLTYPE *GetSwapChainObject )(
13238 ID3D12SwapChainAssistant * This,
13239 REFIID riid,
13240 _COM_Outptr_ void **ppv);
13241
13242 DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetCurrentResourceAndCommandQueue)
13243 HRESULT ( STDMETHODCALLTYPE *GetCurrentResourceAndCommandQueue )(
13244 ID3D12SwapChainAssistant * This,
13245 REFIID riidResource,
13246 _COM_Outptr_ void **ppvResource,
13247 REFIID riidQueue,
13248 _COM_Outptr_ void **ppvQueue);
13249
13250 DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, InsertImplicitSync)
13251 HRESULT ( STDMETHODCALLTYPE *InsertImplicitSync )(
13252 ID3D12SwapChainAssistant * This);
13253
13254 END_INTERFACE
13255 } ID3D12SwapChainAssistantVtbl;
13256
13257 interface ID3D12SwapChainAssistant
13258 {
13259 CONST_VTBL struct ID3D12SwapChainAssistantVtbl *lpVtbl;
13260 };
13261
13262
13263
13264#ifdef COBJMACROS
13265
13266
13267#define ID3D12SwapChainAssistant_QueryInterface(This,riid,ppvObject) \
13268 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
13269
13270#define ID3D12SwapChainAssistant_AddRef(This) \
13271 ( (This)->lpVtbl -> AddRef(This) )
13272
13273#define ID3D12SwapChainAssistant_Release(This) \
13274 ( (This)->lpVtbl -> Release(This) )
13275
13276#if !defined(_WIN32)
13277
13278#define ID3D12SwapChainAssistant_GetLUID(This) \
13279 ( (This)->lpVtbl -> GetLUID(This) )
13280#else
13281#define ID3D12SwapChainAssistant_GetLUID(This,RetVal) \
13282 ( (This)->lpVtbl -> GetLUID(This,RetVal) )
13283#endif
13284
13285#define ID3D12SwapChainAssistant_GetSwapChainObject(This,riid,ppv) \
13286 ( (This)->lpVtbl -> GetSwapChainObject(This,riid,ppv) )
13287
13288#define ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue) \
13289 ( (This)->lpVtbl -> GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue) )
13290
13291#define ID3D12SwapChainAssistant_InsertImplicitSync(This) \
13292 ( (This)->lpVtbl -> InsertImplicitSync(This) )
13293
13294#endif /* COBJMACROS */
13295
13296
13297#endif /* C style interface */
13298
13299
13300
13301
13302#endif /* __ID3D12SwapChainAssistant_INTERFACE_DEFINED__ */
13303
13304
13305#ifndef __ID3D12LifetimeTracker_INTERFACE_DEFINED__
13306#define __ID3D12LifetimeTracker_INTERFACE_DEFINED__
13307
13308/* interface ID3D12LifetimeTracker */
13309/* [unique][local][object][uuid] */
13310
13311
13312EXTERN_C const IID IID_ID3D12LifetimeTracker;
13313
13314#if defined(__cplusplus) && !defined(CINTERFACE)
13315
13316 MIDL_INTERFACE("3fd03d36-4eb1-424a-a582-494ecb8ba813")
13317 ID3D12LifetimeTracker : public ID3D12DeviceChild
13318 {
13319 public:
13320 virtual HRESULT STDMETHODCALLTYPE DestroyOwnedObject(
13321 _In_ ID3D12DeviceChild *pObject) = 0;
13322
13323 };
13324
13325
13326#else /* C style interface */
13327
13328 typedef struct ID3D12LifetimeTrackerVtbl
13329 {
13330 BEGIN_INTERFACE
13331
13332 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
13333 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
13334 ID3D12LifetimeTracker * This,
13335 REFIID riid,
13336 _COM_Outptr_ void **ppvObject);
13337
13338 DECLSPEC_XFGVIRT(IUnknown, AddRef)
13339 ULONG ( STDMETHODCALLTYPE *AddRef )(
13340 ID3D12LifetimeTracker * This);
13341
13342 DECLSPEC_XFGVIRT(IUnknown, Release)
13343 ULONG ( STDMETHODCALLTYPE *Release )(
13344 ID3D12LifetimeTracker * This);
13345
13346 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
13347 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
13348 ID3D12LifetimeTracker * This,
13349 _In_ REFGUID guid,
13350 _Inout_ UINT *pDataSize,
13351 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
13352
13353 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
13354 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
13355 ID3D12LifetimeTracker * This,
13356 _In_ REFGUID guid,
13357 _In_ UINT DataSize,
13358 _In_reads_bytes_opt_( DataSize ) const void *pData);
13359
13360 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
13361 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
13362 ID3D12LifetimeTracker * This,
13363 _In_ REFGUID guid,
13364 _In_opt_ const IUnknown *pData);
13365
13366 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
13367 HRESULT ( STDMETHODCALLTYPE *SetName )(
13368 ID3D12LifetimeTracker * This,
13369 _In_z_ LPCWSTR Name);
13370
13371 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
13372 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
13373 ID3D12LifetimeTracker * This,
13374 REFIID riid,
13375 _COM_Outptr_opt_ void **ppvDevice);
13376
13377 DECLSPEC_XFGVIRT(ID3D12LifetimeTracker, DestroyOwnedObject)
13378 HRESULT ( STDMETHODCALLTYPE *DestroyOwnedObject )(
13379 ID3D12LifetimeTracker * This,
13380 _In_ ID3D12DeviceChild *pObject);
13381
13382 END_INTERFACE
13383 } ID3D12LifetimeTrackerVtbl;
13384
13385 interface ID3D12LifetimeTracker
13386 {
13387 CONST_VTBL struct ID3D12LifetimeTrackerVtbl *lpVtbl;
13388 };
13389
13390
13391
13392#ifdef COBJMACROS
13393
13394
13395#define ID3D12LifetimeTracker_QueryInterface(This,riid,ppvObject) \
13396 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
13397
13398#define ID3D12LifetimeTracker_AddRef(This) \
13399 ( (This)->lpVtbl -> AddRef(This) )
13400
13401#define ID3D12LifetimeTracker_Release(This) \
13402 ( (This)->lpVtbl -> Release(This) )
13403
13404
13405#define ID3D12LifetimeTracker_GetPrivateData(This,guid,pDataSize,pData) \
13406 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
13407
13408#define ID3D12LifetimeTracker_SetPrivateData(This,guid,DataSize,pData) \
13409 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
13410
13411#define ID3D12LifetimeTracker_SetPrivateDataInterface(This,guid,pData) \
13412 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
13413
13414#define ID3D12LifetimeTracker_SetName(This,Name) \
13415 ( (This)->lpVtbl -> SetName(This,Name) )
13416
13417
13418#define ID3D12LifetimeTracker_GetDevice(This,riid,ppvDevice) \
13419 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
13420
13421
13422#define ID3D12LifetimeTracker_DestroyOwnedObject(This,pObject) \
13423 ( (This)->lpVtbl -> DestroyOwnedObject(This,pObject) )
13424
13425#endif /* COBJMACROS */
13426
13427
13428#endif /* C style interface */
13429
13430
13431
13432
13433#endif /* __ID3D12LifetimeTracker_INTERFACE_DEFINED__ */
13434
13435
13436/* interface __MIDL_itf_d3d12_0000_0032 */
13437/* [local] */
13438
13439typedef
13440enum D3D12_META_COMMAND_PARAMETER_TYPE
13441 {
13442 D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = 0,
13443 D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = 1,
13444 D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = 2,
13445 D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 3,
13446 D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 4
13447 } D3D12_META_COMMAND_PARAMETER_TYPE;
13448
13449typedef
13450enum D3D12_META_COMMAND_PARAMETER_FLAGS
13451 {
13452 D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = 0x1,
13453 D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = 0x2
13454 } D3D12_META_COMMAND_PARAMETER_FLAGS;
13455
13456DEFINE_ENUM_FLAG_OPERATORS( D3D12_META_COMMAND_PARAMETER_FLAGS )
13457typedef
13458enum D3D12_META_COMMAND_PARAMETER_STAGE
13459 {
13460 D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = 0,
13461 D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1,
13462 D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = 2
13463 } D3D12_META_COMMAND_PARAMETER_STAGE;
13464
13465typedef struct D3D12_META_COMMAND_PARAMETER_DESC
13466 {
13467 LPCWSTR Name;
13468 D3D12_META_COMMAND_PARAMETER_TYPE Type;
13469 D3D12_META_COMMAND_PARAMETER_FLAGS Flags;
13470 D3D12_RESOURCE_STATES RequiredResourceState;
13471 UINT StructureOffset;
13472 } D3D12_META_COMMAND_PARAMETER_DESC;
13473
13474typedef
13475enum D3D12_GRAPHICS_STATES
13476 {
13477 D3D12_GRAPHICS_STATE_NONE = 0,
13478 D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = ( 1 << 0 ) ,
13479 D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = ( 1 << 1 ) ,
13480 D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = ( 1 << 2 ) ,
13481 D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = ( 1 << 3 ) ,
13482 D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = ( 1 << 4 ) ,
13483 D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = ( 1 << 5 ) ,
13484 D3D12_GRAPHICS_STATE_RS_VIEWPORTS = ( 1 << 6 ) ,
13485 D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = ( 1 << 7 ) ,
13486 D3D12_GRAPHICS_STATE_PREDICATION = ( 1 << 8 ) ,
13487 D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = ( 1 << 9 ) ,
13488 D3D12_GRAPHICS_STATE_OM_STENCIL_REF = ( 1 << 10 ) ,
13489 D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = ( 1 << 11 ) ,
13490 D3D12_GRAPHICS_STATE_PIPELINE_STATE = ( 1 << 12 ) ,
13491 D3D12_GRAPHICS_STATE_SO_TARGETS = ( 1 << 13 ) ,
13492 D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = ( 1 << 14 ) ,
13493 D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = ( 1 << 15 ) ,
13494 D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = ( 1 << 16 )
13495 } D3D12_GRAPHICS_STATES;
13496
13497DEFINE_ENUM_FLAG_OPERATORS( D3D12_GRAPHICS_STATES )
13498typedef struct D3D12_META_COMMAND_DESC
13499 {
13500 GUID Id;
13501 LPCWSTR Name;
13502 D3D12_GRAPHICS_STATES InitializationDirtyState;
13503 D3D12_GRAPHICS_STATES ExecutionDirtyState;
13504 } D3D12_META_COMMAND_DESC;
13505
13506
13507
13508extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0032_v0_0_c_ifspec;
13509extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0032_v0_0_s_ifspec;
13510
13511#ifndef __ID3D12StateObject_INTERFACE_DEFINED__
13512#define __ID3D12StateObject_INTERFACE_DEFINED__
13513
13514/* interface ID3D12StateObject */
13515/* [unique][local][object][uuid] */
13516
13517
13518EXTERN_C const IID IID_ID3D12StateObject;
13519
13520#if defined(__cplusplus) && !defined(CINTERFACE)
13521
13522 MIDL_INTERFACE("47016943-fca8-4594-93ea-af258b55346d")
13523 ID3D12StateObject : public ID3D12Pageable
13524 {
13525 public:
13526 };
13527
13528
13529#else /* C style interface */
13530
13531 typedef struct ID3D12StateObjectVtbl
13532 {
13533 BEGIN_INTERFACE
13534
13535 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
13536 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
13537 ID3D12StateObject * This,
13538 REFIID riid,
13539 _COM_Outptr_ void **ppvObject);
13540
13541 DECLSPEC_XFGVIRT(IUnknown, AddRef)
13542 ULONG ( STDMETHODCALLTYPE *AddRef )(
13543 ID3D12StateObject * This);
13544
13545 DECLSPEC_XFGVIRT(IUnknown, Release)
13546 ULONG ( STDMETHODCALLTYPE *Release )(
13547 ID3D12StateObject * This);
13548
13549 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
13550 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
13551 ID3D12StateObject * This,
13552 _In_ REFGUID guid,
13553 _Inout_ UINT *pDataSize,
13554 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
13555
13556 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
13557 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
13558 ID3D12StateObject * This,
13559 _In_ REFGUID guid,
13560 _In_ UINT DataSize,
13561 _In_reads_bytes_opt_( DataSize ) const void *pData);
13562
13563 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
13564 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
13565 ID3D12StateObject * This,
13566 _In_ REFGUID guid,
13567 _In_opt_ const IUnknown *pData);
13568
13569 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
13570 HRESULT ( STDMETHODCALLTYPE *SetName )(
13571 ID3D12StateObject * This,
13572 _In_z_ LPCWSTR Name);
13573
13574 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
13575 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
13576 ID3D12StateObject * This,
13577 REFIID riid,
13578 _COM_Outptr_opt_ void **ppvDevice);
13579
13580 END_INTERFACE
13581 } ID3D12StateObjectVtbl;
13582
13583 interface ID3D12StateObject
13584 {
13585 CONST_VTBL struct ID3D12StateObjectVtbl *lpVtbl;
13586 };
13587
13588
13589
13590#ifdef COBJMACROS
13591
13592
13593#define ID3D12StateObject_QueryInterface(This,riid,ppvObject) \
13594 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
13595
13596#define ID3D12StateObject_AddRef(This) \
13597 ( (This)->lpVtbl -> AddRef(This) )
13598
13599#define ID3D12StateObject_Release(This) \
13600 ( (This)->lpVtbl -> Release(This) )
13601
13602
13603#define ID3D12StateObject_GetPrivateData(This,guid,pDataSize,pData) \
13604 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
13605
13606#define ID3D12StateObject_SetPrivateData(This,guid,DataSize,pData) \
13607 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
13608
13609#define ID3D12StateObject_SetPrivateDataInterface(This,guid,pData) \
13610 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
13611
13612#define ID3D12StateObject_SetName(This,Name) \
13613 ( (This)->lpVtbl -> SetName(This,Name) )
13614
13615
13616#define ID3D12StateObject_GetDevice(This,riid,ppvDevice) \
13617 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
13618
13619
13620
13621#endif /* COBJMACROS */
13622
13623
13624#endif /* C style interface */
13625
13626
13627
13628
13629#endif /* __ID3D12StateObject_INTERFACE_DEFINED__ */
13630
13631
13632#ifndef __ID3D12StateObjectProperties_INTERFACE_DEFINED__
13633#define __ID3D12StateObjectProperties_INTERFACE_DEFINED__
13634
13635/* interface ID3D12StateObjectProperties */
13636/* [unique][local][object][uuid] */
13637
13638
13639EXTERN_C const IID IID_ID3D12StateObjectProperties;
13640
13641#if defined(__cplusplus) && !defined(CINTERFACE)
13642
13643 MIDL_INTERFACE("de5fa827-9bf9-4f26-89ff-d7f56fde3860")
13644 ID3D12StateObjectProperties : public IUnknown
13645 {
13646 public:
13647 virtual void *STDMETHODCALLTYPE GetShaderIdentifier(
13648 _In_ LPCWSTR pExportName) = 0;
13649
13650 virtual UINT64 STDMETHODCALLTYPE GetShaderStackSize(
13651 _In_ LPCWSTR pExportName) = 0;
13652
13653 virtual UINT64 STDMETHODCALLTYPE GetPipelineStackSize( void) = 0;
13654
13655 virtual void STDMETHODCALLTYPE SetPipelineStackSize(
13656 UINT64 PipelineStackSizeInBytes) = 0;
13657
13658 };
13659
13660
13661#else /* C style interface */
13662
13663 typedef struct ID3D12StateObjectPropertiesVtbl
13664 {
13665 BEGIN_INTERFACE
13666
13667 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
13668 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
13669 ID3D12StateObjectProperties * This,
13670 REFIID riid,
13671 _COM_Outptr_ void **ppvObject);
13672
13673 DECLSPEC_XFGVIRT(IUnknown, AddRef)
13674 ULONG ( STDMETHODCALLTYPE *AddRef )(
13675 ID3D12StateObjectProperties * This);
13676
13677 DECLSPEC_XFGVIRT(IUnknown, Release)
13678 ULONG ( STDMETHODCALLTYPE *Release )(
13679 ID3D12StateObjectProperties * This);
13680
13681 DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderIdentifier)
13682 void *( STDMETHODCALLTYPE *GetShaderIdentifier )(
13683 ID3D12StateObjectProperties * This,
13684 _In_ LPCWSTR pExportName);
13685
13686 DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderStackSize)
13687 UINT64 ( STDMETHODCALLTYPE *GetShaderStackSize )(
13688 ID3D12StateObjectProperties * This,
13689 _In_ LPCWSTR pExportName);
13690
13691 DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetPipelineStackSize)
13692 UINT64 ( STDMETHODCALLTYPE *GetPipelineStackSize )(
13693 ID3D12StateObjectProperties * This);
13694
13695 DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, SetPipelineStackSize)
13696 void ( STDMETHODCALLTYPE *SetPipelineStackSize )(
13697 ID3D12StateObjectProperties * This,
13698 UINT64 PipelineStackSizeInBytes);
13699
13700 END_INTERFACE
13701 } ID3D12StateObjectPropertiesVtbl;
13702
13703 interface ID3D12StateObjectProperties
13704 {
13705 CONST_VTBL struct ID3D12StateObjectPropertiesVtbl *lpVtbl;
13706 };
13707
13708
13709
13710#ifdef COBJMACROS
13711
13712
13713#define ID3D12StateObjectProperties_QueryInterface(This,riid,ppvObject) \
13714 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
13715
13716#define ID3D12StateObjectProperties_AddRef(This) \
13717 ( (This)->lpVtbl -> AddRef(This) )
13718
13719#define ID3D12StateObjectProperties_Release(This) \
13720 ( (This)->lpVtbl -> Release(This) )
13721
13722
13723#define ID3D12StateObjectProperties_GetShaderIdentifier(This,pExportName) \
13724 ( (This)->lpVtbl -> GetShaderIdentifier(This,pExportName) )
13725
13726#define ID3D12StateObjectProperties_GetShaderStackSize(This,pExportName) \
13727 ( (This)->lpVtbl -> GetShaderStackSize(This,pExportName) )
13728
13729#define ID3D12StateObjectProperties_GetPipelineStackSize(This) \
13730 ( (This)->lpVtbl -> GetPipelineStackSize(This) )
13731
13732#define ID3D12StateObjectProperties_SetPipelineStackSize(This,PipelineStackSizeInBytes) \
13733 ( (This)->lpVtbl -> SetPipelineStackSize(This,PipelineStackSizeInBytes) )
13734
13735#endif /* COBJMACROS */
13736
13737
13738#endif /* C style interface */
13739
13740
13741
13742
13743#endif /* __ID3D12StateObjectProperties_INTERFACE_DEFINED__ */
13744
13745
13746/* interface __MIDL_itf_d3d12_0000_0034 */
13747/* [local] */
13748
13749typedef struct D3D12_PROGRAM_IDENTIFIER
13750 {
13751 UINT64 OpaqueData[ 4 ];
13752 } D3D12_PROGRAM_IDENTIFIER;
13753
13754
13755
13756extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0034_v0_0_c_ifspec;
13757extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0034_v0_0_s_ifspec;
13758
13759#ifndef __ID3D12StateObjectProperties1_INTERFACE_DEFINED__
13760#define __ID3D12StateObjectProperties1_INTERFACE_DEFINED__
13761
13762/* interface ID3D12StateObjectProperties1 */
13763/* [unique][local][object][uuid] */
13764
13765
13766EXTERN_C const IID IID_ID3D12StateObjectProperties1;
13767
13768#if defined(__cplusplus) && !defined(CINTERFACE)
13769
13770 MIDL_INTERFACE("460caac7-1d24-446a-a184-ca67db494138")
13771 ID3D12StateObjectProperties1 : public ID3D12StateObjectProperties
13772 {
13773 public:
13774#if defined(_MSC_VER) || !defined(_WIN32)
13775 virtual D3D12_PROGRAM_IDENTIFIER STDMETHODCALLTYPE GetProgramIdentifier(
13776 LPCWSTR pProgramName) = 0;
13777#else
13778 virtual D3D12_PROGRAM_IDENTIFIER *STDMETHODCALLTYPE GetProgramIdentifier(
13779 D3D12_PROGRAM_IDENTIFIER * RetVal,
13780 LPCWSTR pProgramName) = 0;
13781#endif
13782
13783 };
13784
13785
13786#else /* C style interface */
13787
13788 typedef struct ID3D12StateObjectProperties1Vtbl
13789 {
13790 BEGIN_INTERFACE
13791
13792 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
13793 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
13794 ID3D12StateObjectProperties1 * This,
13795 REFIID riid,
13796 _COM_Outptr_ void **ppvObject);
13797
13798 DECLSPEC_XFGVIRT(IUnknown, AddRef)
13799 ULONG ( STDMETHODCALLTYPE *AddRef )(
13800 ID3D12StateObjectProperties1 * This);
13801
13802 DECLSPEC_XFGVIRT(IUnknown, Release)
13803 ULONG ( STDMETHODCALLTYPE *Release )(
13804 ID3D12StateObjectProperties1 * This);
13805
13806 DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderIdentifier)
13807 void *( STDMETHODCALLTYPE *GetShaderIdentifier )(
13808 ID3D12StateObjectProperties1 * This,
13809 _In_ LPCWSTR pExportName);
13810
13811 DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderStackSize)
13812 UINT64 ( STDMETHODCALLTYPE *GetShaderStackSize )(
13813 ID3D12StateObjectProperties1 * This,
13814 _In_ LPCWSTR pExportName);
13815
13816 DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetPipelineStackSize)
13817 UINT64 ( STDMETHODCALLTYPE *GetPipelineStackSize )(
13818 ID3D12StateObjectProperties1 * This);
13819
13820 DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, SetPipelineStackSize)
13821 void ( STDMETHODCALLTYPE *SetPipelineStackSize )(
13822 ID3D12StateObjectProperties1 * This,
13823 UINT64 PipelineStackSizeInBytes);
13824
13825 DECLSPEC_XFGVIRT(ID3D12StateObjectProperties1, GetProgramIdentifier)
13826#if !defined(_WIN32)
13827 D3D12_PROGRAM_IDENTIFIER ( STDMETHODCALLTYPE *GetProgramIdentifier )(
13828 ID3D12StateObjectProperties1 * This,
13829 LPCWSTR pProgramName);
13830
13831#else
13832 D3D12_PROGRAM_IDENTIFIER *( STDMETHODCALLTYPE *GetProgramIdentifier )(
13833 ID3D12StateObjectProperties1 * This,
13834 D3D12_PROGRAM_IDENTIFIER * RetVal,
13835 LPCWSTR pProgramName);
13836
13837#endif
13838
13839 END_INTERFACE
13840 } ID3D12StateObjectProperties1Vtbl;
13841
13842 interface ID3D12StateObjectProperties1
13843 {
13844 CONST_VTBL struct ID3D12StateObjectProperties1Vtbl *lpVtbl;
13845 };
13846
13847
13848
13849#ifdef COBJMACROS
13850
13851
13852#define ID3D12StateObjectProperties1_QueryInterface(This,riid,ppvObject) \
13853 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
13854
13855#define ID3D12StateObjectProperties1_AddRef(This) \
13856 ( (This)->lpVtbl -> AddRef(This) )
13857
13858#define ID3D12StateObjectProperties1_Release(This) \
13859 ( (This)->lpVtbl -> Release(This) )
13860
13861
13862#define ID3D12StateObjectProperties1_GetShaderIdentifier(This,pExportName) \
13863 ( (This)->lpVtbl -> GetShaderIdentifier(This,pExportName) )
13864
13865#define ID3D12StateObjectProperties1_GetShaderStackSize(This,pExportName) \
13866 ( (This)->lpVtbl -> GetShaderStackSize(This,pExportName) )
13867
13868#define ID3D12StateObjectProperties1_GetPipelineStackSize(This) \
13869 ( (This)->lpVtbl -> GetPipelineStackSize(This) )
13870
13871#define ID3D12StateObjectProperties1_SetPipelineStackSize(This,PipelineStackSizeInBytes) \
13872 ( (This)->lpVtbl -> SetPipelineStackSize(This,PipelineStackSizeInBytes) )
13873
13874#if !defined(_WIN32)
13875
13876#define ID3D12StateObjectProperties1_GetProgramIdentifier(This,pProgramName) \
13877 ( (This)->lpVtbl -> GetProgramIdentifier(This,pProgramName) )
13878#else
13879#define ID3D12StateObjectProperties1_GetProgramIdentifier(This,RetVal,pProgramName) \
13880 ( (This)->lpVtbl -> GetProgramIdentifier(This,RetVal,pProgramName) )
13881#endif
13882
13883#endif /* COBJMACROS */
13884
13885
13886#endif /* C style interface */
13887
13888
13889
13890
13891#endif /* __ID3D12StateObjectProperties1_INTERFACE_DEFINED__ */
13892
13893
13894/* interface __MIDL_itf_d3d12_0000_0035 */
13895/* [local] */
13896
13897typedef struct D3D12_NODE_ID
13898 {
13899 LPCWSTR Name;
13900 UINT ArrayIndex;
13901 } D3D12_NODE_ID;
13902
13903typedef struct D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS
13904 {
13905 UINT64 MinSizeInBytes;
13906 UINT64 MaxSizeInBytes;
13907 UINT SizeGranularityInBytes;
13908 } D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS;
13909
13910
13911
13912extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0035_v0_0_c_ifspec;
13913extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0035_v0_0_s_ifspec;
13914
13915#ifndef __ID3D12WorkGraphProperties_INTERFACE_DEFINED__
13916#define __ID3D12WorkGraphProperties_INTERFACE_DEFINED__
13917
13918/* interface ID3D12WorkGraphProperties */
13919/* [unique][local][object][uuid] */
13920
13921
13922EXTERN_C const IID IID_ID3D12WorkGraphProperties;
13923
13924#if defined(__cplusplus) && !defined(CINTERFACE)
13925
13926 MIDL_INTERFACE("065acf71-f863-4b89-82f4-02e4d5886757")
13927 ID3D12WorkGraphProperties : public IUnknown
13928 {
13929 public:
13930 virtual UINT STDMETHODCALLTYPE GetNumWorkGraphs( void) = 0;
13931
13932 virtual LPCWSTR STDMETHODCALLTYPE GetProgramName(
13933 UINT WorkGraphIndex) = 0;
13934
13935 virtual UINT STDMETHODCALLTYPE GetWorkGraphIndex(
13936 LPCWSTR pProgramName) = 0;
13937
13938 virtual UINT STDMETHODCALLTYPE GetNumNodes(
13939 UINT WorkGraphIndex) = 0;
13940
13941#if defined(_MSC_VER) || !defined(_WIN32)
13942 virtual D3D12_NODE_ID STDMETHODCALLTYPE GetNodeID(
13943 UINT WorkGraphIndex,
13944 UINT NodeIndex) = 0;
13945#else
13946 virtual D3D12_NODE_ID *STDMETHODCALLTYPE GetNodeID(
13947 D3D12_NODE_ID * RetVal,
13948 UINT WorkGraphIndex,
13949 UINT NodeIndex) = 0;
13950#endif
13951
13952 virtual UINT STDMETHODCALLTYPE GetNodeIndex(
13953 UINT WorkGraphIndex,
13954 D3D12_NODE_ID NodeID) = 0;
13955
13956 virtual UINT STDMETHODCALLTYPE GetNodeLocalRootArgumentsTableIndex(
13957 UINT WorkGraphIndex,
13958 UINT NodeIndex) = 0;
13959
13960 virtual UINT STDMETHODCALLTYPE GetNumEntrypoints(
13961 UINT WorkGraphIndex) = 0;
13962
13963#if defined(_MSC_VER) || !defined(_WIN32)
13964 virtual D3D12_NODE_ID STDMETHODCALLTYPE GetEntrypointID(
13965 UINT WorkGraphIndex,
13966 UINT EntrypointIndex) = 0;
13967#else
13968 virtual D3D12_NODE_ID *STDMETHODCALLTYPE GetEntrypointID(
13969 D3D12_NODE_ID * RetVal,
13970 UINT WorkGraphIndex,
13971 UINT EntrypointIndex) = 0;
13972#endif
13973
13974 virtual UINT STDMETHODCALLTYPE GetEntrypointIndex(
13975 UINT WorkGraphIndex,
13976 D3D12_NODE_ID NodeID) = 0;
13977
13978 virtual UINT STDMETHODCALLTYPE GetEntrypointRecordSizeInBytes(
13979 UINT WorkGraphIndex,
13980 UINT EntrypointIndex) = 0;
13981
13982 virtual void STDMETHODCALLTYPE GetWorkGraphMemoryRequirements(
13983 UINT WorkGraphIndex,
13984 _Out_ D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS *pWorkGraphMemoryRequirements) = 0;
13985
13986 virtual UINT STDMETHODCALLTYPE GetEntrypointRecordAlignmentInBytes(
13987 UINT WorkGraphIndex,
13988 UINT EntrypointIndex) = 0;
13989
13990 };
13991
13992
13993#else /* C style interface */
13994
13995 typedef struct ID3D12WorkGraphPropertiesVtbl
13996 {
13997 BEGIN_INTERFACE
13998
13999 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
14000 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
14001 ID3D12WorkGraphProperties * This,
14002 REFIID riid,
14003 _COM_Outptr_ void **ppvObject);
14004
14005 DECLSPEC_XFGVIRT(IUnknown, AddRef)
14006 ULONG ( STDMETHODCALLTYPE *AddRef )(
14007 ID3D12WorkGraphProperties * This);
14008
14009 DECLSPEC_XFGVIRT(IUnknown, Release)
14010 ULONG ( STDMETHODCALLTYPE *Release )(
14011 ID3D12WorkGraphProperties * This);
14012
14013 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNumWorkGraphs)
14014 UINT ( STDMETHODCALLTYPE *GetNumWorkGraphs )(
14015 ID3D12WorkGraphProperties * This);
14016
14017 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetProgramName)
14018 LPCWSTR ( STDMETHODCALLTYPE *GetProgramName )(
14019 ID3D12WorkGraphProperties * This,
14020 UINT WorkGraphIndex);
14021
14022 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetWorkGraphIndex)
14023 UINT ( STDMETHODCALLTYPE *GetWorkGraphIndex )(
14024 ID3D12WorkGraphProperties * This,
14025 LPCWSTR pProgramName);
14026
14027 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNumNodes)
14028 UINT ( STDMETHODCALLTYPE *GetNumNodes )(
14029 ID3D12WorkGraphProperties * This,
14030 UINT WorkGraphIndex);
14031
14032 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNodeID)
14033#if !defined(_WIN32)
14034 D3D12_NODE_ID ( STDMETHODCALLTYPE *GetNodeID )(
14035 ID3D12WorkGraphProperties * This,
14036 UINT WorkGraphIndex,
14037 UINT NodeIndex);
14038
14039#else
14040 D3D12_NODE_ID *( STDMETHODCALLTYPE *GetNodeID )(
14041 ID3D12WorkGraphProperties * This,
14042 D3D12_NODE_ID * RetVal,
14043 UINT WorkGraphIndex,
14044 UINT NodeIndex);
14045
14046#endif
14047
14048 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNodeIndex)
14049 UINT ( STDMETHODCALLTYPE *GetNodeIndex )(
14050 ID3D12WorkGraphProperties * This,
14051 UINT WorkGraphIndex,
14052 D3D12_NODE_ID NodeID);
14053
14054 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNodeLocalRootArgumentsTableIndex)
14055 UINT ( STDMETHODCALLTYPE *GetNodeLocalRootArgumentsTableIndex )(
14056 ID3D12WorkGraphProperties * This,
14057 UINT WorkGraphIndex,
14058 UINT NodeIndex);
14059
14060 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNumEntrypoints)
14061 UINT ( STDMETHODCALLTYPE *GetNumEntrypoints )(
14062 ID3D12WorkGraphProperties * This,
14063 UINT WorkGraphIndex);
14064
14065 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointID)
14066#if !defined(_WIN32)
14067 D3D12_NODE_ID ( STDMETHODCALLTYPE *GetEntrypointID )(
14068 ID3D12WorkGraphProperties * This,
14069 UINT WorkGraphIndex,
14070 UINT EntrypointIndex);
14071
14072#else
14073 D3D12_NODE_ID *( STDMETHODCALLTYPE *GetEntrypointID )(
14074 ID3D12WorkGraphProperties * This,
14075 D3D12_NODE_ID * RetVal,
14076 UINT WorkGraphIndex,
14077 UINT EntrypointIndex);
14078
14079#endif
14080
14081 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointIndex)
14082 UINT ( STDMETHODCALLTYPE *GetEntrypointIndex )(
14083 ID3D12WorkGraphProperties * This,
14084 UINT WorkGraphIndex,
14085 D3D12_NODE_ID NodeID);
14086
14087 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointRecordSizeInBytes)
14088 UINT ( STDMETHODCALLTYPE *GetEntrypointRecordSizeInBytes )(
14089 ID3D12WorkGraphProperties * This,
14090 UINT WorkGraphIndex,
14091 UINT EntrypointIndex);
14092
14093 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetWorkGraphMemoryRequirements)
14094 void ( STDMETHODCALLTYPE *GetWorkGraphMemoryRequirements )(
14095 ID3D12WorkGraphProperties * This,
14096 UINT WorkGraphIndex,
14097 _Out_ D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS *pWorkGraphMemoryRequirements);
14098
14099 DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointRecordAlignmentInBytes)
14100 UINT ( STDMETHODCALLTYPE *GetEntrypointRecordAlignmentInBytes )(
14101 ID3D12WorkGraphProperties * This,
14102 UINT WorkGraphIndex,
14103 UINT EntrypointIndex);
14104
14105 END_INTERFACE
14106 } ID3D12WorkGraphPropertiesVtbl;
14107
14108 interface ID3D12WorkGraphProperties
14109 {
14110 CONST_VTBL struct ID3D12WorkGraphPropertiesVtbl *lpVtbl;
14111 };
14112
14113
14114
14115#ifdef COBJMACROS
14116
14117
14118#define ID3D12WorkGraphProperties_QueryInterface(This,riid,ppvObject) \
14119 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
14120
14121#define ID3D12WorkGraphProperties_AddRef(This) \
14122 ( (This)->lpVtbl -> AddRef(This) )
14123
14124#define ID3D12WorkGraphProperties_Release(This) \
14125 ( (This)->lpVtbl -> Release(This) )
14126
14127
14128#define ID3D12WorkGraphProperties_GetNumWorkGraphs(This) \
14129 ( (This)->lpVtbl -> GetNumWorkGraphs(This) )
14130
14131#define ID3D12WorkGraphProperties_GetProgramName(This,WorkGraphIndex) \
14132 ( (This)->lpVtbl -> GetProgramName(This,WorkGraphIndex) )
14133
14134#define ID3D12WorkGraphProperties_GetWorkGraphIndex(This,pProgramName) \
14135 ( (This)->lpVtbl -> GetWorkGraphIndex(This,pProgramName) )
14136
14137#define ID3D12WorkGraphProperties_GetNumNodes(This,WorkGraphIndex) \
14138 ( (This)->lpVtbl -> GetNumNodes(This,WorkGraphIndex) )
14139#if !defined(_WIN32)
14140
14141#define ID3D12WorkGraphProperties_GetNodeID(This,WorkGraphIndex,NodeIndex) \
14142 ( (This)->lpVtbl -> GetNodeID(This,WorkGraphIndex,NodeIndex) )
14143#else
14144#define ID3D12WorkGraphProperties_GetNodeID(This,RetVal,WorkGraphIndex,NodeIndex) \
14145 ( (This)->lpVtbl -> GetNodeID(This,RetVal,WorkGraphIndex,NodeIndex) )
14146#endif
14147
14148#define ID3D12WorkGraphProperties_GetNodeIndex(This,WorkGraphIndex,NodeID) \
14149 ( (This)->lpVtbl -> GetNodeIndex(This,WorkGraphIndex,NodeID) )
14150
14151#define ID3D12WorkGraphProperties_GetNodeLocalRootArgumentsTableIndex(This,WorkGraphIndex,NodeIndex) \
14152 ( (This)->lpVtbl -> GetNodeLocalRootArgumentsTableIndex(This,WorkGraphIndex,NodeIndex) )
14153
14154#define ID3D12WorkGraphProperties_GetNumEntrypoints(This,WorkGraphIndex) \
14155 ( (This)->lpVtbl -> GetNumEntrypoints(This,WorkGraphIndex) )
14156#if !defined(_WIN32)
14157
14158#define ID3D12WorkGraphProperties_GetEntrypointID(This,WorkGraphIndex,EntrypointIndex) \
14159 ( (This)->lpVtbl -> GetEntrypointID(This,WorkGraphIndex,EntrypointIndex) )
14160#else
14161#define ID3D12WorkGraphProperties_GetEntrypointID(This,RetVal,WorkGraphIndex,EntrypointIndex) \
14162 ( (This)->lpVtbl -> GetEntrypointID(This,RetVal,WorkGraphIndex,EntrypointIndex) )
14163#endif
14164
14165#define ID3D12WorkGraphProperties_GetEntrypointIndex(This,WorkGraphIndex,NodeID) \
14166 ( (This)->lpVtbl -> GetEntrypointIndex(This,WorkGraphIndex,NodeID) )
14167
14168#define ID3D12WorkGraphProperties_GetEntrypointRecordSizeInBytes(This,WorkGraphIndex,EntrypointIndex) \
14169 ( (This)->lpVtbl -> GetEntrypointRecordSizeInBytes(This,WorkGraphIndex,EntrypointIndex) )
14170
14171#define ID3D12WorkGraphProperties_GetWorkGraphMemoryRequirements(This,WorkGraphIndex,pWorkGraphMemoryRequirements) \
14172 ( (This)->lpVtbl -> GetWorkGraphMemoryRequirements(This,WorkGraphIndex,pWorkGraphMemoryRequirements) )
14173
14174#define ID3D12WorkGraphProperties_GetEntrypointRecordAlignmentInBytes(This,WorkGraphIndex,EntrypointIndex) \
14175 ( (This)->lpVtbl -> GetEntrypointRecordAlignmentInBytes(This,WorkGraphIndex,EntrypointIndex) )
14176
14177#endif /* COBJMACROS */
14178
14179
14180#endif /* C style interface */
14181
14182
14183
14184
14185#endif /* __ID3D12WorkGraphProperties_INTERFACE_DEFINED__ */
14186
14187
14188/* interface __MIDL_itf_d3d12_0000_0036 */
14189/* [local] */
14190
14191typedef
14192enum D3D12_STATE_SUBOBJECT_TYPE
14193 {
14194 D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0,
14195 D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 1,
14196 D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 2,
14197 D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 3,
14198 D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 5,
14199 D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 6,
14200 D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 7,
14201 D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 8,
14202 D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9,
14203 D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10,
14204 D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11,
14205 D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 12,
14206 D3D12_STATE_SUBOBJECT_TYPE_WORK_GRAPH = 13,
14207 D3D12_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = 14,
14208 D3D12_STATE_SUBOBJECT_TYPE_BLEND = 15,
14209 D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = 16,
14210 D3D12_STATE_SUBOBJECT_TYPE_RASTERIZER = 17,
14211 D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = 18,
14212 D3D12_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = 19,
14213 D3D12_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = 20,
14214 D3D12_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = 21,
14215 D3D12_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = 22,
14216 D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = 23,
14217 D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = 24,
14218 D3D12_STATE_SUBOBJECT_TYPE_FLAGS = 26,
14219 D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 27,
14220 D3D12_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = 28,
14221 D3D12_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM = 29,
14222 D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 30,
14223 D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID = ( D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 + 1 )
14224 } D3D12_STATE_SUBOBJECT_TYPE;
14225
14226typedef struct D3D12_STATE_SUBOBJECT
14227 {
14228 D3D12_STATE_SUBOBJECT_TYPE Type;
14229 const void *pDesc;
14230 } D3D12_STATE_SUBOBJECT;
14231
14232typedef
14233enum D3D12_STATE_OBJECT_FLAGS
14234 {
14235 D3D12_STATE_OBJECT_FLAG_NONE = 0,
14236 D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1,
14237 D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2,
14238 D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = 0x4
14239 } D3D12_STATE_OBJECT_FLAGS;
14240
14241DEFINE_ENUM_FLAG_OPERATORS( D3D12_STATE_OBJECT_FLAGS )
14242typedef struct D3D12_STATE_OBJECT_CONFIG
14243 {
14244 D3D12_STATE_OBJECT_FLAGS Flags;
14245 } D3D12_STATE_OBJECT_CONFIG;
14246
14247typedef struct D3D12_GLOBAL_ROOT_SIGNATURE
14248 {
14249 ID3D12RootSignature *pGlobalRootSignature;
14250 } D3D12_GLOBAL_ROOT_SIGNATURE;
14251
14252typedef struct D3D12_LOCAL_ROOT_SIGNATURE
14253 {
14254 ID3D12RootSignature *pLocalRootSignature;
14255 } D3D12_LOCAL_ROOT_SIGNATURE;
14256
14257typedef struct D3D12_NODE_MASK
14258 {
14259 UINT NodeMask;
14260 } D3D12_NODE_MASK;
14261
14262typedef struct D3D12_SAMPLE_MASK
14263 {
14264 UINT SampleMask;
14265 } D3D12_SAMPLE_MASK;
14266
14267typedef struct D3D12_IB_STRIP_CUT_VALUE
14268 {
14269 D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IndexBufferStripCutValue;
14270 } D3D12_IB_STRIP_CUT_VALUE;
14271
14272typedef struct D3D12_PRIMITIVE_TOPOLOGY_DESC
14273 {
14274 D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopology;
14275 } D3D12_PRIMITIVE_TOPOLOGY_DESC;
14276
14277typedef struct D3D12_DEPTH_STENCIL_FORMAT
14278 {
14279 DXGI_FORMAT DepthStencilFormat;
14280 } D3D12_DEPTH_STENCIL_FORMAT;
14281
14282typedef
14283enum D3D12_EXPORT_FLAGS
14284 {
14285 D3D12_EXPORT_FLAG_NONE = 0
14286 } D3D12_EXPORT_FLAGS;
14287
14288DEFINE_ENUM_FLAG_OPERATORS( D3D12_EXPORT_FLAGS )
14289typedef struct D3D12_EXPORT_DESC
14290 {
14291 LPCWSTR Name;
14292 _In_opt_ LPCWSTR ExportToRename;
14293 D3D12_EXPORT_FLAGS Flags;
14294 } D3D12_EXPORT_DESC;
14295
14296typedef struct D3D12_DXIL_LIBRARY_DESC
14297 {
14298 D3D12_SHADER_BYTECODE DXILLibrary;
14299 UINT NumExports;
14300 _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports;
14301 } D3D12_DXIL_LIBRARY_DESC;
14302
14303typedef struct D3D12_EXISTING_COLLECTION_DESC
14304 {
14305 ID3D12StateObject *pExistingCollection;
14306 UINT NumExports;
14307 _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports;
14308 } D3D12_EXISTING_COLLECTION_DESC;
14309
14310typedef struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION
14311 {
14312 const D3D12_STATE_SUBOBJECT *pSubobjectToAssociate;
14313 UINT NumExports;
14314 _In_reads_(NumExports) LPCWSTR *pExports;
14315 } D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
14316
14317typedef struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION
14318 {
14319 LPCWSTR SubobjectToAssociate;
14320 UINT NumExports;
14321 _In_reads_(NumExports) LPCWSTR *pExports;
14322 } D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
14323
14324typedef
14325enum D3D12_HIT_GROUP_TYPE
14326 {
14327 D3D12_HIT_GROUP_TYPE_TRIANGLES = 0,
14328 D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = 0x1
14329 } D3D12_HIT_GROUP_TYPE;
14330
14331typedef struct D3D12_HIT_GROUP_DESC
14332 {
14333 LPCWSTR HitGroupExport;
14334 D3D12_HIT_GROUP_TYPE Type;
14335 _In_opt_ LPCWSTR AnyHitShaderImport;
14336 _In_opt_ LPCWSTR ClosestHitShaderImport;
14337 _In_opt_ LPCWSTR IntersectionShaderImport;
14338 } D3D12_HIT_GROUP_DESC;
14339
14340typedef struct D3D12_RAYTRACING_SHADER_CONFIG
14341 {
14342 UINT MaxPayloadSizeInBytes;
14343 UINT MaxAttributeSizeInBytes;
14344 } D3D12_RAYTRACING_SHADER_CONFIG;
14345
14346typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG
14347 {
14348 UINT MaxTraceRecursionDepth;
14349 } D3D12_RAYTRACING_PIPELINE_CONFIG;
14350
14351typedef
14352enum D3D12_RAYTRACING_PIPELINE_FLAGS
14353 {
14354 D3D12_RAYTRACING_PIPELINE_FLAG_NONE = 0,
14355 D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = 0x100,
14356 D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200
14357 } D3D12_RAYTRACING_PIPELINE_FLAGS;
14358
14359DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_PIPELINE_FLAGS )
14360typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG1
14361 {
14362 UINT MaxTraceRecursionDepth;
14363 D3D12_RAYTRACING_PIPELINE_FLAGS Flags;
14364 } D3D12_RAYTRACING_PIPELINE_CONFIG1;
14365
14366typedef struct D3D12_NODE_OUTPUT_OVERRIDES
14367 {
14368 UINT OutputIndex;
14369 _In_opt_ const D3D12_NODE_ID *pNewName;
14370 _In_opt_ const BOOL *pAllowSparseNodes;
14371 _In_opt_ const UINT *pMaxRecords;
14372 _In_opt_ const UINT *pMaxRecordsSharedWithOutputIndex;
14373 } D3D12_NODE_OUTPUT_OVERRIDES;
14374
14375typedef struct D3D12_BROADCASTING_LAUNCH_OVERRIDES
14376 {
14377 _In_opt_ const UINT *pLocalRootArgumentsTableIndex;
14378 _In_opt_ const BOOL *pProgramEntry;
14379 _In_opt_ const D3D12_NODE_ID *pNewName;
14380 _In_opt_ const D3D12_NODE_ID *pShareInputOf;
14381 _In_reads_opt_(3) const UINT *pDispatchGrid;
14382 _In_reads_opt_(3) const UINT *pMaxDispatchGrid;
14383 UINT NumOutputOverrides;
14384 _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides;
14385 } D3D12_BROADCASTING_LAUNCH_OVERRIDES;
14386
14387typedef struct D3D12_COALESCING_LAUNCH_OVERRIDES
14388 {
14389 _In_opt_ const UINT *pLocalRootArgumentsTableIndex;
14390 _In_opt_ const BOOL *pProgramEntry;
14391 _In_opt_ const D3D12_NODE_ID *pNewName;
14392 _In_opt_ const D3D12_NODE_ID *pShareInputOf;
14393 UINT NumOutputOverrides;
14394 _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides;
14395 } D3D12_COALESCING_LAUNCH_OVERRIDES;
14396
14397typedef struct D3D12_THREAD_LAUNCH_OVERRIDES
14398 {
14399 _In_opt_ const UINT *pLocalRootArgumentsTableIndex;
14400 _In_opt_ const BOOL *pProgramEntry;
14401 _In_opt_ const D3D12_NODE_ID *pNewName;
14402 _In_opt_ const D3D12_NODE_ID *pShareInputOf;
14403 UINT NumOutputOverrides;
14404 _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides;
14405 } D3D12_THREAD_LAUNCH_OVERRIDES;
14406
14407typedef struct D3D12_COMMON_COMPUTE_NODE_OVERRIDES
14408 {
14409 _In_opt_ const UINT *pLocalRootArgumentsTableIndex;
14410 _In_opt_ const BOOL *pProgramEntry;
14411 _In_opt_ const D3D12_NODE_ID *pNewName;
14412 _In_opt_ const D3D12_NODE_ID *pShareInputOf;
14413 UINT NumOutputOverrides;
14414 _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides;
14415 } D3D12_COMMON_COMPUTE_NODE_OVERRIDES;
14416
14417typedef
14418enum D3D12_NODE_OVERRIDES_TYPE
14419 {
14420 D3D12_NODE_OVERRIDES_TYPE_NONE = 0,
14421 D3D12_NODE_OVERRIDES_TYPE_BROADCASTING_LAUNCH = 1,
14422 D3D12_NODE_OVERRIDES_TYPE_COALESCING_LAUNCH = 2,
14423 D3D12_NODE_OVERRIDES_TYPE_THREAD_LAUNCH = 3,
14424 D3D12_NODE_OVERRIDES_TYPE_COMMON_COMPUTE = 4
14425 } D3D12_NODE_OVERRIDES_TYPE;
14426
14427typedef struct D3D12_SHADER_NODE
14428 {
14429 LPCWSTR Shader;
14430 D3D12_NODE_OVERRIDES_TYPE OverridesType;
14431 union
14432 {
14433 const D3D12_BROADCASTING_LAUNCH_OVERRIDES *pBroadcastingLaunchOverrides;
14434 const D3D12_COALESCING_LAUNCH_OVERRIDES *pCoalescingLaunchOverrides;
14435 const D3D12_THREAD_LAUNCH_OVERRIDES *pThreadLaunchOverrides;
14436 const D3D12_COMMON_COMPUTE_NODE_OVERRIDES *pCommonComputeNodeOverrides;
14437 } ;
14438 } D3D12_SHADER_NODE;
14439
14440typedef
14441enum D3D12_NODE_TYPE
14442 {
14443 D3D12_NODE_TYPE_SHADER = 0
14444 } D3D12_NODE_TYPE;
14445
14446typedef struct D3D12_NODE
14447 {
14448 D3D12_NODE_TYPE NodeType;
14449 union
14450 {
14451 D3D12_SHADER_NODE Shader;
14452 } ;
14453 } D3D12_NODE;
14454
14455typedef
14456enum D3D12_WORK_GRAPH_FLAGS
14457 {
14458 D3D12_WORK_GRAPH_FLAG_NONE = 0,
14459 D3D12_WORK_GRAPH_FLAG_INCLUDE_ALL_AVAILABLE_NODES = 0x1
14460 } D3D12_WORK_GRAPH_FLAGS;
14461
14462DEFINE_ENUM_FLAG_OPERATORS( D3D12_WORK_GRAPH_FLAGS )
14463typedef struct D3D12_WORK_GRAPH_DESC
14464 {
14465 LPCWSTR ProgramName;
14466 D3D12_WORK_GRAPH_FLAGS Flags;
14467 UINT NumEntrypoints;
14468 _In_reads_opt_(NumEntrypoints) const D3D12_NODE_ID *pEntrypoints;
14469 UINT NumExplicitlyDefinedNodes;
14470 _In_reads_opt_(NumExplicitlyDefinedNodes) const D3D12_NODE *pExplicitlyDefinedNodes;
14471 } D3D12_WORK_GRAPH_DESC;
14472
14473typedef struct D3D12_GENERIC_PROGRAM_DESC
14474 {
14475 LPCWSTR ProgramName;
14476 UINT NumExports;
14477 _In_reads_(NumExports) LPCWSTR *pExports;
14478 UINT NumSubobjects;
14479 _In_reads_opt_(NumSubobjects) const D3D12_STATE_SUBOBJECT *const *ppSubobjects;
14480 } D3D12_GENERIC_PROGRAM_DESC;
14481
14482typedef
14483enum D3D12_STATE_OBJECT_TYPE
14484 {
14485 D3D12_STATE_OBJECT_TYPE_COLLECTION = 0,
14486 D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = 3,
14487 D3D12_STATE_OBJECT_TYPE_EXECUTABLE = 4
14488 } D3D12_STATE_OBJECT_TYPE;
14489
14490typedef struct D3D12_STATE_OBJECT_DESC
14491 {
14492 D3D12_STATE_OBJECT_TYPE Type;
14493 UINT NumSubobjects;
14494 _In_reads_(NumSubobjects) const D3D12_STATE_SUBOBJECT *pSubobjects;
14495 } D3D12_STATE_OBJECT_DESC;
14496
14497typedef
14498enum D3D12_RAYTRACING_GEOMETRY_FLAGS
14499 {
14500 D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0,
14501 D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1,
14502 D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2
14503 } D3D12_RAYTRACING_GEOMETRY_FLAGS;
14504
14505DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_GEOMETRY_FLAGS )
14506typedef
14507enum D3D12_RAYTRACING_GEOMETRY_TYPE
14508 {
14509 D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES = 0,
14510 D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = ( D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES + 1 )
14511 } D3D12_RAYTRACING_GEOMETRY_TYPE;
14512
14513typedef
14514enum D3D12_RAYTRACING_INSTANCE_FLAGS
14515 {
14516 D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0,
14517 D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1,
14518 D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2,
14519 D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4,
14520 D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8
14521 } D3D12_RAYTRACING_INSTANCE_FLAGS;
14522
14523DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_INSTANCE_FLAGS )
14524typedef struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE
14525 {
14526 D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
14527 UINT64 StrideInBytes;
14528 } D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE;
14529
14530typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE
14531 {
14532 D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
14533 UINT64 SizeInBytes;
14534 } D3D12_GPU_VIRTUAL_ADDRESS_RANGE;
14535
14536typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE
14537 {
14538 D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
14539 UINT64 SizeInBytes;
14540 UINT64 StrideInBytes;
14541 } D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE;
14542
14543typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC
14544 {
14545 D3D12_GPU_VIRTUAL_ADDRESS Transform3x4;
14546 DXGI_FORMAT IndexFormat;
14547 DXGI_FORMAT VertexFormat;
14548 UINT IndexCount;
14549 UINT VertexCount;
14550 D3D12_GPU_VIRTUAL_ADDRESS IndexBuffer;
14551 D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer;
14552 } D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC;
14553
14554typedef struct D3D12_RAYTRACING_AABB
14555 {
14556 FLOAT MinX;
14557 FLOAT MinY;
14558 FLOAT MinZ;
14559 FLOAT MaxX;
14560 FLOAT MaxY;
14561 FLOAT MaxZ;
14562 } D3D12_RAYTRACING_AABB;
14563
14564typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC
14565 {
14566 UINT64 AABBCount;
14567 D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE AABBs;
14568 } D3D12_RAYTRACING_GEOMETRY_AABBS_DESC;
14569
14570typedef
14571enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS
14572 {
14573 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = 0,
14574 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = 0x1,
14575 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = 0x2,
14576 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = 0x4,
14577 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = 0x8,
14578 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = 0x10,
14579 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = 0x20
14580 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS;
14581
14582DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS )
14583typedef
14584enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE
14585 {
14586 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = 0,
14587 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = 0x1,
14588 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = 0x2,
14589 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = 0x3,
14590 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = 0x4
14591 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE;
14592
14593typedef
14594enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE
14595 {
14596 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = 0,
14597 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = 0x1
14598 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE;
14599
14600typedef
14601enum D3D12_ELEMENTS_LAYOUT
14602 {
14603 D3D12_ELEMENTS_LAYOUT_ARRAY = 0,
14604 D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = 0x1
14605 } D3D12_ELEMENTS_LAYOUT;
14606
14607typedef
14608enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE
14609 {
14610 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = 0,
14611 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1,
14612 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = 0x2,
14613 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = 0x3
14614 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE;
14615
14616typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC
14617 {
14618 D3D12_GPU_VIRTUAL_ADDRESS DestBuffer;
14619 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType;
14620 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC;
14621
14622typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC
14623 {
14624 UINT64 CompactedSizeInBytes;
14625 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC;
14626
14627typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC
14628 {
14629 UINT64 DecodedSizeInBytes;
14630 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC;
14631
14632typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER
14633 {
14634 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
14635 UINT NumDescs;
14636 } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER;
14637
14638// Regarding D3D12_BUILD_RAY_TRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER above,
14639// depending on Type field, NumDescs above is followed by either:
14640// D3D12_RAY_TRACING_INSTANCE_DESC InstanceDescs[NumDescs]
14641// or D3D12_RAY_TRACING_GEOMETRY_DESC GeometryDescs[NumDescs].
14642// There is 4 bytes of padding between GeometryDesc structs in the array so alignment is natural when viewed by CPU.
14643
14644typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC
14645 {
14646 UINT64 SerializedSizeInBytes;
14647 UINT64 NumBottomLevelAccelerationStructurePointers;
14648 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC;
14649
14650typedef struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER
14651 {
14652 GUID DriverOpaqueGUID;
14653 BYTE DriverOpaqueVersioningData[ 16 ];
14654 } D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER;
14655
14656typedef
14657enum D3D12_SERIALIZED_DATA_TYPE
14658 {
14659 D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0
14660 } D3D12_SERIALIZED_DATA_TYPE;
14661
14662typedef
14663enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS
14664 {
14665 D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = 0,
14666 D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = 0x1,
14667 D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = 0x2,
14668 D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = 0x3,
14669 D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4
14670 } D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS;
14671
14672typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER
14673 {
14674 D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier;
14675 UINT64 SerializedSizeInBytesIncludingHeader;
14676 UINT64 DeserializedSizeInBytes;
14677 UINT64 NumBottomLevelAccelerationStructurePointersAfterHeader;
14678 } D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER;
14679
14680typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC
14681 {
14682 UINT64 CurrentSizeInBytes;
14683 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC;
14684
14685typedef struct D3D12_RAYTRACING_INSTANCE_DESC
14686 {
14687 FLOAT Transform[ 3 ][ 4 ];
14688 UINT InstanceID : 24;
14689 UINT InstanceMask : 8;
14690 UINT InstanceContributionToHitGroupIndex : 24;
14691 UINT Flags : 8;
14692 D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure;
14693 } D3D12_RAYTRACING_INSTANCE_DESC;
14694
14695typedef struct D3D12_RAYTRACING_GEOMETRY_DESC
14696 {
14697 D3D12_RAYTRACING_GEOMETRY_TYPE Type;
14698 D3D12_RAYTRACING_GEOMETRY_FLAGS Flags;
14699 union
14700 {
14701 D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles;
14702 D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs;
14703 } ;
14704 } D3D12_RAYTRACING_GEOMETRY_DESC;
14705
14706typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS
14707 {
14708 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
14709 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags;
14710 UINT NumDescs;
14711 D3D12_ELEMENTS_LAYOUT DescsLayout;
14712 union
14713 {
14714 D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs;
14715 const D3D12_RAYTRACING_GEOMETRY_DESC *pGeometryDescs;
14716 const D3D12_RAYTRACING_GEOMETRY_DESC *const *ppGeometryDescs;
14717 } ;
14718 } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS;
14719
14720typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC
14721 {
14722 D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData;
14723 D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs;
14724 _In_opt_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData;
14725 D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData;
14726 } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC;
14727
14728typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO
14729 {
14730 UINT64 ResultDataMaxSizeInBytes;
14731 UINT64 ScratchDataSizeInBytes;
14732 UINT64 UpdateScratchDataSizeInBytes;
14733 } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO;
14734
14735typedef
14736enum D3D12_RAY_FLAGS
14737 {
14738 D3D12_RAY_FLAG_NONE = 0,
14739 D3D12_RAY_FLAG_FORCE_OPAQUE = 0x1,
14740 D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x2,
14741 D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x4,
14742 D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x8,
14743 D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10,
14744 D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20,
14745 D3D12_RAY_FLAG_CULL_OPAQUE = 0x40,
14746 D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80,
14747 D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100,
14748 D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200
14749 } D3D12_RAY_FLAGS;
14750
14751DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAY_FLAGS )
14752typedef
14753enum D3D12_HIT_KIND
14754 {
14755 D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe,
14756 D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff
14757 } D3D12_HIT_KIND;
14758
14759
14760
14761extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0036_v0_0_c_ifspec;
14762extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0036_v0_0_s_ifspec;
14763
14764#ifndef __ID3D12Device5_INTERFACE_DEFINED__
14765#define __ID3D12Device5_INTERFACE_DEFINED__
14766
14767/* interface ID3D12Device5 */
14768/* [unique][local][object][uuid] */
14769
14770
14771EXTERN_C const IID IID_ID3D12Device5;
14772
14773#if defined(__cplusplus) && !defined(CINTERFACE)
14774
14775 MIDL_INTERFACE("8b4f173b-2fea-4b80-8f58-4307191ab95d")
14776 ID3D12Device5 : public ID3D12Device4
14777 {
14778 public:
14779 virtual HRESULT STDMETHODCALLTYPE CreateLifetimeTracker(
14780 _In_ ID3D12LifetimeOwner *pOwner,
14781 REFIID riid,
14782 _COM_Outptr_ void **ppvTracker) = 0;
14783
14784 virtual void STDMETHODCALLTYPE RemoveDevice( void) = 0;
14785
14786 virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommands(
14787 _Inout_ UINT *pNumMetaCommands,
14788 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs) = 0;
14789
14790 virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommandParameters(
14791 _In_ REFGUID CommandId,
14792 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
14793 _Out_opt_ UINT *pTotalStructureSizeInBytes,
14794 _Inout_ UINT *pParameterCount,
14795 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs) = 0;
14796
14797 virtual HRESULT STDMETHODCALLTYPE CreateMetaCommand(
14798 _In_ REFGUID CommandId,
14799 _In_ UINT NodeMask,
14800 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
14801 _In_ SIZE_T CreationParametersDataSizeInBytes,
14802 REFIID riid,
14803 _COM_Outptr_ void **ppMetaCommand) = 0;
14804
14805 virtual HRESULT STDMETHODCALLTYPE CreateStateObject(
14806 const D3D12_STATE_OBJECT_DESC *pDesc,
14807 REFIID riid,
14808 _COM_Outptr_ void **ppStateObject) = 0;
14809
14810 virtual void STDMETHODCALLTYPE GetRaytracingAccelerationStructurePrebuildInfo(
14811 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
14812 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo) = 0;
14813
14814 virtual D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS STDMETHODCALLTYPE CheckDriverMatchingIdentifier(
14815 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
14816 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck) = 0;
14817
14818 };
14819
14820
14821#else /* C style interface */
14822
14823 typedef struct ID3D12Device5Vtbl
14824 {
14825 BEGIN_INTERFACE
14826
14827 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
14828 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
14829 ID3D12Device5 * This,
14830 REFIID riid,
14831 _COM_Outptr_ void **ppvObject);
14832
14833 DECLSPEC_XFGVIRT(IUnknown, AddRef)
14834 ULONG ( STDMETHODCALLTYPE *AddRef )(
14835 ID3D12Device5 * This);
14836
14837 DECLSPEC_XFGVIRT(IUnknown, Release)
14838 ULONG ( STDMETHODCALLTYPE *Release )(
14839 ID3D12Device5 * This);
14840
14841 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
14842 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
14843 ID3D12Device5 * This,
14844 _In_ REFGUID guid,
14845 _Inout_ UINT *pDataSize,
14846 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
14847
14848 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
14849 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
14850 ID3D12Device5 * This,
14851 _In_ REFGUID guid,
14852 _In_ UINT DataSize,
14853 _In_reads_bytes_opt_( DataSize ) const void *pData);
14854
14855 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
14856 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
14857 ID3D12Device5 * This,
14858 _In_ REFGUID guid,
14859 _In_opt_ const IUnknown *pData);
14860
14861 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
14862 HRESULT ( STDMETHODCALLTYPE *SetName )(
14863 ID3D12Device5 * This,
14864 _In_z_ LPCWSTR Name);
14865
14866 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
14867 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
14868 ID3D12Device5 * This);
14869
14870 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
14871 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
14872 ID3D12Device5 * This,
14873 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
14874 REFIID riid,
14875 _COM_Outptr_ void **ppCommandQueue);
14876
14877 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
14878 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
14879 ID3D12Device5 * This,
14880 _In_ D3D12_COMMAND_LIST_TYPE type,
14881 REFIID riid,
14882 _COM_Outptr_ void **ppCommandAllocator);
14883
14884 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
14885 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
14886 ID3D12Device5 * This,
14887 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
14888 REFIID riid,
14889 _COM_Outptr_ void **ppPipelineState);
14890
14891 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
14892 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
14893 ID3D12Device5 * This,
14894 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
14895 REFIID riid,
14896 _COM_Outptr_ void **ppPipelineState);
14897
14898 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
14899 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
14900 ID3D12Device5 * This,
14901 _In_ UINT nodeMask,
14902 _In_ D3D12_COMMAND_LIST_TYPE type,
14903 _In_ ID3D12CommandAllocator *pCommandAllocator,
14904 _In_opt_ ID3D12PipelineState *pInitialState,
14905 REFIID riid,
14906 _COM_Outptr_ void **ppCommandList);
14907
14908 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
14909 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
14910 ID3D12Device5 * This,
14911 D3D12_FEATURE Feature,
14912 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
14913 UINT FeatureSupportDataSize);
14914
14915 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
14916 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
14917 ID3D12Device5 * This,
14918 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
14919 REFIID riid,
14920 _COM_Outptr_ void **ppvHeap);
14921
14922 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
14923 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
14924 ID3D12Device5 * This,
14925 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
14926
14927 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
14928 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
14929 ID3D12Device5 * This,
14930 _In_ UINT nodeMask,
14931 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
14932 _In_ SIZE_T blobLengthInBytes,
14933 REFIID riid,
14934 _COM_Outptr_ void **ppvRootSignature);
14935
14936 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
14937 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
14938 ID3D12Device5 * This,
14939 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
14940 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
14941
14942 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
14943 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
14944 ID3D12Device5 * This,
14945 _In_opt_ ID3D12Resource *pResource,
14946 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
14947 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
14948
14949 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
14950 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
14951 ID3D12Device5 * This,
14952 _In_opt_ ID3D12Resource *pResource,
14953 _In_opt_ ID3D12Resource *pCounterResource,
14954 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
14955 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
14956
14957 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
14958 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
14959 ID3D12Device5 * This,
14960 _In_opt_ ID3D12Resource *pResource,
14961 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
14962 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
14963
14964 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
14965 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
14966 ID3D12Device5 * This,
14967 _In_opt_ ID3D12Resource *pResource,
14968 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
14969 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
14970
14971 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
14972 void ( STDMETHODCALLTYPE *CreateSampler )(
14973 ID3D12Device5 * This,
14974 _In_ const D3D12_SAMPLER_DESC *pDesc,
14975 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
14976
14977 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
14978 void ( STDMETHODCALLTYPE *CopyDescriptors )(
14979 ID3D12Device5 * This,
14980 _In_ UINT NumDestDescriptorRanges,
14981 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
14982 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
14983 _In_ UINT NumSrcDescriptorRanges,
14984 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
14985 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
14986 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
14987
14988 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
14989 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
14990 ID3D12Device5 * This,
14991 _In_ UINT NumDescriptors,
14992 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
14993 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
14994 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
14995
14996 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
14997#if !defined(_WIN32)
14998 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
14999 ID3D12Device5 * This,
15000 _In_ UINT visibleMask,
15001 _In_ UINT numResourceDescs,
15002 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
15003
15004#else
15005 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
15006 ID3D12Device5 * This,
15007 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
15008 _In_ UINT visibleMask,
15009 _In_ UINT numResourceDescs,
15010 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
15011
15012#endif
15013
15014 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
15015#if !defined(_WIN32)
15016 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
15017 ID3D12Device5 * This,
15018 _In_ UINT nodeMask,
15019 D3D12_HEAP_TYPE heapType);
15020
15021#else
15022 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
15023 ID3D12Device5 * This,
15024 D3D12_HEAP_PROPERTIES * RetVal,
15025 _In_ UINT nodeMask,
15026 D3D12_HEAP_TYPE heapType);
15027
15028#endif
15029
15030 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
15031 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
15032 ID3D12Device5 * This,
15033 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
15034 D3D12_HEAP_FLAGS HeapFlags,
15035 _In_ const D3D12_RESOURCE_DESC *pDesc,
15036 D3D12_RESOURCE_STATES InitialResourceState,
15037 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
15038 REFIID riidResource,
15039 _COM_Outptr_opt_ void **ppvResource);
15040
15041 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
15042 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
15043 ID3D12Device5 * This,
15044 _In_ const D3D12_HEAP_DESC *pDesc,
15045 REFIID riid,
15046 _COM_Outptr_opt_ void **ppvHeap);
15047
15048 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
15049 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
15050 ID3D12Device5 * This,
15051 _In_ ID3D12Heap *pHeap,
15052 UINT64 HeapOffset,
15053 _In_ const D3D12_RESOURCE_DESC *pDesc,
15054 D3D12_RESOURCE_STATES InitialState,
15055 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
15056 REFIID riid,
15057 _COM_Outptr_opt_ void **ppvResource);
15058
15059 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
15060 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
15061 ID3D12Device5 * This,
15062 _In_ const D3D12_RESOURCE_DESC *pDesc,
15063 D3D12_RESOURCE_STATES InitialState,
15064 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
15065 REFIID riid,
15066 _COM_Outptr_opt_ void **ppvResource);
15067
15068 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
15069 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
15070 ID3D12Device5 * This,
15071 _In_ ID3D12DeviceChild *pObject,
15072 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
15073 DWORD Access,
15074 _In_opt_ LPCWSTR Name,
15075 _Out_ HANDLE *pHandle);
15076
15077 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
15078 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
15079 ID3D12Device5 * This,
15080 _In_ HANDLE NTHandle,
15081 REFIID riid,
15082 _COM_Outptr_opt_ void **ppvObj);
15083
15084 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
15085 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
15086 ID3D12Device5 * This,
15087 _In_ LPCWSTR Name,
15088 DWORD Access,
15089 /* [annotation][out] */
15090 _Out_ HANDLE *pNTHandle);
15091
15092 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
15093 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
15094 ID3D12Device5 * This,
15095 UINT NumObjects,
15096 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
15097
15098 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
15099 HRESULT ( STDMETHODCALLTYPE *Evict )(
15100 ID3D12Device5 * This,
15101 UINT NumObjects,
15102 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
15103
15104 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
15105 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
15106 ID3D12Device5 * This,
15107 UINT64 InitialValue,
15108 D3D12_FENCE_FLAGS Flags,
15109 REFIID riid,
15110 _COM_Outptr_ void **ppFence);
15111
15112 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
15113 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
15114 ID3D12Device5 * This);
15115
15116 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
15117 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
15118 ID3D12Device5 * This,
15119 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
15120 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
15121 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
15122 UINT64 BaseOffset,
15123 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
15124 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
15125 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
15126 _Out_opt_ UINT64 *pTotalBytes);
15127
15128 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
15129 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
15130 ID3D12Device5 * This,
15131 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
15132 REFIID riid,
15133 _COM_Outptr_opt_ void **ppvHeap);
15134
15135 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
15136 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
15137 ID3D12Device5 * This,
15138 BOOL Enable);
15139
15140 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
15141 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
15142 ID3D12Device5 * This,
15143 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
15144 _In_opt_ ID3D12RootSignature *pRootSignature,
15145 REFIID riid,
15146 _COM_Outptr_opt_ void **ppvCommandSignature);
15147
15148 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
15149 void ( STDMETHODCALLTYPE *GetResourceTiling )(
15150 ID3D12Device5 * This,
15151 _In_ ID3D12Resource *pTiledResource,
15152 _Out_opt_ UINT *pNumTilesForEntireResource,
15153 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
15154 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
15155 _Inout_opt_ UINT *pNumSubresourceTilings,
15156 _In_ UINT FirstSubresourceTilingToGet,
15157 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
15158
15159 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
15160#if !defined(_WIN32)
15161 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
15162 ID3D12Device5 * This);
15163
15164#else
15165 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
15166 ID3D12Device5 * This,
15167 LUID * RetVal);
15168
15169#endif
15170
15171 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
15172 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
15173 ID3D12Device5 * This,
15174 _In_reads_(BlobLength) const void *pLibraryBlob,
15175 SIZE_T BlobLength,
15176 REFIID riid,
15177 _COM_Outptr_ void **ppPipelineLibrary);
15178
15179 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
15180 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
15181 ID3D12Device5 * This,
15182 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
15183 _In_reads_(NumFences) const UINT64 *pFenceValues,
15184 UINT NumFences,
15185 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
15186 HANDLE hEvent);
15187
15188 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
15189 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
15190 ID3D12Device5 * This,
15191 UINT NumObjects,
15192 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
15193 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
15194
15195 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
15196 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
15197 ID3D12Device5 * This,
15198 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
15199 REFIID riid,
15200 _COM_Outptr_ void **ppPipelineState);
15201
15202 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
15203 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
15204 ID3D12Device5 * This,
15205 _In_ const void *pAddress,
15206 REFIID riid,
15207 _COM_Outptr_ void **ppvHeap);
15208
15209 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
15210 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
15211 ID3D12Device5 * This,
15212 _In_ HANDLE hFileMapping,
15213 REFIID riid,
15214 _COM_Outptr_ void **ppvHeap);
15215
15216 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
15217 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
15218 ID3D12Device5 * This,
15219 D3D12_RESIDENCY_FLAGS Flags,
15220 UINT NumObjects,
15221 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
15222 _In_ ID3D12Fence *pFenceToSignal,
15223 UINT64 FenceValueToSignal);
15224
15225 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
15226 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
15227 ID3D12Device5 * This,
15228 _In_ UINT nodeMask,
15229 _In_ D3D12_COMMAND_LIST_TYPE type,
15230 _In_ D3D12_COMMAND_LIST_FLAGS flags,
15231 REFIID riid,
15232 _COM_Outptr_ void **ppCommandList);
15233
15234 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
15235 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
15236 ID3D12Device5 * This,
15237 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
15238 _In_ REFIID riid,
15239 _COM_Outptr_ void **ppSession);
15240
15241 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
15242 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
15243 ID3D12Device5 * This,
15244 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
15245 D3D12_HEAP_FLAGS HeapFlags,
15246 _In_ const D3D12_RESOURCE_DESC *pDesc,
15247 D3D12_RESOURCE_STATES InitialResourceState,
15248 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
15249 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
15250 REFIID riidResource,
15251 _COM_Outptr_opt_ void **ppvResource);
15252
15253 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
15254 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
15255 ID3D12Device5 * This,
15256 _In_ const D3D12_HEAP_DESC *pDesc,
15257 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
15258 REFIID riid,
15259 _COM_Outptr_opt_ void **ppvHeap);
15260
15261 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
15262 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
15263 ID3D12Device5 * This,
15264 _In_ const D3D12_RESOURCE_DESC *pDesc,
15265 D3D12_RESOURCE_STATES InitialState,
15266 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
15267 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
15268 REFIID riid,
15269 _COM_Outptr_opt_ void **ppvResource);
15270
15271 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
15272#if !defined(_WIN32)
15273 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
15274 ID3D12Device5 * This,
15275 UINT visibleMask,
15276 UINT numResourceDescs,
15277 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
15278 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
15279
15280#else
15281 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
15282 ID3D12Device5 * This,
15283 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
15284 UINT visibleMask,
15285 UINT numResourceDescs,
15286 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
15287 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
15288
15289#endif
15290
15291 DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
15292 HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
15293 ID3D12Device5 * This,
15294 _In_ ID3D12LifetimeOwner *pOwner,
15295 REFIID riid,
15296 _COM_Outptr_ void **ppvTracker);
15297
15298 DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
15299 void ( STDMETHODCALLTYPE *RemoveDevice )(
15300 ID3D12Device5 * This);
15301
15302 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
15303 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
15304 ID3D12Device5 * This,
15305 _Inout_ UINT *pNumMetaCommands,
15306 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
15307
15308 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
15309 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
15310 ID3D12Device5 * This,
15311 _In_ REFGUID CommandId,
15312 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
15313 _Out_opt_ UINT *pTotalStructureSizeInBytes,
15314 _Inout_ UINT *pParameterCount,
15315 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
15316
15317 DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
15318 HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
15319 ID3D12Device5 * This,
15320 _In_ REFGUID CommandId,
15321 _In_ UINT NodeMask,
15322 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
15323 _In_ SIZE_T CreationParametersDataSizeInBytes,
15324 REFIID riid,
15325 _COM_Outptr_ void **ppMetaCommand);
15326
15327 DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
15328 HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
15329 ID3D12Device5 * This,
15330 const D3D12_STATE_OBJECT_DESC *pDesc,
15331 REFIID riid,
15332 _COM_Outptr_ void **ppStateObject);
15333
15334 DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
15335 void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
15336 ID3D12Device5 * This,
15337 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
15338 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
15339
15340 DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
15341 D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
15342 ID3D12Device5 * This,
15343 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
15344 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
15345
15346 END_INTERFACE
15347 } ID3D12Device5Vtbl;
15348
15349 interface ID3D12Device5
15350 {
15351 CONST_VTBL struct ID3D12Device5Vtbl *lpVtbl;
15352 };
15353
15354
15355
15356#ifdef COBJMACROS
15357
15358
15359#define ID3D12Device5_QueryInterface(This,riid,ppvObject) \
15360 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
15361
15362#define ID3D12Device5_AddRef(This) \
15363 ( (This)->lpVtbl -> AddRef(This) )
15364
15365#define ID3D12Device5_Release(This) \
15366 ( (This)->lpVtbl -> Release(This) )
15367
15368
15369#define ID3D12Device5_GetPrivateData(This,guid,pDataSize,pData) \
15370 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
15371
15372#define ID3D12Device5_SetPrivateData(This,guid,DataSize,pData) \
15373 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
15374
15375#define ID3D12Device5_SetPrivateDataInterface(This,guid,pData) \
15376 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
15377
15378#define ID3D12Device5_SetName(This,Name) \
15379 ( (This)->lpVtbl -> SetName(This,Name) )
15380
15381
15382#define ID3D12Device5_GetNodeCount(This) \
15383 ( (This)->lpVtbl -> GetNodeCount(This) )
15384
15385#define ID3D12Device5_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
15386 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
15387
15388#define ID3D12Device5_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
15389 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
15390
15391#define ID3D12Device5_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
15392 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
15393
15394#define ID3D12Device5_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
15395 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
15396
15397#define ID3D12Device5_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
15398 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
15399
15400#define ID3D12Device5_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
15401 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
15402
15403#define ID3D12Device5_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
15404 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
15405
15406#define ID3D12Device5_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
15407 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
15408
15409#define ID3D12Device5_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
15410 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
15411
15412#define ID3D12Device5_CreateConstantBufferView(This,pDesc,DestDescriptor) \
15413 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
15414
15415#define ID3D12Device5_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
15416 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
15417
15418#define ID3D12Device5_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
15419 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
15420
15421#define ID3D12Device5_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
15422 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
15423
15424#define ID3D12Device5_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
15425 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
15426
15427#define ID3D12Device5_CreateSampler(This,pDesc,DestDescriptor) \
15428 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
15429
15430#define ID3D12Device5_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
15431 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
15432
15433#define ID3D12Device5_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
15434 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
15435#if !defined(_WIN32)
15436
15437#define ID3D12Device5_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
15438 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
15439#else
15440#define ID3D12Device5_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
15441 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
15442#endif
15443#if !defined(_WIN32)
15444
15445#define ID3D12Device5_GetCustomHeapProperties(This,nodeMask,heapType) \
15446 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
15447#else
15448#define ID3D12Device5_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
15449 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
15450#endif
15451
15452#define ID3D12Device5_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
15453 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
15454
15455#define ID3D12Device5_CreateHeap(This,pDesc,riid,ppvHeap) \
15456 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
15457
15458#define ID3D12Device5_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
15459 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
15460
15461#define ID3D12Device5_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
15462 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
15463
15464#define ID3D12Device5_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
15465 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
15466
15467#define ID3D12Device5_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
15468 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
15469
15470#define ID3D12Device5_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
15471 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
15472
15473#define ID3D12Device5_MakeResident(This,NumObjects,ppObjects) \
15474 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
15475
15476#define ID3D12Device5_Evict(This,NumObjects,ppObjects) \
15477 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
15478
15479#define ID3D12Device5_CreateFence(This,InitialValue,Flags,riid,ppFence) \
15480 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
15481
15482#define ID3D12Device5_GetDeviceRemovedReason(This) \
15483 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
15484
15485#define ID3D12Device5_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
15486 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
15487
15488#define ID3D12Device5_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
15489 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
15490
15491#define ID3D12Device5_SetStablePowerState(This,Enable) \
15492 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
15493
15494#define ID3D12Device5_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
15495 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
15496
15497#define ID3D12Device5_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
15498 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
15499#if !defined(_WIN32)
15500
15501#define ID3D12Device5_GetAdapterLuid(This) \
15502 ( (This)->lpVtbl -> GetAdapterLuid(This) )
15503#else
15504#define ID3D12Device5_GetAdapterLuid(This,RetVal) \
15505 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
15506#endif
15507
15508
15509#define ID3D12Device5_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
15510 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
15511
15512#define ID3D12Device5_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
15513 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
15514
15515#define ID3D12Device5_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
15516 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
15517
15518
15519#define ID3D12Device5_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
15520 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
15521
15522
15523#define ID3D12Device5_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
15524 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
15525
15526#define ID3D12Device5_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
15527 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
15528
15529#define ID3D12Device5_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
15530 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
15531
15532
15533#define ID3D12Device5_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
15534 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
15535
15536#define ID3D12Device5_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
15537 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
15538
15539#define ID3D12Device5_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
15540 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
15541
15542#define ID3D12Device5_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
15543 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
15544
15545#define ID3D12Device5_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
15546 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
15547#if !defined(_WIN32)
15548
15549#define ID3D12Device5_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
15550 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
15551#else
15552#define ID3D12Device5_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
15553 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
15554#endif
15555
15556
15557#define ID3D12Device5_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
15558 ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
15559
15560#define ID3D12Device5_RemoveDevice(This) \
15561 ( (This)->lpVtbl -> RemoveDevice(This) )
15562
15563#define ID3D12Device5_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
15564 ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
15565
15566#define ID3D12Device5_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
15567 ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
15568
15569#define ID3D12Device5_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
15570 ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
15571
15572#define ID3D12Device5_CreateStateObject(This,pDesc,riid,ppStateObject) \
15573 ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
15574
15575#define ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
15576 ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
15577
15578#define ID3D12Device5_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
15579 ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
15580
15581#endif /* COBJMACROS */
15582
15583
15584#endif /* C style interface */
15585
15586
15587
15588
15589#endif /* __ID3D12Device5_INTERFACE_DEFINED__ */
15590
15591
15592/* interface __MIDL_itf_d3d12_0000_0037 */
15593/* [local] */
15594
15595typedef
15596enum D3D12_AUTO_BREADCRUMB_OP
15597 {
15598 D3D12_AUTO_BREADCRUMB_OP_SETMARKER = 0,
15599 D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = 1,
15600 D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = 2,
15601 D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = 3,
15602 D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = 4,
15603 D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = 5,
15604 D3D12_AUTO_BREADCRUMB_OP_DISPATCH = 6,
15605 D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = 7,
15606 D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = 8,
15607 D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = 9,
15608 D3D12_AUTO_BREADCRUMB_OP_COPYTILES = 10,
15609 D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = 11,
15610 D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = 12,
15611 D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = 13,
15612 D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = 14,
15613 D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = 15,
15614 D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = 16,
15615 D3D12_AUTO_BREADCRUMB_OP_PRESENT = 17,
15616 D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = 18,
15617 D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = 19,
15618 D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = 20,
15619 D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = 21,
15620 D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = 22,
15621 D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = 23,
15622 D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = 24,
15623 D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = 25,
15624 D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = 26,
15625 D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = 27,
15626 D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = 28,
15627 D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = 29,
15628 D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = 30,
15629 D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 31,
15630 D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 32,
15631 D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = 33,
15632 D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = 34,
15633 D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = 35,
15634 D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = 36,
15635 D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = 37,
15636 D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = 38,
15637 D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = 39,
15638 D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = 40,
15639 D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = 41,
15640 D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = 42,
15641 D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = 43,
15642 D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = 44,
15643 D3D12_AUTO_BREADCRUMB_OP_BARRIER = 45,
15644 D3D12_AUTO_BREADCRUMB_OP_BEGIN_COMMAND_LIST = 46,
15645 D3D12_AUTO_BREADCRUMB_OP_DISPATCHGRAPH = 47,
15646 D3D12_AUTO_BREADCRUMB_OP_SETPROGRAM = 48
15647 } D3D12_AUTO_BREADCRUMB_OP;
15648
15649typedef struct D3D12_AUTO_BREADCRUMB_NODE
15650 {
15651 const char *pCommandListDebugNameA;
15652 const wchar_t *pCommandListDebugNameW;
15653 const char *pCommandQueueDebugNameA;
15654 const wchar_t *pCommandQueueDebugNameW;
15655 ID3D12GraphicsCommandList *pCommandList;
15656 ID3D12CommandQueue *pCommandQueue;
15657 UINT32 BreadcrumbCount;
15658 const UINT32 *pLastBreadcrumbValue;
15659 const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
15660 const struct D3D12_AUTO_BREADCRUMB_NODE *pNext;
15661 } D3D12_AUTO_BREADCRUMB_NODE;
15662
15663typedef struct D3D12_DRED_BREADCRUMB_CONTEXT
15664 {
15665 UINT BreadcrumbIndex;
15666 const wchar_t *pContextString;
15667 } D3D12_DRED_BREADCRUMB_CONTEXT;
15668
15669typedef struct D3D12_AUTO_BREADCRUMB_NODE1
15670 {
15671 const char *pCommandListDebugNameA;
15672 const wchar_t *pCommandListDebugNameW;
15673 const char *pCommandQueueDebugNameA;
15674 const wchar_t *pCommandQueueDebugNameW;
15675 ID3D12GraphicsCommandList *pCommandList;
15676 ID3D12CommandQueue *pCommandQueue;
15677 UINT BreadcrumbCount;
15678 const UINT *pLastBreadcrumbValue;
15679 const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
15680 const struct D3D12_AUTO_BREADCRUMB_NODE1 *pNext;
15681 UINT BreadcrumbContextsCount;
15682 D3D12_DRED_BREADCRUMB_CONTEXT *pBreadcrumbContexts;
15683 } D3D12_AUTO_BREADCRUMB_NODE1;
15684
15685typedef
15686enum D3D12_DRED_VERSION
15687 {
15688 D3D12_DRED_VERSION_1_0 = 0x1,
15689 D3D12_DRED_VERSION_1_1 = 0x2,
15690 D3D12_DRED_VERSION_1_2 = 0x3,
15691 D3D12_DRED_VERSION_1_3 = 0x4
15692 } D3D12_DRED_VERSION;
15693
15694typedef
15695enum D3D12_DRED_FLAGS
15696 {
15697 D3D12_DRED_FLAG_NONE = 0,
15698 D3D12_DRED_FLAG_FORCE_ENABLE = 1,
15699 D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS = 2
15700 } D3D12_DRED_FLAGS;
15701
15702DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_FLAGS )
15703typedef
15704enum D3D12_DRED_ENABLEMENT
15705 {
15706 D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0,
15707 D3D12_DRED_ENABLEMENT_FORCED_OFF = 1,
15708 D3D12_DRED_ENABLEMENT_FORCED_ON = 2
15709 } D3D12_DRED_ENABLEMENT;
15710
15711typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA
15712 {
15713 _In_ D3D12_DRED_FLAGS Flags;
15714 _Out_ D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode;
15715 } D3D12_DEVICE_REMOVED_EXTENDED_DATA;
15716
15717typedef
15718enum D3D12_DRED_ALLOCATION_TYPE
15719 {
15720 D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 19,
15721 D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 20,
15722 D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 21,
15723 D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 22,
15724 D3D12_DRED_ALLOCATION_TYPE_FENCE = 23,
15725 D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 24,
15726 D3D12_DRED_ALLOCATION_TYPE_HEAP = 25,
15727 D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 27,
15728 D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 28,
15729 D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 29,
15730 D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 30,
15731 D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 32,
15732 D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 34,
15733 D3D12_DRED_ALLOCATION_TYPE_PASS = 35,
15734 D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 36,
15735 D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 37,
15736 D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 38,
15737 D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 39,
15738 D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 40,
15739 D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 41,
15740 D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 42,
15741 D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 43,
15742 D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 44,
15743 D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 45,
15744 D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 46,
15745 D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 47,
15746 D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = 48,
15747 D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = 49,
15748 D3D12_DRED_ALLOCATION_TYPE_INVALID = 0xffffffff
15749 } D3D12_DRED_ALLOCATION_TYPE;
15750
15751typedef struct D3D12_DRED_ALLOCATION_NODE
15752 {
15753 const char *ObjectNameA;
15754 const wchar_t *ObjectNameW;
15755 D3D12_DRED_ALLOCATION_TYPE AllocationType;
15756 const struct D3D12_DRED_ALLOCATION_NODE *pNext;
15757 } D3D12_DRED_ALLOCATION_NODE;
15758
15759typedef struct D3D12_DRED_ALLOCATION_NODE1
15760 {
15761 const char *ObjectNameA;
15762 const wchar_t *ObjectNameW;
15763 D3D12_DRED_ALLOCATION_TYPE AllocationType;
15764 const struct D3D12_DRED_ALLOCATION_NODE1 *pNext;
15765 const IUnknown *pObject;
15766 } D3D12_DRED_ALLOCATION_NODE1;
15767
15768typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT
15769 {
15770 _Out_ const D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode;
15771 } D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT;
15772
15773typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1
15774 {
15775 _Out_ const D3D12_AUTO_BREADCRUMB_NODE1 *pHeadAutoBreadcrumbNode;
15776 } D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1;
15777
15778typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT
15779 {
15780 D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
15781 _Out_ const D3D12_DRED_ALLOCATION_NODE *pHeadExistingAllocationNode;
15782 _Out_ const D3D12_DRED_ALLOCATION_NODE *pHeadRecentFreedAllocationNode;
15783 } D3D12_DRED_PAGE_FAULT_OUTPUT;
15784
15785typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT1
15786 {
15787 D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
15788 _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
15789 _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
15790 } D3D12_DRED_PAGE_FAULT_OUTPUT1;
15791
15792typedef
15793enum D3D12_DRED_PAGE_FAULT_FLAGS
15794 {
15795 D3D12_DRED_PAGE_FAULT_FLAGS_NONE = 0
15796 } D3D12_DRED_PAGE_FAULT_FLAGS;
15797
15798DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_PAGE_FAULT_FLAGS )
15799typedef
15800enum D3D12_DRED_DEVICE_STATE
15801 {
15802 D3D12_DRED_DEVICE_STATE_UNKNOWN = 0,
15803 D3D12_DRED_DEVICE_STATE_HUNG = 3,
15804 D3D12_DRED_DEVICE_STATE_FAULT = 6,
15805 D3D12_DRED_DEVICE_STATE_PAGEFAULT = 7
15806 } D3D12_DRED_DEVICE_STATE;
15807
15808typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT2
15809 {
15810 D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
15811 _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
15812 _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
15813 D3D12_DRED_PAGE_FAULT_FLAGS PageFaultFlags;
15814 } D3D12_DRED_PAGE_FAULT_OUTPUT2;
15815
15816typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1
15817 {
15818 HRESULT DeviceRemovedReason;
15819 D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT AutoBreadcrumbsOutput;
15820 D3D12_DRED_PAGE_FAULT_OUTPUT PageFaultOutput;
15821 } D3D12_DEVICE_REMOVED_EXTENDED_DATA1;
15822
15823typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2
15824 {
15825 HRESULT DeviceRemovedReason;
15826 D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
15827 D3D12_DRED_PAGE_FAULT_OUTPUT1 PageFaultOutput;
15828 } D3D12_DEVICE_REMOVED_EXTENDED_DATA2;
15829
15830typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3
15831 {
15832 HRESULT DeviceRemovedReason;
15833 D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
15834 D3D12_DRED_PAGE_FAULT_OUTPUT2 PageFaultOutput;
15835 D3D12_DRED_DEVICE_STATE DeviceState;
15836 } D3D12_DEVICE_REMOVED_EXTENDED_DATA3;
15837
15838typedef struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA
15839 {
15840 D3D12_DRED_VERSION Version;
15841 union
15842 {
15843 D3D12_DEVICE_REMOVED_EXTENDED_DATA Dred_1_0;
15844 D3D12_DEVICE_REMOVED_EXTENDED_DATA1 Dred_1_1;
15845 D3D12_DEVICE_REMOVED_EXTENDED_DATA2 Dred_1_2;
15846 D3D12_DEVICE_REMOVED_EXTENDED_DATA3 Dred_1_3;
15847 } ;
15848 } D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA;
15849
15850
15851
15852extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0037_v0_0_c_ifspec;
15853extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0037_v0_0_s_ifspec;
15854
15855#ifndef __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__
15856#define __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__
15857
15858/* interface ID3D12DeviceRemovedExtendedDataSettings */
15859/* [unique][local][object][uuid] */
15860
15861
15862EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings;
15863
15864#if defined(__cplusplus) && !defined(CINTERFACE)
15865
15866 MIDL_INTERFACE("82BC481C-6B9B-4030-AEDB-7EE3D1DF1E63")
15867 ID3D12DeviceRemovedExtendedDataSettings : public IUnknown
15868 {
15869 public:
15870 virtual void STDMETHODCALLTYPE SetAutoBreadcrumbsEnablement(
15871 D3D12_DRED_ENABLEMENT Enablement) = 0;
15872
15873 virtual void STDMETHODCALLTYPE SetPageFaultEnablement(
15874 D3D12_DRED_ENABLEMENT Enablement) = 0;
15875
15876 virtual void STDMETHODCALLTYPE SetWatsonDumpEnablement(
15877 D3D12_DRED_ENABLEMENT Enablement) = 0;
15878
15879 };
15880
15881
15882#else /* C style interface */
15883
15884 typedef struct ID3D12DeviceRemovedExtendedDataSettingsVtbl
15885 {
15886 BEGIN_INTERFACE
15887
15888 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
15889 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
15890 ID3D12DeviceRemovedExtendedDataSettings * This,
15891 REFIID riid,
15892 _COM_Outptr_ void **ppvObject);
15893
15894 DECLSPEC_XFGVIRT(IUnknown, AddRef)
15895 ULONG ( STDMETHODCALLTYPE *AddRef )(
15896 ID3D12DeviceRemovedExtendedDataSettings * This);
15897
15898 DECLSPEC_XFGVIRT(IUnknown, Release)
15899 ULONG ( STDMETHODCALLTYPE *Release )(
15900 ID3D12DeviceRemovedExtendedDataSettings * This);
15901
15902 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement)
15903 void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )(
15904 ID3D12DeviceRemovedExtendedDataSettings * This,
15905 D3D12_DRED_ENABLEMENT Enablement);
15906
15907 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement)
15908 void ( STDMETHODCALLTYPE *SetPageFaultEnablement )(
15909 ID3D12DeviceRemovedExtendedDataSettings * This,
15910 D3D12_DRED_ENABLEMENT Enablement);
15911
15912 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement)
15913 void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )(
15914 ID3D12DeviceRemovedExtendedDataSettings * This,
15915 D3D12_DRED_ENABLEMENT Enablement);
15916
15917 END_INTERFACE
15918 } ID3D12DeviceRemovedExtendedDataSettingsVtbl;
15919
15920 interface ID3D12DeviceRemovedExtendedDataSettings
15921 {
15922 CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettingsVtbl *lpVtbl;
15923 };
15924
15925
15926
15927#ifdef COBJMACROS
15928
15929
15930#define ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(This,riid,ppvObject) \
15931 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
15932
15933#define ID3D12DeviceRemovedExtendedDataSettings_AddRef(This) \
15934 ( (This)->lpVtbl -> AddRef(This) )
15935
15936#define ID3D12DeviceRemovedExtendedDataSettings_Release(This) \
15937 ( (This)->lpVtbl -> Release(This) )
15938
15939
15940#define ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(This,Enablement) \
15941 ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) )
15942
15943#define ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(This,Enablement) \
15944 ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) )
15945
15946#define ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(This,Enablement) \
15947 ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) )
15948
15949#endif /* COBJMACROS */
15950
15951
15952#endif /* C style interface */
15953
15954
15955
15956
15957#endif /* __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__ */
15958
15959
15960#ifndef __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__
15961#define __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__
15962
15963/* interface ID3D12DeviceRemovedExtendedDataSettings1 */
15964/* [unique][local][object][uuid] */
15965
15966
15967EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings1;
15968
15969#if defined(__cplusplus) && !defined(CINTERFACE)
15970
15971 MIDL_INTERFACE("DBD5AE51-3317-4F0A-ADF9-1D7CEDCAAE0B")
15972 ID3D12DeviceRemovedExtendedDataSettings1 : public ID3D12DeviceRemovedExtendedDataSettings
15973 {
15974 public:
15975 virtual void STDMETHODCALLTYPE SetBreadcrumbContextEnablement(
15976 D3D12_DRED_ENABLEMENT Enablement) = 0;
15977
15978 };
15979
15980
15981#else /* C style interface */
15982
15983 typedef struct ID3D12DeviceRemovedExtendedDataSettings1Vtbl
15984 {
15985 BEGIN_INTERFACE
15986
15987 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
15988 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
15989 ID3D12DeviceRemovedExtendedDataSettings1 * This,
15990 REFIID riid,
15991 _COM_Outptr_ void **ppvObject);
15992
15993 DECLSPEC_XFGVIRT(IUnknown, AddRef)
15994 ULONG ( STDMETHODCALLTYPE *AddRef )(
15995 ID3D12DeviceRemovedExtendedDataSettings1 * This);
15996
15997 DECLSPEC_XFGVIRT(IUnknown, Release)
15998 ULONG ( STDMETHODCALLTYPE *Release )(
15999 ID3D12DeviceRemovedExtendedDataSettings1 * This);
16000
16001 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement)
16002 void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )(
16003 ID3D12DeviceRemovedExtendedDataSettings1 * This,
16004 D3D12_DRED_ENABLEMENT Enablement);
16005
16006 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement)
16007 void ( STDMETHODCALLTYPE *SetPageFaultEnablement )(
16008 ID3D12DeviceRemovedExtendedDataSettings1 * This,
16009 D3D12_DRED_ENABLEMENT Enablement);
16010
16011 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement)
16012 void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )(
16013 ID3D12DeviceRemovedExtendedDataSettings1 * This,
16014 D3D12_DRED_ENABLEMENT Enablement);
16015
16016 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings1, SetBreadcrumbContextEnablement)
16017 void ( STDMETHODCALLTYPE *SetBreadcrumbContextEnablement )(
16018 ID3D12DeviceRemovedExtendedDataSettings1 * This,
16019 D3D12_DRED_ENABLEMENT Enablement);
16020
16021 END_INTERFACE
16022 } ID3D12DeviceRemovedExtendedDataSettings1Vtbl;
16023
16024 interface ID3D12DeviceRemovedExtendedDataSettings1
16025 {
16026 CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettings1Vtbl *lpVtbl;
16027 };
16028
16029
16030
16031#ifdef COBJMACROS
16032
16033
16034#define ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(This,riid,ppvObject) \
16035 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
16036
16037#define ID3D12DeviceRemovedExtendedDataSettings1_AddRef(This) \
16038 ( (This)->lpVtbl -> AddRef(This) )
16039
16040#define ID3D12DeviceRemovedExtendedDataSettings1_Release(This) \
16041 ( (This)->lpVtbl -> Release(This) )
16042
16043
16044#define ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(This,Enablement) \
16045 ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) )
16046
16047#define ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(This,Enablement) \
16048 ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) )
16049
16050#define ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(This,Enablement) \
16051 ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) )
16052
16053
16054#define ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(This,Enablement) \
16055 ( (This)->lpVtbl -> SetBreadcrumbContextEnablement(This,Enablement) )
16056
16057#endif /* COBJMACROS */
16058
16059
16060#endif /* C style interface */
16061
16062
16063
16064
16065#endif /* __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__ */
16066
16067
16068#ifndef __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__
16069#define __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__
16070
16071/* interface ID3D12DeviceRemovedExtendedDataSettings2 */
16072/* [unique][local][object][uuid] */
16073
16074
16075EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings2;
16076
16077#if defined(__cplusplus) && !defined(CINTERFACE)
16078
16079 MIDL_INTERFACE("61552388-01ab-4008-a436-83db189566ea")
16080 ID3D12DeviceRemovedExtendedDataSettings2 : public ID3D12DeviceRemovedExtendedDataSettings1
16081 {
16082 public:
16083 virtual void STDMETHODCALLTYPE UseMarkersOnlyAutoBreadcrumbs(
16084 BOOL MarkersOnly) = 0;
16085
16086 };
16087
16088
16089#else /* C style interface */
16090
16091 typedef struct ID3D12DeviceRemovedExtendedDataSettings2Vtbl
16092 {
16093 BEGIN_INTERFACE
16094
16095 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
16096 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
16097 ID3D12DeviceRemovedExtendedDataSettings2 * This,
16098 REFIID riid,
16099 _COM_Outptr_ void **ppvObject);
16100
16101 DECLSPEC_XFGVIRT(IUnknown, AddRef)
16102 ULONG ( STDMETHODCALLTYPE *AddRef )(
16103 ID3D12DeviceRemovedExtendedDataSettings2 * This);
16104
16105 DECLSPEC_XFGVIRT(IUnknown, Release)
16106 ULONG ( STDMETHODCALLTYPE *Release )(
16107 ID3D12DeviceRemovedExtendedDataSettings2 * This);
16108
16109 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement)
16110 void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )(
16111 ID3D12DeviceRemovedExtendedDataSettings2 * This,
16112 D3D12_DRED_ENABLEMENT Enablement);
16113
16114 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement)
16115 void ( STDMETHODCALLTYPE *SetPageFaultEnablement )(
16116 ID3D12DeviceRemovedExtendedDataSettings2 * This,
16117 D3D12_DRED_ENABLEMENT Enablement);
16118
16119 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement)
16120 void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )(
16121 ID3D12DeviceRemovedExtendedDataSettings2 * This,
16122 D3D12_DRED_ENABLEMENT Enablement);
16123
16124 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings1, SetBreadcrumbContextEnablement)
16125 void ( STDMETHODCALLTYPE *SetBreadcrumbContextEnablement )(
16126 ID3D12DeviceRemovedExtendedDataSettings2 * This,
16127 D3D12_DRED_ENABLEMENT Enablement);
16128
16129 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings2, UseMarkersOnlyAutoBreadcrumbs)
16130 void ( STDMETHODCALLTYPE *UseMarkersOnlyAutoBreadcrumbs )(
16131 ID3D12DeviceRemovedExtendedDataSettings2 * This,
16132 BOOL MarkersOnly);
16133
16134 END_INTERFACE
16135 } ID3D12DeviceRemovedExtendedDataSettings2Vtbl;
16136
16137 interface ID3D12DeviceRemovedExtendedDataSettings2
16138 {
16139 CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettings2Vtbl *lpVtbl;
16140 };
16141
16142
16143
16144#ifdef COBJMACROS
16145
16146
16147#define ID3D12DeviceRemovedExtendedDataSettings2_QueryInterface(This,riid,ppvObject) \
16148 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
16149
16150#define ID3D12DeviceRemovedExtendedDataSettings2_AddRef(This) \
16151 ( (This)->lpVtbl -> AddRef(This) )
16152
16153#define ID3D12DeviceRemovedExtendedDataSettings2_Release(This) \
16154 ( (This)->lpVtbl -> Release(This) )
16155
16156
16157#define ID3D12DeviceRemovedExtendedDataSettings2_SetAutoBreadcrumbsEnablement(This,Enablement) \
16158 ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) )
16159
16160#define ID3D12DeviceRemovedExtendedDataSettings2_SetPageFaultEnablement(This,Enablement) \
16161 ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) )
16162
16163#define ID3D12DeviceRemovedExtendedDataSettings2_SetWatsonDumpEnablement(This,Enablement) \
16164 ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) )
16165
16166
16167#define ID3D12DeviceRemovedExtendedDataSettings2_SetBreadcrumbContextEnablement(This,Enablement) \
16168 ( (This)->lpVtbl -> SetBreadcrumbContextEnablement(This,Enablement) )
16169
16170
16171#define ID3D12DeviceRemovedExtendedDataSettings2_UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly) \
16172 ( (This)->lpVtbl -> UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly) )
16173
16174#endif /* COBJMACROS */
16175
16176
16177#endif /* C style interface */
16178
16179
16180
16181
16182#endif /* __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__ */
16183
16184
16185#ifndef __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__
16186#define __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__
16187
16188/* interface ID3D12DeviceRemovedExtendedData */
16189/* [unique][local][object][uuid] */
16190
16191
16192EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData;
16193
16194#if defined(__cplusplus) && !defined(CINTERFACE)
16195
16196 MIDL_INTERFACE("98931D33-5AE8-4791-AA3C-1A73A2934E71")
16197 ID3D12DeviceRemovedExtendedData : public IUnknown
16198 {
16199 public:
16200 virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput(
16201 _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput) = 0;
16202
16203 virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput(
16204 _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput) = 0;
16205
16206 };
16207
16208
16209#else /* C style interface */
16210
16211 typedef struct ID3D12DeviceRemovedExtendedDataVtbl
16212 {
16213 BEGIN_INTERFACE
16214
16215 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
16216 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
16217 ID3D12DeviceRemovedExtendedData * This,
16218 REFIID riid,
16219 _COM_Outptr_ void **ppvObject);
16220
16221 DECLSPEC_XFGVIRT(IUnknown, AddRef)
16222 ULONG ( STDMETHODCALLTYPE *AddRef )(
16223 ID3D12DeviceRemovedExtendedData * This);
16224
16225 DECLSPEC_XFGVIRT(IUnknown, Release)
16226 ULONG ( STDMETHODCALLTYPE *Release )(
16227 ID3D12DeviceRemovedExtendedData * This);
16228
16229 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput)
16230 HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )(
16231 ID3D12DeviceRemovedExtendedData * This,
16232 _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput);
16233
16234 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput)
16235 HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )(
16236 ID3D12DeviceRemovedExtendedData * This,
16237 _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput);
16238
16239 END_INTERFACE
16240 } ID3D12DeviceRemovedExtendedDataVtbl;
16241
16242 interface ID3D12DeviceRemovedExtendedData
16243 {
16244 CONST_VTBL struct ID3D12DeviceRemovedExtendedDataVtbl *lpVtbl;
16245 };
16246
16247
16248
16249#ifdef COBJMACROS
16250
16251
16252#define ID3D12DeviceRemovedExtendedData_QueryInterface(This,riid,ppvObject) \
16253 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
16254
16255#define ID3D12DeviceRemovedExtendedData_AddRef(This) \
16256 ( (This)->lpVtbl -> AddRef(This) )
16257
16258#define ID3D12DeviceRemovedExtendedData_Release(This) \
16259 ( (This)->lpVtbl -> Release(This) )
16260
16261
16262#define ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(This,pOutput) \
16263 ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) )
16264
16265#define ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(This,pOutput) \
16266 ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) )
16267
16268#endif /* COBJMACROS */
16269
16270
16271#endif /* C style interface */
16272
16273
16274
16275
16276#endif /* __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__ */
16277
16278
16279#ifndef __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__
16280#define __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__
16281
16282/* interface ID3D12DeviceRemovedExtendedData1 */
16283/* [unique][local][object][uuid] */
16284
16285
16286EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData1;
16287
16288#if defined(__cplusplus) && !defined(CINTERFACE)
16289
16290 MIDL_INTERFACE("9727A022-CF1D-4DDA-9EBA-EFFA653FC506")
16291 ID3D12DeviceRemovedExtendedData1 : public ID3D12DeviceRemovedExtendedData
16292 {
16293 public:
16294 virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput1(
16295 _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput) = 0;
16296
16297 virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput1(
16298 _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput) = 0;
16299
16300 };
16301
16302
16303#else /* C style interface */
16304
16305 typedef struct ID3D12DeviceRemovedExtendedData1Vtbl
16306 {
16307 BEGIN_INTERFACE
16308
16309 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
16310 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
16311 ID3D12DeviceRemovedExtendedData1 * This,
16312 REFIID riid,
16313 _COM_Outptr_ void **ppvObject);
16314
16315 DECLSPEC_XFGVIRT(IUnknown, AddRef)
16316 ULONG ( STDMETHODCALLTYPE *AddRef )(
16317 ID3D12DeviceRemovedExtendedData1 * This);
16318
16319 DECLSPEC_XFGVIRT(IUnknown, Release)
16320 ULONG ( STDMETHODCALLTYPE *Release )(
16321 ID3D12DeviceRemovedExtendedData1 * This);
16322
16323 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput)
16324 HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )(
16325 ID3D12DeviceRemovedExtendedData1 * This,
16326 _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput);
16327
16328 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput)
16329 HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )(
16330 ID3D12DeviceRemovedExtendedData1 * This,
16331 _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput);
16332
16333 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetAutoBreadcrumbsOutput1)
16334 HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1 )(
16335 ID3D12DeviceRemovedExtendedData1 * This,
16336 _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput);
16337
16338 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetPageFaultAllocationOutput1)
16339 HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput1 )(
16340 ID3D12DeviceRemovedExtendedData1 * This,
16341 _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput);
16342
16343 END_INTERFACE
16344 } ID3D12DeviceRemovedExtendedData1Vtbl;
16345
16346 interface ID3D12DeviceRemovedExtendedData1
16347 {
16348 CONST_VTBL struct ID3D12DeviceRemovedExtendedData1Vtbl *lpVtbl;
16349 };
16350
16351
16352
16353#ifdef COBJMACROS
16354
16355
16356#define ID3D12DeviceRemovedExtendedData1_QueryInterface(This,riid,ppvObject) \
16357 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
16358
16359#define ID3D12DeviceRemovedExtendedData1_AddRef(This) \
16360 ( (This)->lpVtbl -> AddRef(This) )
16361
16362#define ID3D12DeviceRemovedExtendedData1_Release(This) \
16363 ( (This)->lpVtbl -> Release(This) )
16364
16365
16366#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(This,pOutput) \
16367 ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) )
16368
16369#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(This,pOutput) \
16370 ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) )
16371
16372
16373#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(This,pOutput) \
16374 ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput1(This,pOutput) )
16375
16376#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(This,pOutput) \
16377 ( (This)->lpVtbl -> GetPageFaultAllocationOutput1(This,pOutput) )
16378
16379#endif /* COBJMACROS */
16380
16381
16382#endif /* C style interface */
16383
16384
16385
16386
16387#endif /* __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__ */
16388
16389
16390#ifndef __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__
16391#define __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__
16392
16393/* interface ID3D12DeviceRemovedExtendedData2 */
16394/* [unique][local][object][uuid] */
16395
16396
16397EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData2;
16398
16399#if defined(__cplusplus) && !defined(CINTERFACE)
16400
16401 MIDL_INTERFACE("67FC5816-E4CA-4915-BF18-42541272DA54")
16402 ID3D12DeviceRemovedExtendedData2 : public ID3D12DeviceRemovedExtendedData1
16403 {
16404 public:
16405 virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput2(
16406 _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT2 *pOutput) = 0;
16407
16408 virtual D3D12_DRED_DEVICE_STATE STDMETHODCALLTYPE GetDeviceState( void) = 0;
16409
16410 };
16411
16412
16413#else /* C style interface */
16414
16415 typedef struct ID3D12DeviceRemovedExtendedData2Vtbl
16416 {
16417 BEGIN_INTERFACE
16418
16419 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
16420 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
16421 ID3D12DeviceRemovedExtendedData2 * This,
16422 REFIID riid,
16423 _COM_Outptr_ void **ppvObject);
16424
16425 DECLSPEC_XFGVIRT(IUnknown, AddRef)
16426 ULONG ( STDMETHODCALLTYPE *AddRef )(
16427 ID3D12DeviceRemovedExtendedData2 * This);
16428
16429 DECLSPEC_XFGVIRT(IUnknown, Release)
16430 ULONG ( STDMETHODCALLTYPE *Release )(
16431 ID3D12DeviceRemovedExtendedData2 * This);
16432
16433 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput)
16434 HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )(
16435 ID3D12DeviceRemovedExtendedData2 * This,
16436 _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput);
16437
16438 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput)
16439 HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )(
16440 ID3D12DeviceRemovedExtendedData2 * This,
16441 _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput);
16442
16443 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetAutoBreadcrumbsOutput1)
16444 HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1 )(
16445 ID3D12DeviceRemovedExtendedData2 * This,
16446 _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput);
16447
16448 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetPageFaultAllocationOutput1)
16449 HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput1 )(
16450 ID3D12DeviceRemovedExtendedData2 * This,
16451 _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput);
16452
16453 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData2, GetPageFaultAllocationOutput2)
16454 HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput2 )(
16455 ID3D12DeviceRemovedExtendedData2 * This,
16456 _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT2 *pOutput);
16457
16458 DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData2, GetDeviceState)
16459 D3D12_DRED_DEVICE_STATE ( STDMETHODCALLTYPE *GetDeviceState )(
16460 ID3D12DeviceRemovedExtendedData2 * This);
16461
16462 END_INTERFACE
16463 } ID3D12DeviceRemovedExtendedData2Vtbl;
16464
16465 interface ID3D12DeviceRemovedExtendedData2
16466 {
16467 CONST_VTBL struct ID3D12DeviceRemovedExtendedData2Vtbl *lpVtbl;
16468 };
16469
16470
16471
16472#ifdef COBJMACROS
16473
16474
16475#define ID3D12DeviceRemovedExtendedData2_QueryInterface(This,riid,ppvObject) \
16476 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
16477
16478#define ID3D12DeviceRemovedExtendedData2_AddRef(This) \
16479 ( (This)->lpVtbl -> AddRef(This) )
16480
16481#define ID3D12DeviceRemovedExtendedData2_Release(This) \
16482 ( (This)->lpVtbl -> Release(This) )
16483
16484
16485#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(This,pOutput) \
16486 ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) )
16487
16488#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(This,pOutput) \
16489 ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) )
16490
16491
16492#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(This,pOutput) \
16493 ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput1(This,pOutput) )
16494
16495#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(This,pOutput) \
16496 ( (This)->lpVtbl -> GetPageFaultAllocationOutput1(This,pOutput) )
16497
16498
16499#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(This,pOutput) \
16500 ( (This)->lpVtbl -> GetPageFaultAllocationOutput2(This,pOutput) )
16501
16502#define ID3D12DeviceRemovedExtendedData2_GetDeviceState(This) \
16503 ( (This)->lpVtbl -> GetDeviceState(This) )
16504
16505#endif /* COBJMACROS */
16506
16507
16508#endif /* C style interface */
16509
16510
16511
16512
16513#endif /* __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__ */
16514
16515
16516/* interface __MIDL_itf_d3d12_0000_0043 */
16517/* [local] */
16518
16519typedef
16520enum D3D12_BACKGROUND_PROCESSING_MODE
16521 {
16522 D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED = 0,
16523 D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS = ( D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED + 1 ) ,
16524 D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK = ( D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS + 1 ) ,
16525 D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM = ( D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK + 1 )
16526 } D3D12_BACKGROUND_PROCESSING_MODE;
16527
16528typedef
16529enum D3D12_MEASUREMENTS_ACTION
16530 {
16531 D3D12_MEASUREMENTS_ACTION_KEEP_ALL = 0,
16532 D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS = ( D3D12_MEASUREMENTS_ACTION_KEEP_ALL + 1 ) ,
16533 D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY = ( D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS + 1 ) ,
16534 D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS = ( D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY + 1 )
16535 } D3D12_MEASUREMENTS_ACTION;
16536
16537
16538
16539extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0043_v0_0_c_ifspec;
16540extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0043_v0_0_s_ifspec;
16541
16542#ifndef __ID3D12Device6_INTERFACE_DEFINED__
16543#define __ID3D12Device6_INTERFACE_DEFINED__
16544
16545/* interface ID3D12Device6 */
16546/* [unique][local][object][uuid] */
16547
16548
16549EXTERN_C const IID IID_ID3D12Device6;
16550
16551#if defined(__cplusplus) && !defined(CINTERFACE)
16552
16553 MIDL_INTERFACE("c70b221b-40e4-4a17-89af-025a0727a6dc")
16554 ID3D12Device6 : public ID3D12Device5
16555 {
16556 public:
16557 virtual HRESULT STDMETHODCALLTYPE SetBackgroundProcessingMode(
16558 D3D12_BACKGROUND_PROCESSING_MODE Mode,
16559 D3D12_MEASUREMENTS_ACTION MeasurementsAction,
16560 _In_opt_ HANDLE hEventToSignalUponCompletion,
16561 _Out_opt_ BOOL *pbFurtherMeasurementsDesired) = 0;
16562
16563 };
16564
16565
16566#else /* C style interface */
16567
16568 typedef struct ID3D12Device6Vtbl
16569 {
16570 BEGIN_INTERFACE
16571
16572 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
16573 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
16574 ID3D12Device6 * This,
16575 REFIID riid,
16576 _COM_Outptr_ void **ppvObject);
16577
16578 DECLSPEC_XFGVIRT(IUnknown, AddRef)
16579 ULONG ( STDMETHODCALLTYPE *AddRef )(
16580 ID3D12Device6 * This);
16581
16582 DECLSPEC_XFGVIRT(IUnknown, Release)
16583 ULONG ( STDMETHODCALLTYPE *Release )(
16584 ID3D12Device6 * This);
16585
16586 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
16587 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
16588 ID3D12Device6 * This,
16589 _In_ REFGUID guid,
16590 _Inout_ UINT *pDataSize,
16591 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
16592
16593 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
16594 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
16595 ID3D12Device6 * This,
16596 _In_ REFGUID guid,
16597 _In_ UINT DataSize,
16598 _In_reads_bytes_opt_( DataSize ) const void *pData);
16599
16600 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
16601 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
16602 ID3D12Device6 * This,
16603 _In_ REFGUID guid,
16604 _In_opt_ const IUnknown *pData);
16605
16606 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
16607 HRESULT ( STDMETHODCALLTYPE *SetName )(
16608 ID3D12Device6 * This,
16609 _In_z_ LPCWSTR Name);
16610
16611 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
16612 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
16613 ID3D12Device6 * This);
16614
16615 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
16616 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
16617 ID3D12Device6 * This,
16618 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
16619 REFIID riid,
16620 _COM_Outptr_ void **ppCommandQueue);
16621
16622 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
16623 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
16624 ID3D12Device6 * This,
16625 _In_ D3D12_COMMAND_LIST_TYPE type,
16626 REFIID riid,
16627 _COM_Outptr_ void **ppCommandAllocator);
16628
16629 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
16630 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
16631 ID3D12Device6 * This,
16632 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
16633 REFIID riid,
16634 _COM_Outptr_ void **ppPipelineState);
16635
16636 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
16637 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
16638 ID3D12Device6 * This,
16639 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
16640 REFIID riid,
16641 _COM_Outptr_ void **ppPipelineState);
16642
16643 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
16644 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
16645 ID3D12Device6 * This,
16646 _In_ UINT nodeMask,
16647 _In_ D3D12_COMMAND_LIST_TYPE type,
16648 _In_ ID3D12CommandAllocator *pCommandAllocator,
16649 _In_opt_ ID3D12PipelineState *pInitialState,
16650 REFIID riid,
16651 _COM_Outptr_ void **ppCommandList);
16652
16653 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
16654 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
16655 ID3D12Device6 * This,
16656 D3D12_FEATURE Feature,
16657 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
16658 UINT FeatureSupportDataSize);
16659
16660 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
16661 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
16662 ID3D12Device6 * This,
16663 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
16664 REFIID riid,
16665 _COM_Outptr_ void **ppvHeap);
16666
16667 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
16668 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
16669 ID3D12Device6 * This,
16670 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
16671
16672 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
16673 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
16674 ID3D12Device6 * This,
16675 _In_ UINT nodeMask,
16676 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
16677 _In_ SIZE_T blobLengthInBytes,
16678 REFIID riid,
16679 _COM_Outptr_ void **ppvRootSignature);
16680
16681 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
16682 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
16683 ID3D12Device6 * This,
16684 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
16685 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
16686
16687 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
16688 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
16689 ID3D12Device6 * This,
16690 _In_opt_ ID3D12Resource *pResource,
16691 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
16692 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
16693
16694 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
16695 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
16696 ID3D12Device6 * This,
16697 _In_opt_ ID3D12Resource *pResource,
16698 _In_opt_ ID3D12Resource *pCounterResource,
16699 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
16700 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
16701
16702 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
16703 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
16704 ID3D12Device6 * This,
16705 _In_opt_ ID3D12Resource *pResource,
16706 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
16707 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
16708
16709 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
16710 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
16711 ID3D12Device6 * This,
16712 _In_opt_ ID3D12Resource *pResource,
16713 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
16714 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
16715
16716 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
16717 void ( STDMETHODCALLTYPE *CreateSampler )(
16718 ID3D12Device6 * This,
16719 _In_ const D3D12_SAMPLER_DESC *pDesc,
16720 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
16721
16722 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
16723 void ( STDMETHODCALLTYPE *CopyDescriptors )(
16724 ID3D12Device6 * This,
16725 _In_ UINT NumDestDescriptorRanges,
16726 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
16727 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
16728 _In_ UINT NumSrcDescriptorRanges,
16729 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
16730 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
16731 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
16732
16733 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
16734 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
16735 ID3D12Device6 * This,
16736 _In_ UINT NumDescriptors,
16737 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
16738 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
16739 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
16740
16741 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
16742#if !defined(_WIN32)
16743 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
16744 ID3D12Device6 * This,
16745 _In_ UINT visibleMask,
16746 _In_ UINT numResourceDescs,
16747 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
16748
16749#else
16750 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
16751 ID3D12Device6 * This,
16752 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
16753 _In_ UINT visibleMask,
16754 _In_ UINT numResourceDescs,
16755 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
16756
16757#endif
16758
16759 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
16760#if !defined(_WIN32)
16761 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
16762 ID3D12Device6 * This,
16763 _In_ UINT nodeMask,
16764 D3D12_HEAP_TYPE heapType);
16765
16766#else
16767 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
16768 ID3D12Device6 * This,
16769 D3D12_HEAP_PROPERTIES * RetVal,
16770 _In_ UINT nodeMask,
16771 D3D12_HEAP_TYPE heapType);
16772
16773#endif
16774
16775 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
16776 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
16777 ID3D12Device6 * This,
16778 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
16779 D3D12_HEAP_FLAGS HeapFlags,
16780 _In_ const D3D12_RESOURCE_DESC *pDesc,
16781 D3D12_RESOURCE_STATES InitialResourceState,
16782 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
16783 REFIID riidResource,
16784 _COM_Outptr_opt_ void **ppvResource);
16785
16786 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
16787 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
16788 ID3D12Device6 * This,
16789 _In_ const D3D12_HEAP_DESC *pDesc,
16790 REFIID riid,
16791 _COM_Outptr_opt_ void **ppvHeap);
16792
16793 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
16794 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
16795 ID3D12Device6 * This,
16796 _In_ ID3D12Heap *pHeap,
16797 UINT64 HeapOffset,
16798 _In_ const D3D12_RESOURCE_DESC *pDesc,
16799 D3D12_RESOURCE_STATES InitialState,
16800 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
16801 REFIID riid,
16802 _COM_Outptr_opt_ void **ppvResource);
16803
16804 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
16805 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
16806 ID3D12Device6 * This,
16807 _In_ const D3D12_RESOURCE_DESC *pDesc,
16808 D3D12_RESOURCE_STATES InitialState,
16809 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
16810 REFIID riid,
16811 _COM_Outptr_opt_ void **ppvResource);
16812
16813 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
16814 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
16815 ID3D12Device6 * This,
16816 _In_ ID3D12DeviceChild *pObject,
16817 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
16818 DWORD Access,
16819 _In_opt_ LPCWSTR Name,
16820 _Out_ HANDLE *pHandle);
16821
16822 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
16823 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
16824 ID3D12Device6 * This,
16825 _In_ HANDLE NTHandle,
16826 REFIID riid,
16827 _COM_Outptr_opt_ void **ppvObj);
16828
16829 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
16830 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
16831 ID3D12Device6 * This,
16832 _In_ LPCWSTR Name,
16833 DWORD Access,
16834 /* [annotation][out] */
16835 _Out_ HANDLE *pNTHandle);
16836
16837 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
16838 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
16839 ID3D12Device6 * This,
16840 UINT NumObjects,
16841 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
16842
16843 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
16844 HRESULT ( STDMETHODCALLTYPE *Evict )(
16845 ID3D12Device6 * This,
16846 UINT NumObjects,
16847 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
16848
16849 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
16850 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
16851 ID3D12Device6 * This,
16852 UINT64 InitialValue,
16853 D3D12_FENCE_FLAGS Flags,
16854 REFIID riid,
16855 _COM_Outptr_ void **ppFence);
16856
16857 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
16858 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
16859 ID3D12Device6 * This);
16860
16861 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
16862 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
16863 ID3D12Device6 * This,
16864 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
16865 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
16866 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
16867 UINT64 BaseOffset,
16868 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
16869 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
16870 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
16871 _Out_opt_ UINT64 *pTotalBytes);
16872
16873 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
16874 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
16875 ID3D12Device6 * This,
16876 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
16877 REFIID riid,
16878 _COM_Outptr_opt_ void **ppvHeap);
16879
16880 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
16881 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
16882 ID3D12Device6 * This,
16883 BOOL Enable);
16884
16885 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
16886 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
16887 ID3D12Device6 * This,
16888 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
16889 _In_opt_ ID3D12RootSignature *pRootSignature,
16890 REFIID riid,
16891 _COM_Outptr_opt_ void **ppvCommandSignature);
16892
16893 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
16894 void ( STDMETHODCALLTYPE *GetResourceTiling )(
16895 ID3D12Device6 * This,
16896 _In_ ID3D12Resource *pTiledResource,
16897 _Out_opt_ UINT *pNumTilesForEntireResource,
16898 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
16899 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
16900 _Inout_opt_ UINT *pNumSubresourceTilings,
16901 _In_ UINT FirstSubresourceTilingToGet,
16902 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
16903
16904 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
16905#if !defined(_WIN32)
16906 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
16907 ID3D12Device6 * This);
16908
16909#else
16910 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
16911 ID3D12Device6 * This,
16912 LUID * RetVal);
16913
16914#endif
16915
16916 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
16917 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
16918 ID3D12Device6 * This,
16919 _In_reads_(BlobLength) const void *pLibraryBlob,
16920 SIZE_T BlobLength,
16921 REFIID riid,
16922 _COM_Outptr_ void **ppPipelineLibrary);
16923
16924 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
16925 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
16926 ID3D12Device6 * This,
16927 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
16928 _In_reads_(NumFences) const UINT64 *pFenceValues,
16929 UINT NumFences,
16930 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
16931 HANDLE hEvent);
16932
16933 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
16934 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
16935 ID3D12Device6 * This,
16936 UINT NumObjects,
16937 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
16938 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
16939
16940 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
16941 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
16942 ID3D12Device6 * This,
16943 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
16944 REFIID riid,
16945 _COM_Outptr_ void **ppPipelineState);
16946
16947 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
16948 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
16949 ID3D12Device6 * This,
16950 _In_ const void *pAddress,
16951 REFIID riid,
16952 _COM_Outptr_ void **ppvHeap);
16953
16954 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
16955 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
16956 ID3D12Device6 * This,
16957 _In_ HANDLE hFileMapping,
16958 REFIID riid,
16959 _COM_Outptr_ void **ppvHeap);
16960
16961 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
16962 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
16963 ID3D12Device6 * This,
16964 D3D12_RESIDENCY_FLAGS Flags,
16965 UINT NumObjects,
16966 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
16967 _In_ ID3D12Fence *pFenceToSignal,
16968 UINT64 FenceValueToSignal);
16969
16970 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
16971 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
16972 ID3D12Device6 * This,
16973 _In_ UINT nodeMask,
16974 _In_ D3D12_COMMAND_LIST_TYPE type,
16975 _In_ D3D12_COMMAND_LIST_FLAGS flags,
16976 REFIID riid,
16977 _COM_Outptr_ void **ppCommandList);
16978
16979 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
16980 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
16981 ID3D12Device6 * This,
16982 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
16983 _In_ REFIID riid,
16984 _COM_Outptr_ void **ppSession);
16985
16986 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
16987 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
16988 ID3D12Device6 * This,
16989 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
16990 D3D12_HEAP_FLAGS HeapFlags,
16991 _In_ const D3D12_RESOURCE_DESC *pDesc,
16992 D3D12_RESOURCE_STATES InitialResourceState,
16993 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
16994 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
16995 REFIID riidResource,
16996 _COM_Outptr_opt_ void **ppvResource);
16997
16998 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
16999 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
17000 ID3D12Device6 * This,
17001 _In_ const D3D12_HEAP_DESC *pDesc,
17002 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
17003 REFIID riid,
17004 _COM_Outptr_opt_ void **ppvHeap);
17005
17006 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
17007 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
17008 ID3D12Device6 * This,
17009 _In_ const D3D12_RESOURCE_DESC *pDesc,
17010 D3D12_RESOURCE_STATES InitialState,
17011 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
17012 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
17013 REFIID riid,
17014 _COM_Outptr_opt_ void **ppvResource);
17015
17016 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
17017#if !defined(_WIN32)
17018 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
17019 ID3D12Device6 * This,
17020 UINT visibleMask,
17021 UINT numResourceDescs,
17022 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
17023 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
17024
17025#else
17026 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
17027 ID3D12Device6 * This,
17028 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
17029 UINT visibleMask,
17030 UINT numResourceDescs,
17031 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
17032 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
17033
17034#endif
17035
17036 DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
17037 HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
17038 ID3D12Device6 * This,
17039 _In_ ID3D12LifetimeOwner *pOwner,
17040 REFIID riid,
17041 _COM_Outptr_ void **ppvTracker);
17042
17043 DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
17044 void ( STDMETHODCALLTYPE *RemoveDevice )(
17045 ID3D12Device6 * This);
17046
17047 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
17048 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
17049 ID3D12Device6 * This,
17050 _Inout_ UINT *pNumMetaCommands,
17051 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
17052
17053 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
17054 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
17055 ID3D12Device6 * This,
17056 _In_ REFGUID CommandId,
17057 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
17058 _Out_opt_ UINT *pTotalStructureSizeInBytes,
17059 _Inout_ UINT *pParameterCount,
17060 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
17061
17062 DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
17063 HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
17064 ID3D12Device6 * This,
17065 _In_ REFGUID CommandId,
17066 _In_ UINT NodeMask,
17067 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
17068 _In_ SIZE_T CreationParametersDataSizeInBytes,
17069 REFIID riid,
17070 _COM_Outptr_ void **ppMetaCommand);
17071
17072 DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
17073 HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
17074 ID3D12Device6 * This,
17075 const D3D12_STATE_OBJECT_DESC *pDesc,
17076 REFIID riid,
17077 _COM_Outptr_ void **ppStateObject);
17078
17079 DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
17080 void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
17081 ID3D12Device6 * This,
17082 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
17083 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
17084
17085 DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
17086 D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
17087 ID3D12Device6 * This,
17088 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
17089 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
17090
17091 DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
17092 HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
17093 ID3D12Device6 * This,
17094 D3D12_BACKGROUND_PROCESSING_MODE Mode,
17095 D3D12_MEASUREMENTS_ACTION MeasurementsAction,
17096 _In_opt_ HANDLE hEventToSignalUponCompletion,
17097 _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
17098
17099 END_INTERFACE
17100 } ID3D12Device6Vtbl;
17101
17102 interface ID3D12Device6
17103 {
17104 CONST_VTBL struct ID3D12Device6Vtbl *lpVtbl;
17105 };
17106
17107
17108
17109#ifdef COBJMACROS
17110
17111
17112#define ID3D12Device6_QueryInterface(This,riid,ppvObject) \
17113 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
17114
17115#define ID3D12Device6_AddRef(This) \
17116 ( (This)->lpVtbl -> AddRef(This) )
17117
17118#define ID3D12Device6_Release(This) \
17119 ( (This)->lpVtbl -> Release(This) )
17120
17121
17122#define ID3D12Device6_GetPrivateData(This,guid,pDataSize,pData) \
17123 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
17124
17125#define ID3D12Device6_SetPrivateData(This,guid,DataSize,pData) \
17126 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
17127
17128#define ID3D12Device6_SetPrivateDataInterface(This,guid,pData) \
17129 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
17130
17131#define ID3D12Device6_SetName(This,Name) \
17132 ( (This)->lpVtbl -> SetName(This,Name) )
17133
17134
17135#define ID3D12Device6_GetNodeCount(This) \
17136 ( (This)->lpVtbl -> GetNodeCount(This) )
17137
17138#define ID3D12Device6_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
17139 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
17140
17141#define ID3D12Device6_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
17142 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
17143
17144#define ID3D12Device6_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
17145 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
17146
17147#define ID3D12Device6_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
17148 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
17149
17150#define ID3D12Device6_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
17151 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
17152
17153#define ID3D12Device6_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
17154 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
17155
17156#define ID3D12Device6_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
17157 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
17158
17159#define ID3D12Device6_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
17160 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
17161
17162#define ID3D12Device6_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
17163 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
17164
17165#define ID3D12Device6_CreateConstantBufferView(This,pDesc,DestDescriptor) \
17166 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
17167
17168#define ID3D12Device6_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
17169 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
17170
17171#define ID3D12Device6_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
17172 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
17173
17174#define ID3D12Device6_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
17175 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
17176
17177#define ID3D12Device6_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
17178 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
17179
17180#define ID3D12Device6_CreateSampler(This,pDesc,DestDescriptor) \
17181 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
17182
17183#define ID3D12Device6_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
17184 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
17185
17186#define ID3D12Device6_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
17187 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
17188#if !defined(_WIN32)
17189
17190#define ID3D12Device6_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
17191 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
17192#else
17193#define ID3D12Device6_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
17194 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
17195#endif
17196#if !defined(_WIN32)
17197
17198#define ID3D12Device6_GetCustomHeapProperties(This,nodeMask,heapType) \
17199 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
17200#else
17201#define ID3D12Device6_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
17202 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
17203#endif
17204
17205#define ID3D12Device6_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
17206 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
17207
17208#define ID3D12Device6_CreateHeap(This,pDesc,riid,ppvHeap) \
17209 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
17210
17211#define ID3D12Device6_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
17212 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
17213
17214#define ID3D12Device6_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
17215 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
17216
17217#define ID3D12Device6_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
17218 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
17219
17220#define ID3D12Device6_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
17221 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
17222
17223#define ID3D12Device6_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
17224 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
17225
17226#define ID3D12Device6_MakeResident(This,NumObjects,ppObjects) \
17227 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
17228
17229#define ID3D12Device6_Evict(This,NumObjects,ppObjects) \
17230 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
17231
17232#define ID3D12Device6_CreateFence(This,InitialValue,Flags,riid,ppFence) \
17233 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
17234
17235#define ID3D12Device6_GetDeviceRemovedReason(This) \
17236 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
17237
17238#define ID3D12Device6_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
17239 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
17240
17241#define ID3D12Device6_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
17242 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
17243
17244#define ID3D12Device6_SetStablePowerState(This,Enable) \
17245 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
17246
17247#define ID3D12Device6_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
17248 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
17249
17250#define ID3D12Device6_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
17251 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
17252#if !defined(_WIN32)
17253
17254#define ID3D12Device6_GetAdapterLuid(This) \
17255 ( (This)->lpVtbl -> GetAdapterLuid(This) )
17256#else
17257#define ID3D12Device6_GetAdapterLuid(This,RetVal) \
17258 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
17259#endif
17260
17261
17262#define ID3D12Device6_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
17263 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
17264
17265#define ID3D12Device6_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
17266 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
17267
17268#define ID3D12Device6_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
17269 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
17270
17271
17272#define ID3D12Device6_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
17273 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
17274
17275
17276#define ID3D12Device6_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
17277 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
17278
17279#define ID3D12Device6_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
17280 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
17281
17282#define ID3D12Device6_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
17283 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
17284
17285
17286#define ID3D12Device6_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
17287 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
17288
17289#define ID3D12Device6_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
17290 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
17291
17292#define ID3D12Device6_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
17293 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
17294
17295#define ID3D12Device6_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
17296 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
17297
17298#define ID3D12Device6_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
17299 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
17300#if !defined(_WIN32)
17301
17302#define ID3D12Device6_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
17303 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
17304#else
17305#define ID3D12Device6_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
17306 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
17307#endif
17308
17309
17310#define ID3D12Device6_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
17311 ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
17312
17313#define ID3D12Device6_RemoveDevice(This) \
17314 ( (This)->lpVtbl -> RemoveDevice(This) )
17315
17316#define ID3D12Device6_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
17317 ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
17318
17319#define ID3D12Device6_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
17320 ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
17321
17322#define ID3D12Device6_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
17323 ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
17324
17325#define ID3D12Device6_CreateStateObject(This,pDesc,riid,ppStateObject) \
17326 ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
17327
17328#define ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
17329 ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
17330
17331#define ID3D12Device6_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
17332 ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
17333
17334
17335#define ID3D12Device6_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
17336 ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
17337
17338#endif /* COBJMACROS */
17339
17340
17341#endif /* C style interface */
17342
17343
17344
17345
17346#endif /* __ID3D12Device6_INTERFACE_DEFINED__ */
17347
17348
17349/* interface __MIDL_itf_d3d12_0000_0044 */
17350/* [local] */
17351
17352DEFINE_GUID(D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED, 0x62B0084E, 0xC70E, 0x4DAA, 0xA1, 0x09, 0x30, 0xFF, 0x8D, 0x5A, 0x04, 0x82);
17353typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT
17354 {
17355 UINT NodeIndex;
17356 UINT Count;
17357 } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT;
17358
17359typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES
17360 {
17361 UINT NodeIndex;
17362 UINT Count;
17363 GUID *pTypes;
17364 } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES;
17365
17366typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1
17367 {
17368 UINT NodeMask;
17369 D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
17370 GUID ProtectionType;
17371 } D3D12_PROTECTED_RESOURCE_SESSION_DESC1;
17372
17373
17374
17375extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0044_v0_0_c_ifspec;
17376extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0044_v0_0_s_ifspec;
17377
17378#ifndef __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__
17379#define __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__
17380
17381/* interface ID3D12ProtectedResourceSession1 */
17382/* [unique][local][object][uuid] */
17383
17384
17385EXTERN_C const IID IID_ID3D12ProtectedResourceSession1;
17386
17387#if defined(__cplusplus) && !defined(CINTERFACE)
17388
17389 MIDL_INTERFACE("D6F12DD6-76FB-406E-8961-4296EEFC0409")
17390 ID3D12ProtectedResourceSession1 : public ID3D12ProtectedResourceSession
17391 {
17392 public:
17393#if defined(_MSC_VER) || !defined(_WIN32)
17394 virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1 STDMETHODCALLTYPE GetDesc1( void) = 0;
17395#else
17396 virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *STDMETHODCALLTYPE GetDesc1(
17397 D3D12_PROTECTED_RESOURCE_SESSION_DESC1 * RetVal) = 0;
17398#endif
17399
17400 };
17401
17402
17403#else /* C style interface */
17404
17405 typedef struct ID3D12ProtectedResourceSession1Vtbl
17406 {
17407 BEGIN_INTERFACE
17408
17409 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
17410 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
17411 ID3D12ProtectedResourceSession1 * This,
17412 REFIID riid,
17413 _COM_Outptr_ void **ppvObject);
17414
17415 DECLSPEC_XFGVIRT(IUnknown, AddRef)
17416 ULONG ( STDMETHODCALLTYPE *AddRef )(
17417 ID3D12ProtectedResourceSession1 * This);
17418
17419 DECLSPEC_XFGVIRT(IUnknown, Release)
17420 ULONG ( STDMETHODCALLTYPE *Release )(
17421 ID3D12ProtectedResourceSession1 * This);
17422
17423 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
17424 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
17425 ID3D12ProtectedResourceSession1 * This,
17426 _In_ REFGUID guid,
17427 _Inout_ UINT *pDataSize,
17428 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
17429
17430 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
17431 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
17432 ID3D12ProtectedResourceSession1 * This,
17433 _In_ REFGUID guid,
17434 _In_ UINT DataSize,
17435 _In_reads_bytes_opt_( DataSize ) const void *pData);
17436
17437 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
17438 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
17439 ID3D12ProtectedResourceSession1 * This,
17440 _In_ REFGUID guid,
17441 _In_opt_ const IUnknown *pData);
17442
17443 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
17444 HRESULT ( STDMETHODCALLTYPE *SetName )(
17445 ID3D12ProtectedResourceSession1 * This,
17446 _In_z_ LPCWSTR Name);
17447
17448 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
17449 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
17450 ID3D12ProtectedResourceSession1 * This,
17451 REFIID riid,
17452 _COM_Outptr_opt_ void **ppvDevice);
17453
17454 DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence)
17455 HRESULT ( STDMETHODCALLTYPE *GetStatusFence )(
17456 ID3D12ProtectedResourceSession1 * This,
17457 REFIID riid,
17458 _COM_Outptr_opt_ void **ppFence);
17459
17460 DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus)
17461 D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )(
17462 ID3D12ProtectedResourceSession1 * This);
17463
17464 DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession, GetDesc)
17465#if !defined(_WIN32)
17466 D3D12_PROTECTED_RESOURCE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )(
17467 ID3D12ProtectedResourceSession1 * This);
17468
17469#else
17470 D3D12_PROTECTED_RESOURCE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )(
17471 ID3D12ProtectedResourceSession1 * This,
17472 D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal);
17473
17474#endif
17475
17476 DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession1, GetDesc1)
17477#if !defined(_WIN32)
17478 D3D12_PROTECTED_RESOURCE_SESSION_DESC1 ( STDMETHODCALLTYPE *GetDesc1 )(
17479 ID3D12ProtectedResourceSession1 * This);
17480
17481#else
17482 D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *( STDMETHODCALLTYPE *GetDesc1 )(
17483 ID3D12ProtectedResourceSession1 * This,
17484 D3D12_PROTECTED_RESOURCE_SESSION_DESC1 * RetVal);
17485
17486#endif
17487
17488 END_INTERFACE
17489 } ID3D12ProtectedResourceSession1Vtbl;
17490
17491 interface ID3D12ProtectedResourceSession1
17492 {
17493 CONST_VTBL struct ID3D12ProtectedResourceSession1Vtbl *lpVtbl;
17494 };
17495
17496
17497
17498#ifdef COBJMACROS
17499
17500
17501#define ID3D12ProtectedResourceSession1_QueryInterface(This,riid,ppvObject) \
17502 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
17503
17504#define ID3D12ProtectedResourceSession1_AddRef(This) \
17505 ( (This)->lpVtbl -> AddRef(This) )
17506
17507#define ID3D12ProtectedResourceSession1_Release(This) \
17508 ( (This)->lpVtbl -> Release(This) )
17509
17510
17511#define ID3D12ProtectedResourceSession1_GetPrivateData(This,guid,pDataSize,pData) \
17512 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
17513
17514#define ID3D12ProtectedResourceSession1_SetPrivateData(This,guid,DataSize,pData) \
17515 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
17516
17517#define ID3D12ProtectedResourceSession1_SetPrivateDataInterface(This,guid,pData) \
17518 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
17519
17520#define ID3D12ProtectedResourceSession1_SetName(This,Name) \
17521 ( (This)->lpVtbl -> SetName(This,Name) )
17522
17523
17524#define ID3D12ProtectedResourceSession1_GetDevice(This,riid,ppvDevice) \
17525 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
17526
17527
17528#define ID3D12ProtectedResourceSession1_GetStatusFence(This,riid,ppFence) \
17529 ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) )
17530
17531#define ID3D12ProtectedResourceSession1_GetSessionStatus(This) \
17532 ( (This)->lpVtbl -> GetSessionStatus(This) )
17533
17534#if !defined(_WIN32)
17535
17536#define ID3D12ProtectedResourceSession1_GetDesc(This) \
17537 ( (This)->lpVtbl -> GetDesc(This) )
17538#else
17539#define ID3D12ProtectedResourceSession1_GetDesc(This,RetVal) \
17540 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
17541#endif
17542
17543#if !defined(_WIN32)
17544
17545#define ID3D12ProtectedResourceSession1_GetDesc1(This) \
17546 ( (This)->lpVtbl -> GetDesc1(This) )
17547#else
17548#define ID3D12ProtectedResourceSession1_GetDesc1(This,RetVal) \
17549 ( (This)->lpVtbl -> GetDesc1(This,RetVal) )
17550#endif
17551
17552#endif /* COBJMACROS */
17553
17554
17555#endif /* C style interface */
17556
17557
17558
17559
17560#endif /* __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__ */
17561
17562
17563#ifndef __ID3D12Device7_INTERFACE_DEFINED__
17564#define __ID3D12Device7_INTERFACE_DEFINED__
17565
17566/* interface ID3D12Device7 */
17567/* [unique][local][object][uuid] */
17568
17569
17570EXTERN_C const IID IID_ID3D12Device7;
17571
17572#if defined(__cplusplus) && !defined(CINTERFACE)
17573
17574 MIDL_INTERFACE("5c014b53-68a1-4b9b-8bd1-dd6046b9358b")
17575 ID3D12Device7 : public ID3D12Device6
17576 {
17577 public:
17578 virtual HRESULT STDMETHODCALLTYPE AddToStateObject(
17579 const D3D12_STATE_OBJECT_DESC *pAddition,
17580 ID3D12StateObject *pStateObjectToGrowFrom,
17581 REFIID riid,
17582 _COM_Outptr_ void **ppNewStateObject) = 0;
17583
17584 virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession1(
17585 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
17586 _In_ REFIID riid,
17587 _COM_Outptr_ void **ppSession) = 0;
17588
17589 };
17590
17591
17592#else /* C style interface */
17593
17594 typedef struct ID3D12Device7Vtbl
17595 {
17596 BEGIN_INTERFACE
17597
17598 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
17599 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
17600 ID3D12Device7 * This,
17601 REFIID riid,
17602 _COM_Outptr_ void **ppvObject);
17603
17604 DECLSPEC_XFGVIRT(IUnknown, AddRef)
17605 ULONG ( STDMETHODCALLTYPE *AddRef )(
17606 ID3D12Device7 * This);
17607
17608 DECLSPEC_XFGVIRT(IUnknown, Release)
17609 ULONG ( STDMETHODCALLTYPE *Release )(
17610 ID3D12Device7 * This);
17611
17612 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
17613 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
17614 ID3D12Device7 * This,
17615 _In_ REFGUID guid,
17616 _Inout_ UINT *pDataSize,
17617 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
17618
17619 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
17620 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
17621 ID3D12Device7 * This,
17622 _In_ REFGUID guid,
17623 _In_ UINT DataSize,
17624 _In_reads_bytes_opt_( DataSize ) const void *pData);
17625
17626 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
17627 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
17628 ID3D12Device7 * This,
17629 _In_ REFGUID guid,
17630 _In_opt_ const IUnknown *pData);
17631
17632 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
17633 HRESULT ( STDMETHODCALLTYPE *SetName )(
17634 ID3D12Device7 * This,
17635 _In_z_ LPCWSTR Name);
17636
17637 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
17638 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
17639 ID3D12Device7 * This);
17640
17641 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
17642 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
17643 ID3D12Device7 * This,
17644 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
17645 REFIID riid,
17646 _COM_Outptr_ void **ppCommandQueue);
17647
17648 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
17649 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
17650 ID3D12Device7 * This,
17651 _In_ D3D12_COMMAND_LIST_TYPE type,
17652 REFIID riid,
17653 _COM_Outptr_ void **ppCommandAllocator);
17654
17655 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
17656 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
17657 ID3D12Device7 * This,
17658 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
17659 REFIID riid,
17660 _COM_Outptr_ void **ppPipelineState);
17661
17662 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
17663 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
17664 ID3D12Device7 * This,
17665 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
17666 REFIID riid,
17667 _COM_Outptr_ void **ppPipelineState);
17668
17669 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
17670 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
17671 ID3D12Device7 * This,
17672 _In_ UINT nodeMask,
17673 _In_ D3D12_COMMAND_LIST_TYPE type,
17674 _In_ ID3D12CommandAllocator *pCommandAllocator,
17675 _In_opt_ ID3D12PipelineState *pInitialState,
17676 REFIID riid,
17677 _COM_Outptr_ void **ppCommandList);
17678
17679 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
17680 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
17681 ID3D12Device7 * This,
17682 D3D12_FEATURE Feature,
17683 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
17684 UINT FeatureSupportDataSize);
17685
17686 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
17687 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
17688 ID3D12Device7 * This,
17689 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
17690 REFIID riid,
17691 _COM_Outptr_ void **ppvHeap);
17692
17693 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
17694 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
17695 ID3D12Device7 * This,
17696 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
17697
17698 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
17699 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
17700 ID3D12Device7 * This,
17701 _In_ UINT nodeMask,
17702 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
17703 _In_ SIZE_T blobLengthInBytes,
17704 REFIID riid,
17705 _COM_Outptr_ void **ppvRootSignature);
17706
17707 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
17708 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
17709 ID3D12Device7 * This,
17710 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
17711 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
17712
17713 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
17714 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
17715 ID3D12Device7 * This,
17716 _In_opt_ ID3D12Resource *pResource,
17717 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
17718 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
17719
17720 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
17721 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
17722 ID3D12Device7 * This,
17723 _In_opt_ ID3D12Resource *pResource,
17724 _In_opt_ ID3D12Resource *pCounterResource,
17725 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
17726 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
17727
17728 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
17729 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
17730 ID3D12Device7 * This,
17731 _In_opt_ ID3D12Resource *pResource,
17732 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
17733 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
17734
17735 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
17736 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
17737 ID3D12Device7 * This,
17738 _In_opt_ ID3D12Resource *pResource,
17739 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
17740 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
17741
17742 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
17743 void ( STDMETHODCALLTYPE *CreateSampler )(
17744 ID3D12Device7 * This,
17745 _In_ const D3D12_SAMPLER_DESC *pDesc,
17746 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
17747
17748 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
17749 void ( STDMETHODCALLTYPE *CopyDescriptors )(
17750 ID3D12Device7 * This,
17751 _In_ UINT NumDestDescriptorRanges,
17752 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
17753 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
17754 _In_ UINT NumSrcDescriptorRanges,
17755 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
17756 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
17757 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
17758
17759 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
17760 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
17761 ID3D12Device7 * This,
17762 _In_ UINT NumDescriptors,
17763 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
17764 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
17765 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
17766
17767 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
17768#if !defined(_WIN32)
17769 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
17770 ID3D12Device7 * This,
17771 _In_ UINT visibleMask,
17772 _In_ UINT numResourceDescs,
17773 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
17774
17775#else
17776 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
17777 ID3D12Device7 * This,
17778 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
17779 _In_ UINT visibleMask,
17780 _In_ UINT numResourceDescs,
17781 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
17782
17783#endif
17784
17785 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
17786#if !defined(_WIN32)
17787 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
17788 ID3D12Device7 * This,
17789 _In_ UINT nodeMask,
17790 D3D12_HEAP_TYPE heapType);
17791
17792#else
17793 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
17794 ID3D12Device7 * This,
17795 D3D12_HEAP_PROPERTIES * RetVal,
17796 _In_ UINT nodeMask,
17797 D3D12_HEAP_TYPE heapType);
17798
17799#endif
17800
17801 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
17802 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
17803 ID3D12Device7 * This,
17804 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
17805 D3D12_HEAP_FLAGS HeapFlags,
17806 _In_ const D3D12_RESOURCE_DESC *pDesc,
17807 D3D12_RESOURCE_STATES InitialResourceState,
17808 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
17809 REFIID riidResource,
17810 _COM_Outptr_opt_ void **ppvResource);
17811
17812 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
17813 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
17814 ID3D12Device7 * This,
17815 _In_ const D3D12_HEAP_DESC *pDesc,
17816 REFIID riid,
17817 _COM_Outptr_opt_ void **ppvHeap);
17818
17819 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
17820 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
17821 ID3D12Device7 * This,
17822 _In_ ID3D12Heap *pHeap,
17823 UINT64 HeapOffset,
17824 _In_ const D3D12_RESOURCE_DESC *pDesc,
17825 D3D12_RESOURCE_STATES InitialState,
17826 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
17827 REFIID riid,
17828 _COM_Outptr_opt_ void **ppvResource);
17829
17830 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
17831 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
17832 ID3D12Device7 * This,
17833 _In_ const D3D12_RESOURCE_DESC *pDesc,
17834 D3D12_RESOURCE_STATES InitialState,
17835 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
17836 REFIID riid,
17837 _COM_Outptr_opt_ void **ppvResource);
17838
17839 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
17840 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
17841 ID3D12Device7 * This,
17842 _In_ ID3D12DeviceChild *pObject,
17843 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
17844 DWORD Access,
17845 _In_opt_ LPCWSTR Name,
17846 _Out_ HANDLE *pHandle);
17847
17848 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
17849 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
17850 ID3D12Device7 * This,
17851 _In_ HANDLE NTHandle,
17852 REFIID riid,
17853 _COM_Outptr_opt_ void **ppvObj);
17854
17855 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
17856 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
17857 ID3D12Device7 * This,
17858 _In_ LPCWSTR Name,
17859 DWORD Access,
17860 /* [annotation][out] */
17861 _Out_ HANDLE *pNTHandle);
17862
17863 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
17864 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
17865 ID3D12Device7 * This,
17866 UINT NumObjects,
17867 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
17868
17869 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
17870 HRESULT ( STDMETHODCALLTYPE *Evict )(
17871 ID3D12Device7 * This,
17872 UINT NumObjects,
17873 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
17874
17875 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
17876 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
17877 ID3D12Device7 * This,
17878 UINT64 InitialValue,
17879 D3D12_FENCE_FLAGS Flags,
17880 REFIID riid,
17881 _COM_Outptr_ void **ppFence);
17882
17883 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
17884 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
17885 ID3D12Device7 * This);
17886
17887 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
17888 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
17889 ID3D12Device7 * This,
17890 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
17891 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
17892 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
17893 UINT64 BaseOffset,
17894 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
17895 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
17896 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
17897 _Out_opt_ UINT64 *pTotalBytes);
17898
17899 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
17900 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
17901 ID3D12Device7 * This,
17902 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
17903 REFIID riid,
17904 _COM_Outptr_opt_ void **ppvHeap);
17905
17906 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
17907 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
17908 ID3D12Device7 * This,
17909 BOOL Enable);
17910
17911 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
17912 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
17913 ID3D12Device7 * This,
17914 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
17915 _In_opt_ ID3D12RootSignature *pRootSignature,
17916 REFIID riid,
17917 _COM_Outptr_opt_ void **ppvCommandSignature);
17918
17919 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
17920 void ( STDMETHODCALLTYPE *GetResourceTiling )(
17921 ID3D12Device7 * This,
17922 _In_ ID3D12Resource *pTiledResource,
17923 _Out_opt_ UINT *pNumTilesForEntireResource,
17924 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
17925 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
17926 _Inout_opt_ UINT *pNumSubresourceTilings,
17927 _In_ UINT FirstSubresourceTilingToGet,
17928 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
17929
17930 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
17931#if !defined(_WIN32)
17932 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
17933 ID3D12Device7 * This);
17934
17935#else
17936 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
17937 ID3D12Device7 * This,
17938 LUID * RetVal);
17939
17940#endif
17941
17942 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
17943 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
17944 ID3D12Device7 * This,
17945 _In_reads_(BlobLength) const void *pLibraryBlob,
17946 SIZE_T BlobLength,
17947 REFIID riid,
17948 _COM_Outptr_ void **ppPipelineLibrary);
17949
17950 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
17951 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
17952 ID3D12Device7 * This,
17953 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
17954 _In_reads_(NumFences) const UINT64 *pFenceValues,
17955 UINT NumFences,
17956 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
17957 HANDLE hEvent);
17958
17959 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
17960 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
17961 ID3D12Device7 * This,
17962 UINT NumObjects,
17963 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
17964 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
17965
17966 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
17967 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
17968 ID3D12Device7 * This,
17969 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
17970 REFIID riid,
17971 _COM_Outptr_ void **ppPipelineState);
17972
17973 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
17974 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
17975 ID3D12Device7 * This,
17976 _In_ const void *pAddress,
17977 REFIID riid,
17978 _COM_Outptr_ void **ppvHeap);
17979
17980 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
17981 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
17982 ID3D12Device7 * This,
17983 _In_ HANDLE hFileMapping,
17984 REFIID riid,
17985 _COM_Outptr_ void **ppvHeap);
17986
17987 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
17988 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
17989 ID3D12Device7 * This,
17990 D3D12_RESIDENCY_FLAGS Flags,
17991 UINT NumObjects,
17992 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
17993 _In_ ID3D12Fence *pFenceToSignal,
17994 UINT64 FenceValueToSignal);
17995
17996 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
17997 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
17998 ID3D12Device7 * This,
17999 _In_ UINT nodeMask,
18000 _In_ D3D12_COMMAND_LIST_TYPE type,
18001 _In_ D3D12_COMMAND_LIST_FLAGS flags,
18002 REFIID riid,
18003 _COM_Outptr_ void **ppCommandList);
18004
18005 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
18006 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
18007 ID3D12Device7 * This,
18008 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
18009 _In_ REFIID riid,
18010 _COM_Outptr_ void **ppSession);
18011
18012 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
18013 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
18014 ID3D12Device7 * This,
18015 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
18016 D3D12_HEAP_FLAGS HeapFlags,
18017 _In_ const D3D12_RESOURCE_DESC *pDesc,
18018 D3D12_RESOURCE_STATES InitialResourceState,
18019 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
18020 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
18021 REFIID riidResource,
18022 _COM_Outptr_opt_ void **ppvResource);
18023
18024 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
18025 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
18026 ID3D12Device7 * This,
18027 _In_ const D3D12_HEAP_DESC *pDesc,
18028 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
18029 REFIID riid,
18030 _COM_Outptr_opt_ void **ppvHeap);
18031
18032 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
18033 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
18034 ID3D12Device7 * This,
18035 _In_ const D3D12_RESOURCE_DESC *pDesc,
18036 D3D12_RESOURCE_STATES InitialState,
18037 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
18038 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
18039 REFIID riid,
18040 _COM_Outptr_opt_ void **ppvResource);
18041
18042 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
18043#if !defined(_WIN32)
18044 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
18045 ID3D12Device7 * This,
18046 UINT visibleMask,
18047 UINT numResourceDescs,
18048 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
18049 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
18050
18051#else
18052 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
18053 ID3D12Device7 * This,
18054 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
18055 UINT visibleMask,
18056 UINT numResourceDescs,
18057 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
18058 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
18059
18060#endif
18061
18062 DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
18063 HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
18064 ID3D12Device7 * This,
18065 _In_ ID3D12LifetimeOwner *pOwner,
18066 REFIID riid,
18067 _COM_Outptr_ void **ppvTracker);
18068
18069 DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
18070 void ( STDMETHODCALLTYPE *RemoveDevice )(
18071 ID3D12Device7 * This);
18072
18073 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
18074 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
18075 ID3D12Device7 * This,
18076 _Inout_ UINT *pNumMetaCommands,
18077 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
18078
18079 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
18080 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
18081 ID3D12Device7 * This,
18082 _In_ REFGUID CommandId,
18083 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
18084 _Out_opt_ UINT *pTotalStructureSizeInBytes,
18085 _Inout_ UINT *pParameterCount,
18086 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
18087
18088 DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
18089 HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
18090 ID3D12Device7 * This,
18091 _In_ REFGUID CommandId,
18092 _In_ UINT NodeMask,
18093 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
18094 _In_ SIZE_T CreationParametersDataSizeInBytes,
18095 REFIID riid,
18096 _COM_Outptr_ void **ppMetaCommand);
18097
18098 DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
18099 HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
18100 ID3D12Device7 * This,
18101 const D3D12_STATE_OBJECT_DESC *pDesc,
18102 REFIID riid,
18103 _COM_Outptr_ void **ppStateObject);
18104
18105 DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
18106 void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
18107 ID3D12Device7 * This,
18108 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
18109 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
18110
18111 DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
18112 D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
18113 ID3D12Device7 * This,
18114 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
18115 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
18116
18117 DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
18118 HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
18119 ID3D12Device7 * This,
18120 D3D12_BACKGROUND_PROCESSING_MODE Mode,
18121 D3D12_MEASUREMENTS_ACTION MeasurementsAction,
18122 _In_opt_ HANDLE hEventToSignalUponCompletion,
18123 _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
18124
18125 DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
18126 HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
18127 ID3D12Device7 * This,
18128 const D3D12_STATE_OBJECT_DESC *pAddition,
18129 ID3D12StateObject *pStateObjectToGrowFrom,
18130 REFIID riid,
18131 _COM_Outptr_ void **ppNewStateObject);
18132
18133 DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
18134 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
18135 ID3D12Device7 * This,
18136 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
18137 _In_ REFIID riid,
18138 _COM_Outptr_ void **ppSession);
18139
18140 END_INTERFACE
18141 } ID3D12Device7Vtbl;
18142
18143 interface ID3D12Device7
18144 {
18145 CONST_VTBL struct ID3D12Device7Vtbl *lpVtbl;
18146 };
18147
18148
18149
18150#ifdef COBJMACROS
18151
18152
18153#define ID3D12Device7_QueryInterface(This,riid,ppvObject) \
18154 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
18155
18156#define ID3D12Device7_AddRef(This) \
18157 ( (This)->lpVtbl -> AddRef(This) )
18158
18159#define ID3D12Device7_Release(This) \
18160 ( (This)->lpVtbl -> Release(This) )
18161
18162
18163#define ID3D12Device7_GetPrivateData(This,guid,pDataSize,pData) \
18164 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
18165
18166#define ID3D12Device7_SetPrivateData(This,guid,DataSize,pData) \
18167 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
18168
18169#define ID3D12Device7_SetPrivateDataInterface(This,guid,pData) \
18170 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
18171
18172#define ID3D12Device7_SetName(This,Name) \
18173 ( (This)->lpVtbl -> SetName(This,Name) )
18174
18175
18176#define ID3D12Device7_GetNodeCount(This) \
18177 ( (This)->lpVtbl -> GetNodeCount(This) )
18178
18179#define ID3D12Device7_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
18180 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
18181
18182#define ID3D12Device7_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
18183 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
18184
18185#define ID3D12Device7_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
18186 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
18187
18188#define ID3D12Device7_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
18189 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
18190
18191#define ID3D12Device7_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
18192 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
18193
18194#define ID3D12Device7_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
18195 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
18196
18197#define ID3D12Device7_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
18198 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
18199
18200#define ID3D12Device7_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
18201 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
18202
18203#define ID3D12Device7_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
18204 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
18205
18206#define ID3D12Device7_CreateConstantBufferView(This,pDesc,DestDescriptor) \
18207 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
18208
18209#define ID3D12Device7_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
18210 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
18211
18212#define ID3D12Device7_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
18213 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
18214
18215#define ID3D12Device7_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
18216 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
18217
18218#define ID3D12Device7_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
18219 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
18220
18221#define ID3D12Device7_CreateSampler(This,pDesc,DestDescriptor) \
18222 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
18223
18224#define ID3D12Device7_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
18225 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
18226
18227#define ID3D12Device7_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
18228 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
18229#if !defined(_WIN32)
18230
18231#define ID3D12Device7_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
18232 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
18233#else
18234#define ID3D12Device7_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
18235 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
18236#endif
18237#if !defined(_WIN32)
18238
18239#define ID3D12Device7_GetCustomHeapProperties(This,nodeMask,heapType) \
18240 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
18241#else
18242#define ID3D12Device7_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
18243 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
18244#endif
18245
18246#define ID3D12Device7_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
18247 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
18248
18249#define ID3D12Device7_CreateHeap(This,pDesc,riid,ppvHeap) \
18250 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
18251
18252#define ID3D12Device7_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
18253 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
18254
18255#define ID3D12Device7_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
18256 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
18257
18258#define ID3D12Device7_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
18259 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
18260
18261#define ID3D12Device7_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
18262 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
18263
18264#define ID3D12Device7_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
18265 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
18266
18267#define ID3D12Device7_MakeResident(This,NumObjects,ppObjects) \
18268 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
18269
18270#define ID3D12Device7_Evict(This,NumObjects,ppObjects) \
18271 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
18272
18273#define ID3D12Device7_CreateFence(This,InitialValue,Flags,riid,ppFence) \
18274 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
18275
18276#define ID3D12Device7_GetDeviceRemovedReason(This) \
18277 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
18278
18279#define ID3D12Device7_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
18280 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
18281
18282#define ID3D12Device7_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
18283 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
18284
18285#define ID3D12Device7_SetStablePowerState(This,Enable) \
18286 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
18287
18288#define ID3D12Device7_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
18289 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
18290
18291#define ID3D12Device7_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
18292 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
18293#if !defined(_WIN32)
18294
18295#define ID3D12Device7_GetAdapterLuid(This) \
18296 ( (This)->lpVtbl -> GetAdapterLuid(This) )
18297#else
18298#define ID3D12Device7_GetAdapterLuid(This,RetVal) \
18299 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
18300#endif
18301
18302
18303#define ID3D12Device7_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
18304 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
18305
18306#define ID3D12Device7_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
18307 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
18308
18309#define ID3D12Device7_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
18310 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
18311
18312
18313#define ID3D12Device7_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
18314 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
18315
18316
18317#define ID3D12Device7_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
18318 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
18319
18320#define ID3D12Device7_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
18321 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
18322
18323#define ID3D12Device7_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
18324 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
18325
18326
18327#define ID3D12Device7_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
18328 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
18329
18330#define ID3D12Device7_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
18331 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
18332
18333#define ID3D12Device7_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
18334 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
18335
18336#define ID3D12Device7_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
18337 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
18338
18339#define ID3D12Device7_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
18340 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
18341#if !defined(_WIN32)
18342
18343#define ID3D12Device7_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
18344 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
18345#else
18346#define ID3D12Device7_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
18347 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
18348#endif
18349
18350
18351#define ID3D12Device7_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
18352 ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
18353
18354#define ID3D12Device7_RemoveDevice(This) \
18355 ( (This)->lpVtbl -> RemoveDevice(This) )
18356
18357#define ID3D12Device7_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
18358 ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
18359
18360#define ID3D12Device7_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
18361 ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
18362
18363#define ID3D12Device7_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
18364 ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
18365
18366#define ID3D12Device7_CreateStateObject(This,pDesc,riid,ppStateObject) \
18367 ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
18368
18369#define ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
18370 ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
18371
18372#define ID3D12Device7_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
18373 ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
18374
18375
18376#define ID3D12Device7_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
18377 ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
18378
18379
18380#define ID3D12Device7_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
18381 ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
18382
18383#define ID3D12Device7_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
18384 ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
18385
18386#endif /* COBJMACROS */
18387
18388
18389#endif /* C style interface */
18390
18391
18392
18393
18394#endif /* __ID3D12Device7_INTERFACE_DEFINED__ */
18395
18396
18397#ifndef __ID3D12Device8_INTERFACE_DEFINED__
18398#define __ID3D12Device8_INTERFACE_DEFINED__
18399
18400/* interface ID3D12Device8 */
18401/* [unique][local][object][uuid] */
18402
18403
18404EXTERN_C const IID IID_ID3D12Device8;
18405
18406#if defined(__cplusplus) && !defined(CINTERFACE)
18407
18408 MIDL_INTERFACE("9218E6BB-F944-4F7E-A75C-B1B2C7B701F3")
18409 ID3D12Device8 : public ID3D12Device7
18410 {
18411 public:
18412#if defined(_MSC_VER) || !defined(_WIN32)
18413 virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo2(
18414 UINT visibleMask,
18415 UINT numResourceDescs,
18416 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
18417 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
18418#else
18419 virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo2(
18420 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
18421 UINT visibleMask,
18422 UINT numResourceDescs,
18423 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
18424 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
18425#endif
18426
18427 virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource2(
18428 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
18429 D3D12_HEAP_FLAGS HeapFlags,
18430 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
18431 D3D12_RESOURCE_STATES InitialResourceState,
18432 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
18433 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
18434 REFIID riidResource,
18435 _COM_Outptr_opt_ void **ppvResource) = 0;
18436
18437 virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource1(
18438 _In_ ID3D12Heap *pHeap,
18439 UINT64 HeapOffset,
18440 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
18441 D3D12_RESOURCE_STATES InitialState,
18442 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
18443 REFIID riid,
18444 _COM_Outptr_opt_ void **ppvResource) = 0;
18445
18446 virtual void STDMETHODCALLTYPE CreateSamplerFeedbackUnorderedAccessView(
18447 _In_opt_ ID3D12Resource *pTargetedResource,
18448 _In_opt_ ID3D12Resource *pFeedbackResource,
18449 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
18450
18451 virtual void STDMETHODCALLTYPE GetCopyableFootprints1(
18452 _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
18453 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
18454 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
18455 UINT64 BaseOffset,
18456 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
18457 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
18458 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
18459 _Out_opt_ UINT64 *pTotalBytes) = 0;
18460
18461 };
18462
18463
18464#else /* C style interface */
18465
18466 typedef struct ID3D12Device8Vtbl
18467 {
18468 BEGIN_INTERFACE
18469
18470 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
18471 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
18472 ID3D12Device8 * This,
18473 REFIID riid,
18474 _COM_Outptr_ void **ppvObject);
18475
18476 DECLSPEC_XFGVIRT(IUnknown, AddRef)
18477 ULONG ( STDMETHODCALLTYPE *AddRef )(
18478 ID3D12Device8 * This);
18479
18480 DECLSPEC_XFGVIRT(IUnknown, Release)
18481 ULONG ( STDMETHODCALLTYPE *Release )(
18482 ID3D12Device8 * This);
18483
18484 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
18485 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
18486 ID3D12Device8 * This,
18487 _In_ REFGUID guid,
18488 _Inout_ UINT *pDataSize,
18489 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
18490
18491 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
18492 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
18493 ID3D12Device8 * This,
18494 _In_ REFGUID guid,
18495 _In_ UINT DataSize,
18496 _In_reads_bytes_opt_( DataSize ) const void *pData);
18497
18498 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
18499 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
18500 ID3D12Device8 * This,
18501 _In_ REFGUID guid,
18502 _In_opt_ const IUnknown *pData);
18503
18504 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
18505 HRESULT ( STDMETHODCALLTYPE *SetName )(
18506 ID3D12Device8 * This,
18507 _In_z_ LPCWSTR Name);
18508
18509 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
18510 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
18511 ID3D12Device8 * This);
18512
18513 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
18514 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
18515 ID3D12Device8 * This,
18516 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
18517 REFIID riid,
18518 _COM_Outptr_ void **ppCommandQueue);
18519
18520 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
18521 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
18522 ID3D12Device8 * This,
18523 _In_ D3D12_COMMAND_LIST_TYPE type,
18524 REFIID riid,
18525 _COM_Outptr_ void **ppCommandAllocator);
18526
18527 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
18528 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
18529 ID3D12Device8 * This,
18530 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
18531 REFIID riid,
18532 _COM_Outptr_ void **ppPipelineState);
18533
18534 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
18535 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
18536 ID3D12Device8 * This,
18537 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
18538 REFIID riid,
18539 _COM_Outptr_ void **ppPipelineState);
18540
18541 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
18542 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
18543 ID3D12Device8 * This,
18544 _In_ UINT nodeMask,
18545 _In_ D3D12_COMMAND_LIST_TYPE type,
18546 _In_ ID3D12CommandAllocator *pCommandAllocator,
18547 _In_opt_ ID3D12PipelineState *pInitialState,
18548 REFIID riid,
18549 _COM_Outptr_ void **ppCommandList);
18550
18551 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
18552 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
18553 ID3D12Device8 * This,
18554 D3D12_FEATURE Feature,
18555 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
18556 UINT FeatureSupportDataSize);
18557
18558 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
18559 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
18560 ID3D12Device8 * This,
18561 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
18562 REFIID riid,
18563 _COM_Outptr_ void **ppvHeap);
18564
18565 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
18566 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
18567 ID3D12Device8 * This,
18568 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
18569
18570 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
18571 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
18572 ID3D12Device8 * This,
18573 _In_ UINT nodeMask,
18574 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
18575 _In_ SIZE_T blobLengthInBytes,
18576 REFIID riid,
18577 _COM_Outptr_ void **ppvRootSignature);
18578
18579 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
18580 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
18581 ID3D12Device8 * This,
18582 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
18583 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
18584
18585 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
18586 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
18587 ID3D12Device8 * This,
18588 _In_opt_ ID3D12Resource *pResource,
18589 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
18590 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
18591
18592 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
18593 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
18594 ID3D12Device8 * This,
18595 _In_opt_ ID3D12Resource *pResource,
18596 _In_opt_ ID3D12Resource *pCounterResource,
18597 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
18598 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
18599
18600 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
18601 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
18602 ID3D12Device8 * This,
18603 _In_opt_ ID3D12Resource *pResource,
18604 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
18605 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
18606
18607 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
18608 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
18609 ID3D12Device8 * This,
18610 _In_opt_ ID3D12Resource *pResource,
18611 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
18612 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
18613
18614 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
18615 void ( STDMETHODCALLTYPE *CreateSampler )(
18616 ID3D12Device8 * This,
18617 _In_ const D3D12_SAMPLER_DESC *pDesc,
18618 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
18619
18620 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
18621 void ( STDMETHODCALLTYPE *CopyDescriptors )(
18622 ID3D12Device8 * This,
18623 _In_ UINT NumDestDescriptorRanges,
18624 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
18625 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
18626 _In_ UINT NumSrcDescriptorRanges,
18627 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
18628 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
18629 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
18630
18631 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
18632 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
18633 ID3D12Device8 * This,
18634 _In_ UINT NumDescriptors,
18635 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
18636 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
18637 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
18638
18639 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
18640#if !defined(_WIN32)
18641 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
18642 ID3D12Device8 * This,
18643 _In_ UINT visibleMask,
18644 _In_ UINT numResourceDescs,
18645 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
18646
18647#else
18648 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
18649 ID3D12Device8 * This,
18650 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
18651 _In_ UINT visibleMask,
18652 _In_ UINT numResourceDescs,
18653 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
18654
18655#endif
18656
18657 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
18658#if !defined(_WIN32)
18659 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
18660 ID3D12Device8 * This,
18661 _In_ UINT nodeMask,
18662 D3D12_HEAP_TYPE heapType);
18663
18664#else
18665 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
18666 ID3D12Device8 * This,
18667 D3D12_HEAP_PROPERTIES * RetVal,
18668 _In_ UINT nodeMask,
18669 D3D12_HEAP_TYPE heapType);
18670
18671#endif
18672
18673 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
18674 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
18675 ID3D12Device8 * This,
18676 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
18677 D3D12_HEAP_FLAGS HeapFlags,
18678 _In_ const D3D12_RESOURCE_DESC *pDesc,
18679 D3D12_RESOURCE_STATES InitialResourceState,
18680 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
18681 REFIID riidResource,
18682 _COM_Outptr_opt_ void **ppvResource);
18683
18684 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
18685 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
18686 ID3D12Device8 * This,
18687 _In_ const D3D12_HEAP_DESC *pDesc,
18688 REFIID riid,
18689 _COM_Outptr_opt_ void **ppvHeap);
18690
18691 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
18692 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
18693 ID3D12Device8 * This,
18694 _In_ ID3D12Heap *pHeap,
18695 UINT64 HeapOffset,
18696 _In_ const D3D12_RESOURCE_DESC *pDesc,
18697 D3D12_RESOURCE_STATES InitialState,
18698 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
18699 REFIID riid,
18700 _COM_Outptr_opt_ void **ppvResource);
18701
18702 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
18703 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
18704 ID3D12Device8 * This,
18705 _In_ const D3D12_RESOURCE_DESC *pDesc,
18706 D3D12_RESOURCE_STATES InitialState,
18707 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
18708 REFIID riid,
18709 _COM_Outptr_opt_ void **ppvResource);
18710
18711 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
18712 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
18713 ID3D12Device8 * This,
18714 _In_ ID3D12DeviceChild *pObject,
18715 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
18716 DWORD Access,
18717 _In_opt_ LPCWSTR Name,
18718 _Out_ HANDLE *pHandle);
18719
18720 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
18721 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
18722 ID3D12Device8 * This,
18723 _In_ HANDLE NTHandle,
18724 REFIID riid,
18725 _COM_Outptr_opt_ void **ppvObj);
18726
18727 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
18728 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
18729 ID3D12Device8 * This,
18730 _In_ LPCWSTR Name,
18731 DWORD Access,
18732 /* [annotation][out] */
18733 _Out_ HANDLE *pNTHandle);
18734
18735 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
18736 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
18737 ID3D12Device8 * This,
18738 UINT NumObjects,
18739 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
18740
18741 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
18742 HRESULT ( STDMETHODCALLTYPE *Evict )(
18743 ID3D12Device8 * This,
18744 UINT NumObjects,
18745 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
18746
18747 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
18748 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
18749 ID3D12Device8 * This,
18750 UINT64 InitialValue,
18751 D3D12_FENCE_FLAGS Flags,
18752 REFIID riid,
18753 _COM_Outptr_ void **ppFence);
18754
18755 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
18756 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
18757 ID3D12Device8 * This);
18758
18759 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
18760 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
18761 ID3D12Device8 * This,
18762 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
18763 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
18764 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
18765 UINT64 BaseOffset,
18766 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
18767 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
18768 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
18769 _Out_opt_ UINT64 *pTotalBytes);
18770
18771 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
18772 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
18773 ID3D12Device8 * This,
18774 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
18775 REFIID riid,
18776 _COM_Outptr_opt_ void **ppvHeap);
18777
18778 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
18779 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
18780 ID3D12Device8 * This,
18781 BOOL Enable);
18782
18783 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
18784 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
18785 ID3D12Device8 * This,
18786 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
18787 _In_opt_ ID3D12RootSignature *pRootSignature,
18788 REFIID riid,
18789 _COM_Outptr_opt_ void **ppvCommandSignature);
18790
18791 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
18792 void ( STDMETHODCALLTYPE *GetResourceTiling )(
18793 ID3D12Device8 * This,
18794 _In_ ID3D12Resource *pTiledResource,
18795 _Out_opt_ UINT *pNumTilesForEntireResource,
18796 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
18797 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
18798 _Inout_opt_ UINT *pNumSubresourceTilings,
18799 _In_ UINT FirstSubresourceTilingToGet,
18800 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
18801
18802 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
18803#if !defined(_WIN32)
18804 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
18805 ID3D12Device8 * This);
18806
18807#else
18808 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
18809 ID3D12Device8 * This,
18810 LUID * RetVal);
18811
18812#endif
18813
18814 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
18815 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
18816 ID3D12Device8 * This,
18817 _In_reads_(BlobLength) const void *pLibraryBlob,
18818 SIZE_T BlobLength,
18819 REFIID riid,
18820 _COM_Outptr_ void **ppPipelineLibrary);
18821
18822 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
18823 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
18824 ID3D12Device8 * This,
18825 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
18826 _In_reads_(NumFences) const UINT64 *pFenceValues,
18827 UINT NumFences,
18828 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
18829 HANDLE hEvent);
18830
18831 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
18832 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
18833 ID3D12Device8 * This,
18834 UINT NumObjects,
18835 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
18836 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
18837
18838 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
18839 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
18840 ID3D12Device8 * This,
18841 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
18842 REFIID riid,
18843 _COM_Outptr_ void **ppPipelineState);
18844
18845 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
18846 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
18847 ID3D12Device8 * This,
18848 _In_ const void *pAddress,
18849 REFIID riid,
18850 _COM_Outptr_ void **ppvHeap);
18851
18852 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
18853 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
18854 ID3D12Device8 * This,
18855 _In_ HANDLE hFileMapping,
18856 REFIID riid,
18857 _COM_Outptr_ void **ppvHeap);
18858
18859 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
18860 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
18861 ID3D12Device8 * This,
18862 D3D12_RESIDENCY_FLAGS Flags,
18863 UINT NumObjects,
18864 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
18865 _In_ ID3D12Fence *pFenceToSignal,
18866 UINT64 FenceValueToSignal);
18867
18868 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
18869 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
18870 ID3D12Device8 * This,
18871 _In_ UINT nodeMask,
18872 _In_ D3D12_COMMAND_LIST_TYPE type,
18873 _In_ D3D12_COMMAND_LIST_FLAGS flags,
18874 REFIID riid,
18875 _COM_Outptr_ void **ppCommandList);
18876
18877 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
18878 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
18879 ID3D12Device8 * This,
18880 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
18881 _In_ REFIID riid,
18882 _COM_Outptr_ void **ppSession);
18883
18884 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
18885 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
18886 ID3D12Device8 * This,
18887 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
18888 D3D12_HEAP_FLAGS HeapFlags,
18889 _In_ const D3D12_RESOURCE_DESC *pDesc,
18890 D3D12_RESOURCE_STATES InitialResourceState,
18891 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
18892 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
18893 REFIID riidResource,
18894 _COM_Outptr_opt_ void **ppvResource);
18895
18896 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
18897 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
18898 ID3D12Device8 * This,
18899 _In_ const D3D12_HEAP_DESC *pDesc,
18900 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
18901 REFIID riid,
18902 _COM_Outptr_opt_ void **ppvHeap);
18903
18904 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
18905 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
18906 ID3D12Device8 * This,
18907 _In_ const D3D12_RESOURCE_DESC *pDesc,
18908 D3D12_RESOURCE_STATES InitialState,
18909 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
18910 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
18911 REFIID riid,
18912 _COM_Outptr_opt_ void **ppvResource);
18913
18914 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
18915#if !defined(_WIN32)
18916 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
18917 ID3D12Device8 * This,
18918 UINT visibleMask,
18919 UINT numResourceDescs,
18920 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
18921 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
18922
18923#else
18924 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
18925 ID3D12Device8 * This,
18926 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
18927 UINT visibleMask,
18928 UINT numResourceDescs,
18929 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
18930 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
18931
18932#endif
18933
18934 DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
18935 HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
18936 ID3D12Device8 * This,
18937 _In_ ID3D12LifetimeOwner *pOwner,
18938 REFIID riid,
18939 _COM_Outptr_ void **ppvTracker);
18940
18941 DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
18942 void ( STDMETHODCALLTYPE *RemoveDevice )(
18943 ID3D12Device8 * This);
18944
18945 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
18946 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
18947 ID3D12Device8 * This,
18948 _Inout_ UINT *pNumMetaCommands,
18949 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
18950
18951 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
18952 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
18953 ID3D12Device8 * This,
18954 _In_ REFGUID CommandId,
18955 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
18956 _Out_opt_ UINT *pTotalStructureSizeInBytes,
18957 _Inout_ UINT *pParameterCount,
18958 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
18959
18960 DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
18961 HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
18962 ID3D12Device8 * This,
18963 _In_ REFGUID CommandId,
18964 _In_ UINT NodeMask,
18965 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
18966 _In_ SIZE_T CreationParametersDataSizeInBytes,
18967 REFIID riid,
18968 _COM_Outptr_ void **ppMetaCommand);
18969
18970 DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
18971 HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
18972 ID3D12Device8 * This,
18973 const D3D12_STATE_OBJECT_DESC *pDesc,
18974 REFIID riid,
18975 _COM_Outptr_ void **ppStateObject);
18976
18977 DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
18978 void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
18979 ID3D12Device8 * This,
18980 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
18981 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
18982
18983 DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
18984 D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
18985 ID3D12Device8 * This,
18986 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
18987 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
18988
18989 DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
18990 HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
18991 ID3D12Device8 * This,
18992 D3D12_BACKGROUND_PROCESSING_MODE Mode,
18993 D3D12_MEASUREMENTS_ACTION MeasurementsAction,
18994 _In_opt_ HANDLE hEventToSignalUponCompletion,
18995 _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
18996
18997 DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
18998 HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
18999 ID3D12Device8 * This,
19000 const D3D12_STATE_OBJECT_DESC *pAddition,
19001 ID3D12StateObject *pStateObjectToGrowFrom,
19002 REFIID riid,
19003 _COM_Outptr_ void **ppNewStateObject);
19004
19005 DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
19006 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
19007 ID3D12Device8 * This,
19008 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
19009 _In_ REFIID riid,
19010 _COM_Outptr_ void **ppSession);
19011
19012 DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
19013#if !defined(_WIN32)
19014 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
19015 ID3D12Device8 * This,
19016 UINT visibleMask,
19017 UINT numResourceDescs,
19018 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
19019 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
19020
19021#else
19022 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
19023 ID3D12Device8 * This,
19024 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
19025 UINT visibleMask,
19026 UINT numResourceDescs,
19027 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
19028 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
19029
19030#endif
19031
19032 DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
19033 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
19034 ID3D12Device8 * This,
19035 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
19036 D3D12_HEAP_FLAGS HeapFlags,
19037 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
19038 D3D12_RESOURCE_STATES InitialResourceState,
19039 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
19040 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
19041 REFIID riidResource,
19042 _COM_Outptr_opt_ void **ppvResource);
19043
19044 DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
19045 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
19046 ID3D12Device8 * This,
19047 _In_ ID3D12Heap *pHeap,
19048 UINT64 HeapOffset,
19049 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
19050 D3D12_RESOURCE_STATES InitialState,
19051 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
19052 REFIID riid,
19053 _COM_Outptr_opt_ void **ppvResource);
19054
19055 DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
19056 void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
19057 ID3D12Device8 * This,
19058 _In_opt_ ID3D12Resource *pTargetedResource,
19059 _In_opt_ ID3D12Resource *pFeedbackResource,
19060 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
19061
19062 DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
19063 void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
19064 ID3D12Device8 * This,
19065 _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
19066 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
19067 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
19068 UINT64 BaseOffset,
19069 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
19070 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
19071 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
19072 _Out_opt_ UINT64 *pTotalBytes);
19073
19074 END_INTERFACE
19075 } ID3D12Device8Vtbl;
19076
19077 interface ID3D12Device8
19078 {
19079 CONST_VTBL struct ID3D12Device8Vtbl *lpVtbl;
19080 };
19081
19082
19083
19084#ifdef COBJMACROS
19085
19086
19087#define ID3D12Device8_QueryInterface(This,riid,ppvObject) \
19088 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
19089
19090#define ID3D12Device8_AddRef(This) \
19091 ( (This)->lpVtbl -> AddRef(This) )
19092
19093#define ID3D12Device8_Release(This) \
19094 ( (This)->lpVtbl -> Release(This) )
19095
19096
19097#define ID3D12Device8_GetPrivateData(This,guid,pDataSize,pData) \
19098 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
19099
19100#define ID3D12Device8_SetPrivateData(This,guid,DataSize,pData) \
19101 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
19102
19103#define ID3D12Device8_SetPrivateDataInterface(This,guid,pData) \
19104 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
19105
19106#define ID3D12Device8_SetName(This,Name) \
19107 ( (This)->lpVtbl -> SetName(This,Name) )
19108
19109
19110#define ID3D12Device8_GetNodeCount(This) \
19111 ( (This)->lpVtbl -> GetNodeCount(This) )
19112
19113#define ID3D12Device8_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
19114 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
19115
19116#define ID3D12Device8_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
19117 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
19118
19119#define ID3D12Device8_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
19120 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
19121
19122#define ID3D12Device8_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
19123 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
19124
19125#define ID3D12Device8_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
19126 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
19127
19128#define ID3D12Device8_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
19129 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
19130
19131#define ID3D12Device8_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
19132 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
19133
19134#define ID3D12Device8_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
19135 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
19136
19137#define ID3D12Device8_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
19138 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
19139
19140#define ID3D12Device8_CreateConstantBufferView(This,pDesc,DestDescriptor) \
19141 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
19142
19143#define ID3D12Device8_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
19144 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
19145
19146#define ID3D12Device8_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
19147 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
19148
19149#define ID3D12Device8_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
19150 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
19151
19152#define ID3D12Device8_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
19153 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
19154
19155#define ID3D12Device8_CreateSampler(This,pDesc,DestDescriptor) \
19156 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
19157
19158#define ID3D12Device8_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
19159 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
19160
19161#define ID3D12Device8_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
19162 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
19163#if !defined(_WIN32)
19164
19165#define ID3D12Device8_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
19166 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
19167#else
19168#define ID3D12Device8_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
19169 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
19170#endif
19171#if !defined(_WIN32)
19172
19173#define ID3D12Device8_GetCustomHeapProperties(This,nodeMask,heapType) \
19174 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
19175#else
19176#define ID3D12Device8_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
19177 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
19178#endif
19179
19180#define ID3D12Device8_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
19181 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
19182
19183#define ID3D12Device8_CreateHeap(This,pDesc,riid,ppvHeap) \
19184 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
19185
19186#define ID3D12Device8_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
19187 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
19188
19189#define ID3D12Device8_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
19190 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
19191
19192#define ID3D12Device8_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
19193 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
19194
19195#define ID3D12Device8_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
19196 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
19197
19198#define ID3D12Device8_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
19199 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
19200
19201#define ID3D12Device8_MakeResident(This,NumObjects,ppObjects) \
19202 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
19203
19204#define ID3D12Device8_Evict(This,NumObjects,ppObjects) \
19205 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
19206
19207#define ID3D12Device8_CreateFence(This,InitialValue,Flags,riid,ppFence) \
19208 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
19209
19210#define ID3D12Device8_GetDeviceRemovedReason(This) \
19211 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
19212
19213#define ID3D12Device8_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
19214 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
19215
19216#define ID3D12Device8_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
19217 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
19218
19219#define ID3D12Device8_SetStablePowerState(This,Enable) \
19220 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
19221
19222#define ID3D12Device8_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
19223 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
19224
19225#define ID3D12Device8_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
19226 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
19227#if !defined(_WIN32)
19228
19229#define ID3D12Device8_GetAdapterLuid(This) \
19230 ( (This)->lpVtbl -> GetAdapterLuid(This) )
19231#else
19232#define ID3D12Device8_GetAdapterLuid(This,RetVal) \
19233 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
19234#endif
19235
19236
19237#define ID3D12Device8_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
19238 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
19239
19240#define ID3D12Device8_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
19241 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
19242
19243#define ID3D12Device8_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
19244 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
19245
19246
19247#define ID3D12Device8_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
19248 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
19249
19250
19251#define ID3D12Device8_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
19252 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
19253
19254#define ID3D12Device8_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
19255 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
19256
19257#define ID3D12Device8_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
19258 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
19259
19260
19261#define ID3D12Device8_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
19262 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
19263
19264#define ID3D12Device8_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
19265 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
19266
19267#define ID3D12Device8_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
19268 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
19269
19270#define ID3D12Device8_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
19271 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
19272
19273#define ID3D12Device8_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
19274 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
19275#if !defined(_WIN32)
19276
19277#define ID3D12Device8_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
19278 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
19279#else
19280#define ID3D12Device8_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
19281 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
19282#endif
19283
19284
19285#define ID3D12Device8_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
19286 ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
19287
19288#define ID3D12Device8_RemoveDevice(This) \
19289 ( (This)->lpVtbl -> RemoveDevice(This) )
19290
19291#define ID3D12Device8_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
19292 ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
19293
19294#define ID3D12Device8_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
19295 ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
19296
19297#define ID3D12Device8_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
19298 ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
19299
19300#define ID3D12Device8_CreateStateObject(This,pDesc,riid,ppStateObject) \
19301 ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
19302
19303#define ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
19304 ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
19305
19306#define ID3D12Device8_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
19307 ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
19308
19309
19310#define ID3D12Device8_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
19311 ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
19312
19313
19314#define ID3D12Device8_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
19315 ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
19316
19317#define ID3D12Device8_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
19318 ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
19319
19320#if !defined(_WIN32)
19321
19322#define ID3D12Device8_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
19323 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
19324#else
19325#define ID3D12Device8_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
19326 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
19327#endif
19328
19329#define ID3D12Device8_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
19330 ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
19331
19332#define ID3D12Device8_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
19333 ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
19334
19335#define ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
19336 ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
19337
19338#define ID3D12Device8_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
19339 ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
19340
19341#endif /* COBJMACROS */
19342
19343
19344#endif /* C style interface */
19345
19346
19347
19348
19349#endif /* __ID3D12Device8_INTERFACE_DEFINED__ */
19350
19351
19352#ifndef __ID3D12Resource1_INTERFACE_DEFINED__
19353#define __ID3D12Resource1_INTERFACE_DEFINED__
19354
19355/* interface ID3D12Resource1 */
19356/* [unique][local][object][uuid] */
19357
19358
19359EXTERN_C const IID IID_ID3D12Resource1;
19360
19361#if defined(__cplusplus) && !defined(CINTERFACE)
19362
19363 MIDL_INTERFACE("9D5E227A-4430-4161-88B3-3ECA6BB16E19")
19364 ID3D12Resource1 : public ID3D12Resource
19365 {
19366 public:
19367 virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
19368 REFIID riid,
19369 _COM_Outptr_opt_ void **ppProtectedSession) = 0;
19370
19371 };
19372
19373
19374#else /* C style interface */
19375
19376 typedef struct ID3D12Resource1Vtbl
19377 {
19378 BEGIN_INTERFACE
19379
19380 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
19381 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
19382 ID3D12Resource1 * This,
19383 REFIID riid,
19384 _COM_Outptr_ void **ppvObject);
19385
19386 DECLSPEC_XFGVIRT(IUnknown, AddRef)
19387 ULONG ( STDMETHODCALLTYPE *AddRef )(
19388 ID3D12Resource1 * This);
19389
19390 DECLSPEC_XFGVIRT(IUnknown, Release)
19391 ULONG ( STDMETHODCALLTYPE *Release )(
19392 ID3D12Resource1 * This);
19393
19394 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
19395 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
19396 ID3D12Resource1 * This,
19397 _In_ REFGUID guid,
19398 _Inout_ UINT *pDataSize,
19399 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
19400
19401 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
19402 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
19403 ID3D12Resource1 * This,
19404 _In_ REFGUID guid,
19405 _In_ UINT DataSize,
19406 _In_reads_bytes_opt_( DataSize ) const void *pData);
19407
19408 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
19409 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
19410 ID3D12Resource1 * This,
19411 _In_ REFGUID guid,
19412 _In_opt_ const IUnknown *pData);
19413
19414 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
19415 HRESULT ( STDMETHODCALLTYPE *SetName )(
19416 ID3D12Resource1 * This,
19417 _In_z_ LPCWSTR Name);
19418
19419 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
19420 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
19421 ID3D12Resource1 * This,
19422 REFIID riid,
19423 _COM_Outptr_opt_ void **ppvDevice);
19424
19425 DECLSPEC_XFGVIRT(ID3D12Resource, Map)
19426 HRESULT ( STDMETHODCALLTYPE *Map )(
19427 ID3D12Resource1 * This,
19428 UINT Subresource,
19429 _In_opt_ const D3D12_RANGE *pReadRange,
19430 _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
19431
19432 DECLSPEC_XFGVIRT(ID3D12Resource, Unmap)
19433 void ( STDMETHODCALLTYPE *Unmap )(
19434 ID3D12Resource1 * This,
19435 UINT Subresource,
19436 _In_opt_ const D3D12_RANGE *pWrittenRange);
19437
19438 DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc)
19439#if !defined(_WIN32)
19440 D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
19441 ID3D12Resource1 * This);
19442
19443#else
19444 D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )(
19445 ID3D12Resource1 * This,
19446 D3D12_RESOURCE_DESC * RetVal);
19447
19448#endif
19449
19450 DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress)
19451 D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
19452 ID3D12Resource1 * This);
19453
19454 DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource)
19455 HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
19456 ID3D12Resource1 * This,
19457 UINT DstSubresource,
19458 _In_opt_ const D3D12_BOX *pDstBox,
19459 _In_ const void *pSrcData,
19460 UINT SrcRowPitch,
19461 UINT SrcDepthPitch);
19462
19463 DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource)
19464 HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
19465 ID3D12Resource1 * This,
19466 _Out_ void *pDstData,
19467 UINT DstRowPitch,
19468 UINT DstDepthPitch,
19469 UINT SrcSubresource,
19470 _In_opt_ const D3D12_BOX *pSrcBox);
19471
19472 DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties)
19473 HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
19474 ID3D12Resource1 * This,
19475 _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
19476 _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
19477
19478 DECLSPEC_XFGVIRT(ID3D12Resource1, GetProtectedResourceSession)
19479 HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
19480 ID3D12Resource1 * This,
19481 REFIID riid,
19482 _COM_Outptr_opt_ void **ppProtectedSession);
19483
19484 END_INTERFACE
19485 } ID3D12Resource1Vtbl;
19486
19487 interface ID3D12Resource1
19488 {
19489 CONST_VTBL struct ID3D12Resource1Vtbl *lpVtbl;
19490 };
19491
19492
19493
19494#ifdef COBJMACROS
19495
19496
19497#define ID3D12Resource1_QueryInterface(This,riid,ppvObject) \
19498 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
19499
19500#define ID3D12Resource1_AddRef(This) \
19501 ( (This)->lpVtbl -> AddRef(This) )
19502
19503#define ID3D12Resource1_Release(This) \
19504 ( (This)->lpVtbl -> Release(This) )
19505
19506
19507#define ID3D12Resource1_GetPrivateData(This,guid,pDataSize,pData) \
19508 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
19509
19510#define ID3D12Resource1_SetPrivateData(This,guid,DataSize,pData) \
19511 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
19512
19513#define ID3D12Resource1_SetPrivateDataInterface(This,guid,pData) \
19514 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
19515
19516#define ID3D12Resource1_SetName(This,Name) \
19517 ( (This)->lpVtbl -> SetName(This,Name) )
19518
19519
19520#define ID3D12Resource1_GetDevice(This,riid,ppvDevice) \
19521 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
19522
19523
19524
19525#define ID3D12Resource1_Map(This,Subresource,pReadRange,ppData) \
19526 ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
19527
19528#define ID3D12Resource1_Unmap(This,Subresource,pWrittenRange) \
19529 ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
19530#if !defined(_WIN32)
19531
19532#define ID3D12Resource1_GetDesc(This) \
19533 ( (This)->lpVtbl -> GetDesc(This) )
19534#else
19535#define ID3D12Resource1_GetDesc(This,RetVal) \
19536 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
19537#endif
19538
19539#define ID3D12Resource1_GetGPUVirtualAddress(This) \
19540 ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
19541
19542#define ID3D12Resource1_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
19543 ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
19544
19545#define ID3D12Resource1_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
19546 ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
19547
19548#define ID3D12Resource1_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
19549 ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
19550
19551
19552#define ID3D12Resource1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
19553 ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
19554
19555#endif /* COBJMACROS */
19556
19557
19558#endif /* C style interface */
19559
19560
19561
19562
19563#endif /* __ID3D12Resource1_INTERFACE_DEFINED__ */
19564
19565
19566#ifndef __ID3D12Resource2_INTERFACE_DEFINED__
19567#define __ID3D12Resource2_INTERFACE_DEFINED__
19568
19569/* interface ID3D12Resource2 */
19570/* [unique][local][object][uuid] */
19571
19572
19573EXTERN_C const IID IID_ID3D12Resource2;
19574
19575#if defined(__cplusplus) && !defined(CINTERFACE)
19576
19577 MIDL_INTERFACE("BE36EC3B-EA85-4AEB-A45A-E9D76404A495")
19578 ID3D12Resource2 : public ID3D12Resource1
19579 {
19580 public:
19581#if defined(_MSC_VER) || !defined(_WIN32)
19582 virtual D3D12_RESOURCE_DESC1 STDMETHODCALLTYPE GetDesc1( void) = 0;
19583#else
19584 virtual D3D12_RESOURCE_DESC1 *STDMETHODCALLTYPE GetDesc1(
19585 D3D12_RESOURCE_DESC1 * RetVal) = 0;
19586#endif
19587
19588 };
19589
19590
19591#else /* C style interface */
19592
19593 typedef struct ID3D12Resource2Vtbl
19594 {
19595 BEGIN_INTERFACE
19596
19597 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
19598 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
19599 ID3D12Resource2 * This,
19600 REFIID riid,
19601 _COM_Outptr_ void **ppvObject);
19602
19603 DECLSPEC_XFGVIRT(IUnknown, AddRef)
19604 ULONG ( STDMETHODCALLTYPE *AddRef )(
19605 ID3D12Resource2 * This);
19606
19607 DECLSPEC_XFGVIRT(IUnknown, Release)
19608 ULONG ( STDMETHODCALLTYPE *Release )(
19609 ID3D12Resource2 * This);
19610
19611 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
19612 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
19613 ID3D12Resource2 * This,
19614 _In_ REFGUID guid,
19615 _Inout_ UINT *pDataSize,
19616 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
19617
19618 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
19619 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
19620 ID3D12Resource2 * This,
19621 _In_ REFGUID guid,
19622 _In_ UINT DataSize,
19623 _In_reads_bytes_opt_( DataSize ) const void *pData);
19624
19625 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
19626 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
19627 ID3D12Resource2 * This,
19628 _In_ REFGUID guid,
19629 _In_opt_ const IUnknown *pData);
19630
19631 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
19632 HRESULT ( STDMETHODCALLTYPE *SetName )(
19633 ID3D12Resource2 * This,
19634 _In_z_ LPCWSTR Name);
19635
19636 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
19637 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
19638 ID3D12Resource2 * This,
19639 REFIID riid,
19640 _COM_Outptr_opt_ void **ppvDevice);
19641
19642 DECLSPEC_XFGVIRT(ID3D12Resource, Map)
19643 HRESULT ( STDMETHODCALLTYPE *Map )(
19644 ID3D12Resource2 * This,
19645 UINT Subresource,
19646 _In_opt_ const D3D12_RANGE *pReadRange,
19647 _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
19648
19649 DECLSPEC_XFGVIRT(ID3D12Resource, Unmap)
19650 void ( STDMETHODCALLTYPE *Unmap )(
19651 ID3D12Resource2 * This,
19652 UINT Subresource,
19653 _In_opt_ const D3D12_RANGE *pWrittenRange);
19654
19655 DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc)
19656#if !defined(_WIN32)
19657 D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
19658 ID3D12Resource2 * This);
19659
19660#else
19661 D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )(
19662 ID3D12Resource2 * This,
19663 D3D12_RESOURCE_DESC * RetVal);
19664
19665#endif
19666
19667 DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress)
19668 D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
19669 ID3D12Resource2 * This);
19670
19671 DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource)
19672 HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
19673 ID3D12Resource2 * This,
19674 UINT DstSubresource,
19675 _In_opt_ const D3D12_BOX *pDstBox,
19676 _In_ const void *pSrcData,
19677 UINT SrcRowPitch,
19678 UINT SrcDepthPitch);
19679
19680 DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource)
19681 HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
19682 ID3D12Resource2 * This,
19683 _Out_ void *pDstData,
19684 UINT DstRowPitch,
19685 UINT DstDepthPitch,
19686 UINT SrcSubresource,
19687 _In_opt_ const D3D12_BOX *pSrcBox);
19688
19689 DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties)
19690 HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
19691 ID3D12Resource2 * This,
19692 _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
19693 _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
19694
19695 DECLSPEC_XFGVIRT(ID3D12Resource1, GetProtectedResourceSession)
19696 HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
19697 ID3D12Resource2 * This,
19698 REFIID riid,
19699 _COM_Outptr_opt_ void **ppProtectedSession);
19700
19701 DECLSPEC_XFGVIRT(ID3D12Resource2, GetDesc1)
19702#if !defined(_WIN32)
19703 D3D12_RESOURCE_DESC1 ( STDMETHODCALLTYPE *GetDesc1 )(
19704 ID3D12Resource2 * This);
19705
19706#else
19707 D3D12_RESOURCE_DESC1 *( STDMETHODCALLTYPE *GetDesc1 )(
19708 ID3D12Resource2 * This,
19709 D3D12_RESOURCE_DESC1 * RetVal);
19710
19711#endif
19712
19713 END_INTERFACE
19714 } ID3D12Resource2Vtbl;
19715
19716 interface ID3D12Resource2
19717 {
19718 CONST_VTBL struct ID3D12Resource2Vtbl *lpVtbl;
19719 };
19720
19721
19722
19723#ifdef COBJMACROS
19724
19725
19726#define ID3D12Resource2_QueryInterface(This,riid,ppvObject) \
19727 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
19728
19729#define ID3D12Resource2_AddRef(This) \
19730 ( (This)->lpVtbl -> AddRef(This) )
19731
19732#define ID3D12Resource2_Release(This) \
19733 ( (This)->lpVtbl -> Release(This) )
19734
19735
19736#define ID3D12Resource2_GetPrivateData(This,guid,pDataSize,pData) \
19737 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
19738
19739#define ID3D12Resource2_SetPrivateData(This,guid,DataSize,pData) \
19740 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
19741
19742#define ID3D12Resource2_SetPrivateDataInterface(This,guid,pData) \
19743 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
19744
19745#define ID3D12Resource2_SetName(This,Name) \
19746 ( (This)->lpVtbl -> SetName(This,Name) )
19747
19748
19749#define ID3D12Resource2_GetDevice(This,riid,ppvDevice) \
19750 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
19751
19752
19753
19754#define ID3D12Resource2_Map(This,Subresource,pReadRange,ppData) \
19755 ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
19756
19757#define ID3D12Resource2_Unmap(This,Subresource,pWrittenRange) \
19758 ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
19759#if !defined(_WIN32)
19760
19761#define ID3D12Resource2_GetDesc(This) \
19762 ( (This)->lpVtbl -> GetDesc(This) )
19763#else
19764#define ID3D12Resource2_GetDesc(This,RetVal) \
19765 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
19766#endif
19767
19768#define ID3D12Resource2_GetGPUVirtualAddress(This) \
19769 ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
19770
19771#define ID3D12Resource2_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
19772 ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
19773
19774#define ID3D12Resource2_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
19775 ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
19776
19777#define ID3D12Resource2_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
19778 ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
19779
19780
19781#define ID3D12Resource2_GetProtectedResourceSession(This,riid,ppProtectedSession) \
19782 ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
19783
19784#if !defined(_WIN32)
19785
19786#define ID3D12Resource2_GetDesc1(This) \
19787 ( (This)->lpVtbl -> GetDesc1(This) )
19788#else
19789#define ID3D12Resource2_GetDesc1(This,RetVal) \
19790 ( (This)->lpVtbl -> GetDesc1(This,RetVal) )
19791#endif
19792
19793#endif /* COBJMACROS */
19794
19795
19796#endif /* C style interface */
19797
19798
19799
19800
19801#endif /* __ID3D12Resource2_INTERFACE_DEFINED__ */
19802
19803
19804#ifndef __ID3D12Heap1_INTERFACE_DEFINED__
19805#define __ID3D12Heap1_INTERFACE_DEFINED__
19806
19807/* interface ID3D12Heap1 */
19808/* [unique][local][object][uuid] */
19809
19810
19811EXTERN_C const IID IID_ID3D12Heap1;
19812
19813#if defined(__cplusplus) && !defined(CINTERFACE)
19814
19815 MIDL_INTERFACE("572F7389-2168-49E3-9693-D6DF5871BF6D")
19816 ID3D12Heap1 : public ID3D12Heap
19817 {
19818 public:
19819 virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
19820 REFIID riid,
19821 _COM_Outptr_opt_ void **ppProtectedSession) = 0;
19822
19823 };
19824
19825
19826#else /* C style interface */
19827
19828 typedef struct ID3D12Heap1Vtbl
19829 {
19830 BEGIN_INTERFACE
19831
19832 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
19833 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
19834 ID3D12Heap1 * This,
19835 REFIID riid,
19836 _COM_Outptr_ void **ppvObject);
19837
19838 DECLSPEC_XFGVIRT(IUnknown, AddRef)
19839 ULONG ( STDMETHODCALLTYPE *AddRef )(
19840 ID3D12Heap1 * This);
19841
19842 DECLSPEC_XFGVIRT(IUnknown, Release)
19843 ULONG ( STDMETHODCALLTYPE *Release )(
19844 ID3D12Heap1 * This);
19845
19846 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
19847 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
19848 ID3D12Heap1 * This,
19849 _In_ REFGUID guid,
19850 _Inout_ UINT *pDataSize,
19851 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
19852
19853 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
19854 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
19855 ID3D12Heap1 * This,
19856 _In_ REFGUID guid,
19857 _In_ UINT DataSize,
19858 _In_reads_bytes_opt_( DataSize ) const void *pData);
19859
19860 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
19861 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
19862 ID3D12Heap1 * This,
19863 _In_ REFGUID guid,
19864 _In_opt_ const IUnknown *pData);
19865
19866 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
19867 HRESULT ( STDMETHODCALLTYPE *SetName )(
19868 ID3D12Heap1 * This,
19869 _In_z_ LPCWSTR Name);
19870
19871 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
19872 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
19873 ID3D12Heap1 * This,
19874 REFIID riid,
19875 _COM_Outptr_opt_ void **ppvDevice);
19876
19877 DECLSPEC_XFGVIRT(ID3D12Heap, GetDesc)
19878#if !defined(_WIN32)
19879 D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
19880 ID3D12Heap1 * This);
19881
19882#else
19883 D3D12_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
19884 ID3D12Heap1 * This,
19885 D3D12_HEAP_DESC * RetVal);
19886
19887#endif
19888
19889 DECLSPEC_XFGVIRT(ID3D12Heap1, GetProtectedResourceSession)
19890 HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
19891 ID3D12Heap1 * This,
19892 REFIID riid,
19893 _COM_Outptr_opt_ void **ppProtectedSession);
19894
19895 END_INTERFACE
19896 } ID3D12Heap1Vtbl;
19897
19898 interface ID3D12Heap1
19899 {
19900 CONST_VTBL struct ID3D12Heap1Vtbl *lpVtbl;
19901 };
19902
19903
19904
19905#ifdef COBJMACROS
19906
19907
19908#define ID3D12Heap1_QueryInterface(This,riid,ppvObject) \
19909 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
19910
19911#define ID3D12Heap1_AddRef(This) \
19912 ( (This)->lpVtbl -> AddRef(This) )
19913
19914#define ID3D12Heap1_Release(This) \
19915 ( (This)->lpVtbl -> Release(This) )
19916
19917
19918#define ID3D12Heap1_GetPrivateData(This,guid,pDataSize,pData) \
19919 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
19920
19921#define ID3D12Heap1_SetPrivateData(This,guid,DataSize,pData) \
19922 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
19923
19924#define ID3D12Heap1_SetPrivateDataInterface(This,guid,pData) \
19925 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
19926
19927#define ID3D12Heap1_SetName(This,Name) \
19928 ( (This)->lpVtbl -> SetName(This,Name) )
19929
19930
19931#define ID3D12Heap1_GetDevice(This,riid,ppvDevice) \
19932 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
19933
19934
19935#if !defined(_WIN32)
19936
19937#define ID3D12Heap1_GetDesc(This) \
19938 ( (This)->lpVtbl -> GetDesc(This) )
19939#else
19940#define ID3D12Heap1_GetDesc(This,RetVal) \
19941 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
19942#endif
19943
19944
19945#define ID3D12Heap1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
19946 ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
19947
19948#endif /* COBJMACROS */
19949
19950
19951#endif /* C style interface */
19952
19953
19954
19955
19956#endif /* __ID3D12Heap1_INTERFACE_DEFINED__ */
19957
19958
19959#ifndef __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__
19960#define __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__
19961
19962/* interface ID3D12GraphicsCommandList3 */
19963/* [unique][local][object][uuid] */
19964
19965
19966EXTERN_C const IID IID_ID3D12GraphicsCommandList3;
19967
19968#if defined(__cplusplus) && !defined(CINTERFACE)
19969
19970 MIDL_INTERFACE("6FDA83A7-B84C-4E38-9AC8-C7BD22016B3D")
19971 ID3D12GraphicsCommandList3 : public ID3D12GraphicsCommandList2
19972 {
19973 public:
19974 virtual void STDMETHODCALLTYPE SetProtectedResourceSession(
19975 _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession) = 0;
19976
19977 };
19978
19979
19980#else /* C style interface */
19981
19982 typedef struct ID3D12GraphicsCommandList3Vtbl
19983 {
19984 BEGIN_INTERFACE
19985
19986 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
19987 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
19988 ID3D12GraphicsCommandList3 * This,
19989 REFIID riid,
19990 _COM_Outptr_ void **ppvObject);
19991
19992 DECLSPEC_XFGVIRT(IUnknown, AddRef)
19993 ULONG ( STDMETHODCALLTYPE *AddRef )(
19994 ID3D12GraphicsCommandList3 * This);
19995
19996 DECLSPEC_XFGVIRT(IUnknown, Release)
19997 ULONG ( STDMETHODCALLTYPE *Release )(
19998 ID3D12GraphicsCommandList3 * This);
19999
20000 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
20001 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
20002 ID3D12GraphicsCommandList3 * This,
20003 _In_ REFGUID guid,
20004 _Inout_ UINT *pDataSize,
20005 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
20006
20007 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
20008 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
20009 ID3D12GraphicsCommandList3 * This,
20010 _In_ REFGUID guid,
20011 _In_ UINT DataSize,
20012 _In_reads_bytes_opt_( DataSize ) const void *pData);
20013
20014 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
20015 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
20016 ID3D12GraphicsCommandList3 * This,
20017 _In_ REFGUID guid,
20018 _In_opt_ const IUnknown *pData);
20019
20020 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
20021 HRESULT ( STDMETHODCALLTYPE *SetName )(
20022 ID3D12GraphicsCommandList3 * This,
20023 _In_z_ LPCWSTR Name);
20024
20025 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
20026 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
20027 ID3D12GraphicsCommandList3 * This,
20028 REFIID riid,
20029 _COM_Outptr_opt_ void **ppvDevice);
20030
20031 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
20032 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
20033 ID3D12GraphicsCommandList3 * This);
20034
20035 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
20036 HRESULT ( STDMETHODCALLTYPE *Close )(
20037 ID3D12GraphicsCommandList3 * This);
20038
20039 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
20040 HRESULT ( STDMETHODCALLTYPE *Reset )(
20041 ID3D12GraphicsCommandList3 * This,
20042 _In_ ID3D12CommandAllocator *pAllocator,
20043 _In_opt_ ID3D12PipelineState *pInitialState);
20044
20045 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
20046 void ( STDMETHODCALLTYPE *ClearState )(
20047 ID3D12GraphicsCommandList3 * This,
20048 _In_opt_ ID3D12PipelineState *pPipelineState);
20049
20050 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
20051 void ( STDMETHODCALLTYPE *DrawInstanced )(
20052 ID3D12GraphicsCommandList3 * This,
20053 _In_ UINT VertexCountPerInstance,
20054 _In_ UINT InstanceCount,
20055 _In_ UINT StartVertexLocation,
20056 _In_ UINT StartInstanceLocation);
20057
20058 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
20059 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
20060 ID3D12GraphicsCommandList3 * This,
20061 _In_ UINT IndexCountPerInstance,
20062 _In_ UINT InstanceCount,
20063 _In_ UINT StartIndexLocation,
20064 _In_ INT BaseVertexLocation,
20065 _In_ UINT StartInstanceLocation);
20066
20067 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
20068 void ( STDMETHODCALLTYPE *Dispatch )(
20069 ID3D12GraphicsCommandList3 * This,
20070 _In_ UINT ThreadGroupCountX,
20071 _In_ UINT ThreadGroupCountY,
20072 _In_ UINT ThreadGroupCountZ);
20073
20074 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
20075 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
20076 ID3D12GraphicsCommandList3 * This,
20077 _In_ ID3D12Resource *pDstBuffer,
20078 UINT64 DstOffset,
20079 _In_ ID3D12Resource *pSrcBuffer,
20080 UINT64 SrcOffset,
20081 UINT64 NumBytes);
20082
20083 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
20084 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
20085 ID3D12GraphicsCommandList3 * This,
20086 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
20087 UINT DstX,
20088 UINT DstY,
20089 UINT DstZ,
20090 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
20091 _In_opt_ const D3D12_BOX *pSrcBox);
20092
20093 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
20094 void ( STDMETHODCALLTYPE *CopyResource )(
20095 ID3D12GraphicsCommandList3 * This,
20096 _In_ ID3D12Resource *pDstResource,
20097 _In_ ID3D12Resource *pSrcResource);
20098
20099 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
20100 void ( STDMETHODCALLTYPE *CopyTiles )(
20101 ID3D12GraphicsCommandList3 * This,
20102 _In_ ID3D12Resource *pTiledResource,
20103 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
20104 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
20105 _In_ ID3D12Resource *pBuffer,
20106 UINT64 BufferStartOffsetInBytes,
20107 D3D12_TILE_COPY_FLAGS Flags);
20108
20109 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
20110 void ( STDMETHODCALLTYPE *ResolveSubresource )(
20111 ID3D12GraphicsCommandList3 * This,
20112 _In_ ID3D12Resource *pDstResource,
20113 _In_ UINT DstSubresource,
20114 _In_ ID3D12Resource *pSrcResource,
20115 _In_ UINT SrcSubresource,
20116 _In_ DXGI_FORMAT Format);
20117
20118 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
20119 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
20120 ID3D12GraphicsCommandList3 * This,
20121 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
20122
20123 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
20124 void ( STDMETHODCALLTYPE *RSSetViewports )(
20125 ID3D12GraphicsCommandList3 * This,
20126 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
20127 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
20128
20129 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
20130 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
20131 ID3D12GraphicsCommandList3 * This,
20132 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
20133 _In_reads_( NumRects) const D3D12_RECT *pRects);
20134
20135 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
20136 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
20137 ID3D12GraphicsCommandList3 * This,
20138 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
20139
20140 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
20141 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
20142 ID3D12GraphicsCommandList3 * This,
20143 _In_ UINT StencilRef);
20144
20145 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
20146 void ( STDMETHODCALLTYPE *SetPipelineState )(
20147 ID3D12GraphicsCommandList3 * This,
20148 _In_ ID3D12PipelineState *pPipelineState);
20149
20150 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
20151 void ( STDMETHODCALLTYPE *ResourceBarrier )(
20152 ID3D12GraphicsCommandList3 * This,
20153 _In_ UINT NumBarriers,
20154 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
20155
20156 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
20157 void ( STDMETHODCALLTYPE *ExecuteBundle )(
20158 ID3D12GraphicsCommandList3 * This,
20159 _In_ ID3D12GraphicsCommandList *pCommandList);
20160
20161 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
20162 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
20163 ID3D12GraphicsCommandList3 * This,
20164 _In_ UINT NumDescriptorHeaps,
20165 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
20166
20167 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
20168 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
20169 ID3D12GraphicsCommandList3 * This,
20170 _In_opt_ ID3D12RootSignature *pRootSignature);
20171
20172 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
20173 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
20174 ID3D12GraphicsCommandList3 * This,
20175 _In_opt_ ID3D12RootSignature *pRootSignature);
20176
20177 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
20178 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
20179 ID3D12GraphicsCommandList3 * This,
20180 _In_ UINT RootParameterIndex,
20181 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
20182
20183 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
20184 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
20185 ID3D12GraphicsCommandList3 * This,
20186 _In_ UINT RootParameterIndex,
20187 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
20188
20189 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
20190 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
20191 ID3D12GraphicsCommandList3 * This,
20192 _In_ UINT RootParameterIndex,
20193 _In_ UINT SrcData,
20194 _In_ UINT DestOffsetIn32BitValues);
20195
20196 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
20197 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
20198 ID3D12GraphicsCommandList3 * This,
20199 _In_ UINT RootParameterIndex,
20200 _In_ UINT SrcData,
20201 _In_ UINT DestOffsetIn32BitValues);
20202
20203 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
20204 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
20205 ID3D12GraphicsCommandList3 * This,
20206 _In_ UINT RootParameterIndex,
20207 _In_ UINT Num32BitValuesToSet,
20208 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
20209 _In_ UINT DestOffsetIn32BitValues);
20210
20211 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
20212 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
20213 ID3D12GraphicsCommandList3 * This,
20214 _In_ UINT RootParameterIndex,
20215 _In_ UINT Num32BitValuesToSet,
20216 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
20217 _In_ UINT DestOffsetIn32BitValues);
20218
20219 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
20220 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
20221 ID3D12GraphicsCommandList3 * This,
20222 _In_ UINT RootParameterIndex,
20223 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
20224
20225 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
20226 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
20227 ID3D12GraphicsCommandList3 * This,
20228 _In_ UINT RootParameterIndex,
20229 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
20230
20231 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
20232 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
20233 ID3D12GraphicsCommandList3 * This,
20234 _In_ UINT RootParameterIndex,
20235 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
20236
20237 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
20238 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
20239 ID3D12GraphicsCommandList3 * This,
20240 _In_ UINT RootParameterIndex,
20241 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
20242
20243 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
20244 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
20245 ID3D12GraphicsCommandList3 * This,
20246 _In_ UINT RootParameterIndex,
20247 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
20248
20249 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
20250 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
20251 ID3D12GraphicsCommandList3 * This,
20252 _In_ UINT RootParameterIndex,
20253 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
20254
20255 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
20256 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
20257 ID3D12GraphicsCommandList3 * This,
20258 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
20259
20260 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
20261 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
20262 ID3D12GraphicsCommandList3 * This,
20263 _In_ UINT StartSlot,
20264 _In_ UINT NumViews,
20265 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
20266
20267 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
20268 void ( STDMETHODCALLTYPE *SOSetTargets )(
20269 ID3D12GraphicsCommandList3 * This,
20270 _In_ UINT StartSlot,
20271 _In_ UINT NumViews,
20272 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
20273
20274 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
20275 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
20276 ID3D12GraphicsCommandList3 * This,
20277 _In_ UINT NumRenderTargetDescriptors,
20278 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
20279 _In_ BOOL RTsSingleHandleToDescriptorRange,
20280 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
20281
20282 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
20283 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
20284 ID3D12GraphicsCommandList3 * This,
20285 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
20286 _In_ D3D12_CLEAR_FLAGS ClearFlags,
20287 _In_ FLOAT Depth,
20288 _In_ UINT8 Stencil,
20289 _In_ UINT NumRects,
20290 _In_reads_(NumRects) const D3D12_RECT *pRects);
20291
20292 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
20293 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
20294 ID3D12GraphicsCommandList3 * This,
20295 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
20296 _In_ const FLOAT ColorRGBA[ 4 ],
20297 _In_ UINT NumRects,
20298 _In_reads_(NumRects) const D3D12_RECT *pRects);
20299
20300 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
20301 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
20302 ID3D12GraphicsCommandList3 * This,
20303 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
20304 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
20305 _In_ ID3D12Resource *pResource,
20306 _In_ const UINT Values[ 4 ],
20307 _In_ UINT NumRects,
20308 _In_reads_(NumRects) const D3D12_RECT *pRects);
20309
20310 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
20311 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
20312 ID3D12GraphicsCommandList3 * This,
20313 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
20314 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
20315 _In_ ID3D12Resource *pResource,
20316 _In_ const FLOAT Values[ 4 ],
20317 _In_ UINT NumRects,
20318 _In_reads_(NumRects) const D3D12_RECT *pRects);
20319
20320 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
20321 void ( STDMETHODCALLTYPE *DiscardResource )(
20322 ID3D12GraphicsCommandList3 * This,
20323 _In_ ID3D12Resource *pResource,
20324 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
20325
20326 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
20327 void ( STDMETHODCALLTYPE *BeginQuery )(
20328 ID3D12GraphicsCommandList3 * This,
20329 _In_ ID3D12QueryHeap *pQueryHeap,
20330 _In_ D3D12_QUERY_TYPE Type,
20331 _In_ UINT Index);
20332
20333 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
20334 void ( STDMETHODCALLTYPE *EndQuery )(
20335 ID3D12GraphicsCommandList3 * This,
20336 _In_ ID3D12QueryHeap *pQueryHeap,
20337 _In_ D3D12_QUERY_TYPE Type,
20338 _In_ UINT Index);
20339
20340 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
20341 void ( STDMETHODCALLTYPE *ResolveQueryData )(
20342 ID3D12GraphicsCommandList3 * This,
20343 _In_ ID3D12QueryHeap *pQueryHeap,
20344 _In_ D3D12_QUERY_TYPE Type,
20345 _In_ UINT StartIndex,
20346 _In_ UINT NumQueries,
20347 _In_ ID3D12Resource *pDestinationBuffer,
20348 _In_ UINT64 AlignedDestinationBufferOffset);
20349
20350 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
20351 void ( STDMETHODCALLTYPE *SetPredication )(
20352 ID3D12GraphicsCommandList3 * This,
20353 _In_opt_ ID3D12Resource *pBuffer,
20354 _In_ UINT64 AlignedBufferOffset,
20355 _In_ D3D12_PREDICATION_OP Operation);
20356
20357 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
20358 void ( STDMETHODCALLTYPE *SetMarker )(
20359 ID3D12GraphicsCommandList3 * This,
20360 UINT Metadata,
20361 _In_reads_bytes_opt_(Size) const void *pData,
20362 UINT Size);
20363
20364 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
20365 void ( STDMETHODCALLTYPE *BeginEvent )(
20366 ID3D12GraphicsCommandList3 * This,
20367 UINT Metadata,
20368 _In_reads_bytes_opt_(Size) const void *pData,
20369 UINT Size);
20370
20371 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
20372 void ( STDMETHODCALLTYPE *EndEvent )(
20373 ID3D12GraphicsCommandList3 * This);
20374
20375 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
20376 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
20377 ID3D12GraphicsCommandList3 * This,
20378 _In_ ID3D12CommandSignature *pCommandSignature,
20379 _In_ UINT MaxCommandCount,
20380 _In_ ID3D12Resource *pArgumentBuffer,
20381 _In_ UINT64 ArgumentBufferOffset,
20382 _In_opt_ ID3D12Resource *pCountBuffer,
20383 _In_ UINT64 CountBufferOffset);
20384
20385 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
20386 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
20387 ID3D12GraphicsCommandList3 * This,
20388 _In_ ID3D12Resource *pDstBuffer,
20389 UINT64 DstOffset,
20390 _In_ ID3D12Resource *pSrcBuffer,
20391 UINT64 SrcOffset,
20392 UINT Dependencies,
20393 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
20394 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
20395
20396 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
20397 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
20398 ID3D12GraphicsCommandList3 * This,
20399 _In_ ID3D12Resource *pDstBuffer,
20400 UINT64 DstOffset,
20401 _In_ ID3D12Resource *pSrcBuffer,
20402 UINT64 SrcOffset,
20403 UINT Dependencies,
20404 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
20405 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
20406
20407 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
20408 void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
20409 ID3D12GraphicsCommandList3 * This,
20410 _In_ FLOAT Min,
20411 _In_ FLOAT Max);
20412
20413 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
20414 void ( STDMETHODCALLTYPE *SetSamplePositions )(
20415 ID3D12GraphicsCommandList3 * This,
20416 _In_ UINT NumSamplesPerPixel,
20417 _In_ UINT NumPixels,
20418 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
20419
20420 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
20421 void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
20422 ID3D12GraphicsCommandList3 * This,
20423 _In_ ID3D12Resource *pDstResource,
20424 _In_ UINT DstSubresource,
20425 _In_ UINT DstX,
20426 _In_ UINT DstY,
20427 _In_ ID3D12Resource *pSrcResource,
20428 _In_ UINT SrcSubresource,
20429 _In_opt_ D3D12_RECT *pSrcRect,
20430 _In_ DXGI_FORMAT Format,
20431 _In_ D3D12_RESOLVE_MODE ResolveMode);
20432
20433 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
20434 void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
20435 ID3D12GraphicsCommandList3 * This,
20436 _In_ UINT Mask);
20437
20438 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
20439 void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
20440 ID3D12GraphicsCommandList3 * This,
20441 UINT Count,
20442 _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
20443 _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
20444
20445 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
20446 void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
20447 ID3D12GraphicsCommandList3 * This,
20448 _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
20449
20450 END_INTERFACE
20451 } ID3D12GraphicsCommandList3Vtbl;
20452
20453 interface ID3D12GraphicsCommandList3
20454 {
20455 CONST_VTBL struct ID3D12GraphicsCommandList3Vtbl *lpVtbl;
20456 };
20457
20458
20459
20460#ifdef COBJMACROS
20461
20462
20463#define ID3D12GraphicsCommandList3_QueryInterface(This,riid,ppvObject) \
20464 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
20465
20466#define ID3D12GraphicsCommandList3_AddRef(This) \
20467 ( (This)->lpVtbl -> AddRef(This) )
20468
20469#define ID3D12GraphicsCommandList3_Release(This) \
20470 ( (This)->lpVtbl -> Release(This) )
20471
20472
20473#define ID3D12GraphicsCommandList3_GetPrivateData(This,guid,pDataSize,pData) \
20474 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
20475
20476#define ID3D12GraphicsCommandList3_SetPrivateData(This,guid,DataSize,pData) \
20477 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
20478
20479#define ID3D12GraphicsCommandList3_SetPrivateDataInterface(This,guid,pData) \
20480 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
20481
20482#define ID3D12GraphicsCommandList3_SetName(This,Name) \
20483 ( (This)->lpVtbl -> SetName(This,Name) )
20484
20485
20486#define ID3D12GraphicsCommandList3_GetDevice(This,riid,ppvDevice) \
20487 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
20488
20489
20490#define ID3D12GraphicsCommandList3_GetType(This) \
20491 ( (This)->lpVtbl -> GetType(This) )
20492
20493
20494#define ID3D12GraphicsCommandList3_Close(This) \
20495 ( (This)->lpVtbl -> Close(This) )
20496
20497#define ID3D12GraphicsCommandList3_Reset(This,pAllocator,pInitialState) \
20498 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
20499
20500#define ID3D12GraphicsCommandList3_ClearState(This,pPipelineState) \
20501 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
20502
20503#define ID3D12GraphicsCommandList3_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
20504 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
20505
20506#define ID3D12GraphicsCommandList3_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
20507 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
20508
20509#define ID3D12GraphicsCommandList3_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
20510 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
20511
20512#define ID3D12GraphicsCommandList3_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
20513 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
20514
20515#define ID3D12GraphicsCommandList3_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
20516 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
20517
20518#define ID3D12GraphicsCommandList3_CopyResource(This,pDstResource,pSrcResource) \
20519 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
20520
20521#define ID3D12GraphicsCommandList3_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
20522 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
20523
20524#define ID3D12GraphicsCommandList3_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
20525 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
20526
20527#define ID3D12GraphicsCommandList3_IASetPrimitiveTopology(This,PrimitiveTopology) \
20528 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
20529
20530#define ID3D12GraphicsCommandList3_RSSetViewports(This,NumViewports,pViewports) \
20531 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
20532
20533#define ID3D12GraphicsCommandList3_RSSetScissorRects(This,NumRects,pRects) \
20534 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
20535
20536#define ID3D12GraphicsCommandList3_OMSetBlendFactor(This,BlendFactor) \
20537 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
20538
20539#define ID3D12GraphicsCommandList3_OMSetStencilRef(This,StencilRef) \
20540 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
20541
20542#define ID3D12GraphicsCommandList3_SetPipelineState(This,pPipelineState) \
20543 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
20544
20545#define ID3D12GraphicsCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \
20546 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
20547
20548#define ID3D12GraphicsCommandList3_ExecuteBundle(This,pCommandList) \
20549 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
20550
20551#define ID3D12GraphicsCommandList3_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
20552 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
20553
20554#define ID3D12GraphicsCommandList3_SetComputeRootSignature(This,pRootSignature) \
20555 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
20556
20557#define ID3D12GraphicsCommandList3_SetGraphicsRootSignature(This,pRootSignature) \
20558 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
20559
20560#define ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
20561 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
20562
20563#define ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
20564 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
20565
20566#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
20567 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
20568
20569#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
20570 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
20571
20572#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
20573 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
20574
20575#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
20576 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
20577
20578#define ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
20579 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
20580
20581#define ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
20582 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
20583
20584#define ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
20585 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
20586
20587#define ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
20588 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
20589
20590#define ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
20591 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
20592
20593#define ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
20594 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
20595
20596#define ID3D12GraphicsCommandList3_IASetIndexBuffer(This,pView) \
20597 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
20598
20599#define ID3D12GraphicsCommandList3_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
20600 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
20601
20602#define ID3D12GraphicsCommandList3_SOSetTargets(This,StartSlot,NumViews,pViews) \
20603 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
20604
20605#define ID3D12GraphicsCommandList3_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
20606 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
20607
20608#define ID3D12GraphicsCommandList3_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
20609 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
20610
20611#define ID3D12GraphicsCommandList3_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
20612 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
20613
20614#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
20615 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
20616
20617#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
20618 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
20619
20620#define ID3D12GraphicsCommandList3_DiscardResource(This,pResource,pRegion) \
20621 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
20622
20623#define ID3D12GraphicsCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \
20624 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
20625
20626#define ID3D12GraphicsCommandList3_EndQuery(This,pQueryHeap,Type,Index) \
20627 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
20628
20629#define ID3D12GraphicsCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
20630 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
20631
20632#define ID3D12GraphicsCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
20633 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
20634
20635#define ID3D12GraphicsCommandList3_SetMarker(This,Metadata,pData,Size) \
20636 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
20637
20638#define ID3D12GraphicsCommandList3_BeginEvent(This,Metadata,pData,Size) \
20639 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
20640
20641#define ID3D12GraphicsCommandList3_EndEvent(This) \
20642 ( (This)->lpVtbl -> EndEvent(This) )
20643
20644#define ID3D12GraphicsCommandList3_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
20645 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
20646
20647
20648#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
20649 ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
20650
20651#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
20652 ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
20653
20654#define ID3D12GraphicsCommandList3_OMSetDepthBounds(This,Min,Max) \
20655 ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
20656
20657#define ID3D12GraphicsCommandList3_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
20658 ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
20659
20660#define ID3D12GraphicsCommandList3_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
20661 ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
20662
20663#define ID3D12GraphicsCommandList3_SetViewInstanceMask(This,Mask) \
20664 ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
20665
20666
20667#define ID3D12GraphicsCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \
20668 ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
20669
20670
20671#define ID3D12GraphicsCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \
20672 ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
20673
20674#endif /* COBJMACROS */
20675
20676
20677#endif /* C style interface */
20678
20679
20680
20681
20682#endif /* __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__ */
20683
20684
20685/* interface __MIDL_itf_d3d12_0000_0051 */
20686/* [local] */
20687
20688typedef
20689enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE
20690 {
20691 D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD = 0,
20692 D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD + 1 ) ,
20693 D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE + 1 ) ,
20694 D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR + 1 ) ,
20695 D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS + 1 ) ,
20696 D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER + 1 ) ,
20697 D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV + 1 )
20698 } D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE;
20699
20700typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS
20701 {
20702 D3D12_CLEAR_VALUE ClearValue;
20703 } D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS;
20704
20705typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS
20706 {
20707 UINT AdditionalWidth;
20708 UINT AdditionalHeight;
20709 } D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS;
20710
20711typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS
20712 {
20713 D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type;
20714 union
20715 {
20716 D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear;
20717 D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal;
20718 } ;
20719 } D3D12_RENDER_PASS_BEGINNING_ACCESS;
20720
20721typedef
20722enum D3D12_RENDER_PASS_ENDING_ACCESS_TYPE
20723 {
20724 D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD = 0,
20725 D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD + 1 ) ,
20726 D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE + 1 ) ,
20727 D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE + 1 ) ,
20728 D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS + 1 ) ,
20729 D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER + 1 ) ,
20730 D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_UAV = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV + 1 )
20731 } D3D12_RENDER_PASS_ENDING_ACCESS_TYPE;
20732
20733typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS
20734 {
20735 UINT SrcSubresource;
20736 UINT DstSubresource;
20737 UINT DstX;
20738 UINT DstY;
20739 D3D12_RECT SrcRect;
20740 } D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS;
20741
20742typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS
20743 {
20744 ID3D12Resource *pSrcResource;
20745 ID3D12Resource *pDstResource;
20746 UINT SubresourceCount;
20747 _Field_size_full_(SubresourceCount) const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS *pSubresourceParameters;
20748 DXGI_FORMAT Format;
20749 D3D12_RESOLVE_MODE ResolveMode;
20750 BOOL PreserveResolveSource;
20751 } D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS;
20752
20753typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS
20754 {
20755 UINT AdditionalWidth;
20756 UINT AdditionalHeight;
20757 } D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS;
20758
20759typedef struct D3D12_RENDER_PASS_ENDING_ACCESS
20760 {
20761 D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type;
20762 union
20763 {
20764 D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve;
20765 D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal;
20766 } ;
20767 } D3D12_RENDER_PASS_ENDING_ACCESS;
20768
20769typedef struct D3D12_RENDER_PASS_RENDER_TARGET_DESC
20770 {
20771 D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor;
20772 D3D12_RENDER_PASS_BEGINNING_ACCESS BeginningAccess;
20773 D3D12_RENDER_PASS_ENDING_ACCESS EndingAccess;
20774 } D3D12_RENDER_PASS_RENDER_TARGET_DESC;
20775
20776typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC
20777 {
20778 D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor;
20779 D3D12_RENDER_PASS_BEGINNING_ACCESS DepthBeginningAccess;
20780 D3D12_RENDER_PASS_BEGINNING_ACCESS StencilBeginningAccess;
20781 D3D12_RENDER_PASS_ENDING_ACCESS DepthEndingAccess;
20782 D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess;
20783 } D3D12_RENDER_PASS_DEPTH_STENCIL_DESC;
20784
20785typedef
20786enum D3D12_RENDER_PASS_FLAGS
20787 {
20788 D3D12_RENDER_PASS_FLAG_NONE = 0,
20789 D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1,
20790 D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2,
20791 D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4,
20792 D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_DEPTH = 0x8,
20793 D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_STENCIL = 0x10
20794 } D3D12_RENDER_PASS_FLAGS;
20795
20796DEFINE_ENUM_FLAG_OPERATORS( D3D12_RENDER_PASS_FLAGS )
20797
20798
20799extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0051_v0_0_c_ifspec;
20800extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0051_v0_0_s_ifspec;
20801
20802#ifndef __ID3D12MetaCommand_INTERFACE_DEFINED__
20803#define __ID3D12MetaCommand_INTERFACE_DEFINED__
20804
20805/* interface ID3D12MetaCommand */
20806/* [unique][local][object][uuid] */
20807
20808
20809EXTERN_C const IID IID_ID3D12MetaCommand;
20810
20811#if defined(__cplusplus) && !defined(CINTERFACE)
20812
20813 MIDL_INTERFACE("DBB84C27-36CE-4FC9-B801-F048C46AC570")
20814 ID3D12MetaCommand : public ID3D12Pageable
20815 {
20816 public:
20817 virtual UINT64 STDMETHODCALLTYPE GetRequiredParameterResourceSize(
20818 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
20819 _In_ UINT ParameterIndex) = 0;
20820
20821 };
20822
20823
20824#else /* C style interface */
20825
20826 typedef struct ID3D12MetaCommandVtbl
20827 {
20828 BEGIN_INTERFACE
20829
20830 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
20831 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
20832 ID3D12MetaCommand * This,
20833 REFIID riid,
20834 _COM_Outptr_ void **ppvObject);
20835
20836 DECLSPEC_XFGVIRT(IUnknown, AddRef)
20837 ULONG ( STDMETHODCALLTYPE *AddRef )(
20838 ID3D12MetaCommand * This);
20839
20840 DECLSPEC_XFGVIRT(IUnknown, Release)
20841 ULONG ( STDMETHODCALLTYPE *Release )(
20842 ID3D12MetaCommand * This);
20843
20844 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
20845 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
20846 ID3D12MetaCommand * This,
20847 _In_ REFGUID guid,
20848 _Inout_ UINT *pDataSize,
20849 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
20850
20851 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
20852 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
20853 ID3D12MetaCommand * This,
20854 _In_ REFGUID guid,
20855 _In_ UINT DataSize,
20856 _In_reads_bytes_opt_( DataSize ) const void *pData);
20857
20858 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
20859 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
20860 ID3D12MetaCommand * This,
20861 _In_ REFGUID guid,
20862 _In_opt_ const IUnknown *pData);
20863
20864 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
20865 HRESULT ( STDMETHODCALLTYPE *SetName )(
20866 ID3D12MetaCommand * This,
20867 _In_z_ LPCWSTR Name);
20868
20869 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
20870 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
20871 ID3D12MetaCommand * This,
20872 REFIID riid,
20873 _COM_Outptr_opt_ void **ppvDevice);
20874
20875 DECLSPEC_XFGVIRT(ID3D12MetaCommand, GetRequiredParameterResourceSize)
20876 UINT64 ( STDMETHODCALLTYPE *GetRequiredParameterResourceSize )(
20877 ID3D12MetaCommand * This,
20878 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
20879 _In_ UINT ParameterIndex);
20880
20881 END_INTERFACE
20882 } ID3D12MetaCommandVtbl;
20883
20884 interface ID3D12MetaCommand
20885 {
20886 CONST_VTBL struct ID3D12MetaCommandVtbl *lpVtbl;
20887 };
20888
20889
20890
20891#ifdef COBJMACROS
20892
20893
20894#define ID3D12MetaCommand_QueryInterface(This,riid,ppvObject) \
20895 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
20896
20897#define ID3D12MetaCommand_AddRef(This) \
20898 ( (This)->lpVtbl -> AddRef(This) )
20899
20900#define ID3D12MetaCommand_Release(This) \
20901 ( (This)->lpVtbl -> Release(This) )
20902
20903
20904#define ID3D12MetaCommand_GetPrivateData(This,guid,pDataSize,pData) \
20905 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
20906
20907#define ID3D12MetaCommand_SetPrivateData(This,guid,DataSize,pData) \
20908 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
20909
20910#define ID3D12MetaCommand_SetPrivateDataInterface(This,guid,pData) \
20911 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
20912
20913#define ID3D12MetaCommand_SetName(This,Name) \
20914 ( (This)->lpVtbl -> SetName(This,Name) )
20915
20916
20917#define ID3D12MetaCommand_GetDevice(This,riid,ppvDevice) \
20918 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
20919
20920
20921
20922#define ID3D12MetaCommand_GetRequiredParameterResourceSize(This,Stage,ParameterIndex) \
20923 ( (This)->lpVtbl -> GetRequiredParameterResourceSize(This,Stage,ParameterIndex) )
20924
20925#endif /* COBJMACROS */
20926
20927
20928#endif /* C style interface */
20929
20930
20931
20932
20933#endif /* __ID3D12MetaCommand_INTERFACE_DEFINED__ */
20934
20935
20936/* interface __MIDL_itf_d3d12_0000_0052 */
20937/* [local] */
20938
20939typedef struct D3D12_DISPATCH_RAYS_DESC
20940 {
20941 D3D12_GPU_VIRTUAL_ADDRESS_RANGE RayGenerationShaderRecord;
20942 D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable;
20943 D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable;
20944 D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable;
20945 UINT Width;
20946 UINT Height;
20947 UINT Depth;
20948 } D3D12_DISPATCH_RAYS_DESC;
20949
20950typedef
20951enum D3D12_SET_WORK_GRAPH_FLAGS
20952 {
20953 D3D12_SET_WORK_GRAPH_FLAG_NONE = 0,
20954 D3D12_SET_WORK_GRAPH_FLAG_INITIALIZE = 0x1
20955 } D3D12_SET_WORK_GRAPH_FLAGS;
20956
20957DEFINE_ENUM_FLAG_OPERATORS( D3D12_SET_WORK_GRAPH_FLAGS )
20958typedef struct D3D12_SET_WORK_GRAPH_DESC
20959 {
20960 D3D12_PROGRAM_IDENTIFIER ProgramIdentifier;
20961 D3D12_SET_WORK_GRAPH_FLAGS Flags;
20962 D3D12_GPU_VIRTUAL_ADDRESS_RANGE BackingMemory;
20963 D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE NodeLocalRootArgumentsTable;
20964 } D3D12_SET_WORK_GRAPH_DESC;
20965
20966typedef struct D3D12_SET_RAYTRACING_PIPELINE_DESC
20967 {
20968 D3D12_PROGRAM_IDENTIFIER ProgramIdentifier;
20969 } D3D12_SET_RAYTRACING_PIPELINE_DESC;
20970
20971typedef struct D3D12_SET_GENERIC_PIPELINE_DESC
20972 {
20973 D3D12_PROGRAM_IDENTIFIER ProgramIdentifier;
20974 } D3D12_SET_GENERIC_PIPELINE_DESC;
20975
20976typedef
20977enum D3D12_PROGRAM_TYPE
20978 {
20979 D3D12_PROGRAM_TYPE_GENERIC_PIPELINE = 1,
20980 D3D12_PROGRAM_TYPE_RAYTRACING_PIPELINE = 4,
20981 D3D12_PROGRAM_TYPE_WORK_GRAPH = 5
20982 } D3D12_PROGRAM_TYPE;
20983
20984typedef struct D3D12_SET_PROGRAM_DESC
20985 {
20986 D3D12_PROGRAM_TYPE Type;
20987 union
20988 {
20989 D3D12_SET_GENERIC_PIPELINE_DESC GenericPipeline;
20990 D3D12_SET_RAYTRACING_PIPELINE_DESC RaytracingPipeline;
20991 D3D12_SET_WORK_GRAPH_DESC WorkGraph;
20992 } ;
20993 } D3D12_SET_PROGRAM_DESC;
20994
20995typedef
20996enum D3D12_DISPATCH_MODE
20997 {
20998 D3D12_DISPATCH_MODE_NODE_CPU_INPUT = 0,
20999 D3D12_DISPATCH_MODE_NODE_GPU_INPUT = 1,
21000 D3D12_DISPATCH_MODE_MULTI_NODE_CPU_INPUT = 2,
21001 D3D12_DISPATCH_MODE_MULTI_NODE_GPU_INPUT = 3
21002 } D3D12_DISPATCH_MODE;
21003
21004typedef struct D3D12_NODE_CPU_INPUT
21005 {
21006 UINT EntrypointIndex;
21007 UINT NumRecords;
21008 const void *pRecords;
21009 UINT64 RecordStrideInBytes;
21010 } D3D12_NODE_CPU_INPUT;
21011
21012typedef struct D3D12_NODE_GPU_INPUT
21013 {
21014 UINT EntrypointIndex;
21015 UINT NumRecords;
21016 D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE Records;
21017 } D3D12_NODE_GPU_INPUT;
21018
21019typedef struct D3D12_MULTI_NODE_CPU_INPUT
21020 {
21021 UINT NumNodeInputs;
21022 const D3D12_NODE_CPU_INPUT *pNodeInputs;
21023 UINT64 NodeInputStrideInBytes;
21024 } D3D12_MULTI_NODE_CPU_INPUT;
21025
21026typedef struct D3D12_MULTI_NODE_GPU_INPUT
21027 {
21028 UINT NumNodeInputs;
21029 D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE NodeInputs;
21030 } D3D12_MULTI_NODE_GPU_INPUT;
21031
21032typedef struct D3D12_DISPATCH_GRAPH_DESC
21033 {
21034 D3D12_DISPATCH_MODE Mode;
21035 union
21036 {
21037 D3D12_NODE_CPU_INPUT NodeCPUInput;
21038 D3D12_GPU_VIRTUAL_ADDRESS NodeGPUInput;
21039 D3D12_MULTI_NODE_CPU_INPUT MultiNodeCPUInput;
21040 D3D12_GPU_VIRTUAL_ADDRESS MultiNodeGPUInput;
21041 } ;
21042 } D3D12_DISPATCH_GRAPH_DESC;
21043
21044
21045
21046extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0052_v0_0_c_ifspec;
21047extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0052_v0_0_s_ifspec;
21048
21049#ifndef __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__
21050#define __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__
21051
21052/* interface ID3D12GraphicsCommandList4 */
21053/* [unique][local][object][uuid] */
21054
21055
21056EXTERN_C const IID IID_ID3D12GraphicsCommandList4;
21057
21058#if defined(__cplusplus) && !defined(CINTERFACE)
21059
21060 MIDL_INTERFACE("8754318e-d3a9-4541-98cf-645b50dc4874")
21061 ID3D12GraphicsCommandList4 : public ID3D12GraphicsCommandList3
21062 {
21063 public:
21064 virtual void STDMETHODCALLTYPE BeginRenderPass(
21065 _In_ UINT NumRenderTargets,
21066 _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
21067 _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
21068 D3D12_RENDER_PASS_FLAGS Flags) = 0;
21069
21070 virtual void STDMETHODCALLTYPE EndRenderPass( void) = 0;
21071
21072 virtual void STDMETHODCALLTYPE InitializeMetaCommand(
21073 _In_ ID3D12MetaCommand *pMetaCommand,
21074 _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
21075 _In_ SIZE_T InitializationParametersDataSizeInBytes) = 0;
21076
21077 virtual void STDMETHODCALLTYPE ExecuteMetaCommand(
21078 _In_ ID3D12MetaCommand *pMetaCommand,
21079 _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
21080 _In_ SIZE_T ExecutionParametersDataSizeInBytes) = 0;
21081
21082 virtual void STDMETHODCALLTYPE BuildRaytracingAccelerationStructure(
21083 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
21084 _In_ UINT NumPostbuildInfoDescs,
21085 _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs) = 0;
21086
21087 virtual void STDMETHODCALLTYPE EmitRaytracingAccelerationStructurePostbuildInfo(
21088 _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
21089 _In_ UINT NumSourceAccelerationStructures,
21090 _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData) = 0;
21091
21092 virtual void STDMETHODCALLTYPE CopyRaytracingAccelerationStructure(
21093 _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
21094 _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
21095 _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode) = 0;
21096
21097 virtual void STDMETHODCALLTYPE SetPipelineState1(
21098 _In_ ID3D12StateObject *pStateObject) = 0;
21099
21100 virtual void STDMETHODCALLTYPE DispatchRays(
21101 _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc) = 0;
21102
21103 };
21104
21105
21106#else /* C style interface */
21107
21108 typedef struct ID3D12GraphicsCommandList4Vtbl
21109 {
21110 BEGIN_INTERFACE
21111
21112 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
21113 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
21114 ID3D12GraphicsCommandList4 * This,
21115 REFIID riid,
21116 _COM_Outptr_ void **ppvObject);
21117
21118 DECLSPEC_XFGVIRT(IUnknown, AddRef)
21119 ULONG ( STDMETHODCALLTYPE *AddRef )(
21120 ID3D12GraphicsCommandList4 * This);
21121
21122 DECLSPEC_XFGVIRT(IUnknown, Release)
21123 ULONG ( STDMETHODCALLTYPE *Release )(
21124 ID3D12GraphicsCommandList4 * This);
21125
21126 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
21127 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
21128 ID3D12GraphicsCommandList4 * This,
21129 _In_ REFGUID guid,
21130 _Inout_ UINT *pDataSize,
21131 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
21132
21133 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
21134 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
21135 ID3D12GraphicsCommandList4 * This,
21136 _In_ REFGUID guid,
21137 _In_ UINT DataSize,
21138 _In_reads_bytes_opt_( DataSize ) const void *pData);
21139
21140 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
21141 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
21142 ID3D12GraphicsCommandList4 * This,
21143 _In_ REFGUID guid,
21144 _In_opt_ const IUnknown *pData);
21145
21146 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
21147 HRESULT ( STDMETHODCALLTYPE *SetName )(
21148 ID3D12GraphicsCommandList4 * This,
21149 _In_z_ LPCWSTR Name);
21150
21151 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
21152 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
21153 ID3D12GraphicsCommandList4 * This,
21154 REFIID riid,
21155 _COM_Outptr_opt_ void **ppvDevice);
21156
21157 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
21158 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
21159 ID3D12GraphicsCommandList4 * This);
21160
21161 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
21162 HRESULT ( STDMETHODCALLTYPE *Close )(
21163 ID3D12GraphicsCommandList4 * This);
21164
21165 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
21166 HRESULT ( STDMETHODCALLTYPE *Reset )(
21167 ID3D12GraphicsCommandList4 * This,
21168 _In_ ID3D12CommandAllocator *pAllocator,
21169 _In_opt_ ID3D12PipelineState *pInitialState);
21170
21171 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
21172 void ( STDMETHODCALLTYPE *ClearState )(
21173 ID3D12GraphicsCommandList4 * This,
21174 _In_opt_ ID3D12PipelineState *pPipelineState);
21175
21176 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
21177 void ( STDMETHODCALLTYPE *DrawInstanced )(
21178 ID3D12GraphicsCommandList4 * This,
21179 _In_ UINT VertexCountPerInstance,
21180 _In_ UINT InstanceCount,
21181 _In_ UINT StartVertexLocation,
21182 _In_ UINT StartInstanceLocation);
21183
21184 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
21185 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
21186 ID3D12GraphicsCommandList4 * This,
21187 _In_ UINT IndexCountPerInstance,
21188 _In_ UINT InstanceCount,
21189 _In_ UINT StartIndexLocation,
21190 _In_ INT BaseVertexLocation,
21191 _In_ UINT StartInstanceLocation);
21192
21193 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
21194 void ( STDMETHODCALLTYPE *Dispatch )(
21195 ID3D12GraphicsCommandList4 * This,
21196 _In_ UINT ThreadGroupCountX,
21197 _In_ UINT ThreadGroupCountY,
21198 _In_ UINT ThreadGroupCountZ);
21199
21200 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
21201 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
21202 ID3D12GraphicsCommandList4 * This,
21203 _In_ ID3D12Resource *pDstBuffer,
21204 UINT64 DstOffset,
21205 _In_ ID3D12Resource *pSrcBuffer,
21206 UINT64 SrcOffset,
21207 UINT64 NumBytes);
21208
21209 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
21210 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
21211 ID3D12GraphicsCommandList4 * This,
21212 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
21213 UINT DstX,
21214 UINT DstY,
21215 UINT DstZ,
21216 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
21217 _In_opt_ const D3D12_BOX *pSrcBox);
21218
21219 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
21220 void ( STDMETHODCALLTYPE *CopyResource )(
21221 ID3D12GraphicsCommandList4 * This,
21222 _In_ ID3D12Resource *pDstResource,
21223 _In_ ID3D12Resource *pSrcResource);
21224
21225 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
21226 void ( STDMETHODCALLTYPE *CopyTiles )(
21227 ID3D12GraphicsCommandList4 * This,
21228 _In_ ID3D12Resource *pTiledResource,
21229 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
21230 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
21231 _In_ ID3D12Resource *pBuffer,
21232 UINT64 BufferStartOffsetInBytes,
21233 D3D12_TILE_COPY_FLAGS Flags);
21234
21235 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
21236 void ( STDMETHODCALLTYPE *ResolveSubresource )(
21237 ID3D12GraphicsCommandList4 * This,
21238 _In_ ID3D12Resource *pDstResource,
21239 _In_ UINT DstSubresource,
21240 _In_ ID3D12Resource *pSrcResource,
21241 _In_ UINT SrcSubresource,
21242 _In_ DXGI_FORMAT Format);
21243
21244 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
21245 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
21246 ID3D12GraphicsCommandList4 * This,
21247 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
21248
21249 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
21250 void ( STDMETHODCALLTYPE *RSSetViewports )(
21251 ID3D12GraphicsCommandList4 * This,
21252 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
21253 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
21254
21255 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
21256 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
21257 ID3D12GraphicsCommandList4 * This,
21258 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
21259 _In_reads_( NumRects) const D3D12_RECT *pRects);
21260
21261 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
21262 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
21263 ID3D12GraphicsCommandList4 * This,
21264 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
21265
21266 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
21267 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
21268 ID3D12GraphicsCommandList4 * This,
21269 _In_ UINT StencilRef);
21270
21271 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
21272 void ( STDMETHODCALLTYPE *SetPipelineState )(
21273 ID3D12GraphicsCommandList4 * This,
21274 _In_ ID3D12PipelineState *pPipelineState);
21275
21276 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
21277 void ( STDMETHODCALLTYPE *ResourceBarrier )(
21278 ID3D12GraphicsCommandList4 * This,
21279 _In_ UINT NumBarriers,
21280 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
21281
21282 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
21283 void ( STDMETHODCALLTYPE *ExecuteBundle )(
21284 ID3D12GraphicsCommandList4 * This,
21285 _In_ ID3D12GraphicsCommandList *pCommandList);
21286
21287 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
21288 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
21289 ID3D12GraphicsCommandList4 * This,
21290 _In_ UINT NumDescriptorHeaps,
21291 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
21292
21293 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
21294 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
21295 ID3D12GraphicsCommandList4 * This,
21296 _In_opt_ ID3D12RootSignature *pRootSignature);
21297
21298 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
21299 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
21300 ID3D12GraphicsCommandList4 * This,
21301 _In_opt_ ID3D12RootSignature *pRootSignature);
21302
21303 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
21304 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
21305 ID3D12GraphicsCommandList4 * This,
21306 _In_ UINT RootParameterIndex,
21307 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
21308
21309 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
21310 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
21311 ID3D12GraphicsCommandList4 * This,
21312 _In_ UINT RootParameterIndex,
21313 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
21314
21315 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
21316 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
21317 ID3D12GraphicsCommandList4 * This,
21318 _In_ UINT RootParameterIndex,
21319 _In_ UINT SrcData,
21320 _In_ UINT DestOffsetIn32BitValues);
21321
21322 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
21323 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
21324 ID3D12GraphicsCommandList4 * This,
21325 _In_ UINT RootParameterIndex,
21326 _In_ UINT SrcData,
21327 _In_ UINT DestOffsetIn32BitValues);
21328
21329 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
21330 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
21331 ID3D12GraphicsCommandList4 * This,
21332 _In_ UINT RootParameterIndex,
21333 _In_ UINT Num32BitValuesToSet,
21334 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
21335 _In_ UINT DestOffsetIn32BitValues);
21336
21337 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
21338 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
21339 ID3D12GraphicsCommandList4 * This,
21340 _In_ UINT RootParameterIndex,
21341 _In_ UINT Num32BitValuesToSet,
21342 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
21343 _In_ UINT DestOffsetIn32BitValues);
21344
21345 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
21346 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
21347 ID3D12GraphicsCommandList4 * This,
21348 _In_ UINT RootParameterIndex,
21349 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
21350
21351 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
21352 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
21353 ID3D12GraphicsCommandList4 * This,
21354 _In_ UINT RootParameterIndex,
21355 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
21356
21357 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
21358 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
21359 ID3D12GraphicsCommandList4 * This,
21360 _In_ UINT RootParameterIndex,
21361 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
21362
21363 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
21364 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
21365 ID3D12GraphicsCommandList4 * This,
21366 _In_ UINT RootParameterIndex,
21367 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
21368
21369 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
21370 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
21371 ID3D12GraphicsCommandList4 * This,
21372 _In_ UINT RootParameterIndex,
21373 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
21374
21375 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
21376 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
21377 ID3D12GraphicsCommandList4 * This,
21378 _In_ UINT RootParameterIndex,
21379 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
21380
21381 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
21382 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
21383 ID3D12GraphicsCommandList4 * This,
21384 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
21385
21386 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
21387 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
21388 ID3D12GraphicsCommandList4 * This,
21389 _In_ UINT StartSlot,
21390 _In_ UINT NumViews,
21391 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
21392
21393 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
21394 void ( STDMETHODCALLTYPE *SOSetTargets )(
21395 ID3D12GraphicsCommandList4 * This,
21396 _In_ UINT StartSlot,
21397 _In_ UINT NumViews,
21398 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
21399
21400 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
21401 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
21402 ID3D12GraphicsCommandList4 * This,
21403 _In_ UINT NumRenderTargetDescriptors,
21404 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
21405 _In_ BOOL RTsSingleHandleToDescriptorRange,
21406 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
21407
21408 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
21409 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
21410 ID3D12GraphicsCommandList4 * This,
21411 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
21412 _In_ D3D12_CLEAR_FLAGS ClearFlags,
21413 _In_ FLOAT Depth,
21414 _In_ UINT8 Stencil,
21415 _In_ UINT NumRects,
21416 _In_reads_(NumRects) const D3D12_RECT *pRects);
21417
21418 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
21419 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
21420 ID3D12GraphicsCommandList4 * This,
21421 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
21422 _In_ const FLOAT ColorRGBA[ 4 ],
21423 _In_ UINT NumRects,
21424 _In_reads_(NumRects) const D3D12_RECT *pRects);
21425
21426 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
21427 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
21428 ID3D12GraphicsCommandList4 * This,
21429 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
21430 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
21431 _In_ ID3D12Resource *pResource,
21432 _In_ const UINT Values[ 4 ],
21433 _In_ UINT NumRects,
21434 _In_reads_(NumRects) const D3D12_RECT *pRects);
21435
21436 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
21437 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
21438 ID3D12GraphicsCommandList4 * This,
21439 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
21440 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
21441 _In_ ID3D12Resource *pResource,
21442 _In_ const FLOAT Values[ 4 ],
21443 _In_ UINT NumRects,
21444 _In_reads_(NumRects) const D3D12_RECT *pRects);
21445
21446 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
21447 void ( STDMETHODCALLTYPE *DiscardResource )(
21448 ID3D12GraphicsCommandList4 * This,
21449 _In_ ID3D12Resource *pResource,
21450 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
21451
21452 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
21453 void ( STDMETHODCALLTYPE *BeginQuery )(
21454 ID3D12GraphicsCommandList4 * This,
21455 _In_ ID3D12QueryHeap *pQueryHeap,
21456 _In_ D3D12_QUERY_TYPE Type,
21457 _In_ UINT Index);
21458
21459 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
21460 void ( STDMETHODCALLTYPE *EndQuery )(
21461 ID3D12GraphicsCommandList4 * This,
21462 _In_ ID3D12QueryHeap *pQueryHeap,
21463 _In_ D3D12_QUERY_TYPE Type,
21464 _In_ UINT Index);
21465
21466 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
21467 void ( STDMETHODCALLTYPE *ResolveQueryData )(
21468 ID3D12GraphicsCommandList4 * This,
21469 _In_ ID3D12QueryHeap *pQueryHeap,
21470 _In_ D3D12_QUERY_TYPE Type,
21471 _In_ UINT StartIndex,
21472 _In_ UINT NumQueries,
21473 _In_ ID3D12Resource *pDestinationBuffer,
21474 _In_ UINT64 AlignedDestinationBufferOffset);
21475
21476 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
21477 void ( STDMETHODCALLTYPE *SetPredication )(
21478 ID3D12GraphicsCommandList4 * This,
21479 _In_opt_ ID3D12Resource *pBuffer,
21480 _In_ UINT64 AlignedBufferOffset,
21481 _In_ D3D12_PREDICATION_OP Operation);
21482
21483 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
21484 void ( STDMETHODCALLTYPE *SetMarker )(
21485 ID3D12GraphicsCommandList4 * This,
21486 UINT Metadata,
21487 _In_reads_bytes_opt_(Size) const void *pData,
21488 UINT Size);
21489
21490 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
21491 void ( STDMETHODCALLTYPE *BeginEvent )(
21492 ID3D12GraphicsCommandList4 * This,
21493 UINT Metadata,
21494 _In_reads_bytes_opt_(Size) const void *pData,
21495 UINT Size);
21496
21497 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
21498 void ( STDMETHODCALLTYPE *EndEvent )(
21499 ID3D12GraphicsCommandList4 * This);
21500
21501 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
21502 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
21503 ID3D12GraphicsCommandList4 * This,
21504 _In_ ID3D12CommandSignature *pCommandSignature,
21505 _In_ UINT MaxCommandCount,
21506 _In_ ID3D12Resource *pArgumentBuffer,
21507 _In_ UINT64 ArgumentBufferOffset,
21508 _In_opt_ ID3D12Resource *pCountBuffer,
21509 _In_ UINT64 CountBufferOffset);
21510
21511 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
21512 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
21513 ID3D12GraphicsCommandList4 * This,
21514 _In_ ID3D12Resource *pDstBuffer,
21515 UINT64 DstOffset,
21516 _In_ ID3D12Resource *pSrcBuffer,
21517 UINT64 SrcOffset,
21518 UINT Dependencies,
21519 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
21520 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
21521
21522 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
21523 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
21524 ID3D12GraphicsCommandList4 * This,
21525 _In_ ID3D12Resource *pDstBuffer,
21526 UINT64 DstOffset,
21527 _In_ ID3D12Resource *pSrcBuffer,
21528 UINT64 SrcOffset,
21529 UINT Dependencies,
21530 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
21531 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
21532
21533 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
21534 void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
21535 ID3D12GraphicsCommandList4 * This,
21536 _In_ FLOAT Min,
21537 _In_ FLOAT Max);
21538
21539 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
21540 void ( STDMETHODCALLTYPE *SetSamplePositions )(
21541 ID3D12GraphicsCommandList4 * This,
21542 _In_ UINT NumSamplesPerPixel,
21543 _In_ UINT NumPixels,
21544 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
21545
21546 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
21547 void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
21548 ID3D12GraphicsCommandList4 * This,
21549 _In_ ID3D12Resource *pDstResource,
21550 _In_ UINT DstSubresource,
21551 _In_ UINT DstX,
21552 _In_ UINT DstY,
21553 _In_ ID3D12Resource *pSrcResource,
21554 _In_ UINT SrcSubresource,
21555 _In_opt_ D3D12_RECT *pSrcRect,
21556 _In_ DXGI_FORMAT Format,
21557 _In_ D3D12_RESOLVE_MODE ResolveMode);
21558
21559 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
21560 void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
21561 ID3D12GraphicsCommandList4 * This,
21562 _In_ UINT Mask);
21563
21564 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
21565 void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
21566 ID3D12GraphicsCommandList4 * This,
21567 UINT Count,
21568 _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
21569 _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
21570
21571 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
21572 void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
21573 ID3D12GraphicsCommandList4 * This,
21574 _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
21575
21576 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
21577 void ( STDMETHODCALLTYPE *BeginRenderPass )(
21578 ID3D12GraphicsCommandList4 * This,
21579 _In_ UINT NumRenderTargets,
21580 _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
21581 _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
21582 D3D12_RENDER_PASS_FLAGS Flags);
21583
21584 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
21585 void ( STDMETHODCALLTYPE *EndRenderPass )(
21586 ID3D12GraphicsCommandList4 * This);
21587
21588 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
21589 void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
21590 ID3D12GraphicsCommandList4 * This,
21591 _In_ ID3D12MetaCommand *pMetaCommand,
21592 _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
21593 _In_ SIZE_T InitializationParametersDataSizeInBytes);
21594
21595 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
21596 void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
21597 ID3D12GraphicsCommandList4 * This,
21598 _In_ ID3D12MetaCommand *pMetaCommand,
21599 _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
21600 _In_ SIZE_T ExecutionParametersDataSizeInBytes);
21601
21602 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
21603 void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
21604 ID3D12GraphicsCommandList4 * This,
21605 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
21606 _In_ UINT NumPostbuildInfoDescs,
21607 _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
21608
21609 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
21610 void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
21611 ID3D12GraphicsCommandList4 * This,
21612 _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
21613 _In_ UINT NumSourceAccelerationStructures,
21614 _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
21615
21616 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
21617 void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
21618 ID3D12GraphicsCommandList4 * This,
21619 _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
21620 _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
21621 _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
21622
21623 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
21624 void ( STDMETHODCALLTYPE *SetPipelineState1 )(
21625 ID3D12GraphicsCommandList4 * This,
21626 _In_ ID3D12StateObject *pStateObject);
21627
21628 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
21629 void ( STDMETHODCALLTYPE *DispatchRays )(
21630 ID3D12GraphicsCommandList4 * This,
21631 _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
21632
21633 END_INTERFACE
21634 } ID3D12GraphicsCommandList4Vtbl;
21635
21636 interface ID3D12GraphicsCommandList4
21637 {
21638 CONST_VTBL struct ID3D12GraphicsCommandList4Vtbl *lpVtbl;
21639 };
21640
21641
21642
21643#ifdef COBJMACROS
21644
21645
21646#define ID3D12GraphicsCommandList4_QueryInterface(This,riid,ppvObject) \
21647 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
21648
21649#define ID3D12GraphicsCommandList4_AddRef(This) \
21650 ( (This)->lpVtbl -> AddRef(This) )
21651
21652#define ID3D12GraphicsCommandList4_Release(This) \
21653 ( (This)->lpVtbl -> Release(This) )
21654
21655
21656#define ID3D12GraphicsCommandList4_GetPrivateData(This,guid,pDataSize,pData) \
21657 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
21658
21659#define ID3D12GraphicsCommandList4_SetPrivateData(This,guid,DataSize,pData) \
21660 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
21661
21662#define ID3D12GraphicsCommandList4_SetPrivateDataInterface(This,guid,pData) \
21663 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
21664
21665#define ID3D12GraphicsCommandList4_SetName(This,Name) \
21666 ( (This)->lpVtbl -> SetName(This,Name) )
21667
21668
21669#define ID3D12GraphicsCommandList4_GetDevice(This,riid,ppvDevice) \
21670 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
21671
21672
21673#define ID3D12GraphicsCommandList4_GetType(This) \
21674 ( (This)->lpVtbl -> GetType(This) )
21675
21676
21677#define ID3D12GraphicsCommandList4_Close(This) \
21678 ( (This)->lpVtbl -> Close(This) )
21679
21680#define ID3D12GraphicsCommandList4_Reset(This,pAllocator,pInitialState) \
21681 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
21682
21683#define ID3D12GraphicsCommandList4_ClearState(This,pPipelineState) \
21684 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
21685
21686#define ID3D12GraphicsCommandList4_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
21687 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
21688
21689#define ID3D12GraphicsCommandList4_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
21690 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
21691
21692#define ID3D12GraphicsCommandList4_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
21693 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
21694
21695#define ID3D12GraphicsCommandList4_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
21696 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
21697
21698#define ID3D12GraphicsCommandList4_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
21699 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
21700
21701#define ID3D12GraphicsCommandList4_CopyResource(This,pDstResource,pSrcResource) \
21702 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
21703
21704#define ID3D12GraphicsCommandList4_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
21705 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
21706
21707#define ID3D12GraphicsCommandList4_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
21708 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
21709
21710#define ID3D12GraphicsCommandList4_IASetPrimitiveTopology(This,PrimitiveTopology) \
21711 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
21712
21713#define ID3D12GraphicsCommandList4_RSSetViewports(This,NumViewports,pViewports) \
21714 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
21715
21716#define ID3D12GraphicsCommandList4_RSSetScissorRects(This,NumRects,pRects) \
21717 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
21718
21719#define ID3D12GraphicsCommandList4_OMSetBlendFactor(This,BlendFactor) \
21720 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
21721
21722#define ID3D12GraphicsCommandList4_OMSetStencilRef(This,StencilRef) \
21723 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
21724
21725#define ID3D12GraphicsCommandList4_SetPipelineState(This,pPipelineState) \
21726 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
21727
21728#define ID3D12GraphicsCommandList4_ResourceBarrier(This,NumBarriers,pBarriers) \
21729 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
21730
21731#define ID3D12GraphicsCommandList4_ExecuteBundle(This,pCommandList) \
21732 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
21733
21734#define ID3D12GraphicsCommandList4_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
21735 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
21736
21737#define ID3D12GraphicsCommandList4_SetComputeRootSignature(This,pRootSignature) \
21738 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
21739
21740#define ID3D12GraphicsCommandList4_SetGraphicsRootSignature(This,pRootSignature) \
21741 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
21742
21743#define ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
21744 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
21745
21746#define ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
21747 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
21748
21749#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
21750 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
21751
21752#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
21753 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
21754
21755#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
21756 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
21757
21758#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
21759 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
21760
21761#define ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
21762 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
21763
21764#define ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
21765 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
21766
21767#define ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
21768 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
21769
21770#define ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
21771 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
21772
21773#define ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
21774 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
21775
21776#define ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
21777 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
21778
21779#define ID3D12GraphicsCommandList4_IASetIndexBuffer(This,pView) \
21780 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
21781
21782#define ID3D12GraphicsCommandList4_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
21783 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
21784
21785#define ID3D12GraphicsCommandList4_SOSetTargets(This,StartSlot,NumViews,pViews) \
21786 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
21787
21788#define ID3D12GraphicsCommandList4_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
21789 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
21790
21791#define ID3D12GraphicsCommandList4_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
21792 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
21793
21794#define ID3D12GraphicsCommandList4_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
21795 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
21796
21797#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
21798 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
21799
21800#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
21801 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
21802
21803#define ID3D12GraphicsCommandList4_DiscardResource(This,pResource,pRegion) \
21804 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
21805
21806#define ID3D12GraphicsCommandList4_BeginQuery(This,pQueryHeap,Type,Index) \
21807 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
21808
21809#define ID3D12GraphicsCommandList4_EndQuery(This,pQueryHeap,Type,Index) \
21810 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
21811
21812#define ID3D12GraphicsCommandList4_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
21813 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
21814
21815#define ID3D12GraphicsCommandList4_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
21816 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
21817
21818#define ID3D12GraphicsCommandList4_SetMarker(This,Metadata,pData,Size) \
21819 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
21820
21821#define ID3D12GraphicsCommandList4_BeginEvent(This,Metadata,pData,Size) \
21822 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
21823
21824#define ID3D12GraphicsCommandList4_EndEvent(This) \
21825 ( (This)->lpVtbl -> EndEvent(This) )
21826
21827#define ID3D12GraphicsCommandList4_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
21828 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
21829
21830
21831#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
21832 ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
21833
21834#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
21835 ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
21836
21837#define ID3D12GraphicsCommandList4_OMSetDepthBounds(This,Min,Max) \
21838 ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
21839
21840#define ID3D12GraphicsCommandList4_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
21841 ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
21842
21843#define ID3D12GraphicsCommandList4_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
21844 ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
21845
21846#define ID3D12GraphicsCommandList4_SetViewInstanceMask(This,Mask) \
21847 ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
21848
21849
21850#define ID3D12GraphicsCommandList4_WriteBufferImmediate(This,Count,pParams,pModes) \
21851 ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
21852
21853
21854#define ID3D12GraphicsCommandList4_SetProtectedResourceSession(This,pProtectedResourceSession) \
21855 ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
21856
21857
21858#define ID3D12GraphicsCommandList4_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
21859 ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
21860
21861#define ID3D12GraphicsCommandList4_EndRenderPass(This) \
21862 ( (This)->lpVtbl -> EndRenderPass(This) )
21863
21864#define ID3D12GraphicsCommandList4_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
21865 ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
21866
21867#define ID3D12GraphicsCommandList4_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
21868 ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
21869
21870#define ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
21871 ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
21872
21873#define ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
21874 ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
21875
21876#define ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
21877 ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
21878
21879#define ID3D12GraphicsCommandList4_SetPipelineState1(This,pStateObject) \
21880 ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
21881
21882#define ID3D12GraphicsCommandList4_DispatchRays(This,pDesc) \
21883 ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
21884
21885#endif /* COBJMACROS */
21886
21887
21888#endif /* C style interface */
21889
21890
21891
21892
21893#endif /* __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__ */
21894
21895
21896/* interface __MIDL_itf_d3d12_0000_0053 */
21897/* [local] */
21898
21899typedef
21900enum D3D12_SHADER_CACHE_MODE
21901 {
21902 D3D12_SHADER_CACHE_MODE_MEMORY = 0,
21903 D3D12_SHADER_CACHE_MODE_DISK = ( D3D12_SHADER_CACHE_MODE_MEMORY + 1 )
21904 } D3D12_SHADER_CACHE_MODE;
21905
21906typedef
21907enum D3D12_SHADER_CACHE_FLAGS
21908 {
21909 D3D12_SHADER_CACHE_FLAG_NONE = 0,
21910 D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 0x1,
21911 D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 0x2
21912 } D3D12_SHADER_CACHE_FLAGS;
21913
21914DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_FLAGS )
21915typedef struct D3D12_SHADER_CACHE_SESSION_DESC
21916 {
21917 GUID Identifier;
21918 D3D12_SHADER_CACHE_MODE Mode;
21919 D3D12_SHADER_CACHE_FLAGS Flags;
21920 UINT MaximumInMemoryCacheSizeBytes;
21921 UINT MaximumInMemoryCacheEntries;
21922 UINT MaximumValueFileSizeBytes;
21923 UINT64 Version;
21924 } D3D12_SHADER_CACHE_SESSION_DESC;
21925
21926typedef
21927enum D3D12_BARRIER_LAYOUT
21928 {
21929 D3D12_BARRIER_LAYOUT_UNDEFINED = 0xffffffff,
21930 D3D12_BARRIER_LAYOUT_COMMON = 0,
21931 D3D12_BARRIER_LAYOUT_PRESENT = 0,
21932 D3D12_BARRIER_LAYOUT_GENERIC_READ = ( D3D12_BARRIER_LAYOUT_PRESENT + 1 ) ,
21933 D3D12_BARRIER_LAYOUT_RENDER_TARGET = ( D3D12_BARRIER_LAYOUT_GENERIC_READ + 1 ) ,
21934 D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS = ( D3D12_BARRIER_LAYOUT_RENDER_TARGET + 1 ) ,
21935 D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE = ( D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS + 1 ) ,
21936 D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ = ( D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE + 1 ) ,
21937 D3D12_BARRIER_LAYOUT_SHADER_RESOURCE = ( D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ + 1 ) ,
21938 D3D12_BARRIER_LAYOUT_COPY_SOURCE = ( D3D12_BARRIER_LAYOUT_SHADER_RESOURCE + 1 ) ,
21939 D3D12_BARRIER_LAYOUT_COPY_DEST = ( D3D12_BARRIER_LAYOUT_COPY_SOURCE + 1 ) ,
21940 D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE = ( D3D12_BARRIER_LAYOUT_COPY_DEST + 1 ) ,
21941 D3D12_BARRIER_LAYOUT_RESOLVE_DEST = ( D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE + 1 ) ,
21942 D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE = ( D3D12_BARRIER_LAYOUT_RESOLVE_DEST + 1 ) ,
21943 D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ = ( D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE + 1 ) ,
21944 D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE = ( D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ + 1 ) ,
21945 D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ = ( D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE + 1 ) ,
21946 D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE = ( D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ + 1 ) ,
21947 D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ = ( D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE + 1 ) ,
21948 D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE = ( D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ + 1 ) ,
21949 D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON = ( D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE + 1 ) ,
21950 D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON + 1 ) ,
21951 D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ + 1 ) ,
21952 D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS + 1 ) ,
21953 D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE + 1 ) ,
21954 D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE + 1 ) ,
21955 D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST + 1 ) ,
21956 D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON + 1 ) ,
21957 D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ + 1 ) ,
21958 D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS + 1 ) ,
21959 D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE + 1 ) ,
21960 D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE + 1 ) ,
21961 D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST + 1 )
21962 } D3D12_BARRIER_LAYOUT;
21963
21964typedef
21965enum D3D12_BARRIER_SYNC
21966 {
21967 D3D12_BARRIER_SYNC_NONE = 0,
21968 D3D12_BARRIER_SYNC_ALL = 0x1,
21969 D3D12_BARRIER_SYNC_DRAW = 0x2,
21970 D3D12_BARRIER_SYNC_INDEX_INPUT = 0x4,
21971 D3D12_BARRIER_SYNC_VERTEX_SHADING = 0x8,
21972 D3D12_BARRIER_SYNC_PIXEL_SHADING = 0x10,
21973 D3D12_BARRIER_SYNC_DEPTH_STENCIL = 0x20,
21974 D3D12_BARRIER_SYNC_RENDER_TARGET = 0x40,
21975 D3D12_BARRIER_SYNC_COMPUTE_SHADING = 0x80,
21976 D3D12_BARRIER_SYNC_RAYTRACING = 0x100,
21977 D3D12_BARRIER_SYNC_COPY = 0x200,
21978 D3D12_BARRIER_SYNC_RESOLVE = 0x400,
21979 D3D12_BARRIER_SYNC_EXECUTE_INDIRECT = 0x800,
21980 D3D12_BARRIER_SYNC_PREDICATION = 0x800,
21981 D3D12_BARRIER_SYNC_ALL_SHADING = 0x1000,
21982 D3D12_BARRIER_SYNC_NON_PIXEL_SHADING = 0x2000,
21983 D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO = 0x4000,
21984 D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW = 0x8000,
21985 D3D12_BARRIER_SYNC_VIDEO_DECODE = 0x100000,
21986 D3D12_BARRIER_SYNC_VIDEO_PROCESS = 0x200000,
21987 D3D12_BARRIER_SYNC_VIDEO_ENCODE = 0x400000,
21988 D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE = 0x800000,
21989 D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE = 0x1000000,
21990 D3D12_BARRIER_SYNC_SPLIT = 0x80000000
21991 } D3D12_BARRIER_SYNC;
21992
21993DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_SYNC )
21994typedef
21995enum D3D12_BARRIER_ACCESS
21996 {
21997 D3D12_BARRIER_ACCESS_COMMON = 0,
21998 D3D12_BARRIER_ACCESS_VERTEX_BUFFER = 0x1,
21999 D3D12_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2,
22000 D3D12_BARRIER_ACCESS_INDEX_BUFFER = 0x4,
22001 D3D12_BARRIER_ACCESS_RENDER_TARGET = 0x8,
22002 D3D12_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10,
22003 D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20,
22004 D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40,
22005 D3D12_BARRIER_ACCESS_SHADER_RESOURCE = 0x80,
22006 D3D12_BARRIER_ACCESS_STREAM_OUTPUT = 0x100,
22007 D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200,
22008 D3D12_BARRIER_ACCESS_PREDICATION = 0x200,
22009 D3D12_BARRIER_ACCESS_COPY_DEST = 0x400,
22010 D3D12_BARRIER_ACCESS_COPY_SOURCE = 0x800,
22011 D3D12_BARRIER_ACCESS_RESOLVE_DEST = 0x1000,
22012 D3D12_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000,
22013 D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000,
22014 D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000,
22015 D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000,
22016 D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000,
22017 D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000,
22018 D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000,
22019 D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000,
22020 D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000,
22021 D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000,
22022 D3D12_BARRIER_ACCESS_NO_ACCESS = 0x80000000
22023 } D3D12_BARRIER_ACCESS;
22024
22025DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_ACCESS )
22026typedef
22027enum D3D12_BARRIER_TYPE
22028 {
22029 D3D12_BARRIER_TYPE_GLOBAL = 0,
22030 D3D12_BARRIER_TYPE_TEXTURE = ( D3D12_BARRIER_TYPE_GLOBAL + 1 ) ,
22031 D3D12_BARRIER_TYPE_BUFFER = ( D3D12_BARRIER_TYPE_TEXTURE + 1 )
22032 } D3D12_BARRIER_TYPE;
22033
22034typedef
22035enum D3D12_TEXTURE_BARRIER_FLAGS
22036 {
22037 D3D12_TEXTURE_BARRIER_FLAG_NONE = 0,
22038 D3D12_TEXTURE_BARRIER_FLAG_DISCARD = 0x1
22039 } D3D12_TEXTURE_BARRIER_FLAGS;
22040
22041DEFINE_ENUM_FLAG_OPERATORS( D3D12_TEXTURE_BARRIER_FLAGS )
22042typedef struct D3D12_BARRIER_SUBRESOURCE_RANGE
22043 {
22044 UINT IndexOrFirstMipLevel;
22045 UINT NumMipLevels;
22046 UINT FirstArraySlice;
22047 UINT NumArraySlices;
22048 UINT FirstPlane;
22049 UINT NumPlanes;
22050 } D3D12_BARRIER_SUBRESOURCE_RANGE;
22051
22052typedef struct D3D12_GLOBAL_BARRIER
22053 {
22054 D3D12_BARRIER_SYNC SyncBefore;
22055 D3D12_BARRIER_SYNC SyncAfter;
22056 D3D12_BARRIER_ACCESS AccessBefore;
22057 D3D12_BARRIER_ACCESS AccessAfter;
22058 } D3D12_GLOBAL_BARRIER;
22059
22060typedef struct D3D12_TEXTURE_BARRIER
22061 {
22062 D3D12_BARRIER_SYNC SyncBefore;
22063 D3D12_BARRIER_SYNC SyncAfter;
22064 D3D12_BARRIER_ACCESS AccessBefore;
22065 D3D12_BARRIER_ACCESS AccessAfter;
22066 D3D12_BARRIER_LAYOUT LayoutBefore;
22067 D3D12_BARRIER_LAYOUT LayoutAfter;
22068 _In_ ID3D12Resource *pResource;
22069 D3D12_BARRIER_SUBRESOURCE_RANGE Subresources;
22070 D3D12_TEXTURE_BARRIER_FLAGS Flags;
22071 } D3D12_TEXTURE_BARRIER;
22072
22073typedef struct D3D12_BUFFER_BARRIER
22074 {
22075 D3D12_BARRIER_SYNC SyncBefore;
22076 D3D12_BARRIER_SYNC SyncAfter;
22077 D3D12_BARRIER_ACCESS AccessBefore;
22078 D3D12_BARRIER_ACCESS AccessAfter;
22079 _In_ ID3D12Resource *pResource;
22080 UINT64 Offset;
22081 UINT64 Size;
22082 } D3D12_BUFFER_BARRIER;
22083
22084typedef struct D3D12_BARRIER_GROUP
22085 {
22086 D3D12_BARRIER_TYPE Type;
22087 UINT32 NumBarriers;
22088 union
22089 {
22090 _In_reads_(NumBarriers) const D3D12_GLOBAL_BARRIER *pGlobalBarriers;
22091 _In_reads_(NumBarriers) const D3D12_TEXTURE_BARRIER *pTextureBarriers;
22092 _In_reads_(NumBarriers) const D3D12_BUFFER_BARRIER *pBufferBarriers;
22093 } ;
22094 } D3D12_BARRIER_GROUP;
22095
22096
22097
22098extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0053_v0_0_c_ifspec;
22099extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0053_v0_0_s_ifspec;
22100
22101#ifndef __ID3D12ShaderCacheSession_INTERFACE_DEFINED__
22102#define __ID3D12ShaderCacheSession_INTERFACE_DEFINED__
22103
22104/* interface ID3D12ShaderCacheSession */
22105/* [unique][local][object][uuid] */
22106
22107
22108EXTERN_C const IID IID_ID3D12ShaderCacheSession;
22109
22110#if defined(__cplusplus) && !defined(CINTERFACE)
22111
22112 MIDL_INTERFACE("28e2495d-0f64-4ae4-a6ec-129255dc49a8")
22113 ID3D12ShaderCacheSession : public ID3D12DeviceChild
22114 {
22115 public:
22116 virtual HRESULT STDMETHODCALLTYPE FindValue(
22117 /* [annotation][in] */
22118 _In_reads_bytes_(KeySize) const void *pKey,
22119 UINT KeySize,
22120 /* [annotation][out] */
22121 _Out_writes_bytes_(*pValueSize) void *pValue,
22122 _Inout_ UINT *pValueSize) = 0;
22123
22124 virtual HRESULT STDMETHODCALLTYPE StoreValue(
22125 /* [annotation][in] */
22126 _In_reads_bytes_(KeySize) const void *pKey,
22127 UINT KeySize,
22128 /* [annotation][in] */
22129 _In_reads_bytes_(ValueSize) const void *pValue,
22130 UINT ValueSize) = 0;
22131
22132 virtual void STDMETHODCALLTYPE SetDeleteOnDestroy( void) = 0;
22133
22134#if defined(_MSC_VER) || !defined(_WIN32)
22135 virtual D3D12_SHADER_CACHE_SESSION_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
22136#else
22137 virtual D3D12_SHADER_CACHE_SESSION_DESC *STDMETHODCALLTYPE GetDesc(
22138 D3D12_SHADER_CACHE_SESSION_DESC * RetVal) = 0;
22139#endif
22140
22141 };
22142
22143
22144#else /* C style interface */
22145
22146 typedef struct ID3D12ShaderCacheSessionVtbl
22147 {
22148 BEGIN_INTERFACE
22149
22150 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
22151 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
22152 ID3D12ShaderCacheSession * This,
22153 REFIID riid,
22154 _COM_Outptr_ void **ppvObject);
22155
22156 DECLSPEC_XFGVIRT(IUnknown, AddRef)
22157 ULONG ( STDMETHODCALLTYPE *AddRef )(
22158 ID3D12ShaderCacheSession * This);
22159
22160 DECLSPEC_XFGVIRT(IUnknown, Release)
22161 ULONG ( STDMETHODCALLTYPE *Release )(
22162 ID3D12ShaderCacheSession * This);
22163
22164 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
22165 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
22166 ID3D12ShaderCacheSession * This,
22167 _In_ REFGUID guid,
22168 _Inout_ UINT *pDataSize,
22169 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
22170
22171 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
22172 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
22173 ID3D12ShaderCacheSession * This,
22174 _In_ REFGUID guid,
22175 _In_ UINT DataSize,
22176 _In_reads_bytes_opt_( DataSize ) const void *pData);
22177
22178 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
22179 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
22180 ID3D12ShaderCacheSession * This,
22181 _In_ REFGUID guid,
22182 _In_opt_ const IUnknown *pData);
22183
22184 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
22185 HRESULT ( STDMETHODCALLTYPE *SetName )(
22186 ID3D12ShaderCacheSession * This,
22187 _In_z_ LPCWSTR Name);
22188
22189 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
22190 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
22191 ID3D12ShaderCacheSession * This,
22192 REFIID riid,
22193 _COM_Outptr_opt_ void **ppvDevice);
22194
22195 DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, FindValue)
22196 HRESULT ( STDMETHODCALLTYPE *FindValue )(
22197 ID3D12ShaderCacheSession * This,
22198 /* [annotation][in] */
22199 _In_reads_bytes_(KeySize) const void *pKey,
22200 UINT KeySize,
22201 /* [annotation][out] */
22202 _Out_writes_bytes_(*pValueSize) void *pValue,
22203 _Inout_ UINT *pValueSize);
22204
22205 DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, StoreValue)
22206 HRESULT ( STDMETHODCALLTYPE *StoreValue )(
22207 ID3D12ShaderCacheSession * This,
22208 /* [annotation][in] */
22209 _In_reads_bytes_(KeySize) const void *pKey,
22210 UINT KeySize,
22211 /* [annotation][in] */
22212 _In_reads_bytes_(ValueSize) const void *pValue,
22213 UINT ValueSize);
22214
22215 DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, SetDeleteOnDestroy)
22216 void ( STDMETHODCALLTYPE *SetDeleteOnDestroy )(
22217 ID3D12ShaderCacheSession * This);
22218
22219 DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, GetDesc)
22220#if !defined(_WIN32)
22221 D3D12_SHADER_CACHE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )(
22222 ID3D12ShaderCacheSession * This);
22223
22224#else
22225 D3D12_SHADER_CACHE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )(
22226 ID3D12ShaderCacheSession * This,
22227 D3D12_SHADER_CACHE_SESSION_DESC * RetVal);
22228
22229#endif
22230
22231 END_INTERFACE
22232 } ID3D12ShaderCacheSessionVtbl;
22233
22234 interface ID3D12ShaderCacheSession
22235 {
22236 CONST_VTBL struct ID3D12ShaderCacheSessionVtbl *lpVtbl;
22237 };
22238
22239
22240
22241#ifdef COBJMACROS
22242
22243
22244#define ID3D12ShaderCacheSession_QueryInterface(This,riid,ppvObject) \
22245 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
22246
22247#define ID3D12ShaderCacheSession_AddRef(This) \
22248 ( (This)->lpVtbl -> AddRef(This) )
22249
22250#define ID3D12ShaderCacheSession_Release(This) \
22251 ( (This)->lpVtbl -> Release(This) )
22252
22253
22254#define ID3D12ShaderCacheSession_GetPrivateData(This,guid,pDataSize,pData) \
22255 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
22256
22257#define ID3D12ShaderCacheSession_SetPrivateData(This,guid,DataSize,pData) \
22258 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
22259
22260#define ID3D12ShaderCacheSession_SetPrivateDataInterface(This,guid,pData) \
22261 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
22262
22263#define ID3D12ShaderCacheSession_SetName(This,Name) \
22264 ( (This)->lpVtbl -> SetName(This,Name) )
22265
22266
22267#define ID3D12ShaderCacheSession_GetDevice(This,riid,ppvDevice) \
22268 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
22269
22270
22271#define ID3D12ShaderCacheSession_FindValue(This,pKey,KeySize,pValue,pValueSize) \
22272 ( (This)->lpVtbl -> FindValue(This,pKey,KeySize,pValue,pValueSize) )
22273
22274#define ID3D12ShaderCacheSession_StoreValue(This,pKey,KeySize,pValue,ValueSize) \
22275 ( (This)->lpVtbl -> StoreValue(This,pKey,KeySize,pValue,ValueSize) )
22276
22277#define ID3D12ShaderCacheSession_SetDeleteOnDestroy(This) \
22278 ( (This)->lpVtbl -> SetDeleteOnDestroy(This) )
22279#if !defined(_WIN32)
22280
22281#define ID3D12ShaderCacheSession_GetDesc(This) \
22282 ( (This)->lpVtbl -> GetDesc(This) )
22283#else
22284#define ID3D12ShaderCacheSession_GetDesc(This,RetVal) \
22285 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
22286#endif
22287
22288#endif /* COBJMACROS */
22289
22290
22291#endif /* C style interface */
22292
22293
22294
22295
22296#endif /* __ID3D12ShaderCacheSession_INTERFACE_DEFINED__ */
22297
22298
22299/* interface __MIDL_itf_d3d12_0000_0054 */
22300/* [local] */
22301
22302typedef
22303enum D3D12_SHADER_CACHE_KIND_FLAGS
22304 {
22305 D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 0x1,
22306 D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 0x2,
22307 D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 0x4,
22308 D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 0x8
22309 } D3D12_SHADER_CACHE_KIND_FLAGS;
22310
22311DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_KIND_FLAGS )
22312typedef
22313enum D3D12_SHADER_CACHE_CONTROL_FLAGS
22314 {
22315 D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 0x1,
22316 D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 0x2,
22317 D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 0x4
22318 } D3D12_SHADER_CACHE_CONTROL_FLAGS;
22319
22320DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_CONTROL_FLAGS )
22321
22322
22323extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0054_v0_0_c_ifspec;
22324extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0054_v0_0_s_ifspec;
22325
22326#ifndef __ID3D12Device9_INTERFACE_DEFINED__
22327#define __ID3D12Device9_INTERFACE_DEFINED__
22328
22329/* interface ID3D12Device9 */
22330/* [unique][local][object][uuid] */
22331
22332
22333EXTERN_C const IID IID_ID3D12Device9;
22334
22335#if defined(__cplusplus) && !defined(CINTERFACE)
22336
22337 MIDL_INTERFACE("4c80e962-f032-4f60-bc9e-ebc2cfa1d83c")
22338 ID3D12Device9 : public ID3D12Device8
22339 {
22340 public:
22341 virtual HRESULT STDMETHODCALLTYPE CreateShaderCacheSession(
22342 _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
22343 REFIID riid,
22344 _COM_Outptr_opt_ void **ppvSession) = 0;
22345
22346 virtual HRESULT STDMETHODCALLTYPE ShaderCacheControl(
22347 D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
22348 D3D12_SHADER_CACHE_CONTROL_FLAGS Control) = 0;
22349
22350 virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue1(
22351 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
22352 REFIID CreatorID,
22353 REFIID riid,
22354 _COM_Outptr_ void **ppCommandQueue) = 0;
22355
22356 };
22357
22358
22359#else /* C style interface */
22360
22361 typedef struct ID3D12Device9Vtbl
22362 {
22363 BEGIN_INTERFACE
22364
22365 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
22366 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
22367 ID3D12Device9 * This,
22368 REFIID riid,
22369 _COM_Outptr_ void **ppvObject);
22370
22371 DECLSPEC_XFGVIRT(IUnknown, AddRef)
22372 ULONG ( STDMETHODCALLTYPE *AddRef )(
22373 ID3D12Device9 * This);
22374
22375 DECLSPEC_XFGVIRT(IUnknown, Release)
22376 ULONG ( STDMETHODCALLTYPE *Release )(
22377 ID3D12Device9 * This);
22378
22379 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
22380 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
22381 ID3D12Device9 * This,
22382 _In_ REFGUID guid,
22383 _Inout_ UINT *pDataSize,
22384 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
22385
22386 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
22387 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
22388 ID3D12Device9 * This,
22389 _In_ REFGUID guid,
22390 _In_ UINT DataSize,
22391 _In_reads_bytes_opt_( DataSize ) const void *pData);
22392
22393 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
22394 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
22395 ID3D12Device9 * This,
22396 _In_ REFGUID guid,
22397 _In_opt_ const IUnknown *pData);
22398
22399 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
22400 HRESULT ( STDMETHODCALLTYPE *SetName )(
22401 ID3D12Device9 * This,
22402 _In_z_ LPCWSTR Name);
22403
22404 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
22405 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
22406 ID3D12Device9 * This);
22407
22408 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
22409 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
22410 ID3D12Device9 * This,
22411 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
22412 REFIID riid,
22413 _COM_Outptr_ void **ppCommandQueue);
22414
22415 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
22416 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
22417 ID3D12Device9 * This,
22418 _In_ D3D12_COMMAND_LIST_TYPE type,
22419 REFIID riid,
22420 _COM_Outptr_ void **ppCommandAllocator);
22421
22422 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
22423 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
22424 ID3D12Device9 * This,
22425 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
22426 REFIID riid,
22427 _COM_Outptr_ void **ppPipelineState);
22428
22429 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
22430 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
22431 ID3D12Device9 * This,
22432 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
22433 REFIID riid,
22434 _COM_Outptr_ void **ppPipelineState);
22435
22436 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
22437 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
22438 ID3D12Device9 * This,
22439 _In_ UINT nodeMask,
22440 _In_ D3D12_COMMAND_LIST_TYPE type,
22441 _In_ ID3D12CommandAllocator *pCommandAllocator,
22442 _In_opt_ ID3D12PipelineState *pInitialState,
22443 REFIID riid,
22444 _COM_Outptr_ void **ppCommandList);
22445
22446 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
22447 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
22448 ID3D12Device9 * This,
22449 D3D12_FEATURE Feature,
22450 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
22451 UINT FeatureSupportDataSize);
22452
22453 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
22454 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
22455 ID3D12Device9 * This,
22456 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
22457 REFIID riid,
22458 _COM_Outptr_ void **ppvHeap);
22459
22460 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
22461 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
22462 ID3D12Device9 * This,
22463 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
22464
22465 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
22466 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
22467 ID3D12Device9 * This,
22468 _In_ UINT nodeMask,
22469 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
22470 _In_ SIZE_T blobLengthInBytes,
22471 REFIID riid,
22472 _COM_Outptr_ void **ppvRootSignature);
22473
22474 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
22475 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
22476 ID3D12Device9 * This,
22477 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
22478 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
22479
22480 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
22481 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
22482 ID3D12Device9 * This,
22483 _In_opt_ ID3D12Resource *pResource,
22484 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
22485 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
22486
22487 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
22488 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
22489 ID3D12Device9 * This,
22490 _In_opt_ ID3D12Resource *pResource,
22491 _In_opt_ ID3D12Resource *pCounterResource,
22492 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
22493 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
22494
22495 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
22496 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
22497 ID3D12Device9 * This,
22498 _In_opt_ ID3D12Resource *pResource,
22499 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
22500 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
22501
22502 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
22503 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
22504 ID3D12Device9 * This,
22505 _In_opt_ ID3D12Resource *pResource,
22506 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
22507 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
22508
22509 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
22510 void ( STDMETHODCALLTYPE *CreateSampler )(
22511 ID3D12Device9 * This,
22512 _In_ const D3D12_SAMPLER_DESC *pDesc,
22513 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
22514
22515 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
22516 void ( STDMETHODCALLTYPE *CopyDescriptors )(
22517 ID3D12Device9 * This,
22518 _In_ UINT NumDestDescriptorRanges,
22519 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
22520 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
22521 _In_ UINT NumSrcDescriptorRanges,
22522 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
22523 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
22524 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
22525
22526 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
22527 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
22528 ID3D12Device9 * This,
22529 _In_ UINT NumDescriptors,
22530 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
22531 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
22532 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
22533
22534 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
22535#if !defined(_WIN32)
22536 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
22537 ID3D12Device9 * This,
22538 _In_ UINT visibleMask,
22539 _In_ UINT numResourceDescs,
22540 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
22541
22542#else
22543 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
22544 ID3D12Device9 * This,
22545 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
22546 _In_ UINT visibleMask,
22547 _In_ UINT numResourceDescs,
22548 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
22549
22550#endif
22551
22552 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
22553#if !defined(_WIN32)
22554 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
22555 ID3D12Device9 * This,
22556 _In_ UINT nodeMask,
22557 D3D12_HEAP_TYPE heapType);
22558
22559#else
22560 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
22561 ID3D12Device9 * This,
22562 D3D12_HEAP_PROPERTIES * RetVal,
22563 _In_ UINT nodeMask,
22564 D3D12_HEAP_TYPE heapType);
22565
22566#endif
22567
22568 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
22569 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
22570 ID3D12Device9 * This,
22571 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
22572 D3D12_HEAP_FLAGS HeapFlags,
22573 _In_ const D3D12_RESOURCE_DESC *pDesc,
22574 D3D12_RESOURCE_STATES InitialResourceState,
22575 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
22576 REFIID riidResource,
22577 _COM_Outptr_opt_ void **ppvResource);
22578
22579 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
22580 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
22581 ID3D12Device9 * This,
22582 _In_ const D3D12_HEAP_DESC *pDesc,
22583 REFIID riid,
22584 _COM_Outptr_opt_ void **ppvHeap);
22585
22586 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
22587 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
22588 ID3D12Device9 * This,
22589 _In_ ID3D12Heap *pHeap,
22590 UINT64 HeapOffset,
22591 _In_ const D3D12_RESOURCE_DESC *pDesc,
22592 D3D12_RESOURCE_STATES InitialState,
22593 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
22594 REFIID riid,
22595 _COM_Outptr_opt_ void **ppvResource);
22596
22597 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
22598 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
22599 ID3D12Device9 * This,
22600 _In_ const D3D12_RESOURCE_DESC *pDesc,
22601 D3D12_RESOURCE_STATES InitialState,
22602 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
22603 REFIID riid,
22604 _COM_Outptr_opt_ void **ppvResource);
22605
22606 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
22607 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
22608 ID3D12Device9 * This,
22609 _In_ ID3D12DeviceChild *pObject,
22610 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
22611 DWORD Access,
22612 _In_opt_ LPCWSTR Name,
22613 _Out_ HANDLE *pHandle);
22614
22615 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
22616 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
22617 ID3D12Device9 * This,
22618 _In_ HANDLE NTHandle,
22619 REFIID riid,
22620 _COM_Outptr_opt_ void **ppvObj);
22621
22622 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
22623 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
22624 ID3D12Device9 * This,
22625 _In_ LPCWSTR Name,
22626 DWORD Access,
22627 /* [annotation][out] */
22628 _Out_ HANDLE *pNTHandle);
22629
22630 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
22631 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
22632 ID3D12Device9 * This,
22633 UINT NumObjects,
22634 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
22635
22636 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
22637 HRESULT ( STDMETHODCALLTYPE *Evict )(
22638 ID3D12Device9 * This,
22639 UINT NumObjects,
22640 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
22641
22642 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
22643 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
22644 ID3D12Device9 * This,
22645 UINT64 InitialValue,
22646 D3D12_FENCE_FLAGS Flags,
22647 REFIID riid,
22648 _COM_Outptr_ void **ppFence);
22649
22650 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
22651 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
22652 ID3D12Device9 * This);
22653
22654 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
22655 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
22656 ID3D12Device9 * This,
22657 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
22658 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
22659 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
22660 UINT64 BaseOffset,
22661 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
22662 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
22663 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
22664 _Out_opt_ UINT64 *pTotalBytes);
22665
22666 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
22667 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
22668 ID3D12Device9 * This,
22669 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
22670 REFIID riid,
22671 _COM_Outptr_opt_ void **ppvHeap);
22672
22673 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
22674 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
22675 ID3D12Device9 * This,
22676 BOOL Enable);
22677
22678 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
22679 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
22680 ID3D12Device9 * This,
22681 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
22682 _In_opt_ ID3D12RootSignature *pRootSignature,
22683 REFIID riid,
22684 _COM_Outptr_opt_ void **ppvCommandSignature);
22685
22686 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
22687 void ( STDMETHODCALLTYPE *GetResourceTiling )(
22688 ID3D12Device9 * This,
22689 _In_ ID3D12Resource *pTiledResource,
22690 _Out_opt_ UINT *pNumTilesForEntireResource,
22691 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
22692 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
22693 _Inout_opt_ UINT *pNumSubresourceTilings,
22694 _In_ UINT FirstSubresourceTilingToGet,
22695 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
22696
22697 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
22698#if !defined(_WIN32)
22699 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
22700 ID3D12Device9 * This);
22701
22702#else
22703 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
22704 ID3D12Device9 * This,
22705 LUID * RetVal);
22706
22707#endif
22708
22709 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
22710 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
22711 ID3D12Device9 * This,
22712 _In_reads_(BlobLength) const void *pLibraryBlob,
22713 SIZE_T BlobLength,
22714 REFIID riid,
22715 _COM_Outptr_ void **ppPipelineLibrary);
22716
22717 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
22718 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
22719 ID3D12Device9 * This,
22720 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
22721 _In_reads_(NumFences) const UINT64 *pFenceValues,
22722 UINT NumFences,
22723 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
22724 HANDLE hEvent);
22725
22726 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
22727 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
22728 ID3D12Device9 * This,
22729 UINT NumObjects,
22730 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
22731 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
22732
22733 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
22734 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
22735 ID3D12Device9 * This,
22736 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
22737 REFIID riid,
22738 _COM_Outptr_ void **ppPipelineState);
22739
22740 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
22741 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
22742 ID3D12Device9 * This,
22743 _In_ const void *pAddress,
22744 REFIID riid,
22745 _COM_Outptr_ void **ppvHeap);
22746
22747 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
22748 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
22749 ID3D12Device9 * This,
22750 _In_ HANDLE hFileMapping,
22751 REFIID riid,
22752 _COM_Outptr_ void **ppvHeap);
22753
22754 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
22755 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
22756 ID3D12Device9 * This,
22757 D3D12_RESIDENCY_FLAGS Flags,
22758 UINT NumObjects,
22759 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
22760 _In_ ID3D12Fence *pFenceToSignal,
22761 UINT64 FenceValueToSignal);
22762
22763 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
22764 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
22765 ID3D12Device9 * This,
22766 _In_ UINT nodeMask,
22767 _In_ D3D12_COMMAND_LIST_TYPE type,
22768 _In_ D3D12_COMMAND_LIST_FLAGS flags,
22769 REFIID riid,
22770 _COM_Outptr_ void **ppCommandList);
22771
22772 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
22773 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
22774 ID3D12Device9 * This,
22775 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
22776 _In_ REFIID riid,
22777 _COM_Outptr_ void **ppSession);
22778
22779 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
22780 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
22781 ID3D12Device9 * This,
22782 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
22783 D3D12_HEAP_FLAGS HeapFlags,
22784 _In_ const D3D12_RESOURCE_DESC *pDesc,
22785 D3D12_RESOURCE_STATES InitialResourceState,
22786 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
22787 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
22788 REFIID riidResource,
22789 _COM_Outptr_opt_ void **ppvResource);
22790
22791 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
22792 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
22793 ID3D12Device9 * This,
22794 _In_ const D3D12_HEAP_DESC *pDesc,
22795 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
22796 REFIID riid,
22797 _COM_Outptr_opt_ void **ppvHeap);
22798
22799 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
22800 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
22801 ID3D12Device9 * This,
22802 _In_ const D3D12_RESOURCE_DESC *pDesc,
22803 D3D12_RESOURCE_STATES InitialState,
22804 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
22805 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
22806 REFIID riid,
22807 _COM_Outptr_opt_ void **ppvResource);
22808
22809 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
22810#if !defined(_WIN32)
22811 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
22812 ID3D12Device9 * This,
22813 UINT visibleMask,
22814 UINT numResourceDescs,
22815 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
22816 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
22817
22818#else
22819 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
22820 ID3D12Device9 * This,
22821 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
22822 UINT visibleMask,
22823 UINT numResourceDescs,
22824 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
22825 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
22826
22827#endif
22828
22829 DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
22830 HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
22831 ID3D12Device9 * This,
22832 _In_ ID3D12LifetimeOwner *pOwner,
22833 REFIID riid,
22834 _COM_Outptr_ void **ppvTracker);
22835
22836 DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
22837 void ( STDMETHODCALLTYPE *RemoveDevice )(
22838 ID3D12Device9 * This);
22839
22840 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
22841 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
22842 ID3D12Device9 * This,
22843 _Inout_ UINT *pNumMetaCommands,
22844 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
22845
22846 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
22847 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
22848 ID3D12Device9 * This,
22849 _In_ REFGUID CommandId,
22850 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
22851 _Out_opt_ UINT *pTotalStructureSizeInBytes,
22852 _Inout_ UINT *pParameterCount,
22853 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
22854
22855 DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
22856 HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
22857 ID3D12Device9 * This,
22858 _In_ REFGUID CommandId,
22859 _In_ UINT NodeMask,
22860 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
22861 _In_ SIZE_T CreationParametersDataSizeInBytes,
22862 REFIID riid,
22863 _COM_Outptr_ void **ppMetaCommand);
22864
22865 DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
22866 HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
22867 ID3D12Device9 * This,
22868 const D3D12_STATE_OBJECT_DESC *pDesc,
22869 REFIID riid,
22870 _COM_Outptr_ void **ppStateObject);
22871
22872 DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
22873 void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
22874 ID3D12Device9 * This,
22875 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
22876 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
22877
22878 DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
22879 D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
22880 ID3D12Device9 * This,
22881 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
22882 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
22883
22884 DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
22885 HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
22886 ID3D12Device9 * This,
22887 D3D12_BACKGROUND_PROCESSING_MODE Mode,
22888 D3D12_MEASUREMENTS_ACTION MeasurementsAction,
22889 _In_opt_ HANDLE hEventToSignalUponCompletion,
22890 _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
22891
22892 DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
22893 HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
22894 ID3D12Device9 * This,
22895 const D3D12_STATE_OBJECT_DESC *pAddition,
22896 ID3D12StateObject *pStateObjectToGrowFrom,
22897 REFIID riid,
22898 _COM_Outptr_ void **ppNewStateObject);
22899
22900 DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
22901 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
22902 ID3D12Device9 * This,
22903 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
22904 _In_ REFIID riid,
22905 _COM_Outptr_ void **ppSession);
22906
22907 DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
22908#if !defined(_WIN32)
22909 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
22910 ID3D12Device9 * This,
22911 UINT visibleMask,
22912 UINT numResourceDescs,
22913 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
22914 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
22915
22916#else
22917 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
22918 ID3D12Device9 * This,
22919 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
22920 UINT visibleMask,
22921 UINT numResourceDescs,
22922 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
22923 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
22924
22925#endif
22926
22927 DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
22928 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
22929 ID3D12Device9 * This,
22930 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
22931 D3D12_HEAP_FLAGS HeapFlags,
22932 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
22933 D3D12_RESOURCE_STATES InitialResourceState,
22934 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
22935 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
22936 REFIID riidResource,
22937 _COM_Outptr_opt_ void **ppvResource);
22938
22939 DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
22940 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
22941 ID3D12Device9 * This,
22942 _In_ ID3D12Heap *pHeap,
22943 UINT64 HeapOffset,
22944 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
22945 D3D12_RESOURCE_STATES InitialState,
22946 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
22947 REFIID riid,
22948 _COM_Outptr_opt_ void **ppvResource);
22949
22950 DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
22951 void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
22952 ID3D12Device9 * This,
22953 _In_opt_ ID3D12Resource *pTargetedResource,
22954 _In_opt_ ID3D12Resource *pFeedbackResource,
22955 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
22956
22957 DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
22958 void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
22959 ID3D12Device9 * This,
22960 _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
22961 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
22962 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
22963 UINT64 BaseOffset,
22964 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
22965 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
22966 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
22967 _Out_opt_ UINT64 *pTotalBytes);
22968
22969 DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
22970 HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
22971 ID3D12Device9 * This,
22972 _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
22973 REFIID riid,
22974 _COM_Outptr_opt_ void **ppvSession);
22975
22976 DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
22977 HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
22978 ID3D12Device9 * This,
22979 D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
22980 D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
22981
22982 DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
22983 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
22984 ID3D12Device9 * This,
22985 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
22986 REFIID CreatorID,
22987 REFIID riid,
22988 _COM_Outptr_ void **ppCommandQueue);
22989
22990 END_INTERFACE
22991 } ID3D12Device9Vtbl;
22992
22993 interface ID3D12Device9
22994 {
22995 CONST_VTBL struct ID3D12Device9Vtbl *lpVtbl;
22996 };
22997
22998
22999
23000#ifdef COBJMACROS
23001
23002
23003#define ID3D12Device9_QueryInterface(This,riid,ppvObject) \
23004 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
23005
23006#define ID3D12Device9_AddRef(This) \
23007 ( (This)->lpVtbl -> AddRef(This) )
23008
23009#define ID3D12Device9_Release(This) \
23010 ( (This)->lpVtbl -> Release(This) )
23011
23012
23013#define ID3D12Device9_GetPrivateData(This,guid,pDataSize,pData) \
23014 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
23015
23016#define ID3D12Device9_SetPrivateData(This,guid,DataSize,pData) \
23017 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
23018
23019#define ID3D12Device9_SetPrivateDataInterface(This,guid,pData) \
23020 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
23021
23022#define ID3D12Device9_SetName(This,Name) \
23023 ( (This)->lpVtbl -> SetName(This,Name) )
23024
23025
23026#define ID3D12Device9_GetNodeCount(This) \
23027 ( (This)->lpVtbl -> GetNodeCount(This) )
23028
23029#define ID3D12Device9_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
23030 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
23031
23032#define ID3D12Device9_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
23033 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
23034
23035#define ID3D12Device9_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
23036 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
23037
23038#define ID3D12Device9_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
23039 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
23040
23041#define ID3D12Device9_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
23042 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
23043
23044#define ID3D12Device9_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
23045 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
23046
23047#define ID3D12Device9_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
23048 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
23049
23050#define ID3D12Device9_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
23051 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
23052
23053#define ID3D12Device9_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
23054 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
23055
23056#define ID3D12Device9_CreateConstantBufferView(This,pDesc,DestDescriptor) \
23057 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
23058
23059#define ID3D12Device9_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
23060 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
23061
23062#define ID3D12Device9_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
23063 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
23064
23065#define ID3D12Device9_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
23066 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
23067
23068#define ID3D12Device9_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
23069 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
23070
23071#define ID3D12Device9_CreateSampler(This,pDesc,DestDescriptor) \
23072 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
23073
23074#define ID3D12Device9_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
23075 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
23076
23077#define ID3D12Device9_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
23078 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
23079#if !defined(_WIN32)
23080
23081#define ID3D12Device9_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
23082 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
23083#else
23084#define ID3D12Device9_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
23085 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
23086#endif
23087#if !defined(_WIN32)
23088
23089#define ID3D12Device9_GetCustomHeapProperties(This,nodeMask,heapType) \
23090 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
23091#else
23092#define ID3D12Device9_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
23093 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
23094#endif
23095
23096#define ID3D12Device9_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
23097 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
23098
23099#define ID3D12Device9_CreateHeap(This,pDesc,riid,ppvHeap) \
23100 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
23101
23102#define ID3D12Device9_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
23103 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
23104
23105#define ID3D12Device9_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
23106 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
23107
23108#define ID3D12Device9_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
23109 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
23110
23111#define ID3D12Device9_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
23112 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
23113
23114#define ID3D12Device9_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
23115 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
23116
23117#define ID3D12Device9_MakeResident(This,NumObjects,ppObjects) \
23118 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
23119
23120#define ID3D12Device9_Evict(This,NumObjects,ppObjects) \
23121 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
23122
23123#define ID3D12Device9_CreateFence(This,InitialValue,Flags,riid,ppFence) \
23124 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
23125
23126#define ID3D12Device9_GetDeviceRemovedReason(This) \
23127 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
23128
23129#define ID3D12Device9_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
23130 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
23131
23132#define ID3D12Device9_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
23133 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
23134
23135#define ID3D12Device9_SetStablePowerState(This,Enable) \
23136 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
23137
23138#define ID3D12Device9_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
23139 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
23140
23141#define ID3D12Device9_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
23142 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
23143#if !defined(_WIN32)
23144
23145#define ID3D12Device9_GetAdapterLuid(This) \
23146 ( (This)->lpVtbl -> GetAdapterLuid(This) )
23147#else
23148#define ID3D12Device9_GetAdapterLuid(This,RetVal) \
23149 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
23150#endif
23151
23152
23153#define ID3D12Device9_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
23154 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
23155
23156#define ID3D12Device9_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
23157 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
23158
23159#define ID3D12Device9_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
23160 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
23161
23162
23163#define ID3D12Device9_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
23164 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
23165
23166
23167#define ID3D12Device9_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
23168 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
23169
23170#define ID3D12Device9_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
23171 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
23172
23173#define ID3D12Device9_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
23174 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
23175
23176
23177#define ID3D12Device9_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
23178 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
23179
23180#define ID3D12Device9_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
23181 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
23182
23183#define ID3D12Device9_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
23184 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
23185
23186#define ID3D12Device9_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
23187 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
23188
23189#define ID3D12Device9_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
23190 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
23191#if !defined(_WIN32)
23192
23193#define ID3D12Device9_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
23194 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
23195#else
23196#define ID3D12Device9_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
23197 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
23198#endif
23199
23200
23201#define ID3D12Device9_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
23202 ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
23203
23204#define ID3D12Device9_RemoveDevice(This) \
23205 ( (This)->lpVtbl -> RemoveDevice(This) )
23206
23207#define ID3D12Device9_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
23208 ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
23209
23210#define ID3D12Device9_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
23211 ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
23212
23213#define ID3D12Device9_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
23214 ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
23215
23216#define ID3D12Device9_CreateStateObject(This,pDesc,riid,ppStateObject) \
23217 ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
23218
23219#define ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
23220 ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
23221
23222#define ID3D12Device9_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
23223 ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
23224
23225
23226#define ID3D12Device9_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
23227 ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
23228
23229
23230#define ID3D12Device9_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
23231 ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
23232
23233#define ID3D12Device9_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
23234 ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
23235
23236#if !defined(_WIN32)
23237
23238#define ID3D12Device9_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
23239 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
23240#else
23241#define ID3D12Device9_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
23242 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
23243#endif
23244
23245#define ID3D12Device9_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
23246 ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
23247
23248#define ID3D12Device9_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
23249 ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
23250
23251#define ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
23252 ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
23253
23254#define ID3D12Device9_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
23255 ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
23256
23257
23258#define ID3D12Device9_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
23259 ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
23260
23261#define ID3D12Device9_ShaderCacheControl(This,Kinds,Control) \
23262 ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
23263
23264#define ID3D12Device9_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
23265 ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
23266
23267#endif /* COBJMACROS */
23268
23269
23270#endif /* C style interface */
23271
23272
23273
23274
23275#endif /* __ID3D12Device9_INTERFACE_DEFINED__ */
23276
23277
23278#ifndef __ID3D12Device10_INTERFACE_DEFINED__
23279#define __ID3D12Device10_INTERFACE_DEFINED__
23280
23281/* interface ID3D12Device10 */
23282/* [unique][local][object][uuid] */
23283
23284
23285EXTERN_C const IID IID_ID3D12Device10;
23286
23287#if defined(__cplusplus) && !defined(CINTERFACE)
23288
23289 MIDL_INTERFACE("517f8718-aa66-49f9-b02b-a7ab89c06031")
23290 ID3D12Device10 : public ID3D12Device9
23291 {
23292 public:
23293 virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource3(
23294 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
23295 D3D12_HEAP_FLAGS HeapFlags,
23296 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
23297 D3D12_BARRIER_LAYOUT InitialLayout,
23298 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23299 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
23300 UINT32 NumCastableFormats,
23301 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
23302 REFIID riidResource,
23303 _COM_Outptr_opt_ void **ppvResource) = 0;
23304
23305 virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource2(
23306 _In_ ID3D12Heap *pHeap,
23307 UINT64 HeapOffset,
23308 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
23309 D3D12_BARRIER_LAYOUT InitialLayout,
23310 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23311 UINT32 NumCastableFormats,
23312 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
23313 REFIID riid,
23314 _COM_Outptr_opt_ void **ppvResource) = 0;
23315
23316 virtual HRESULT STDMETHODCALLTYPE CreateReservedResource2(
23317 _In_ const D3D12_RESOURCE_DESC *pDesc,
23318 D3D12_BARRIER_LAYOUT InitialLayout,
23319 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23320 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
23321 UINT32 NumCastableFormats,
23322 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
23323 REFIID riid,
23324 _COM_Outptr_opt_ void **ppvResource) = 0;
23325
23326 };
23327
23328
23329#else /* C style interface */
23330
23331 typedef struct ID3D12Device10Vtbl
23332 {
23333 BEGIN_INTERFACE
23334
23335 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
23336 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
23337 ID3D12Device10 * This,
23338 REFIID riid,
23339 _COM_Outptr_ void **ppvObject);
23340
23341 DECLSPEC_XFGVIRT(IUnknown, AddRef)
23342 ULONG ( STDMETHODCALLTYPE *AddRef )(
23343 ID3D12Device10 * This);
23344
23345 DECLSPEC_XFGVIRT(IUnknown, Release)
23346 ULONG ( STDMETHODCALLTYPE *Release )(
23347 ID3D12Device10 * This);
23348
23349 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
23350 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
23351 ID3D12Device10 * This,
23352 _In_ REFGUID guid,
23353 _Inout_ UINT *pDataSize,
23354 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
23355
23356 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
23357 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
23358 ID3D12Device10 * This,
23359 _In_ REFGUID guid,
23360 _In_ UINT DataSize,
23361 _In_reads_bytes_opt_( DataSize ) const void *pData);
23362
23363 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
23364 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
23365 ID3D12Device10 * This,
23366 _In_ REFGUID guid,
23367 _In_opt_ const IUnknown *pData);
23368
23369 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
23370 HRESULT ( STDMETHODCALLTYPE *SetName )(
23371 ID3D12Device10 * This,
23372 _In_z_ LPCWSTR Name);
23373
23374 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
23375 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
23376 ID3D12Device10 * This);
23377
23378 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
23379 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
23380 ID3D12Device10 * This,
23381 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
23382 REFIID riid,
23383 _COM_Outptr_ void **ppCommandQueue);
23384
23385 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
23386 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
23387 ID3D12Device10 * This,
23388 _In_ D3D12_COMMAND_LIST_TYPE type,
23389 REFIID riid,
23390 _COM_Outptr_ void **ppCommandAllocator);
23391
23392 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
23393 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
23394 ID3D12Device10 * This,
23395 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
23396 REFIID riid,
23397 _COM_Outptr_ void **ppPipelineState);
23398
23399 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
23400 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
23401 ID3D12Device10 * This,
23402 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
23403 REFIID riid,
23404 _COM_Outptr_ void **ppPipelineState);
23405
23406 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
23407 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
23408 ID3D12Device10 * This,
23409 _In_ UINT nodeMask,
23410 _In_ D3D12_COMMAND_LIST_TYPE type,
23411 _In_ ID3D12CommandAllocator *pCommandAllocator,
23412 _In_opt_ ID3D12PipelineState *pInitialState,
23413 REFIID riid,
23414 _COM_Outptr_ void **ppCommandList);
23415
23416 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
23417 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
23418 ID3D12Device10 * This,
23419 D3D12_FEATURE Feature,
23420 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
23421 UINT FeatureSupportDataSize);
23422
23423 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
23424 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
23425 ID3D12Device10 * This,
23426 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
23427 REFIID riid,
23428 _COM_Outptr_ void **ppvHeap);
23429
23430 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
23431 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
23432 ID3D12Device10 * This,
23433 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
23434
23435 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
23436 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
23437 ID3D12Device10 * This,
23438 _In_ UINT nodeMask,
23439 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
23440 _In_ SIZE_T blobLengthInBytes,
23441 REFIID riid,
23442 _COM_Outptr_ void **ppvRootSignature);
23443
23444 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
23445 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
23446 ID3D12Device10 * This,
23447 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
23448 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
23449
23450 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
23451 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
23452 ID3D12Device10 * This,
23453 _In_opt_ ID3D12Resource *pResource,
23454 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
23455 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
23456
23457 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
23458 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
23459 ID3D12Device10 * This,
23460 _In_opt_ ID3D12Resource *pResource,
23461 _In_opt_ ID3D12Resource *pCounterResource,
23462 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
23463 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
23464
23465 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
23466 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
23467 ID3D12Device10 * This,
23468 _In_opt_ ID3D12Resource *pResource,
23469 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
23470 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
23471
23472 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
23473 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
23474 ID3D12Device10 * This,
23475 _In_opt_ ID3D12Resource *pResource,
23476 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
23477 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
23478
23479 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
23480 void ( STDMETHODCALLTYPE *CreateSampler )(
23481 ID3D12Device10 * This,
23482 _In_ const D3D12_SAMPLER_DESC *pDesc,
23483 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
23484
23485 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
23486 void ( STDMETHODCALLTYPE *CopyDescriptors )(
23487 ID3D12Device10 * This,
23488 _In_ UINT NumDestDescriptorRanges,
23489 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
23490 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
23491 _In_ UINT NumSrcDescriptorRanges,
23492 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
23493 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
23494 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
23495
23496 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
23497 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
23498 ID3D12Device10 * This,
23499 _In_ UINT NumDescriptors,
23500 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
23501 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
23502 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
23503
23504 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
23505#if !defined(_WIN32)
23506 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
23507 ID3D12Device10 * This,
23508 _In_ UINT visibleMask,
23509 _In_ UINT numResourceDescs,
23510 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
23511
23512#else
23513 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
23514 ID3D12Device10 * This,
23515 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
23516 _In_ UINT visibleMask,
23517 _In_ UINT numResourceDescs,
23518 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
23519
23520#endif
23521
23522 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
23523#if !defined(_WIN32)
23524 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
23525 ID3D12Device10 * This,
23526 _In_ UINT nodeMask,
23527 D3D12_HEAP_TYPE heapType);
23528
23529#else
23530 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
23531 ID3D12Device10 * This,
23532 D3D12_HEAP_PROPERTIES * RetVal,
23533 _In_ UINT nodeMask,
23534 D3D12_HEAP_TYPE heapType);
23535
23536#endif
23537
23538 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
23539 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
23540 ID3D12Device10 * This,
23541 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
23542 D3D12_HEAP_FLAGS HeapFlags,
23543 _In_ const D3D12_RESOURCE_DESC *pDesc,
23544 D3D12_RESOURCE_STATES InitialResourceState,
23545 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23546 REFIID riidResource,
23547 _COM_Outptr_opt_ void **ppvResource);
23548
23549 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
23550 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
23551 ID3D12Device10 * This,
23552 _In_ const D3D12_HEAP_DESC *pDesc,
23553 REFIID riid,
23554 _COM_Outptr_opt_ void **ppvHeap);
23555
23556 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
23557 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
23558 ID3D12Device10 * This,
23559 _In_ ID3D12Heap *pHeap,
23560 UINT64 HeapOffset,
23561 _In_ const D3D12_RESOURCE_DESC *pDesc,
23562 D3D12_RESOURCE_STATES InitialState,
23563 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23564 REFIID riid,
23565 _COM_Outptr_opt_ void **ppvResource);
23566
23567 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
23568 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
23569 ID3D12Device10 * This,
23570 _In_ const D3D12_RESOURCE_DESC *pDesc,
23571 D3D12_RESOURCE_STATES InitialState,
23572 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23573 REFIID riid,
23574 _COM_Outptr_opt_ void **ppvResource);
23575
23576 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
23577 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
23578 ID3D12Device10 * This,
23579 _In_ ID3D12DeviceChild *pObject,
23580 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
23581 DWORD Access,
23582 _In_opt_ LPCWSTR Name,
23583 _Out_ HANDLE *pHandle);
23584
23585 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
23586 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
23587 ID3D12Device10 * This,
23588 _In_ HANDLE NTHandle,
23589 REFIID riid,
23590 _COM_Outptr_opt_ void **ppvObj);
23591
23592 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
23593 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
23594 ID3D12Device10 * This,
23595 _In_ LPCWSTR Name,
23596 DWORD Access,
23597 /* [annotation][out] */
23598 _Out_ HANDLE *pNTHandle);
23599
23600 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
23601 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
23602 ID3D12Device10 * This,
23603 UINT NumObjects,
23604 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
23605
23606 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
23607 HRESULT ( STDMETHODCALLTYPE *Evict )(
23608 ID3D12Device10 * This,
23609 UINT NumObjects,
23610 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
23611
23612 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
23613 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
23614 ID3D12Device10 * This,
23615 UINT64 InitialValue,
23616 D3D12_FENCE_FLAGS Flags,
23617 REFIID riid,
23618 _COM_Outptr_ void **ppFence);
23619
23620 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
23621 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
23622 ID3D12Device10 * This);
23623
23624 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
23625 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
23626 ID3D12Device10 * This,
23627 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
23628 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
23629 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
23630 UINT64 BaseOffset,
23631 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
23632 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
23633 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
23634 _Out_opt_ UINT64 *pTotalBytes);
23635
23636 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
23637 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
23638 ID3D12Device10 * This,
23639 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
23640 REFIID riid,
23641 _COM_Outptr_opt_ void **ppvHeap);
23642
23643 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
23644 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
23645 ID3D12Device10 * This,
23646 BOOL Enable);
23647
23648 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
23649 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
23650 ID3D12Device10 * This,
23651 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
23652 _In_opt_ ID3D12RootSignature *pRootSignature,
23653 REFIID riid,
23654 _COM_Outptr_opt_ void **ppvCommandSignature);
23655
23656 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
23657 void ( STDMETHODCALLTYPE *GetResourceTiling )(
23658 ID3D12Device10 * This,
23659 _In_ ID3D12Resource *pTiledResource,
23660 _Out_opt_ UINT *pNumTilesForEntireResource,
23661 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
23662 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
23663 _Inout_opt_ UINT *pNumSubresourceTilings,
23664 _In_ UINT FirstSubresourceTilingToGet,
23665 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
23666
23667 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
23668#if !defined(_WIN32)
23669 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
23670 ID3D12Device10 * This);
23671
23672#else
23673 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
23674 ID3D12Device10 * This,
23675 LUID * RetVal);
23676
23677#endif
23678
23679 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
23680 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
23681 ID3D12Device10 * This,
23682 _In_reads_(BlobLength) const void *pLibraryBlob,
23683 SIZE_T BlobLength,
23684 REFIID riid,
23685 _COM_Outptr_ void **ppPipelineLibrary);
23686
23687 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
23688 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
23689 ID3D12Device10 * This,
23690 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
23691 _In_reads_(NumFences) const UINT64 *pFenceValues,
23692 UINT NumFences,
23693 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
23694 HANDLE hEvent);
23695
23696 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
23697 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
23698 ID3D12Device10 * This,
23699 UINT NumObjects,
23700 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
23701 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
23702
23703 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
23704 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
23705 ID3D12Device10 * This,
23706 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
23707 REFIID riid,
23708 _COM_Outptr_ void **ppPipelineState);
23709
23710 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
23711 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
23712 ID3D12Device10 * This,
23713 _In_ const void *pAddress,
23714 REFIID riid,
23715 _COM_Outptr_ void **ppvHeap);
23716
23717 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
23718 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
23719 ID3D12Device10 * This,
23720 _In_ HANDLE hFileMapping,
23721 REFIID riid,
23722 _COM_Outptr_ void **ppvHeap);
23723
23724 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
23725 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
23726 ID3D12Device10 * This,
23727 D3D12_RESIDENCY_FLAGS Flags,
23728 UINT NumObjects,
23729 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
23730 _In_ ID3D12Fence *pFenceToSignal,
23731 UINT64 FenceValueToSignal);
23732
23733 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
23734 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
23735 ID3D12Device10 * This,
23736 _In_ UINT nodeMask,
23737 _In_ D3D12_COMMAND_LIST_TYPE type,
23738 _In_ D3D12_COMMAND_LIST_FLAGS flags,
23739 REFIID riid,
23740 _COM_Outptr_ void **ppCommandList);
23741
23742 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
23743 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
23744 ID3D12Device10 * This,
23745 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
23746 _In_ REFIID riid,
23747 _COM_Outptr_ void **ppSession);
23748
23749 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
23750 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
23751 ID3D12Device10 * This,
23752 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
23753 D3D12_HEAP_FLAGS HeapFlags,
23754 _In_ const D3D12_RESOURCE_DESC *pDesc,
23755 D3D12_RESOURCE_STATES InitialResourceState,
23756 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23757 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
23758 REFIID riidResource,
23759 _COM_Outptr_opt_ void **ppvResource);
23760
23761 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
23762 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
23763 ID3D12Device10 * This,
23764 _In_ const D3D12_HEAP_DESC *pDesc,
23765 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
23766 REFIID riid,
23767 _COM_Outptr_opt_ void **ppvHeap);
23768
23769 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
23770 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
23771 ID3D12Device10 * This,
23772 _In_ const D3D12_RESOURCE_DESC *pDesc,
23773 D3D12_RESOURCE_STATES InitialState,
23774 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23775 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
23776 REFIID riid,
23777 _COM_Outptr_opt_ void **ppvResource);
23778
23779 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
23780#if !defined(_WIN32)
23781 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
23782 ID3D12Device10 * This,
23783 UINT visibleMask,
23784 UINT numResourceDescs,
23785 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
23786 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
23787
23788#else
23789 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
23790 ID3D12Device10 * This,
23791 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
23792 UINT visibleMask,
23793 UINT numResourceDescs,
23794 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
23795 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
23796
23797#endif
23798
23799 DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
23800 HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
23801 ID3D12Device10 * This,
23802 _In_ ID3D12LifetimeOwner *pOwner,
23803 REFIID riid,
23804 _COM_Outptr_ void **ppvTracker);
23805
23806 DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
23807 void ( STDMETHODCALLTYPE *RemoveDevice )(
23808 ID3D12Device10 * This);
23809
23810 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
23811 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
23812 ID3D12Device10 * This,
23813 _Inout_ UINT *pNumMetaCommands,
23814 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
23815
23816 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
23817 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
23818 ID3D12Device10 * This,
23819 _In_ REFGUID CommandId,
23820 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
23821 _Out_opt_ UINT *pTotalStructureSizeInBytes,
23822 _Inout_ UINT *pParameterCount,
23823 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
23824
23825 DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
23826 HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
23827 ID3D12Device10 * This,
23828 _In_ REFGUID CommandId,
23829 _In_ UINT NodeMask,
23830 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
23831 _In_ SIZE_T CreationParametersDataSizeInBytes,
23832 REFIID riid,
23833 _COM_Outptr_ void **ppMetaCommand);
23834
23835 DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
23836 HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
23837 ID3D12Device10 * This,
23838 const D3D12_STATE_OBJECT_DESC *pDesc,
23839 REFIID riid,
23840 _COM_Outptr_ void **ppStateObject);
23841
23842 DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
23843 void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
23844 ID3D12Device10 * This,
23845 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
23846 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
23847
23848 DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
23849 D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
23850 ID3D12Device10 * This,
23851 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
23852 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
23853
23854 DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
23855 HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
23856 ID3D12Device10 * This,
23857 D3D12_BACKGROUND_PROCESSING_MODE Mode,
23858 D3D12_MEASUREMENTS_ACTION MeasurementsAction,
23859 _In_opt_ HANDLE hEventToSignalUponCompletion,
23860 _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
23861
23862 DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
23863 HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
23864 ID3D12Device10 * This,
23865 const D3D12_STATE_OBJECT_DESC *pAddition,
23866 ID3D12StateObject *pStateObjectToGrowFrom,
23867 REFIID riid,
23868 _COM_Outptr_ void **ppNewStateObject);
23869
23870 DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
23871 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
23872 ID3D12Device10 * This,
23873 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
23874 _In_ REFIID riid,
23875 _COM_Outptr_ void **ppSession);
23876
23877 DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
23878#if !defined(_WIN32)
23879 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
23880 ID3D12Device10 * This,
23881 UINT visibleMask,
23882 UINT numResourceDescs,
23883 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
23884 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
23885
23886#else
23887 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
23888 ID3D12Device10 * This,
23889 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
23890 UINT visibleMask,
23891 UINT numResourceDescs,
23892 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
23893 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
23894
23895#endif
23896
23897 DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
23898 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
23899 ID3D12Device10 * This,
23900 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
23901 D3D12_HEAP_FLAGS HeapFlags,
23902 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
23903 D3D12_RESOURCE_STATES InitialResourceState,
23904 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23905 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
23906 REFIID riidResource,
23907 _COM_Outptr_opt_ void **ppvResource);
23908
23909 DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
23910 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
23911 ID3D12Device10 * This,
23912 _In_ ID3D12Heap *pHeap,
23913 UINT64 HeapOffset,
23914 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
23915 D3D12_RESOURCE_STATES InitialState,
23916 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23917 REFIID riid,
23918 _COM_Outptr_opt_ void **ppvResource);
23919
23920 DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
23921 void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
23922 ID3D12Device10 * This,
23923 _In_opt_ ID3D12Resource *pTargetedResource,
23924 _In_opt_ ID3D12Resource *pFeedbackResource,
23925 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
23926
23927 DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
23928 void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
23929 ID3D12Device10 * This,
23930 _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
23931 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
23932 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
23933 UINT64 BaseOffset,
23934 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
23935 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
23936 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
23937 _Out_opt_ UINT64 *pTotalBytes);
23938
23939 DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
23940 HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
23941 ID3D12Device10 * This,
23942 _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
23943 REFIID riid,
23944 _COM_Outptr_opt_ void **ppvSession);
23945
23946 DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
23947 HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
23948 ID3D12Device10 * This,
23949 D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
23950 D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
23951
23952 DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
23953 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
23954 ID3D12Device10 * This,
23955 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
23956 REFIID CreatorID,
23957 REFIID riid,
23958 _COM_Outptr_ void **ppCommandQueue);
23959
23960 DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
23961 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
23962 ID3D12Device10 * This,
23963 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
23964 D3D12_HEAP_FLAGS HeapFlags,
23965 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
23966 D3D12_BARRIER_LAYOUT InitialLayout,
23967 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23968 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
23969 UINT32 NumCastableFormats,
23970 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
23971 REFIID riidResource,
23972 _COM_Outptr_opt_ void **ppvResource);
23973
23974 DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
23975 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
23976 ID3D12Device10 * This,
23977 _In_ ID3D12Heap *pHeap,
23978 UINT64 HeapOffset,
23979 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
23980 D3D12_BARRIER_LAYOUT InitialLayout,
23981 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23982 UINT32 NumCastableFormats,
23983 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
23984 REFIID riid,
23985 _COM_Outptr_opt_ void **ppvResource);
23986
23987 DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
23988 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
23989 ID3D12Device10 * This,
23990 _In_ const D3D12_RESOURCE_DESC *pDesc,
23991 D3D12_BARRIER_LAYOUT InitialLayout,
23992 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
23993 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
23994 UINT32 NumCastableFormats,
23995 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
23996 REFIID riid,
23997 _COM_Outptr_opt_ void **ppvResource);
23998
23999 END_INTERFACE
24000 } ID3D12Device10Vtbl;
24001
24002 interface ID3D12Device10
24003 {
24004 CONST_VTBL struct ID3D12Device10Vtbl *lpVtbl;
24005 };
24006
24007
24008
24009#ifdef COBJMACROS
24010
24011
24012#define ID3D12Device10_QueryInterface(This,riid,ppvObject) \
24013 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
24014
24015#define ID3D12Device10_AddRef(This) \
24016 ( (This)->lpVtbl -> AddRef(This) )
24017
24018#define ID3D12Device10_Release(This) \
24019 ( (This)->lpVtbl -> Release(This) )
24020
24021
24022#define ID3D12Device10_GetPrivateData(This,guid,pDataSize,pData) \
24023 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
24024
24025#define ID3D12Device10_SetPrivateData(This,guid,DataSize,pData) \
24026 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
24027
24028#define ID3D12Device10_SetPrivateDataInterface(This,guid,pData) \
24029 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
24030
24031#define ID3D12Device10_SetName(This,Name) \
24032 ( (This)->lpVtbl -> SetName(This,Name) )
24033
24034
24035#define ID3D12Device10_GetNodeCount(This) \
24036 ( (This)->lpVtbl -> GetNodeCount(This) )
24037
24038#define ID3D12Device10_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
24039 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
24040
24041#define ID3D12Device10_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
24042 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
24043
24044#define ID3D12Device10_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
24045 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
24046
24047#define ID3D12Device10_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
24048 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
24049
24050#define ID3D12Device10_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
24051 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
24052
24053#define ID3D12Device10_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
24054 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
24055
24056#define ID3D12Device10_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
24057 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
24058
24059#define ID3D12Device10_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
24060 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
24061
24062#define ID3D12Device10_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
24063 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
24064
24065#define ID3D12Device10_CreateConstantBufferView(This,pDesc,DestDescriptor) \
24066 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
24067
24068#define ID3D12Device10_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
24069 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
24070
24071#define ID3D12Device10_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
24072 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
24073
24074#define ID3D12Device10_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
24075 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
24076
24077#define ID3D12Device10_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
24078 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
24079
24080#define ID3D12Device10_CreateSampler(This,pDesc,DestDescriptor) \
24081 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
24082
24083#define ID3D12Device10_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
24084 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
24085
24086#define ID3D12Device10_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
24087 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
24088#if !defined(_WIN32)
24089
24090#define ID3D12Device10_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
24091 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
24092#else
24093#define ID3D12Device10_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
24094 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
24095#endif
24096#if !defined(_WIN32)
24097
24098#define ID3D12Device10_GetCustomHeapProperties(This,nodeMask,heapType) \
24099 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
24100#else
24101#define ID3D12Device10_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
24102 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
24103#endif
24104
24105#define ID3D12Device10_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
24106 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
24107
24108#define ID3D12Device10_CreateHeap(This,pDesc,riid,ppvHeap) \
24109 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
24110
24111#define ID3D12Device10_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
24112 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
24113
24114#define ID3D12Device10_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
24115 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
24116
24117#define ID3D12Device10_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
24118 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
24119
24120#define ID3D12Device10_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
24121 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
24122
24123#define ID3D12Device10_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
24124 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
24125
24126#define ID3D12Device10_MakeResident(This,NumObjects,ppObjects) \
24127 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
24128
24129#define ID3D12Device10_Evict(This,NumObjects,ppObjects) \
24130 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
24131
24132#define ID3D12Device10_CreateFence(This,InitialValue,Flags,riid,ppFence) \
24133 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
24134
24135#define ID3D12Device10_GetDeviceRemovedReason(This) \
24136 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
24137
24138#define ID3D12Device10_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
24139 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
24140
24141#define ID3D12Device10_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
24142 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
24143
24144#define ID3D12Device10_SetStablePowerState(This,Enable) \
24145 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
24146
24147#define ID3D12Device10_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
24148 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
24149
24150#define ID3D12Device10_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
24151 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
24152#if !defined(_WIN32)
24153
24154#define ID3D12Device10_GetAdapterLuid(This) \
24155 ( (This)->lpVtbl -> GetAdapterLuid(This) )
24156#else
24157#define ID3D12Device10_GetAdapterLuid(This,RetVal) \
24158 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
24159#endif
24160
24161
24162#define ID3D12Device10_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
24163 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
24164
24165#define ID3D12Device10_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
24166 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
24167
24168#define ID3D12Device10_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
24169 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
24170
24171
24172#define ID3D12Device10_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
24173 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
24174
24175
24176#define ID3D12Device10_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
24177 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
24178
24179#define ID3D12Device10_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
24180 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
24181
24182#define ID3D12Device10_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
24183 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
24184
24185
24186#define ID3D12Device10_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
24187 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
24188
24189#define ID3D12Device10_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
24190 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
24191
24192#define ID3D12Device10_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
24193 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
24194
24195#define ID3D12Device10_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
24196 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
24197
24198#define ID3D12Device10_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
24199 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
24200#if !defined(_WIN32)
24201
24202#define ID3D12Device10_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
24203 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
24204#else
24205#define ID3D12Device10_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
24206 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
24207#endif
24208
24209
24210#define ID3D12Device10_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
24211 ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
24212
24213#define ID3D12Device10_RemoveDevice(This) \
24214 ( (This)->lpVtbl -> RemoveDevice(This) )
24215
24216#define ID3D12Device10_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
24217 ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
24218
24219#define ID3D12Device10_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
24220 ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
24221
24222#define ID3D12Device10_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
24223 ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
24224
24225#define ID3D12Device10_CreateStateObject(This,pDesc,riid,ppStateObject) \
24226 ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
24227
24228#define ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
24229 ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
24230
24231#define ID3D12Device10_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
24232 ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
24233
24234
24235#define ID3D12Device10_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
24236 ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
24237
24238
24239#define ID3D12Device10_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
24240 ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
24241
24242#define ID3D12Device10_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
24243 ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
24244
24245#if !defined(_WIN32)
24246
24247#define ID3D12Device10_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
24248 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
24249#else
24250#define ID3D12Device10_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
24251 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
24252#endif
24253
24254#define ID3D12Device10_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
24255 ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
24256
24257#define ID3D12Device10_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
24258 ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
24259
24260#define ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
24261 ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
24262
24263#define ID3D12Device10_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
24264 ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
24265
24266
24267#define ID3D12Device10_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
24268 ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
24269
24270#define ID3D12Device10_ShaderCacheControl(This,Kinds,Control) \
24271 ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
24272
24273#define ID3D12Device10_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
24274 ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
24275
24276
24277#define ID3D12Device10_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
24278 ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
24279
24280#define ID3D12Device10_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
24281 ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
24282
24283#define ID3D12Device10_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
24284 ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
24285
24286#endif /* COBJMACROS */
24287
24288
24289#endif /* C style interface */
24290
24291
24292
24293
24294#endif /* __ID3D12Device10_INTERFACE_DEFINED__ */
24295
24296
24297#ifndef __ID3D12Device11_INTERFACE_DEFINED__
24298#define __ID3D12Device11_INTERFACE_DEFINED__
24299
24300/* interface ID3D12Device11 */
24301/* [unique][local][object][uuid] */
24302
24303
24304EXTERN_C const IID IID_ID3D12Device11;
24305
24306#if defined(__cplusplus) && !defined(CINTERFACE)
24307
24308 MIDL_INTERFACE("5405c344-d457-444e-b4dd-2366e45aee39")
24309 ID3D12Device11 : public ID3D12Device10
24310 {
24311 public:
24312 virtual void STDMETHODCALLTYPE CreateSampler2(
24313 _In_ const D3D12_SAMPLER_DESC2 *pDesc,
24314 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
24315
24316 };
24317
24318
24319#else /* C style interface */
24320
24321 typedef struct ID3D12Device11Vtbl
24322 {
24323 BEGIN_INTERFACE
24324
24325 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
24326 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
24327 ID3D12Device11 * This,
24328 REFIID riid,
24329 _COM_Outptr_ void **ppvObject);
24330
24331 DECLSPEC_XFGVIRT(IUnknown, AddRef)
24332 ULONG ( STDMETHODCALLTYPE *AddRef )(
24333 ID3D12Device11 * This);
24334
24335 DECLSPEC_XFGVIRT(IUnknown, Release)
24336 ULONG ( STDMETHODCALLTYPE *Release )(
24337 ID3D12Device11 * This);
24338
24339 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
24340 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
24341 ID3D12Device11 * This,
24342 _In_ REFGUID guid,
24343 _Inout_ UINT *pDataSize,
24344 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
24345
24346 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
24347 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
24348 ID3D12Device11 * This,
24349 _In_ REFGUID guid,
24350 _In_ UINT DataSize,
24351 _In_reads_bytes_opt_( DataSize ) const void *pData);
24352
24353 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
24354 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
24355 ID3D12Device11 * This,
24356 _In_ REFGUID guid,
24357 _In_opt_ const IUnknown *pData);
24358
24359 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
24360 HRESULT ( STDMETHODCALLTYPE *SetName )(
24361 ID3D12Device11 * This,
24362 _In_z_ LPCWSTR Name);
24363
24364 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
24365 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
24366 ID3D12Device11 * This);
24367
24368 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
24369 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
24370 ID3D12Device11 * This,
24371 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
24372 REFIID riid,
24373 _COM_Outptr_ void **ppCommandQueue);
24374
24375 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
24376 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
24377 ID3D12Device11 * This,
24378 _In_ D3D12_COMMAND_LIST_TYPE type,
24379 REFIID riid,
24380 _COM_Outptr_ void **ppCommandAllocator);
24381
24382 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
24383 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
24384 ID3D12Device11 * This,
24385 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
24386 REFIID riid,
24387 _COM_Outptr_ void **ppPipelineState);
24388
24389 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
24390 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
24391 ID3D12Device11 * This,
24392 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
24393 REFIID riid,
24394 _COM_Outptr_ void **ppPipelineState);
24395
24396 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
24397 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
24398 ID3D12Device11 * This,
24399 _In_ UINT nodeMask,
24400 _In_ D3D12_COMMAND_LIST_TYPE type,
24401 _In_ ID3D12CommandAllocator *pCommandAllocator,
24402 _In_opt_ ID3D12PipelineState *pInitialState,
24403 REFIID riid,
24404 _COM_Outptr_ void **ppCommandList);
24405
24406 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
24407 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
24408 ID3D12Device11 * This,
24409 D3D12_FEATURE Feature,
24410 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
24411 UINT FeatureSupportDataSize);
24412
24413 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
24414 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
24415 ID3D12Device11 * This,
24416 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
24417 REFIID riid,
24418 _COM_Outptr_ void **ppvHeap);
24419
24420 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
24421 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
24422 ID3D12Device11 * This,
24423 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
24424
24425 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
24426 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
24427 ID3D12Device11 * This,
24428 _In_ UINT nodeMask,
24429 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
24430 _In_ SIZE_T blobLengthInBytes,
24431 REFIID riid,
24432 _COM_Outptr_ void **ppvRootSignature);
24433
24434 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
24435 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
24436 ID3D12Device11 * This,
24437 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
24438 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
24439
24440 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
24441 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
24442 ID3D12Device11 * This,
24443 _In_opt_ ID3D12Resource *pResource,
24444 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
24445 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
24446
24447 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
24448 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
24449 ID3D12Device11 * This,
24450 _In_opt_ ID3D12Resource *pResource,
24451 _In_opt_ ID3D12Resource *pCounterResource,
24452 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
24453 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
24454
24455 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
24456 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
24457 ID3D12Device11 * This,
24458 _In_opt_ ID3D12Resource *pResource,
24459 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
24460 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
24461
24462 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
24463 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
24464 ID3D12Device11 * This,
24465 _In_opt_ ID3D12Resource *pResource,
24466 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
24467 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
24468
24469 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
24470 void ( STDMETHODCALLTYPE *CreateSampler )(
24471 ID3D12Device11 * This,
24472 _In_ const D3D12_SAMPLER_DESC *pDesc,
24473 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
24474
24475 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
24476 void ( STDMETHODCALLTYPE *CopyDescriptors )(
24477 ID3D12Device11 * This,
24478 _In_ UINT NumDestDescriptorRanges,
24479 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
24480 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
24481 _In_ UINT NumSrcDescriptorRanges,
24482 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
24483 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
24484 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
24485
24486 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
24487 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
24488 ID3D12Device11 * This,
24489 _In_ UINT NumDescriptors,
24490 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
24491 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
24492 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
24493
24494 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
24495#if !defined(_WIN32)
24496 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
24497 ID3D12Device11 * This,
24498 _In_ UINT visibleMask,
24499 _In_ UINT numResourceDescs,
24500 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
24501
24502#else
24503 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
24504 ID3D12Device11 * This,
24505 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
24506 _In_ UINT visibleMask,
24507 _In_ UINT numResourceDescs,
24508 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
24509
24510#endif
24511
24512 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
24513#if !defined(_WIN32)
24514 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
24515 ID3D12Device11 * This,
24516 _In_ UINT nodeMask,
24517 D3D12_HEAP_TYPE heapType);
24518
24519#else
24520 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
24521 ID3D12Device11 * This,
24522 D3D12_HEAP_PROPERTIES * RetVal,
24523 _In_ UINT nodeMask,
24524 D3D12_HEAP_TYPE heapType);
24525
24526#endif
24527
24528 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
24529 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
24530 ID3D12Device11 * This,
24531 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
24532 D3D12_HEAP_FLAGS HeapFlags,
24533 _In_ const D3D12_RESOURCE_DESC *pDesc,
24534 D3D12_RESOURCE_STATES InitialResourceState,
24535 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
24536 REFIID riidResource,
24537 _COM_Outptr_opt_ void **ppvResource);
24538
24539 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
24540 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
24541 ID3D12Device11 * This,
24542 _In_ const D3D12_HEAP_DESC *pDesc,
24543 REFIID riid,
24544 _COM_Outptr_opt_ void **ppvHeap);
24545
24546 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
24547 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
24548 ID3D12Device11 * This,
24549 _In_ ID3D12Heap *pHeap,
24550 UINT64 HeapOffset,
24551 _In_ const D3D12_RESOURCE_DESC *pDesc,
24552 D3D12_RESOURCE_STATES InitialState,
24553 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
24554 REFIID riid,
24555 _COM_Outptr_opt_ void **ppvResource);
24556
24557 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
24558 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
24559 ID3D12Device11 * This,
24560 _In_ const D3D12_RESOURCE_DESC *pDesc,
24561 D3D12_RESOURCE_STATES InitialState,
24562 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
24563 REFIID riid,
24564 _COM_Outptr_opt_ void **ppvResource);
24565
24566 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
24567 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
24568 ID3D12Device11 * This,
24569 _In_ ID3D12DeviceChild *pObject,
24570 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
24571 DWORD Access,
24572 _In_opt_ LPCWSTR Name,
24573 _Out_ HANDLE *pHandle);
24574
24575 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
24576 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
24577 ID3D12Device11 * This,
24578 _In_ HANDLE NTHandle,
24579 REFIID riid,
24580 _COM_Outptr_opt_ void **ppvObj);
24581
24582 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
24583 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
24584 ID3D12Device11 * This,
24585 _In_ LPCWSTR Name,
24586 DWORD Access,
24587 /* [annotation][out] */
24588 _Out_ HANDLE *pNTHandle);
24589
24590 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
24591 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
24592 ID3D12Device11 * This,
24593 UINT NumObjects,
24594 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
24595
24596 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
24597 HRESULT ( STDMETHODCALLTYPE *Evict )(
24598 ID3D12Device11 * This,
24599 UINT NumObjects,
24600 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
24601
24602 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
24603 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
24604 ID3D12Device11 * This,
24605 UINT64 InitialValue,
24606 D3D12_FENCE_FLAGS Flags,
24607 REFIID riid,
24608 _COM_Outptr_ void **ppFence);
24609
24610 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
24611 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
24612 ID3D12Device11 * This);
24613
24614 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
24615 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
24616 ID3D12Device11 * This,
24617 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
24618 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
24619 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
24620 UINT64 BaseOffset,
24621 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
24622 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
24623 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
24624 _Out_opt_ UINT64 *pTotalBytes);
24625
24626 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
24627 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
24628 ID3D12Device11 * This,
24629 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
24630 REFIID riid,
24631 _COM_Outptr_opt_ void **ppvHeap);
24632
24633 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
24634 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
24635 ID3D12Device11 * This,
24636 BOOL Enable);
24637
24638 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
24639 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
24640 ID3D12Device11 * This,
24641 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
24642 _In_opt_ ID3D12RootSignature *pRootSignature,
24643 REFIID riid,
24644 _COM_Outptr_opt_ void **ppvCommandSignature);
24645
24646 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
24647 void ( STDMETHODCALLTYPE *GetResourceTiling )(
24648 ID3D12Device11 * This,
24649 _In_ ID3D12Resource *pTiledResource,
24650 _Out_opt_ UINT *pNumTilesForEntireResource,
24651 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
24652 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
24653 _Inout_opt_ UINT *pNumSubresourceTilings,
24654 _In_ UINT FirstSubresourceTilingToGet,
24655 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
24656
24657 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
24658#if !defined(_WIN32)
24659 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
24660 ID3D12Device11 * This);
24661
24662#else
24663 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
24664 ID3D12Device11 * This,
24665 LUID * RetVal);
24666
24667#endif
24668
24669 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
24670 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
24671 ID3D12Device11 * This,
24672 _In_reads_(BlobLength) const void *pLibraryBlob,
24673 SIZE_T BlobLength,
24674 REFIID riid,
24675 _COM_Outptr_ void **ppPipelineLibrary);
24676
24677 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
24678 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
24679 ID3D12Device11 * This,
24680 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
24681 _In_reads_(NumFences) const UINT64 *pFenceValues,
24682 UINT NumFences,
24683 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
24684 HANDLE hEvent);
24685
24686 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
24687 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
24688 ID3D12Device11 * This,
24689 UINT NumObjects,
24690 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
24691 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
24692
24693 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
24694 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
24695 ID3D12Device11 * This,
24696 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
24697 REFIID riid,
24698 _COM_Outptr_ void **ppPipelineState);
24699
24700 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
24701 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
24702 ID3D12Device11 * This,
24703 _In_ const void *pAddress,
24704 REFIID riid,
24705 _COM_Outptr_ void **ppvHeap);
24706
24707 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
24708 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
24709 ID3D12Device11 * This,
24710 _In_ HANDLE hFileMapping,
24711 REFIID riid,
24712 _COM_Outptr_ void **ppvHeap);
24713
24714 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
24715 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
24716 ID3D12Device11 * This,
24717 D3D12_RESIDENCY_FLAGS Flags,
24718 UINT NumObjects,
24719 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
24720 _In_ ID3D12Fence *pFenceToSignal,
24721 UINT64 FenceValueToSignal);
24722
24723 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
24724 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
24725 ID3D12Device11 * This,
24726 _In_ UINT nodeMask,
24727 _In_ D3D12_COMMAND_LIST_TYPE type,
24728 _In_ D3D12_COMMAND_LIST_FLAGS flags,
24729 REFIID riid,
24730 _COM_Outptr_ void **ppCommandList);
24731
24732 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
24733 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
24734 ID3D12Device11 * This,
24735 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
24736 _In_ REFIID riid,
24737 _COM_Outptr_ void **ppSession);
24738
24739 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
24740 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
24741 ID3D12Device11 * This,
24742 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
24743 D3D12_HEAP_FLAGS HeapFlags,
24744 _In_ const D3D12_RESOURCE_DESC *pDesc,
24745 D3D12_RESOURCE_STATES InitialResourceState,
24746 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
24747 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
24748 REFIID riidResource,
24749 _COM_Outptr_opt_ void **ppvResource);
24750
24751 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
24752 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
24753 ID3D12Device11 * This,
24754 _In_ const D3D12_HEAP_DESC *pDesc,
24755 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
24756 REFIID riid,
24757 _COM_Outptr_opt_ void **ppvHeap);
24758
24759 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
24760 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
24761 ID3D12Device11 * This,
24762 _In_ const D3D12_RESOURCE_DESC *pDesc,
24763 D3D12_RESOURCE_STATES InitialState,
24764 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
24765 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
24766 REFIID riid,
24767 _COM_Outptr_opt_ void **ppvResource);
24768
24769 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
24770#if !defined(_WIN32)
24771 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
24772 ID3D12Device11 * This,
24773 UINT visibleMask,
24774 UINT numResourceDescs,
24775 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
24776 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
24777
24778#else
24779 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
24780 ID3D12Device11 * This,
24781 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
24782 UINT visibleMask,
24783 UINT numResourceDescs,
24784 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
24785 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
24786
24787#endif
24788
24789 DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
24790 HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
24791 ID3D12Device11 * This,
24792 _In_ ID3D12LifetimeOwner *pOwner,
24793 REFIID riid,
24794 _COM_Outptr_ void **ppvTracker);
24795
24796 DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
24797 void ( STDMETHODCALLTYPE *RemoveDevice )(
24798 ID3D12Device11 * This);
24799
24800 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
24801 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
24802 ID3D12Device11 * This,
24803 _Inout_ UINT *pNumMetaCommands,
24804 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
24805
24806 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
24807 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
24808 ID3D12Device11 * This,
24809 _In_ REFGUID CommandId,
24810 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
24811 _Out_opt_ UINT *pTotalStructureSizeInBytes,
24812 _Inout_ UINT *pParameterCount,
24813 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
24814
24815 DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
24816 HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
24817 ID3D12Device11 * This,
24818 _In_ REFGUID CommandId,
24819 _In_ UINT NodeMask,
24820 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
24821 _In_ SIZE_T CreationParametersDataSizeInBytes,
24822 REFIID riid,
24823 _COM_Outptr_ void **ppMetaCommand);
24824
24825 DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
24826 HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
24827 ID3D12Device11 * This,
24828 const D3D12_STATE_OBJECT_DESC *pDesc,
24829 REFIID riid,
24830 _COM_Outptr_ void **ppStateObject);
24831
24832 DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
24833 void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
24834 ID3D12Device11 * This,
24835 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
24836 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
24837
24838 DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
24839 D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
24840 ID3D12Device11 * This,
24841 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
24842 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
24843
24844 DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
24845 HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
24846 ID3D12Device11 * This,
24847 D3D12_BACKGROUND_PROCESSING_MODE Mode,
24848 D3D12_MEASUREMENTS_ACTION MeasurementsAction,
24849 _In_opt_ HANDLE hEventToSignalUponCompletion,
24850 _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
24851
24852 DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
24853 HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
24854 ID3D12Device11 * This,
24855 const D3D12_STATE_OBJECT_DESC *pAddition,
24856 ID3D12StateObject *pStateObjectToGrowFrom,
24857 REFIID riid,
24858 _COM_Outptr_ void **ppNewStateObject);
24859
24860 DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
24861 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
24862 ID3D12Device11 * This,
24863 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
24864 _In_ REFIID riid,
24865 _COM_Outptr_ void **ppSession);
24866
24867 DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
24868#if !defined(_WIN32)
24869 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
24870 ID3D12Device11 * This,
24871 UINT visibleMask,
24872 UINT numResourceDescs,
24873 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
24874 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
24875
24876#else
24877 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
24878 ID3D12Device11 * This,
24879 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
24880 UINT visibleMask,
24881 UINT numResourceDescs,
24882 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
24883 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
24884
24885#endif
24886
24887 DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
24888 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
24889 ID3D12Device11 * This,
24890 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
24891 D3D12_HEAP_FLAGS HeapFlags,
24892 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
24893 D3D12_RESOURCE_STATES InitialResourceState,
24894 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
24895 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
24896 REFIID riidResource,
24897 _COM_Outptr_opt_ void **ppvResource);
24898
24899 DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
24900 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
24901 ID3D12Device11 * This,
24902 _In_ ID3D12Heap *pHeap,
24903 UINT64 HeapOffset,
24904 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
24905 D3D12_RESOURCE_STATES InitialState,
24906 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
24907 REFIID riid,
24908 _COM_Outptr_opt_ void **ppvResource);
24909
24910 DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
24911 void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
24912 ID3D12Device11 * This,
24913 _In_opt_ ID3D12Resource *pTargetedResource,
24914 _In_opt_ ID3D12Resource *pFeedbackResource,
24915 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
24916
24917 DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
24918 void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
24919 ID3D12Device11 * This,
24920 _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
24921 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
24922 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
24923 UINT64 BaseOffset,
24924 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
24925 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
24926 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
24927 _Out_opt_ UINT64 *pTotalBytes);
24928
24929 DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
24930 HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
24931 ID3D12Device11 * This,
24932 _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
24933 REFIID riid,
24934 _COM_Outptr_opt_ void **ppvSession);
24935
24936 DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
24937 HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
24938 ID3D12Device11 * This,
24939 D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
24940 D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
24941
24942 DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
24943 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
24944 ID3D12Device11 * This,
24945 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
24946 REFIID CreatorID,
24947 REFIID riid,
24948 _COM_Outptr_ void **ppCommandQueue);
24949
24950 DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
24951 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
24952 ID3D12Device11 * This,
24953 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
24954 D3D12_HEAP_FLAGS HeapFlags,
24955 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
24956 D3D12_BARRIER_LAYOUT InitialLayout,
24957 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
24958 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
24959 UINT32 NumCastableFormats,
24960 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
24961 REFIID riidResource,
24962 _COM_Outptr_opt_ void **ppvResource);
24963
24964 DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
24965 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
24966 ID3D12Device11 * This,
24967 _In_ ID3D12Heap *pHeap,
24968 UINT64 HeapOffset,
24969 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
24970 D3D12_BARRIER_LAYOUT InitialLayout,
24971 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
24972 UINT32 NumCastableFormats,
24973 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
24974 REFIID riid,
24975 _COM_Outptr_opt_ void **ppvResource);
24976
24977 DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
24978 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
24979 ID3D12Device11 * This,
24980 _In_ const D3D12_RESOURCE_DESC *pDesc,
24981 D3D12_BARRIER_LAYOUT InitialLayout,
24982 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
24983 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
24984 UINT32 NumCastableFormats,
24985 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
24986 REFIID riid,
24987 _COM_Outptr_opt_ void **ppvResource);
24988
24989 DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
24990 void ( STDMETHODCALLTYPE *CreateSampler2 )(
24991 ID3D12Device11 * This,
24992 _In_ const D3D12_SAMPLER_DESC2 *pDesc,
24993 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
24994
24995 END_INTERFACE
24996 } ID3D12Device11Vtbl;
24997
24998 interface ID3D12Device11
24999 {
25000 CONST_VTBL struct ID3D12Device11Vtbl *lpVtbl;
25001 };
25002
25003
25004
25005#ifdef COBJMACROS
25006
25007
25008#define ID3D12Device11_QueryInterface(This,riid,ppvObject) \
25009 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
25010
25011#define ID3D12Device11_AddRef(This) \
25012 ( (This)->lpVtbl -> AddRef(This) )
25013
25014#define ID3D12Device11_Release(This) \
25015 ( (This)->lpVtbl -> Release(This) )
25016
25017
25018#define ID3D12Device11_GetPrivateData(This,guid,pDataSize,pData) \
25019 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
25020
25021#define ID3D12Device11_SetPrivateData(This,guid,DataSize,pData) \
25022 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
25023
25024#define ID3D12Device11_SetPrivateDataInterface(This,guid,pData) \
25025 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
25026
25027#define ID3D12Device11_SetName(This,Name) \
25028 ( (This)->lpVtbl -> SetName(This,Name) )
25029
25030
25031#define ID3D12Device11_GetNodeCount(This) \
25032 ( (This)->lpVtbl -> GetNodeCount(This) )
25033
25034#define ID3D12Device11_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
25035 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
25036
25037#define ID3D12Device11_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
25038 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
25039
25040#define ID3D12Device11_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
25041 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
25042
25043#define ID3D12Device11_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
25044 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
25045
25046#define ID3D12Device11_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
25047 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
25048
25049#define ID3D12Device11_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
25050 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
25051
25052#define ID3D12Device11_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
25053 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
25054
25055#define ID3D12Device11_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
25056 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
25057
25058#define ID3D12Device11_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
25059 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
25060
25061#define ID3D12Device11_CreateConstantBufferView(This,pDesc,DestDescriptor) \
25062 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
25063
25064#define ID3D12Device11_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
25065 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
25066
25067#define ID3D12Device11_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
25068 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
25069
25070#define ID3D12Device11_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
25071 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
25072
25073#define ID3D12Device11_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
25074 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
25075
25076#define ID3D12Device11_CreateSampler(This,pDesc,DestDescriptor) \
25077 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
25078
25079#define ID3D12Device11_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
25080 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
25081
25082#define ID3D12Device11_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
25083 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
25084#if !defined(_WIN32)
25085
25086#define ID3D12Device11_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
25087 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
25088#else
25089#define ID3D12Device11_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
25090 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
25091#endif
25092#if !defined(_WIN32)
25093
25094#define ID3D12Device11_GetCustomHeapProperties(This,nodeMask,heapType) \
25095 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
25096#else
25097#define ID3D12Device11_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
25098 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
25099#endif
25100
25101#define ID3D12Device11_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
25102 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
25103
25104#define ID3D12Device11_CreateHeap(This,pDesc,riid,ppvHeap) \
25105 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
25106
25107#define ID3D12Device11_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
25108 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
25109
25110#define ID3D12Device11_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
25111 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
25112
25113#define ID3D12Device11_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
25114 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
25115
25116#define ID3D12Device11_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
25117 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
25118
25119#define ID3D12Device11_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
25120 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
25121
25122#define ID3D12Device11_MakeResident(This,NumObjects,ppObjects) \
25123 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
25124
25125#define ID3D12Device11_Evict(This,NumObjects,ppObjects) \
25126 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
25127
25128#define ID3D12Device11_CreateFence(This,InitialValue,Flags,riid,ppFence) \
25129 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
25130
25131#define ID3D12Device11_GetDeviceRemovedReason(This) \
25132 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
25133
25134#define ID3D12Device11_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
25135 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
25136
25137#define ID3D12Device11_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
25138 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
25139
25140#define ID3D12Device11_SetStablePowerState(This,Enable) \
25141 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
25142
25143#define ID3D12Device11_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
25144 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
25145
25146#define ID3D12Device11_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
25147 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
25148#if !defined(_WIN32)
25149
25150#define ID3D12Device11_GetAdapterLuid(This) \
25151 ( (This)->lpVtbl -> GetAdapterLuid(This) )
25152#else
25153#define ID3D12Device11_GetAdapterLuid(This,RetVal) \
25154 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
25155#endif
25156
25157
25158#define ID3D12Device11_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
25159 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
25160
25161#define ID3D12Device11_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
25162 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
25163
25164#define ID3D12Device11_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
25165 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
25166
25167
25168#define ID3D12Device11_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
25169 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
25170
25171
25172#define ID3D12Device11_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
25173 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
25174
25175#define ID3D12Device11_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
25176 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
25177
25178#define ID3D12Device11_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
25179 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
25180
25181
25182#define ID3D12Device11_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
25183 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
25184
25185#define ID3D12Device11_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
25186 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
25187
25188#define ID3D12Device11_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
25189 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
25190
25191#define ID3D12Device11_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
25192 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
25193
25194#define ID3D12Device11_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
25195 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
25196#if !defined(_WIN32)
25197
25198#define ID3D12Device11_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
25199 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
25200#else
25201#define ID3D12Device11_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
25202 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
25203#endif
25204
25205
25206#define ID3D12Device11_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
25207 ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
25208
25209#define ID3D12Device11_RemoveDevice(This) \
25210 ( (This)->lpVtbl -> RemoveDevice(This) )
25211
25212#define ID3D12Device11_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
25213 ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
25214
25215#define ID3D12Device11_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
25216 ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
25217
25218#define ID3D12Device11_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
25219 ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
25220
25221#define ID3D12Device11_CreateStateObject(This,pDesc,riid,ppStateObject) \
25222 ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
25223
25224#define ID3D12Device11_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
25225 ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
25226
25227#define ID3D12Device11_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
25228 ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
25229
25230
25231#define ID3D12Device11_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
25232 ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
25233
25234
25235#define ID3D12Device11_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
25236 ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
25237
25238#define ID3D12Device11_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
25239 ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
25240
25241#if !defined(_WIN32)
25242
25243#define ID3D12Device11_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
25244 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
25245#else
25246#define ID3D12Device11_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
25247 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
25248#endif
25249
25250#define ID3D12Device11_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
25251 ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
25252
25253#define ID3D12Device11_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
25254 ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
25255
25256#define ID3D12Device11_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
25257 ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
25258
25259#define ID3D12Device11_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
25260 ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
25261
25262
25263#define ID3D12Device11_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
25264 ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
25265
25266#define ID3D12Device11_ShaderCacheControl(This,Kinds,Control) \
25267 ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
25268
25269#define ID3D12Device11_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
25270 ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
25271
25272
25273#define ID3D12Device11_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
25274 ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
25275
25276#define ID3D12Device11_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
25277 ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
25278
25279#define ID3D12Device11_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
25280 ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
25281
25282
25283#define ID3D12Device11_CreateSampler2(This,pDesc,DestDescriptor) \
25284 ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
25285
25286#endif /* COBJMACROS */
25287
25288
25289#endif /* C style interface */
25290
25291
25292
25293
25294#endif /* __ID3D12Device11_INTERFACE_DEFINED__ */
25295
25296
25297#ifndef __ID3D12Device12_INTERFACE_DEFINED__
25298#define __ID3D12Device12_INTERFACE_DEFINED__
25299
25300/* interface ID3D12Device12 */
25301/* [unique][local][object][uuid] */
25302
25303
25304EXTERN_C const IID IID_ID3D12Device12;
25305
25306#if defined(__cplusplus) && !defined(CINTERFACE)
25307
25308 MIDL_INTERFACE("5af5c532-4c91-4cd0-b541-15a405395fc5")
25309 ID3D12Device12 : public ID3D12Device11
25310 {
25311 public:
25312#if defined(_MSC_VER) || !defined(_WIN32)
25313 virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo3(
25314 UINT visibleMask,
25315 UINT numResourceDescs,
25316 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
25317 _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
25318 _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
25319 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
25320#else
25321 virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo3(
25322 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
25323 UINT visibleMask,
25324 UINT numResourceDescs,
25325 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
25326 _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
25327 _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
25328 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
25329#endif
25330
25331 };
25332
25333
25334#else /* C style interface */
25335
25336 typedef struct ID3D12Device12Vtbl
25337 {
25338 BEGIN_INTERFACE
25339
25340 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
25341 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
25342 ID3D12Device12 * This,
25343 REFIID riid,
25344 _COM_Outptr_ void **ppvObject);
25345
25346 DECLSPEC_XFGVIRT(IUnknown, AddRef)
25347 ULONG ( STDMETHODCALLTYPE *AddRef )(
25348 ID3D12Device12 * This);
25349
25350 DECLSPEC_XFGVIRT(IUnknown, Release)
25351 ULONG ( STDMETHODCALLTYPE *Release )(
25352 ID3D12Device12 * This);
25353
25354 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
25355 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
25356 ID3D12Device12 * This,
25357 _In_ REFGUID guid,
25358 _Inout_ UINT *pDataSize,
25359 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
25360
25361 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
25362 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
25363 ID3D12Device12 * This,
25364 _In_ REFGUID guid,
25365 _In_ UINT DataSize,
25366 _In_reads_bytes_opt_( DataSize ) const void *pData);
25367
25368 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
25369 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
25370 ID3D12Device12 * This,
25371 _In_ REFGUID guid,
25372 _In_opt_ const IUnknown *pData);
25373
25374 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
25375 HRESULT ( STDMETHODCALLTYPE *SetName )(
25376 ID3D12Device12 * This,
25377 _In_z_ LPCWSTR Name);
25378
25379 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
25380 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
25381 ID3D12Device12 * This);
25382
25383 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
25384 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
25385 ID3D12Device12 * This,
25386 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
25387 REFIID riid,
25388 _COM_Outptr_ void **ppCommandQueue);
25389
25390 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
25391 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
25392 ID3D12Device12 * This,
25393 _In_ D3D12_COMMAND_LIST_TYPE type,
25394 REFIID riid,
25395 _COM_Outptr_ void **ppCommandAllocator);
25396
25397 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
25398 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
25399 ID3D12Device12 * This,
25400 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
25401 REFIID riid,
25402 _COM_Outptr_ void **ppPipelineState);
25403
25404 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
25405 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
25406 ID3D12Device12 * This,
25407 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
25408 REFIID riid,
25409 _COM_Outptr_ void **ppPipelineState);
25410
25411 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
25412 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
25413 ID3D12Device12 * This,
25414 _In_ UINT nodeMask,
25415 _In_ D3D12_COMMAND_LIST_TYPE type,
25416 _In_ ID3D12CommandAllocator *pCommandAllocator,
25417 _In_opt_ ID3D12PipelineState *pInitialState,
25418 REFIID riid,
25419 _COM_Outptr_ void **ppCommandList);
25420
25421 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
25422 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
25423 ID3D12Device12 * This,
25424 D3D12_FEATURE Feature,
25425 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
25426 UINT FeatureSupportDataSize);
25427
25428 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
25429 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
25430 ID3D12Device12 * This,
25431 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
25432 REFIID riid,
25433 _COM_Outptr_ void **ppvHeap);
25434
25435 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
25436 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
25437 ID3D12Device12 * This,
25438 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
25439
25440 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
25441 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
25442 ID3D12Device12 * This,
25443 _In_ UINT nodeMask,
25444 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
25445 _In_ SIZE_T blobLengthInBytes,
25446 REFIID riid,
25447 _COM_Outptr_ void **ppvRootSignature);
25448
25449 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
25450 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
25451 ID3D12Device12 * This,
25452 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
25453 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
25454
25455 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
25456 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
25457 ID3D12Device12 * This,
25458 _In_opt_ ID3D12Resource *pResource,
25459 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
25460 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
25461
25462 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
25463 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
25464 ID3D12Device12 * This,
25465 _In_opt_ ID3D12Resource *pResource,
25466 _In_opt_ ID3D12Resource *pCounterResource,
25467 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
25468 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
25469
25470 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
25471 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
25472 ID3D12Device12 * This,
25473 _In_opt_ ID3D12Resource *pResource,
25474 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
25475 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
25476
25477 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
25478 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
25479 ID3D12Device12 * This,
25480 _In_opt_ ID3D12Resource *pResource,
25481 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
25482 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
25483
25484 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
25485 void ( STDMETHODCALLTYPE *CreateSampler )(
25486 ID3D12Device12 * This,
25487 _In_ const D3D12_SAMPLER_DESC *pDesc,
25488 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
25489
25490 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
25491 void ( STDMETHODCALLTYPE *CopyDescriptors )(
25492 ID3D12Device12 * This,
25493 _In_ UINT NumDestDescriptorRanges,
25494 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
25495 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
25496 _In_ UINT NumSrcDescriptorRanges,
25497 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
25498 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
25499 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
25500
25501 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
25502 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
25503 ID3D12Device12 * This,
25504 _In_ UINT NumDescriptors,
25505 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
25506 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
25507 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
25508
25509 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
25510#if !defined(_WIN32)
25511 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
25512 ID3D12Device12 * This,
25513 _In_ UINT visibleMask,
25514 _In_ UINT numResourceDescs,
25515 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
25516
25517#else
25518 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
25519 ID3D12Device12 * This,
25520 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
25521 _In_ UINT visibleMask,
25522 _In_ UINT numResourceDescs,
25523 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
25524
25525#endif
25526
25527 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
25528#if !defined(_WIN32)
25529 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
25530 ID3D12Device12 * This,
25531 _In_ UINT nodeMask,
25532 D3D12_HEAP_TYPE heapType);
25533
25534#else
25535 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
25536 ID3D12Device12 * This,
25537 D3D12_HEAP_PROPERTIES * RetVal,
25538 _In_ UINT nodeMask,
25539 D3D12_HEAP_TYPE heapType);
25540
25541#endif
25542
25543 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
25544 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
25545 ID3D12Device12 * This,
25546 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
25547 D3D12_HEAP_FLAGS HeapFlags,
25548 _In_ const D3D12_RESOURCE_DESC *pDesc,
25549 D3D12_RESOURCE_STATES InitialResourceState,
25550 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
25551 REFIID riidResource,
25552 _COM_Outptr_opt_ void **ppvResource);
25553
25554 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
25555 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
25556 ID3D12Device12 * This,
25557 _In_ const D3D12_HEAP_DESC *pDesc,
25558 REFIID riid,
25559 _COM_Outptr_opt_ void **ppvHeap);
25560
25561 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
25562 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
25563 ID3D12Device12 * This,
25564 _In_ ID3D12Heap *pHeap,
25565 UINT64 HeapOffset,
25566 _In_ const D3D12_RESOURCE_DESC *pDesc,
25567 D3D12_RESOURCE_STATES InitialState,
25568 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
25569 REFIID riid,
25570 _COM_Outptr_opt_ void **ppvResource);
25571
25572 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
25573 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
25574 ID3D12Device12 * This,
25575 _In_ const D3D12_RESOURCE_DESC *pDesc,
25576 D3D12_RESOURCE_STATES InitialState,
25577 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
25578 REFIID riid,
25579 _COM_Outptr_opt_ void **ppvResource);
25580
25581 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
25582 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
25583 ID3D12Device12 * This,
25584 _In_ ID3D12DeviceChild *pObject,
25585 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
25586 DWORD Access,
25587 _In_opt_ LPCWSTR Name,
25588 _Out_ HANDLE *pHandle);
25589
25590 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
25591 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
25592 ID3D12Device12 * This,
25593 _In_ HANDLE NTHandle,
25594 REFIID riid,
25595 _COM_Outptr_opt_ void **ppvObj);
25596
25597 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
25598 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
25599 ID3D12Device12 * This,
25600 _In_ LPCWSTR Name,
25601 DWORD Access,
25602 /* [annotation][out] */
25603 _Out_ HANDLE *pNTHandle);
25604
25605 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
25606 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
25607 ID3D12Device12 * This,
25608 UINT NumObjects,
25609 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
25610
25611 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
25612 HRESULT ( STDMETHODCALLTYPE *Evict )(
25613 ID3D12Device12 * This,
25614 UINT NumObjects,
25615 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
25616
25617 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
25618 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
25619 ID3D12Device12 * This,
25620 UINT64 InitialValue,
25621 D3D12_FENCE_FLAGS Flags,
25622 REFIID riid,
25623 _COM_Outptr_ void **ppFence);
25624
25625 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
25626 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
25627 ID3D12Device12 * This);
25628
25629 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
25630 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
25631 ID3D12Device12 * This,
25632 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
25633 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
25634 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
25635 UINT64 BaseOffset,
25636 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
25637 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
25638 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
25639 _Out_opt_ UINT64 *pTotalBytes);
25640
25641 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
25642 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
25643 ID3D12Device12 * This,
25644 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
25645 REFIID riid,
25646 _COM_Outptr_opt_ void **ppvHeap);
25647
25648 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
25649 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
25650 ID3D12Device12 * This,
25651 BOOL Enable);
25652
25653 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
25654 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
25655 ID3D12Device12 * This,
25656 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
25657 _In_opt_ ID3D12RootSignature *pRootSignature,
25658 REFIID riid,
25659 _COM_Outptr_opt_ void **ppvCommandSignature);
25660
25661 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
25662 void ( STDMETHODCALLTYPE *GetResourceTiling )(
25663 ID3D12Device12 * This,
25664 _In_ ID3D12Resource *pTiledResource,
25665 _Out_opt_ UINT *pNumTilesForEntireResource,
25666 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
25667 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
25668 _Inout_opt_ UINT *pNumSubresourceTilings,
25669 _In_ UINT FirstSubresourceTilingToGet,
25670 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
25671
25672 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
25673#if !defined(_WIN32)
25674 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
25675 ID3D12Device12 * This);
25676
25677#else
25678 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
25679 ID3D12Device12 * This,
25680 LUID * RetVal);
25681
25682#endif
25683
25684 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
25685 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
25686 ID3D12Device12 * This,
25687 _In_reads_(BlobLength) const void *pLibraryBlob,
25688 SIZE_T BlobLength,
25689 REFIID riid,
25690 _COM_Outptr_ void **ppPipelineLibrary);
25691
25692 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
25693 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
25694 ID3D12Device12 * This,
25695 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
25696 _In_reads_(NumFences) const UINT64 *pFenceValues,
25697 UINT NumFences,
25698 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
25699 HANDLE hEvent);
25700
25701 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
25702 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
25703 ID3D12Device12 * This,
25704 UINT NumObjects,
25705 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
25706 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
25707
25708 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
25709 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
25710 ID3D12Device12 * This,
25711 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
25712 REFIID riid,
25713 _COM_Outptr_ void **ppPipelineState);
25714
25715 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
25716 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
25717 ID3D12Device12 * This,
25718 _In_ const void *pAddress,
25719 REFIID riid,
25720 _COM_Outptr_ void **ppvHeap);
25721
25722 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
25723 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
25724 ID3D12Device12 * This,
25725 _In_ HANDLE hFileMapping,
25726 REFIID riid,
25727 _COM_Outptr_ void **ppvHeap);
25728
25729 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
25730 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
25731 ID3D12Device12 * This,
25732 D3D12_RESIDENCY_FLAGS Flags,
25733 UINT NumObjects,
25734 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
25735 _In_ ID3D12Fence *pFenceToSignal,
25736 UINT64 FenceValueToSignal);
25737
25738 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
25739 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
25740 ID3D12Device12 * This,
25741 _In_ UINT nodeMask,
25742 _In_ D3D12_COMMAND_LIST_TYPE type,
25743 _In_ D3D12_COMMAND_LIST_FLAGS flags,
25744 REFIID riid,
25745 _COM_Outptr_ void **ppCommandList);
25746
25747 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
25748 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
25749 ID3D12Device12 * This,
25750 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
25751 _In_ REFIID riid,
25752 _COM_Outptr_ void **ppSession);
25753
25754 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
25755 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
25756 ID3D12Device12 * This,
25757 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
25758 D3D12_HEAP_FLAGS HeapFlags,
25759 _In_ const D3D12_RESOURCE_DESC *pDesc,
25760 D3D12_RESOURCE_STATES InitialResourceState,
25761 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
25762 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
25763 REFIID riidResource,
25764 _COM_Outptr_opt_ void **ppvResource);
25765
25766 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
25767 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
25768 ID3D12Device12 * This,
25769 _In_ const D3D12_HEAP_DESC *pDesc,
25770 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
25771 REFIID riid,
25772 _COM_Outptr_opt_ void **ppvHeap);
25773
25774 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
25775 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
25776 ID3D12Device12 * This,
25777 _In_ const D3D12_RESOURCE_DESC *pDesc,
25778 D3D12_RESOURCE_STATES InitialState,
25779 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
25780 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
25781 REFIID riid,
25782 _COM_Outptr_opt_ void **ppvResource);
25783
25784 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
25785#if !defined(_WIN32)
25786 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
25787 ID3D12Device12 * This,
25788 UINT visibleMask,
25789 UINT numResourceDescs,
25790 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
25791 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
25792
25793#else
25794 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
25795 ID3D12Device12 * This,
25796 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
25797 UINT visibleMask,
25798 UINT numResourceDescs,
25799 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
25800 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
25801
25802#endif
25803
25804 DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
25805 HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
25806 ID3D12Device12 * This,
25807 _In_ ID3D12LifetimeOwner *pOwner,
25808 REFIID riid,
25809 _COM_Outptr_ void **ppvTracker);
25810
25811 DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
25812 void ( STDMETHODCALLTYPE *RemoveDevice )(
25813 ID3D12Device12 * This);
25814
25815 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
25816 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
25817 ID3D12Device12 * This,
25818 _Inout_ UINT *pNumMetaCommands,
25819 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
25820
25821 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
25822 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
25823 ID3D12Device12 * This,
25824 _In_ REFGUID CommandId,
25825 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
25826 _Out_opt_ UINT *pTotalStructureSizeInBytes,
25827 _Inout_ UINT *pParameterCount,
25828 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
25829
25830 DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
25831 HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
25832 ID3D12Device12 * This,
25833 _In_ REFGUID CommandId,
25834 _In_ UINT NodeMask,
25835 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
25836 _In_ SIZE_T CreationParametersDataSizeInBytes,
25837 REFIID riid,
25838 _COM_Outptr_ void **ppMetaCommand);
25839
25840 DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
25841 HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
25842 ID3D12Device12 * This,
25843 const D3D12_STATE_OBJECT_DESC *pDesc,
25844 REFIID riid,
25845 _COM_Outptr_ void **ppStateObject);
25846
25847 DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
25848 void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
25849 ID3D12Device12 * This,
25850 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
25851 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
25852
25853 DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
25854 D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
25855 ID3D12Device12 * This,
25856 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
25857 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
25858
25859 DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
25860 HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
25861 ID3D12Device12 * This,
25862 D3D12_BACKGROUND_PROCESSING_MODE Mode,
25863 D3D12_MEASUREMENTS_ACTION MeasurementsAction,
25864 _In_opt_ HANDLE hEventToSignalUponCompletion,
25865 _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
25866
25867 DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
25868 HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
25869 ID3D12Device12 * This,
25870 const D3D12_STATE_OBJECT_DESC *pAddition,
25871 ID3D12StateObject *pStateObjectToGrowFrom,
25872 REFIID riid,
25873 _COM_Outptr_ void **ppNewStateObject);
25874
25875 DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
25876 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
25877 ID3D12Device12 * This,
25878 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
25879 _In_ REFIID riid,
25880 _COM_Outptr_ void **ppSession);
25881
25882 DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
25883#if !defined(_WIN32)
25884 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
25885 ID3D12Device12 * This,
25886 UINT visibleMask,
25887 UINT numResourceDescs,
25888 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
25889 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
25890
25891#else
25892 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
25893 ID3D12Device12 * This,
25894 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
25895 UINT visibleMask,
25896 UINT numResourceDescs,
25897 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
25898 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
25899
25900#endif
25901
25902 DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
25903 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
25904 ID3D12Device12 * This,
25905 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
25906 D3D12_HEAP_FLAGS HeapFlags,
25907 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
25908 D3D12_RESOURCE_STATES InitialResourceState,
25909 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
25910 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
25911 REFIID riidResource,
25912 _COM_Outptr_opt_ void **ppvResource);
25913
25914 DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
25915 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
25916 ID3D12Device12 * This,
25917 _In_ ID3D12Heap *pHeap,
25918 UINT64 HeapOffset,
25919 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
25920 D3D12_RESOURCE_STATES InitialState,
25921 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
25922 REFIID riid,
25923 _COM_Outptr_opt_ void **ppvResource);
25924
25925 DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
25926 void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
25927 ID3D12Device12 * This,
25928 _In_opt_ ID3D12Resource *pTargetedResource,
25929 _In_opt_ ID3D12Resource *pFeedbackResource,
25930 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
25931
25932 DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
25933 void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
25934 ID3D12Device12 * This,
25935 _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
25936 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
25937 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
25938 UINT64 BaseOffset,
25939 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
25940 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
25941 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
25942 _Out_opt_ UINT64 *pTotalBytes);
25943
25944 DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
25945 HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
25946 ID3D12Device12 * This,
25947 _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
25948 REFIID riid,
25949 _COM_Outptr_opt_ void **ppvSession);
25950
25951 DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
25952 HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
25953 ID3D12Device12 * This,
25954 D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
25955 D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
25956
25957 DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
25958 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
25959 ID3D12Device12 * This,
25960 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
25961 REFIID CreatorID,
25962 REFIID riid,
25963 _COM_Outptr_ void **ppCommandQueue);
25964
25965 DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
25966 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
25967 ID3D12Device12 * This,
25968 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
25969 D3D12_HEAP_FLAGS HeapFlags,
25970 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
25971 D3D12_BARRIER_LAYOUT InitialLayout,
25972 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
25973 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
25974 UINT32 NumCastableFormats,
25975 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
25976 REFIID riidResource,
25977 _COM_Outptr_opt_ void **ppvResource);
25978
25979 DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
25980 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
25981 ID3D12Device12 * This,
25982 _In_ ID3D12Heap *pHeap,
25983 UINT64 HeapOffset,
25984 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
25985 D3D12_BARRIER_LAYOUT InitialLayout,
25986 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
25987 UINT32 NumCastableFormats,
25988 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
25989 REFIID riid,
25990 _COM_Outptr_opt_ void **ppvResource);
25991
25992 DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
25993 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
25994 ID3D12Device12 * This,
25995 _In_ const D3D12_RESOURCE_DESC *pDesc,
25996 D3D12_BARRIER_LAYOUT InitialLayout,
25997 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
25998 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
25999 UINT32 NumCastableFormats,
26000 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
26001 REFIID riid,
26002 _COM_Outptr_opt_ void **ppvResource);
26003
26004 DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
26005 void ( STDMETHODCALLTYPE *CreateSampler2 )(
26006 ID3D12Device12 * This,
26007 _In_ const D3D12_SAMPLER_DESC2 *pDesc,
26008 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
26009
26010 DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3)
26011#if !defined(_WIN32)
26012 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
26013 ID3D12Device12 * This,
26014 UINT visibleMask,
26015 UINT numResourceDescs,
26016 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
26017 _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
26018 _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
26019 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
26020
26021#else
26022 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
26023 ID3D12Device12 * This,
26024 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
26025 UINT visibleMask,
26026 UINT numResourceDescs,
26027 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
26028 _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
26029 _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
26030 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
26031
26032#endif
26033
26034 END_INTERFACE
26035 } ID3D12Device12Vtbl;
26036
26037 interface ID3D12Device12
26038 {
26039 CONST_VTBL struct ID3D12Device12Vtbl *lpVtbl;
26040 };
26041
26042
26043
26044#ifdef COBJMACROS
26045
26046
26047#define ID3D12Device12_QueryInterface(This,riid,ppvObject) \
26048 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
26049
26050#define ID3D12Device12_AddRef(This) \
26051 ( (This)->lpVtbl -> AddRef(This) )
26052
26053#define ID3D12Device12_Release(This) \
26054 ( (This)->lpVtbl -> Release(This) )
26055
26056
26057#define ID3D12Device12_GetPrivateData(This,guid,pDataSize,pData) \
26058 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
26059
26060#define ID3D12Device12_SetPrivateData(This,guid,DataSize,pData) \
26061 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
26062
26063#define ID3D12Device12_SetPrivateDataInterface(This,guid,pData) \
26064 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
26065
26066#define ID3D12Device12_SetName(This,Name) \
26067 ( (This)->lpVtbl -> SetName(This,Name) )
26068
26069
26070#define ID3D12Device12_GetNodeCount(This) \
26071 ( (This)->lpVtbl -> GetNodeCount(This) )
26072
26073#define ID3D12Device12_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
26074 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
26075
26076#define ID3D12Device12_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
26077 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
26078
26079#define ID3D12Device12_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
26080 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
26081
26082#define ID3D12Device12_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
26083 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
26084
26085#define ID3D12Device12_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
26086 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
26087
26088#define ID3D12Device12_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
26089 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
26090
26091#define ID3D12Device12_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
26092 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
26093
26094#define ID3D12Device12_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
26095 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
26096
26097#define ID3D12Device12_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
26098 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
26099
26100#define ID3D12Device12_CreateConstantBufferView(This,pDesc,DestDescriptor) \
26101 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
26102
26103#define ID3D12Device12_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
26104 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
26105
26106#define ID3D12Device12_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
26107 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
26108
26109#define ID3D12Device12_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
26110 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
26111
26112#define ID3D12Device12_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
26113 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
26114
26115#define ID3D12Device12_CreateSampler(This,pDesc,DestDescriptor) \
26116 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
26117
26118#define ID3D12Device12_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
26119 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
26120
26121#define ID3D12Device12_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
26122 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
26123#if !defined(_WIN32)
26124
26125#define ID3D12Device12_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
26126 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
26127#else
26128#define ID3D12Device12_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
26129 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
26130#endif
26131#if !defined(_WIN32)
26132
26133#define ID3D12Device12_GetCustomHeapProperties(This,nodeMask,heapType) \
26134 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
26135#else
26136#define ID3D12Device12_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
26137 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
26138#endif
26139
26140#define ID3D12Device12_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
26141 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
26142
26143#define ID3D12Device12_CreateHeap(This,pDesc,riid,ppvHeap) \
26144 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
26145
26146#define ID3D12Device12_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
26147 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
26148
26149#define ID3D12Device12_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
26150 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
26151
26152#define ID3D12Device12_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
26153 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
26154
26155#define ID3D12Device12_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
26156 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
26157
26158#define ID3D12Device12_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
26159 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
26160
26161#define ID3D12Device12_MakeResident(This,NumObjects,ppObjects) \
26162 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
26163
26164#define ID3D12Device12_Evict(This,NumObjects,ppObjects) \
26165 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
26166
26167#define ID3D12Device12_CreateFence(This,InitialValue,Flags,riid,ppFence) \
26168 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
26169
26170#define ID3D12Device12_GetDeviceRemovedReason(This) \
26171 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
26172
26173#define ID3D12Device12_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
26174 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
26175
26176#define ID3D12Device12_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
26177 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
26178
26179#define ID3D12Device12_SetStablePowerState(This,Enable) \
26180 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
26181
26182#define ID3D12Device12_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
26183 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
26184
26185#define ID3D12Device12_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
26186 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
26187#if !defined(_WIN32)
26188
26189#define ID3D12Device12_GetAdapterLuid(This) \
26190 ( (This)->lpVtbl -> GetAdapterLuid(This) )
26191#else
26192#define ID3D12Device12_GetAdapterLuid(This,RetVal) \
26193 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
26194#endif
26195
26196
26197#define ID3D12Device12_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
26198 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
26199
26200#define ID3D12Device12_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
26201 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
26202
26203#define ID3D12Device12_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
26204 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
26205
26206
26207#define ID3D12Device12_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
26208 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
26209
26210
26211#define ID3D12Device12_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
26212 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
26213
26214#define ID3D12Device12_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
26215 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
26216
26217#define ID3D12Device12_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
26218 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
26219
26220
26221#define ID3D12Device12_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
26222 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
26223
26224#define ID3D12Device12_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
26225 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
26226
26227#define ID3D12Device12_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
26228 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
26229
26230#define ID3D12Device12_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
26231 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
26232
26233#define ID3D12Device12_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
26234 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
26235#if !defined(_WIN32)
26236
26237#define ID3D12Device12_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
26238 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
26239#else
26240#define ID3D12Device12_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
26241 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
26242#endif
26243
26244
26245#define ID3D12Device12_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
26246 ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
26247
26248#define ID3D12Device12_RemoveDevice(This) \
26249 ( (This)->lpVtbl -> RemoveDevice(This) )
26250
26251#define ID3D12Device12_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
26252 ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
26253
26254#define ID3D12Device12_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
26255 ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
26256
26257#define ID3D12Device12_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
26258 ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
26259
26260#define ID3D12Device12_CreateStateObject(This,pDesc,riid,ppStateObject) \
26261 ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
26262
26263#define ID3D12Device12_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
26264 ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
26265
26266#define ID3D12Device12_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
26267 ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
26268
26269
26270#define ID3D12Device12_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
26271 ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
26272
26273
26274#define ID3D12Device12_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
26275 ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
26276
26277#define ID3D12Device12_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
26278 ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
26279
26280#if !defined(_WIN32)
26281
26282#define ID3D12Device12_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
26283 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
26284#else
26285#define ID3D12Device12_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
26286 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
26287#endif
26288
26289#define ID3D12Device12_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
26290 ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
26291
26292#define ID3D12Device12_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
26293 ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
26294
26295#define ID3D12Device12_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
26296 ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
26297
26298#define ID3D12Device12_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
26299 ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
26300
26301
26302#define ID3D12Device12_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
26303 ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
26304
26305#define ID3D12Device12_ShaderCacheControl(This,Kinds,Control) \
26306 ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
26307
26308#define ID3D12Device12_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
26309 ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
26310
26311
26312#define ID3D12Device12_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
26313 ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
26314
26315#define ID3D12Device12_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
26316 ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
26317
26318#define ID3D12Device12_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
26319 ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
26320
26321
26322#define ID3D12Device12_CreateSampler2(This,pDesc,DestDescriptor) \
26323 ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
26324
26325#if !defined(_WIN32)
26326
26327#define ID3D12Device12_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
26328 ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
26329#else
26330#define ID3D12Device12_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
26331 ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
26332#endif
26333
26334#endif /* COBJMACROS */
26335
26336
26337#endif /* C style interface */
26338
26339
26340
26341
26342#endif /* __ID3D12Device12_INTERFACE_DEFINED__ */
26343
26344
26345#ifndef __ID3D12Device13_INTERFACE_DEFINED__
26346#define __ID3D12Device13_INTERFACE_DEFINED__
26347
26348/* interface ID3D12Device13 */
26349/* [unique][local][object][uuid] */
26350
26351
26352EXTERN_C const IID IID_ID3D12Device13;
26353
26354#if defined(__cplusplus) && !defined(CINTERFACE)
26355
26356 MIDL_INTERFACE("14eecffc-4df8-40f7-a118-5c816f45695e")
26357 ID3D12Device13 : public ID3D12Device12
26358 {
26359 public:
26360 virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress1(
26361 _In_ const void *pAddress,
26362 SIZE_T size,
26363 REFIID riid,
26364 _COM_Outptr_ void **ppvHeap) = 0;
26365
26366 };
26367
26368
26369#else /* C style interface */
26370
26371 typedef struct ID3D12Device13Vtbl
26372 {
26373 BEGIN_INTERFACE
26374
26375 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
26376 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
26377 ID3D12Device13 * This,
26378 REFIID riid,
26379 _COM_Outptr_ void **ppvObject);
26380
26381 DECLSPEC_XFGVIRT(IUnknown, AddRef)
26382 ULONG ( STDMETHODCALLTYPE *AddRef )(
26383 ID3D12Device13 * This);
26384
26385 DECLSPEC_XFGVIRT(IUnknown, Release)
26386 ULONG ( STDMETHODCALLTYPE *Release )(
26387 ID3D12Device13 * This);
26388
26389 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
26390 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
26391 ID3D12Device13 * This,
26392 _In_ REFGUID guid,
26393 _Inout_ UINT *pDataSize,
26394 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
26395
26396 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
26397 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
26398 ID3D12Device13 * This,
26399 _In_ REFGUID guid,
26400 _In_ UINT DataSize,
26401 _In_reads_bytes_opt_( DataSize ) const void *pData);
26402
26403 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
26404 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
26405 ID3D12Device13 * This,
26406 _In_ REFGUID guid,
26407 _In_opt_ const IUnknown *pData);
26408
26409 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
26410 HRESULT ( STDMETHODCALLTYPE *SetName )(
26411 ID3D12Device13 * This,
26412 _In_z_ LPCWSTR Name);
26413
26414 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
26415 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
26416 ID3D12Device13 * This);
26417
26418 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
26419 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
26420 ID3D12Device13 * This,
26421 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
26422 REFIID riid,
26423 _COM_Outptr_ void **ppCommandQueue);
26424
26425 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
26426 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
26427 ID3D12Device13 * This,
26428 _In_ D3D12_COMMAND_LIST_TYPE type,
26429 REFIID riid,
26430 _COM_Outptr_ void **ppCommandAllocator);
26431
26432 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
26433 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
26434 ID3D12Device13 * This,
26435 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
26436 REFIID riid,
26437 _COM_Outptr_ void **ppPipelineState);
26438
26439 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
26440 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
26441 ID3D12Device13 * This,
26442 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
26443 REFIID riid,
26444 _COM_Outptr_ void **ppPipelineState);
26445
26446 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
26447 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
26448 ID3D12Device13 * This,
26449 _In_ UINT nodeMask,
26450 _In_ D3D12_COMMAND_LIST_TYPE type,
26451 _In_ ID3D12CommandAllocator *pCommandAllocator,
26452 _In_opt_ ID3D12PipelineState *pInitialState,
26453 REFIID riid,
26454 _COM_Outptr_ void **ppCommandList);
26455
26456 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
26457 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
26458 ID3D12Device13 * This,
26459 D3D12_FEATURE Feature,
26460 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
26461 UINT FeatureSupportDataSize);
26462
26463 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
26464 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
26465 ID3D12Device13 * This,
26466 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
26467 REFIID riid,
26468 _COM_Outptr_ void **ppvHeap);
26469
26470 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
26471 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
26472 ID3D12Device13 * This,
26473 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
26474
26475 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
26476 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
26477 ID3D12Device13 * This,
26478 _In_ UINT nodeMask,
26479 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
26480 _In_ SIZE_T blobLengthInBytes,
26481 REFIID riid,
26482 _COM_Outptr_ void **ppvRootSignature);
26483
26484 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
26485 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
26486 ID3D12Device13 * This,
26487 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
26488 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
26489
26490 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
26491 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
26492 ID3D12Device13 * This,
26493 _In_opt_ ID3D12Resource *pResource,
26494 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
26495 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
26496
26497 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
26498 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
26499 ID3D12Device13 * This,
26500 _In_opt_ ID3D12Resource *pResource,
26501 _In_opt_ ID3D12Resource *pCounterResource,
26502 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
26503 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
26504
26505 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
26506 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
26507 ID3D12Device13 * This,
26508 _In_opt_ ID3D12Resource *pResource,
26509 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
26510 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
26511
26512 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
26513 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
26514 ID3D12Device13 * This,
26515 _In_opt_ ID3D12Resource *pResource,
26516 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
26517 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
26518
26519 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
26520 void ( STDMETHODCALLTYPE *CreateSampler )(
26521 ID3D12Device13 * This,
26522 _In_ const D3D12_SAMPLER_DESC *pDesc,
26523 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
26524
26525 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
26526 void ( STDMETHODCALLTYPE *CopyDescriptors )(
26527 ID3D12Device13 * This,
26528 _In_ UINT NumDestDescriptorRanges,
26529 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
26530 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
26531 _In_ UINT NumSrcDescriptorRanges,
26532 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
26533 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
26534 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
26535
26536 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
26537 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
26538 ID3D12Device13 * This,
26539 _In_ UINT NumDescriptors,
26540 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
26541 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
26542 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
26543
26544 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
26545#if !defined(_WIN32)
26546 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
26547 ID3D12Device13 * This,
26548 _In_ UINT visibleMask,
26549 _In_ UINT numResourceDescs,
26550 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
26551
26552#else
26553 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
26554 ID3D12Device13 * This,
26555 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
26556 _In_ UINT visibleMask,
26557 _In_ UINT numResourceDescs,
26558 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
26559
26560#endif
26561
26562 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
26563#if !defined(_WIN32)
26564 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
26565 ID3D12Device13 * This,
26566 _In_ UINT nodeMask,
26567 D3D12_HEAP_TYPE heapType);
26568
26569#else
26570 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
26571 ID3D12Device13 * This,
26572 D3D12_HEAP_PROPERTIES * RetVal,
26573 _In_ UINT nodeMask,
26574 D3D12_HEAP_TYPE heapType);
26575
26576#endif
26577
26578 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
26579 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
26580 ID3D12Device13 * This,
26581 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
26582 D3D12_HEAP_FLAGS HeapFlags,
26583 _In_ const D3D12_RESOURCE_DESC *pDesc,
26584 D3D12_RESOURCE_STATES InitialResourceState,
26585 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
26586 REFIID riidResource,
26587 _COM_Outptr_opt_ void **ppvResource);
26588
26589 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
26590 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
26591 ID3D12Device13 * This,
26592 _In_ const D3D12_HEAP_DESC *pDesc,
26593 REFIID riid,
26594 _COM_Outptr_opt_ void **ppvHeap);
26595
26596 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
26597 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
26598 ID3D12Device13 * This,
26599 _In_ ID3D12Heap *pHeap,
26600 UINT64 HeapOffset,
26601 _In_ const D3D12_RESOURCE_DESC *pDesc,
26602 D3D12_RESOURCE_STATES InitialState,
26603 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
26604 REFIID riid,
26605 _COM_Outptr_opt_ void **ppvResource);
26606
26607 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
26608 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
26609 ID3D12Device13 * This,
26610 _In_ const D3D12_RESOURCE_DESC *pDesc,
26611 D3D12_RESOURCE_STATES InitialState,
26612 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
26613 REFIID riid,
26614 _COM_Outptr_opt_ void **ppvResource);
26615
26616 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
26617 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
26618 ID3D12Device13 * This,
26619 _In_ ID3D12DeviceChild *pObject,
26620 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
26621 DWORD Access,
26622 _In_opt_ LPCWSTR Name,
26623 _Out_ HANDLE *pHandle);
26624
26625 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
26626 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
26627 ID3D12Device13 * This,
26628 _In_ HANDLE NTHandle,
26629 REFIID riid,
26630 _COM_Outptr_opt_ void **ppvObj);
26631
26632 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
26633 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
26634 ID3D12Device13 * This,
26635 _In_ LPCWSTR Name,
26636 DWORD Access,
26637 /* [annotation][out] */
26638 _Out_ HANDLE *pNTHandle);
26639
26640 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
26641 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
26642 ID3D12Device13 * This,
26643 UINT NumObjects,
26644 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
26645
26646 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
26647 HRESULT ( STDMETHODCALLTYPE *Evict )(
26648 ID3D12Device13 * This,
26649 UINT NumObjects,
26650 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
26651
26652 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
26653 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
26654 ID3D12Device13 * This,
26655 UINT64 InitialValue,
26656 D3D12_FENCE_FLAGS Flags,
26657 REFIID riid,
26658 _COM_Outptr_ void **ppFence);
26659
26660 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
26661 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
26662 ID3D12Device13 * This);
26663
26664 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
26665 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
26666 ID3D12Device13 * This,
26667 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
26668 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
26669 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
26670 UINT64 BaseOffset,
26671 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
26672 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
26673 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
26674 _Out_opt_ UINT64 *pTotalBytes);
26675
26676 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
26677 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
26678 ID3D12Device13 * This,
26679 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
26680 REFIID riid,
26681 _COM_Outptr_opt_ void **ppvHeap);
26682
26683 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
26684 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
26685 ID3D12Device13 * This,
26686 BOOL Enable);
26687
26688 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
26689 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
26690 ID3D12Device13 * This,
26691 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
26692 _In_opt_ ID3D12RootSignature *pRootSignature,
26693 REFIID riid,
26694 _COM_Outptr_opt_ void **ppvCommandSignature);
26695
26696 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
26697 void ( STDMETHODCALLTYPE *GetResourceTiling )(
26698 ID3D12Device13 * This,
26699 _In_ ID3D12Resource *pTiledResource,
26700 _Out_opt_ UINT *pNumTilesForEntireResource,
26701 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
26702 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
26703 _Inout_opt_ UINT *pNumSubresourceTilings,
26704 _In_ UINT FirstSubresourceTilingToGet,
26705 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
26706
26707 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
26708#if !defined(_WIN32)
26709 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
26710 ID3D12Device13 * This);
26711
26712#else
26713 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
26714 ID3D12Device13 * This,
26715 LUID * RetVal);
26716
26717#endif
26718
26719 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
26720 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
26721 ID3D12Device13 * This,
26722 _In_reads_(BlobLength) const void *pLibraryBlob,
26723 SIZE_T BlobLength,
26724 REFIID riid,
26725 _COM_Outptr_ void **ppPipelineLibrary);
26726
26727 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
26728 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
26729 ID3D12Device13 * This,
26730 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
26731 _In_reads_(NumFences) const UINT64 *pFenceValues,
26732 UINT NumFences,
26733 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
26734 HANDLE hEvent);
26735
26736 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
26737 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
26738 ID3D12Device13 * This,
26739 UINT NumObjects,
26740 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
26741 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
26742
26743 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
26744 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
26745 ID3D12Device13 * This,
26746 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
26747 REFIID riid,
26748 _COM_Outptr_ void **ppPipelineState);
26749
26750 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
26751 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
26752 ID3D12Device13 * This,
26753 _In_ const void *pAddress,
26754 REFIID riid,
26755 _COM_Outptr_ void **ppvHeap);
26756
26757 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
26758 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
26759 ID3D12Device13 * This,
26760 _In_ HANDLE hFileMapping,
26761 REFIID riid,
26762 _COM_Outptr_ void **ppvHeap);
26763
26764 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
26765 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
26766 ID3D12Device13 * This,
26767 D3D12_RESIDENCY_FLAGS Flags,
26768 UINT NumObjects,
26769 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
26770 _In_ ID3D12Fence *pFenceToSignal,
26771 UINT64 FenceValueToSignal);
26772
26773 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
26774 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
26775 ID3D12Device13 * This,
26776 _In_ UINT nodeMask,
26777 _In_ D3D12_COMMAND_LIST_TYPE type,
26778 _In_ D3D12_COMMAND_LIST_FLAGS flags,
26779 REFIID riid,
26780 _COM_Outptr_ void **ppCommandList);
26781
26782 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
26783 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
26784 ID3D12Device13 * This,
26785 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
26786 _In_ REFIID riid,
26787 _COM_Outptr_ void **ppSession);
26788
26789 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
26790 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
26791 ID3D12Device13 * This,
26792 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
26793 D3D12_HEAP_FLAGS HeapFlags,
26794 _In_ const D3D12_RESOURCE_DESC *pDesc,
26795 D3D12_RESOURCE_STATES InitialResourceState,
26796 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
26797 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
26798 REFIID riidResource,
26799 _COM_Outptr_opt_ void **ppvResource);
26800
26801 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
26802 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
26803 ID3D12Device13 * This,
26804 _In_ const D3D12_HEAP_DESC *pDesc,
26805 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
26806 REFIID riid,
26807 _COM_Outptr_opt_ void **ppvHeap);
26808
26809 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
26810 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
26811 ID3D12Device13 * This,
26812 _In_ const D3D12_RESOURCE_DESC *pDesc,
26813 D3D12_RESOURCE_STATES InitialState,
26814 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
26815 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
26816 REFIID riid,
26817 _COM_Outptr_opt_ void **ppvResource);
26818
26819 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
26820#if !defined(_WIN32)
26821 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
26822 ID3D12Device13 * This,
26823 UINT visibleMask,
26824 UINT numResourceDescs,
26825 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
26826 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
26827
26828#else
26829 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
26830 ID3D12Device13 * This,
26831 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
26832 UINT visibleMask,
26833 UINT numResourceDescs,
26834 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
26835 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
26836
26837#endif
26838
26839 DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
26840 HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
26841 ID3D12Device13 * This,
26842 _In_ ID3D12LifetimeOwner *pOwner,
26843 REFIID riid,
26844 _COM_Outptr_ void **ppvTracker);
26845
26846 DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
26847 void ( STDMETHODCALLTYPE *RemoveDevice )(
26848 ID3D12Device13 * This);
26849
26850 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
26851 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
26852 ID3D12Device13 * This,
26853 _Inout_ UINT *pNumMetaCommands,
26854 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
26855
26856 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
26857 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
26858 ID3D12Device13 * This,
26859 _In_ REFGUID CommandId,
26860 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
26861 _Out_opt_ UINT *pTotalStructureSizeInBytes,
26862 _Inout_ UINT *pParameterCount,
26863 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
26864
26865 DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
26866 HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
26867 ID3D12Device13 * This,
26868 _In_ REFGUID CommandId,
26869 _In_ UINT NodeMask,
26870 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
26871 _In_ SIZE_T CreationParametersDataSizeInBytes,
26872 REFIID riid,
26873 _COM_Outptr_ void **ppMetaCommand);
26874
26875 DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
26876 HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
26877 ID3D12Device13 * This,
26878 const D3D12_STATE_OBJECT_DESC *pDesc,
26879 REFIID riid,
26880 _COM_Outptr_ void **ppStateObject);
26881
26882 DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
26883 void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
26884 ID3D12Device13 * This,
26885 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
26886 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
26887
26888 DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
26889 D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
26890 ID3D12Device13 * This,
26891 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
26892 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
26893
26894 DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
26895 HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
26896 ID3D12Device13 * This,
26897 D3D12_BACKGROUND_PROCESSING_MODE Mode,
26898 D3D12_MEASUREMENTS_ACTION MeasurementsAction,
26899 _In_opt_ HANDLE hEventToSignalUponCompletion,
26900 _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
26901
26902 DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
26903 HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
26904 ID3D12Device13 * This,
26905 const D3D12_STATE_OBJECT_DESC *pAddition,
26906 ID3D12StateObject *pStateObjectToGrowFrom,
26907 REFIID riid,
26908 _COM_Outptr_ void **ppNewStateObject);
26909
26910 DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
26911 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
26912 ID3D12Device13 * This,
26913 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
26914 _In_ REFIID riid,
26915 _COM_Outptr_ void **ppSession);
26916
26917 DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
26918#if !defined(_WIN32)
26919 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
26920 ID3D12Device13 * This,
26921 UINT visibleMask,
26922 UINT numResourceDescs,
26923 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
26924 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
26925
26926#else
26927 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
26928 ID3D12Device13 * This,
26929 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
26930 UINT visibleMask,
26931 UINT numResourceDescs,
26932 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
26933 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
26934
26935#endif
26936
26937 DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
26938 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
26939 ID3D12Device13 * This,
26940 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
26941 D3D12_HEAP_FLAGS HeapFlags,
26942 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
26943 D3D12_RESOURCE_STATES InitialResourceState,
26944 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
26945 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
26946 REFIID riidResource,
26947 _COM_Outptr_opt_ void **ppvResource);
26948
26949 DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
26950 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
26951 ID3D12Device13 * This,
26952 _In_ ID3D12Heap *pHeap,
26953 UINT64 HeapOffset,
26954 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
26955 D3D12_RESOURCE_STATES InitialState,
26956 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
26957 REFIID riid,
26958 _COM_Outptr_opt_ void **ppvResource);
26959
26960 DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
26961 void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
26962 ID3D12Device13 * This,
26963 _In_opt_ ID3D12Resource *pTargetedResource,
26964 _In_opt_ ID3D12Resource *pFeedbackResource,
26965 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
26966
26967 DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
26968 void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
26969 ID3D12Device13 * This,
26970 _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
26971 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
26972 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
26973 UINT64 BaseOffset,
26974 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
26975 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
26976 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
26977 _Out_opt_ UINT64 *pTotalBytes);
26978
26979 DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
26980 HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
26981 ID3D12Device13 * This,
26982 _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
26983 REFIID riid,
26984 _COM_Outptr_opt_ void **ppvSession);
26985
26986 DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
26987 HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
26988 ID3D12Device13 * This,
26989 D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
26990 D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
26991
26992 DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
26993 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
26994 ID3D12Device13 * This,
26995 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
26996 REFIID CreatorID,
26997 REFIID riid,
26998 _COM_Outptr_ void **ppCommandQueue);
26999
27000 DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
27001 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
27002 ID3D12Device13 * This,
27003 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
27004 D3D12_HEAP_FLAGS HeapFlags,
27005 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
27006 D3D12_BARRIER_LAYOUT InitialLayout,
27007 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
27008 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
27009 UINT32 NumCastableFormats,
27010 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
27011 REFIID riidResource,
27012 _COM_Outptr_opt_ void **ppvResource);
27013
27014 DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
27015 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
27016 ID3D12Device13 * This,
27017 _In_ ID3D12Heap *pHeap,
27018 UINT64 HeapOffset,
27019 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
27020 D3D12_BARRIER_LAYOUT InitialLayout,
27021 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
27022 UINT32 NumCastableFormats,
27023 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
27024 REFIID riid,
27025 _COM_Outptr_opt_ void **ppvResource);
27026
27027 DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
27028 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
27029 ID3D12Device13 * This,
27030 _In_ const D3D12_RESOURCE_DESC *pDesc,
27031 D3D12_BARRIER_LAYOUT InitialLayout,
27032 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
27033 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
27034 UINT32 NumCastableFormats,
27035 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
27036 REFIID riid,
27037 _COM_Outptr_opt_ void **ppvResource);
27038
27039 DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
27040 void ( STDMETHODCALLTYPE *CreateSampler2 )(
27041 ID3D12Device13 * This,
27042 _In_ const D3D12_SAMPLER_DESC2 *pDesc,
27043 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
27044
27045 DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3)
27046#if !defined(_WIN32)
27047 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
27048 ID3D12Device13 * This,
27049 UINT visibleMask,
27050 UINT numResourceDescs,
27051 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
27052 _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
27053 _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
27054 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
27055
27056#else
27057 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
27058 ID3D12Device13 * This,
27059 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
27060 UINT visibleMask,
27061 UINT numResourceDescs,
27062 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
27063 _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
27064 _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
27065 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
27066
27067#endif
27068
27069 DECLSPEC_XFGVIRT(ID3D12Device13, OpenExistingHeapFromAddress1)
27070 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress1 )(
27071 ID3D12Device13 * This,
27072 _In_ const void *pAddress,
27073 SIZE_T size,
27074 REFIID riid,
27075 _COM_Outptr_ void **ppvHeap);
27076
27077 END_INTERFACE
27078 } ID3D12Device13Vtbl;
27079
27080 interface ID3D12Device13
27081 {
27082 CONST_VTBL struct ID3D12Device13Vtbl *lpVtbl;
27083 };
27084
27085
27086
27087#ifdef COBJMACROS
27088
27089
27090#define ID3D12Device13_QueryInterface(This,riid,ppvObject) \
27091 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
27092
27093#define ID3D12Device13_AddRef(This) \
27094 ( (This)->lpVtbl -> AddRef(This) )
27095
27096#define ID3D12Device13_Release(This) \
27097 ( (This)->lpVtbl -> Release(This) )
27098
27099
27100#define ID3D12Device13_GetPrivateData(This,guid,pDataSize,pData) \
27101 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
27102
27103#define ID3D12Device13_SetPrivateData(This,guid,DataSize,pData) \
27104 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
27105
27106#define ID3D12Device13_SetPrivateDataInterface(This,guid,pData) \
27107 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
27108
27109#define ID3D12Device13_SetName(This,Name) \
27110 ( (This)->lpVtbl -> SetName(This,Name) )
27111
27112
27113#define ID3D12Device13_GetNodeCount(This) \
27114 ( (This)->lpVtbl -> GetNodeCount(This) )
27115
27116#define ID3D12Device13_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
27117 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
27118
27119#define ID3D12Device13_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
27120 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
27121
27122#define ID3D12Device13_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
27123 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
27124
27125#define ID3D12Device13_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
27126 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
27127
27128#define ID3D12Device13_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
27129 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
27130
27131#define ID3D12Device13_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
27132 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
27133
27134#define ID3D12Device13_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
27135 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
27136
27137#define ID3D12Device13_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
27138 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
27139
27140#define ID3D12Device13_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
27141 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
27142
27143#define ID3D12Device13_CreateConstantBufferView(This,pDesc,DestDescriptor) \
27144 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
27145
27146#define ID3D12Device13_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
27147 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
27148
27149#define ID3D12Device13_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
27150 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
27151
27152#define ID3D12Device13_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
27153 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
27154
27155#define ID3D12Device13_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
27156 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
27157
27158#define ID3D12Device13_CreateSampler(This,pDesc,DestDescriptor) \
27159 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
27160
27161#define ID3D12Device13_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
27162 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
27163
27164#define ID3D12Device13_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
27165 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
27166#if !defined(_WIN32)
27167
27168#define ID3D12Device13_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
27169 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
27170#else
27171#define ID3D12Device13_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
27172 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
27173#endif
27174#if !defined(_WIN32)
27175
27176#define ID3D12Device13_GetCustomHeapProperties(This,nodeMask,heapType) \
27177 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
27178#else
27179#define ID3D12Device13_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
27180 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
27181#endif
27182
27183#define ID3D12Device13_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
27184 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
27185
27186#define ID3D12Device13_CreateHeap(This,pDesc,riid,ppvHeap) \
27187 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
27188
27189#define ID3D12Device13_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
27190 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
27191
27192#define ID3D12Device13_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
27193 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
27194
27195#define ID3D12Device13_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
27196 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
27197
27198#define ID3D12Device13_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
27199 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
27200
27201#define ID3D12Device13_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
27202 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
27203
27204#define ID3D12Device13_MakeResident(This,NumObjects,ppObjects) \
27205 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
27206
27207#define ID3D12Device13_Evict(This,NumObjects,ppObjects) \
27208 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
27209
27210#define ID3D12Device13_CreateFence(This,InitialValue,Flags,riid,ppFence) \
27211 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
27212
27213#define ID3D12Device13_GetDeviceRemovedReason(This) \
27214 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
27215
27216#define ID3D12Device13_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
27217 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
27218
27219#define ID3D12Device13_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
27220 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
27221
27222#define ID3D12Device13_SetStablePowerState(This,Enable) \
27223 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
27224
27225#define ID3D12Device13_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
27226 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
27227
27228#define ID3D12Device13_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
27229 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
27230#if !defined(_WIN32)
27231
27232#define ID3D12Device13_GetAdapterLuid(This) \
27233 ( (This)->lpVtbl -> GetAdapterLuid(This) )
27234#else
27235#define ID3D12Device13_GetAdapterLuid(This,RetVal) \
27236 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
27237#endif
27238
27239
27240#define ID3D12Device13_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
27241 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
27242
27243#define ID3D12Device13_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
27244 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
27245
27246#define ID3D12Device13_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
27247 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
27248
27249
27250#define ID3D12Device13_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
27251 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
27252
27253
27254#define ID3D12Device13_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
27255 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
27256
27257#define ID3D12Device13_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
27258 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
27259
27260#define ID3D12Device13_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
27261 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
27262
27263
27264#define ID3D12Device13_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
27265 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
27266
27267#define ID3D12Device13_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
27268 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
27269
27270#define ID3D12Device13_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
27271 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
27272
27273#define ID3D12Device13_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
27274 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
27275
27276#define ID3D12Device13_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
27277 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
27278#if !defined(_WIN32)
27279
27280#define ID3D12Device13_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
27281 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
27282#else
27283#define ID3D12Device13_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
27284 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
27285#endif
27286
27287
27288#define ID3D12Device13_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
27289 ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
27290
27291#define ID3D12Device13_RemoveDevice(This) \
27292 ( (This)->lpVtbl -> RemoveDevice(This) )
27293
27294#define ID3D12Device13_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
27295 ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
27296
27297#define ID3D12Device13_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
27298 ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
27299
27300#define ID3D12Device13_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
27301 ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
27302
27303#define ID3D12Device13_CreateStateObject(This,pDesc,riid,ppStateObject) \
27304 ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
27305
27306#define ID3D12Device13_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
27307 ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
27308
27309#define ID3D12Device13_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
27310 ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
27311
27312
27313#define ID3D12Device13_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
27314 ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
27315
27316
27317#define ID3D12Device13_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
27318 ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
27319
27320#define ID3D12Device13_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
27321 ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
27322
27323#if !defined(_WIN32)
27324
27325#define ID3D12Device13_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
27326 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
27327#else
27328#define ID3D12Device13_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
27329 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
27330#endif
27331
27332#define ID3D12Device13_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
27333 ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
27334
27335#define ID3D12Device13_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
27336 ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
27337
27338#define ID3D12Device13_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
27339 ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
27340
27341#define ID3D12Device13_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
27342 ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
27343
27344
27345#define ID3D12Device13_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
27346 ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
27347
27348#define ID3D12Device13_ShaderCacheControl(This,Kinds,Control) \
27349 ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
27350
27351#define ID3D12Device13_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
27352 ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
27353
27354
27355#define ID3D12Device13_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
27356 ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
27357
27358#define ID3D12Device13_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
27359 ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
27360
27361#define ID3D12Device13_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
27362 ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
27363
27364
27365#define ID3D12Device13_CreateSampler2(This,pDesc,DestDescriptor) \
27366 ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
27367
27368#if !defined(_WIN32)
27369
27370#define ID3D12Device13_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
27371 ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
27372#else
27373#define ID3D12Device13_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
27374 ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
27375#endif
27376
27377
27378#define ID3D12Device13_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \
27379 ( (This)->lpVtbl -> OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) )
27380
27381#endif /* COBJMACROS */
27382
27383
27384#endif /* C style interface */
27385
27386
27387
27388
27389#endif /* __ID3D12Device13_INTERFACE_DEFINED__ */
27390
27391
27392#ifndef __ID3D12Device14_INTERFACE_DEFINED__
27393#define __ID3D12Device14_INTERFACE_DEFINED__
27394
27395/* interface ID3D12Device14 */
27396/* [unique][local][object][uuid] */
27397
27398
27399EXTERN_C const IID IID_ID3D12Device14;
27400
27401#if defined(__cplusplus) && !defined(CINTERFACE)
27402
27403 MIDL_INTERFACE("5f6e592d-d895-44c2-8e4a-88ad4926d323")
27404 ID3D12Device14 : public ID3D12Device13
27405 {
27406 public:
27407 virtual HRESULT STDMETHODCALLTYPE CreateRootSignatureFromSubobjectInLibrary(
27408 _In_ UINT nodeMask,
27409 _In_reads_(blobLengthInBytes) const void *pLibraryBlob,
27410 _In_ SIZE_T blobLengthInBytes,
27411 _In_opt_ LPCWSTR subobjectName,
27412 REFIID riid,
27413 _COM_Outptr_ void **ppvRootSignature) = 0;
27414
27415 };
27416
27417
27418#else /* C style interface */
27419
27420 typedef struct ID3D12Device14Vtbl
27421 {
27422 BEGIN_INTERFACE
27423
27424 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
27425 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
27426 ID3D12Device14 * This,
27427 REFIID riid,
27428 _COM_Outptr_ void **ppvObject);
27429
27430 DECLSPEC_XFGVIRT(IUnknown, AddRef)
27431 ULONG ( STDMETHODCALLTYPE *AddRef )(
27432 ID3D12Device14 * This);
27433
27434 DECLSPEC_XFGVIRT(IUnknown, Release)
27435 ULONG ( STDMETHODCALLTYPE *Release )(
27436 ID3D12Device14 * This);
27437
27438 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
27439 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
27440 ID3D12Device14 * This,
27441 _In_ REFGUID guid,
27442 _Inout_ UINT *pDataSize,
27443 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
27444
27445 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
27446 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
27447 ID3D12Device14 * This,
27448 _In_ REFGUID guid,
27449 _In_ UINT DataSize,
27450 _In_reads_bytes_opt_( DataSize ) const void *pData);
27451
27452 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
27453 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
27454 ID3D12Device14 * This,
27455 _In_ REFGUID guid,
27456 _In_opt_ const IUnknown *pData);
27457
27458 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
27459 HRESULT ( STDMETHODCALLTYPE *SetName )(
27460 ID3D12Device14 * This,
27461 _In_z_ LPCWSTR Name);
27462
27463 DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
27464 UINT ( STDMETHODCALLTYPE *GetNodeCount )(
27465 ID3D12Device14 * This);
27466
27467 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
27468 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
27469 ID3D12Device14 * This,
27470 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
27471 REFIID riid,
27472 _COM_Outptr_ void **ppCommandQueue);
27473
27474 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
27475 HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
27476 ID3D12Device14 * This,
27477 _In_ D3D12_COMMAND_LIST_TYPE type,
27478 REFIID riid,
27479 _COM_Outptr_ void **ppCommandAllocator);
27480
27481 DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
27482 HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
27483 ID3D12Device14 * This,
27484 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
27485 REFIID riid,
27486 _COM_Outptr_ void **ppPipelineState);
27487
27488 DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
27489 HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
27490 ID3D12Device14 * This,
27491 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
27492 REFIID riid,
27493 _COM_Outptr_ void **ppPipelineState);
27494
27495 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
27496 HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
27497 ID3D12Device14 * This,
27498 _In_ UINT nodeMask,
27499 _In_ D3D12_COMMAND_LIST_TYPE type,
27500 _In_ ID3D12CommandAllocator *pCommandAllocator,
27501 _In_opt_ ID3D12PipelineState *pInitialState,
27502 REFIID riid,
27503 _COM_Outptr_ void **ppCommandList);
27504
27505 DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
27506 HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
27507 ID3D12Device14 * This,
27508 D3D12_FEATURE Feature,
27509 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
27510 UINT FeatureSupportDataSize);
27511
27512 DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
27513 HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
27514 ID3D12Device14 * This,
27515 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
27516 REFIID riid,
27517 _COM_Outptr_ void **ppvHeap);
27518
27519 DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
27520 UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
27521 ID3D12Device14 * This,
27522 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
27523
27524 DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
27525 HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
27526 ID3D12Device14 * This,
27527 _In_ UINT nodeMask,
27528 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
27529 _In_ SIZE_T blobLengthInBytes,
27530 REFIID riid,
27531 _COM_Outptr_ void **ppvRootSignature);
27532
27533 DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
27534 void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
27535 ID3D12Device14 * This,
27536 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
27537 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
27538
27539 DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
27540 void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
27541 ID3D12Device14 * This,
27542 _In_opt_ ID3D12Resource *pResource,
27543 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
27544 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
27545
27546 DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
27547 void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
27548 ID3D12Device14 * This,
27549 _In_opt_ ID3D12Resource *pResource,
27550 _In_opt_ ID3D12Resource *pCounterResource,
27551 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
27552 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
27553
27554 DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
27555 void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
27556 ID3D12Device14 * This,
27557 _In_opt_ ID3D12Resource *pResource,
27558 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
27559 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
27560
27561 DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
27562 void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
27563 ID3D12Device14 * This,
27564 _In_opt_ ID3D12Resource *pResource,
27565 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
27566 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
27567
27568 DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
27569 void ( STDMETHODCALLTYPE *CreateSampler )(
27570 ID3D12Device14 * This,
27571 _In_ const D3D12_SAMPLER_DESC *pDesc,
27572 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
27573
27574 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
27575 void ( STDMETHODCALLTYPE *CopyDescriptors )(
27576 ID3D12Device14 * This,
27577 _In_ UINT NumDestDescriptorRanges,
27578 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
27579 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
27580 _In_ UINT NumSrcDescriptorRanges,
27581 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
27582 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
27583 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
27584
27585 DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
27586 void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
27587 ID3D12Device14 * This,
27588 _In_ UINT NumDescriptors,
27589 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
27590 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
27591 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
27592
27593 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
27594#if !defined(_WIN32)
27595 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
27596 ID3D12Device14 * This,
27597 _In_ UINT visibleMask,
27598 _In_ UINT numResourceDescs,
27599 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
27600
27601#else
27602 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
27603 ID3D12Device14 * This,
27604 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
27605 _In_ UINT visibleMask,
27606 _In_ UINT numResourceDescs,
27607 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
27608
27609#endif
27610
27611 DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
27612#if !defined(_WIN32)
27613 D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
27614 ID3D12Device14 * This,
27615 _In_ UINT nodeMask,
27616 D3D12_HEAP_TYPE heapType);
27617
27618#else
27619 D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
27620 ID3D12Device14 * This,
27621 D3D12_HEAP_PROPERTIES * RetVal,
27622 _In_ UINT nodeMask,
27623 D3D12_HEAP_TYPE heapType);
27624
27625#endif
27626
27627 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
27628 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
27629 ID3D12Device14 * This,
27630 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
27631 D3D12_HEAP_FLAGS HeapFlags,
27632 _In_ const D3D12_RESOURCE_DESC *pDesc,
27633 D3D12_RESOURCE_STATES InitialResourceState,
27634 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
27635 REFIID riidResource,
27636 _COM_Outptr_opt_ void **ppvResource);
27637
27638 DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
27639 HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
27640 ID3D12Device14 * This,
27641 _In_ const D3D12_HEAP_DESC *pDesc,
27642 REFIID riid,
27643 _COM_Outptr_opt_ void **ppvHeap);
27644
27645 DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
27646 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
27647 ID3D12Device14 * This,
27648 _In_ ID3D12Heap *pHeap,
27649 UINT64 HeapOffset,
27650 _In_ const D3D12_RESOURCE_DESC *pDesc,
27651 D3D12_RESOURCE_STATES InitialState,
27652 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
27653 REFIID riid,
27654 _COM_Outptr_opt_ void **ppvResource);
27655
27656 DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
27657 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
27658 ID3D12Device14 * This,
27659 _In_ const D3D12_RESOURCE_DESC *pDesc,
27660 D3D12_RESOURCE_STATES InitialState,
27661 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
27662 REFIID riid,
27663 _COM_Outptr_opt_ void **ppvResource);
27664
27665 DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
27666 HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
27667 ID3D12Device14 * This,
27668 _In_ ID3D12DeviceChild *pObject,
27669 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
27670 DWORD Access,
27671 _In_opt_ LPCWSTR Name,
27672 _Out_ HANDLE *pHandle);
27673
27674 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
27675 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
27676 ID3D12Device14 * This,
27677 _In_ HANDLE NTHandle,
27678 REFIID riid,
27679 _COM_Outptr_opt_ void **ppvObj);
27680
27681 DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
27682 HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
27683 ID3D12Device14 * This,
27684 _In_ LPCWSTR Name,
27685 DWORD Access,
27686 /* [annotation][out] */
27687 _Out_ HANDLE *pNTHandle);
27688
27689 DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
27690 HRESULT ( STDMETHODCALLTYPE *MakeResident )(
27691 ID3D12Device14 * This,
27692 UINT NumObjects,
27693 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
27694
27695 DECLSPEC_XFGVIRT(ID3D12Device, Evict)
27696 HRESULT ( STDMETHODCALLTYPE *Evict )(
27697 ID3D12Device14 * This,
27698 UINT NumObjects,
27699 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
27700
27701 DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
27702 HRESULT ( STDMETHODCALLTYPE *CreateFence )(
27703 ID3D12Device14 * This,
27704 UINT64 InitialValue,
27705 D3D12_FENCE_FLAGS Flags,
27706 REFIID riid,
27707 _COM_Outptr_ void **ppFence);
27708
27709 DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
27710 HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
27711 ID3D12Device14 * This);
27712
27713 DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
27714 void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
27715 ID3D12Device14 * This,
27716 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
27717 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
27718 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
27719 UINT64 BaseOffset,
27720 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
27721 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
27722 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
27723 _Out_opt_ UINT64 *pTotalBytes);
27724
27725 DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
27726 HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
27727 ID3D12Device14 * This,
27728 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
27729 REFIID riid,
27730 _COM_Outptr_opt_ void **ppvHeap);
27731
27732 DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
27733 HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
27734 ID3D12Device14 * This,
27735 BOOL Enable);
27736
27737 DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
27738 HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
27739 ID3D12Device14 * This,
27740 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
27741 _In_opt_ ID3D12RootSignature *pRootSignature,
27742 REFIID riid,
27743 _COM_Outptr_opt_ void **ppvCommandSignature);
27744
27745 DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
27746 void ( STDMETHODCALLTYPE *GetResourceTiling )(
27747 ID3D12Device14 * This,
27748 _In_ ID3D12Resource *pTiledResource,
27749 _Out_opt_ UINT *pNumTilesForEntireResource,
27750 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
27751 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
27752 _Inout_opt_ UINT *pNumSubresourceTilings,
27753 _In_ UINT FirstSubresourceTilingToGet,
27754 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
27755
27756 DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
27757#if !defined(_WIN32)
27758 LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
27759 ID3D12Device14 * This);
27760
27761#else
27762 LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
27763 ID3D12Device14 * This,
27764 LUID * RetVal);
27765
27766#endif
27767
27768 DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
27769 HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
27770 ID3D12Device14 * This,
27771 _In_reads_(BlobLength) const void *pLibraryBlob,
27772 SIZE_T BlobLength,
27773 REFIID riid,
27774 _COM_Outptr_ void **ppPipelineLibrary);
27775
27776 DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
27777 HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
27778 ID3D12Device14 * This,
27779 _In_reads_(NumFences) ID3D12Fence *const *ppFences,
27780 _In_reads_(NumFences) const UINT64 *pFenceValues,
27781 UINT NumFences,
27782 D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
27783 HANDLE hEvent);
27784
27785 DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
27786 HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
27787 ID3D12Device14 * This,
27788 UINT NumObjects,
27789 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
27790 _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
27791
27792 DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
27793 HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
27794 ID3D12Device14 * This,
27795 const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
27796 REFIID riid,
27797 _COM_Outptr_ void **ppPipelineState);
27798
27799 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
27800 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
27801 ID3D12Device14 * This,
27802 _In_ const void *pAddress,
27803 REFIID riid,
27804 _COM_Outptr_ void **ppvHeap);
27805
27806 DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
27807 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
27808 ID3D12Device14 * This,
27809 _In_ HANDLE hFileMapping,
27810 REFIID riid,
27811 _COM_Outptr_ void **ppvHeap);
27812
27813 DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
27814 HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
27815 ID3D12Device14 * This,
27816 D3D12_RESIDENCY_FLAGS Flags,
27817 UINT NumObjects,
27818 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
27819 _In_ ID3D12Fence *pFenceToSignal,
27820 UINT64 FenceValueToSignal);
27821
27822 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
27823 HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
27824 ID3D12Device14 * This,
27825 _In_ UINT nodeMask,
27826 _In_ D3D12_COMMAND_LIST_TYPE type,
27827 _In_ D3D12_COMMAND_LIST_FLAGS flags,
27828 REFIID riid,
27829 _COM_Outptr_ void **ppCommandList);
27830
27831 DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
27832 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
27833 ID3D12Device14 * This,
27834 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
27835 _In_ REFIID riid,
27836 _COM_Outptr_ void **ppSession);
27837
27838 DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
27839 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
27840 ID3D12Device14 * This,
27841 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
27842 D3D12_HEAP_FLAGS HeapFlags,
27843 _In_ const D3D12_RESOURCE_DESC *pDesc,
27844 D3D12_RESOURCE_STATES InitialResourceState,
27845 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
27846 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
27847 REFIID riidResource,
27848 _COM_Outptr_opt_ void **ppvResource);
27849
27850 DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
27851 HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
27852 ID3D12Device14 * This,
27853 _In_ const D3D12_HEAP_DESC *pDesc,
27854 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
27855 REFIID riid,
27856 _COM_Outptr_opt_ void **ppvHeap);
27857
27858 DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
27859 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
27860 ID3D12Device14 * This,
27861 _In_ const D3D12_RESOURCE_DESC *pDesc,
27862 D3D12_RESOURCE_STATES InitialState,
27863 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
27864 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
27865 REFIID riid,
27866 _COM_Outptr_opt_ void **ppvResource);
27867
27868 DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
27869#if !defined(_WIN32)
27870 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
27871 ID3D12Device14 * This,
27872 UINT visibleMask,
27873 UINT numResourceDescs,
27874 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
27875 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
27876
27877#else
27878 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
27879 ID3D12Device14 * This,
27880 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
27881 UINT visibleMask,
27882 UINT numResourceDescs,
27883 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
27884 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
27885
27886#endif
27887
27888 DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
27889 HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
27890 ID3D12Device14 * This,
27891 _In_ ID3D12LifetimeOwner *pOwner,
27892 REFIID riid,
27893 _COM_Outptr_ void **ppvTracker);
27894
27895 DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
27896 void ( STDMETHODCALLTYPE *RemoveDevice )(
27897 ID3D12Device14 * This);
27898
27899 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
27900 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
27901 ID3D12Device14 * This,
27902 _Inout_ UINT *pNumMetaCommands,
27903 _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
27904
27905 DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
27906 HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
27907 ID3D12Device14 * This,
27908 _In_ REFGUID CommandId,
27909 _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
27910 _Out_opt_ UINT *pTotalStructureSizeInBytes,
27911 _Inout_ UINT *pParameterCount,
27912 _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
27913
27914 DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
27915 HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
27916 ID3D12Device14 * This,
27917 _In_ REFGUID CommandId,
27918 _In_ UINT NodeMask,
27919 _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
27920 _In_ SIZE_T CreationParametersDataSizeInBytes,
27921 REFIID riid,
27922 _COM_Outptr_ void **ppMetaCommand);
27923
27924 DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
27925 HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
27926 ID3D12Device14 * This,
27927 const D3D12_STATE_OBJECT_DESC *pDesc,
27928 REFIID riid,
27929 _COM_Outptr_ void **ppStateObject);
27930
27931 DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
27932 void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
27933 ID3D12Device14 * This,
27934 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
27935 _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
27936
27937 DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
27938 D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
27939 ID3D12Device14 * This,
27940 _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
27941 _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
27942
27943 DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
27944 HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
27945 ID3D12Device14 * This,
27946 D3D12_BACKGROUND_PROCESSING_MODE Mode,
27947 D3D12_MEASUREMENTS_ACTION MeasurementsAction,
27948 _In_opt_ HANDLE hEventToSignalUponCompletion,
27949 _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
27950
27951 DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
27952 HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
27953 ID3D12Device14 * This,
27954 const D3D12_STATE_OBJECT_DESC *pAddition,
27955 ID3D12StateObject *pStateObjectToGrowFrom,
27956 REFIID riid,
27957 _COM_Outptr_ void **ppNewStateObject);
27958
27959 DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
27960 HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
27961 ID3D12Device14 * This,
27962 _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
27963 _In_ REFIID riid,
27964 _COM_Outptr_ void **ppSession);
27965
27966 DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
27967#if !defined(_WIN32)
27968 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
27969 ID3D12Device14 * This,
27970 UINT visibleMask,
27971 UINT numResourceDescs,
27972 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
27973 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
27974
27975#else
27976 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
27977 ID3D12Device14 * This,
27978 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
27979 UINT visibleMask,
27980 UINT numResourceDescs,
27981 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
27982 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
27983
27984#endif
27985
27986 DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
27987 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
27988 ID3D12Device14 * This,
27989 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
27990 D3D12_HEAP_FLAGS HeapFlags,
27991 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
27992 D3D12_RESOURCE_STATES InitialResourceState,
27993 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
27994 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
27995 REFIID riidResource,
27996 _COM_Outptr_opt_ void **ppvResource);
27997
27998 DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
27999 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
28000 ID3D12Device14 * This,
28001 _In_ ID3D12Heap *pHeap,
28002 UINT64 HeapOffset,
28003 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
28004 D3D12_RESOURCE_STATES InitialState,
28005 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
28006 REFIID riid,
28007 _COM_Outptr_opt_ void **ppvResource);
28008
28009 DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
28010 void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
28011 ID3D12Device14 * This,
28012 _In_opt_ ID3D12Resource *pTargetedResource,
28013 _In_opt_ ID3D12Resource *pFeedbackResource,
28014 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
28015
28016 DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
28017 void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
28018 ID3D12Device14 * This,
28019 _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
28020 _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
28021 _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
28022 UINT64 BaseOffset,
28023 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
28024 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
28025 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
28026 _Out_opt_ UINT64 *pTotalBytes);
28027
28028 DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
28029 HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
28030 ID3D12Device14 * This,
28031 _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
28032 REFIID riid,
28033 _COM_Outptr_opt_ void **ppvSession);
28034
28035 DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
28036 HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
28037 ID3D12Device14 * This,
28038 D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
28039 D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
28040
28041 DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
28042 HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
28043 ID3D12Device14 * This,
28044 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
28045 REFIID CreatorID,
28046 REFIID riid,
28047 _COM_Outptr_ void **ppCommandQueue);
28048
28049 DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
28050 HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
28051 ID3D12Device14 * This,
28052 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
28053 D3D12_HEAP_FLAGS HeapFlags,
28054 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
28055 D3D12_BARRIER_LAYOUT InitialLayout,
28056 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
28057 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
28058 UINT32 NumCastableFormats,
28059 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
28060 REFIID riidResource,
28061 _COM_Outptr_opt_ void **ppvResource);
28062
28063 DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
28064 HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
28065 ID3D12Device14 * This,
28066 _In_ ID3D12Heap *pHeap,
28067 UINT64 HeapOffset,
28068 _In_ const D3D12_RESOURCE_DESC1 *pDesc,
28069 D3D12_BARRIER_LAYOUT InitialLayout,
28070 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
28071 UINT32 NumCastableFormats,
28072 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
28073 REFIID riid,
28074 _COM_Outptr_opt_ void **ppvResource);
28075
28076 DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
28077 HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
28078 ID3D12Device14 * This,
28079 _In_ const D3D12_RESOURCE_DESC *pDesc,
28080 D3D12_BARRIER_LAYOUT InitialLayout,
28081 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
28082 _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
28083 UINT32 NumCastableFormats,
28084 _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
28085 REFIID riid,
28086 _COM_Outptr_opt_ void **ppvResource);
28087
28088 DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
28089 void ( STDMETHODCALLTYPE *CreateSampler2 )(
28090 ID3D12Device14 * This,
28091 _In_ const D3D12_SAMPLER_DESC2 *pDesc,
28092 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
28093
28094 DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3)
28095#if !defined(_WIN32)
28096 D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
28097 ID3D12Device14 * This,
28098 UINT visibleMask,
28099 UINT numResourceDescs,
28100 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
28101 _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
28102 _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
28103 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
28104
28105#else
28106 D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
28107 ID3D12Device14 * This,
28108 D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
28109 UINT visibleMask,
28110 UINT numResourceDescs,
28111 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
28112 _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
28113 _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
28114 _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
28115
28116#endif
28117
28118 DECLSPEC_XFGVIRT(ID3D12Device13, OpenExistingHeapFromAddress1)
28119 HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress1 )(
28120 ID3D12Device14 * This,
28121 _In_ const void *pAddress,
28122 SIZE_T size,
28123 REFIID riid,
28124 _COM_Outptr_ void **ppvHeap);
28125
28126 DECLSPEC_XFGVIRT(ID3D12Device14, CreateRootSignatureFromSubobjectInLibrary)
28127 HRESULT ( STDMETHODCALLTYPE *CreateRootSignatureFromSubobjectInLibrary )(
28128 ID3D12Device14 * This,
28129 _In_ UINT nodeMask,
28130 _In_reads_(blobLengthInBytes) const void *pLibraryBlob,
28131 _In_ SIZE_T blobLengthInBytes,
28132 _In_opt_ LPCWSTR subobjectName,
28133 REFIID riid,
28134 _COM_Outptr_ void **ppvRootSignature);
28135
28136 END_INTERFACE
28137 } ID3D12Device14Vtbl;
28138
28139 interface ID3D12Device14
28140 {
28141 CONST_VTBL struct ID3D12Device14Vtbl *lpVtbl;
28142 };
28143
28144
28145
28146#ifdef COBJMACROS
28147
28148
28149#define ID3D12Device14_QueryInterface(This,riid,ppvObject) \
28150 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
28151
28152#define ID3D12Device14_AddRef(This) \
28153 ( (This)->lpVtbl -> AddRef(This) )
28154
28155#define ID3D12Device14_Release(This) \
28156 ( (This)->lpVtbl -> Release(This) )
28157
28158
28159#define ID3D12Device14_GetPrivateData(This,guid,pDataSize,pData) \
28160 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
28161
28162#define ID3D12Device14_SetPrivateData(This,guid,DataSize,pData) \
28163 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
28164
28165#define ID3D12Device14_SetPrivateDataInterface(This,guid,pData) \
28166 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
28167
28168#define ID3D12Device14_SetName(This,Name) \
28169 ( (This)->lpVtbl -> SetName(This,Name) )
28170
28171
28172#define ID3D12Device14_GetNodeCount(This) \
28173 ( (This)->lpVtbl -> GetNodeCount(This) )
28174
28175#define ID3D12Device14_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
28176 ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
28177
28178#define ID3D12Device14_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
28179 ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
28180
28181#define ID3D12Device14_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
28182 ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
28183
28184#define ID3D12Device14_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
28185 ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
28186
28187#define ID3D12Device14_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
28188 ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
28189
28190#define ID3D12Device14_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
28191 ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
28192
28193#define ID3D12Device14_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
28194 ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
28195
28196#define ID3D12Device14_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
28197 ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
28198
28199#define ID3D12Device14_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
28200 ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
28201
28202#define ID3D12Device14_CreateConstantBufferView(This,pDesc,DestDescriptor) \
28203 ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
28204
28205#define ID3D12Device14_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
28206 ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
28207
28208#define ID3D12Device14_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
28209 ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
28210
28211#define ID3D12Device14_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
28212 ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
28213
28214#define ID3D12Device14_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
28215 ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
28216
28217#define ID3D12Device14_CreateSampler(This,pDesc,DestDescriptor) \
28218 ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
28219
28220#define ID3D12Device14_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
28221 ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
28222
28223#define ID3D12Device14_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
28224 ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
28225#if !defined(_WIN32)
28226
28227#define ID3D12Device14_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
28228 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
28229#else
28230#define ID3D12Device14_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
28231 ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
28232#endif
28233#if !defined(_WIN32)
28234
28235#define ID3D12Device14_GetCustomHeapProperties(This,nodeMask,heapType) \
28236 ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
28237#else
28238#define ID3D12Device14_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
28239 ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
28240#endif
28241
28242#define ID3D12Device14_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
28243 ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
28244
28245#define ID3D12Device14_CreateHeap(This,pDesc,riid,ppvHeap) \
28246 ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
28247
28248#define ID3D12Device14_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
28249 ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
28250
28251#define ID3D12Device14_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
28252 ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
28253
28254#define ID3D12Device14_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
28255 ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
28256
28257#define ID3D12Device14_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
28258 ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
28259
28260#define ID3D12Device14_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
28261 ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
28262
28263#define ID3D12Device14_MakeResident(This,NumObjects,ppObjects) \
28264 ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
28265
28266#define ID3D12Device14_Evict(This,NumObjects,ppObjects) \
28267 ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
28268
28269#define ID3D12Device14_CreateFence(This,InitialValue,Flags,riid,ppFence) \
28270 ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
28271
28272#define ID3D12Device14_GetDeviceRemovedReason(This) \
28273 ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
28274
28275#define ID3D12Device14_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
28276 ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
28277
28278#define ID3D12Device14_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
28279 ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
28280
28281#define ID3D12Device14_SetStablePowerState(This,Enable) \
28282 ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
28283
28284#define ID3D12Device14_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
28285 ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
28286
28287#define ID3D12Device14_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
28288 ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
28289#if !defined(_WIN32)
28290
28291#define ID3D12Device14_GetAdapterLuid(This) \
28292 ( (This)->lpVtbl -> GetAdapterLuid(This) )
28293#else
28294#define ID3D12Device14_GetAdapterLuid(This,RetVal) \
28295 ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
28296#endif
28297
28298
28299#define ID3D12Device14_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
28300 ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
28301
28302#define ID3D12Device14_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
28303 ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
28304
28305#define ID3D12Device14_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
28306 ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
28307
28308
28309#define ID3D12Device14_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
28310 ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
28311
28312
28313#define ID3D12Device14_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
28314 ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
28315
28316#define ID3D12Device14_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
28317 ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
28318
28319#define ID3D12Device14_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
28320 ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
28321
28322
28323#define ID3D12Device14_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
28324 ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
28325
28326#define ID3D12Device14_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
28327 ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
28328
28329#define ID3D12Device14_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
28330 ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
28331
28332#define ID3D12Device14_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
28333 ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
28334
28335#define ID3D12Device14_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
28336 ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
28337#if !defined(_WIN32)
28338
28339#define ID3D12Device14_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
28340 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
28341#else
28342#define ID3D12Device14_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
28343 ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
28344#endif
28345
28346
28347#define ID3D12Device14_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
28348 ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
28349
28350#define ID3D12Device14_RemoveDevice(This) \
28351 ( (This)->lpVtbl -> RemoveDevice(This) )
28352
28353#define ID3D12Device14_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
28354 ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
28355
28356#define ID3D12Device14_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
28357 ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
28358
28359#define ID3D12Device14_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
28360 ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
28361
28362#define ID3D12Device14_CreateStateObject(This,pDesc,riid,ppStateObject) \
28363 ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
28364
28365#define ID3D12Device14_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
28366 ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
28367
28368#define ID3D12Device14_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
28369 ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
28370
28371
28372#define ID3D12Device14_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
28373 ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
28374
28375
28376#define ID3D12Device14_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
28377 ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
28378
28379#define ID3D12Device14_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
28380 ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
28381
28382#if !defined(_WIN32)
28383
28384#define ID3D12Device14_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
28385 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
28386#else
28387#define ID3D12Device14_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
28388 ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
28389#endif
28390
28391#define ID3D12Device14_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
28392 ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
28393
28394#define ID3D12Device14_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
28395 ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
28396
28397#define ID3D12Device14_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
28398 ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
28399
28400#define ID3D12Device14_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
28401 ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
28402
28403
28404#define ID3D12Device14_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
28405 ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
28406
28407#define ID3D12Device14_ShaderCacheControl(This,Kinds,Control) \
28408 ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
28409
28410#define ID3D12Device14_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
28411 ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
28412
28413
28414#define ID3D12Device14_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
28415 ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
28416
28417#define ID3D12Device14_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
28418 ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
28419
28420#define ID3D12Device14_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
28421 ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
28422
28423
28424#define ID3D12Device14_CreateSampler2(This,pDesc,DestDescriptor) \
28425 ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
28426
28427#if !defined(_WIN32)
28428
28429#define ID3D12Device14_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
28430 ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
28431#else
28432#define ID3D12Device14_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
28433 ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
28434#endif
28435
28436
28437#define ID3D12Device14_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \
28438 ( (This)->lpVtbl -> OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) )
28439
28440
28441#define ID3D12Device14_CreateRootSignatureFromSubobjectInLibrary(This,nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) \
28442 ( (This)->lpVtbl -> CreateRootSignatureFromSubobjectInLibrary(This,nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) )
28443
28444#endif /* COBJMACROS */
28445
28446
28447#endif /* C style interface */
28448
28449
28450
28451
28452#endif /* __ID3D12Device14_INTERFACE_DEFINED__ */
28453
28454
28455#ifndef __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__
28456#define __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__
28457
28458/* interface ID3D12VirtualizationGuestDevice */
28459/* [unique][local][object][uuid] */
28460
28461
28462EXTERN_C const IID IID_ID3D12VirtualizationGuestDevice;
28463
28464#if defined(__cplusplus) && !defined(CINTERFACE)
28465
28466 MIDL_INTERFACE("bc66d368-7373-4943-8757-fc87dc79e476")
28467 ID3D12VirtualizationGuestDevice : public IUnknown
28468 {
28469 public:
28470 virtual HRESULT STDMETHODCALLTYPE ShareWithHost(
28471 _In_ ID3D12DeviceChild *pObject,
28472 _Out_ HANDLE *pHandle) = 0;
28473
28474 virtual HRESULT STDMETHODCALLTYPE CreateFenceFd(
28475 _In_ ID3D12Fence *pFence,
28476 UINT64 FenceValue,
28477 _Out_ int *pFenceFd) = 0;
28478
28479 };
28480
28481
28482#else /* C style interface */
28483
28484 typedef struct ID3D12VirtualizationGuestDeviceVtbl
28485 {
28486 BEGIN_INTERFACE
28487
28488 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
28489 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
28490 ID3D12VirtualizationGuestDevice * This,
28491 REFIID riid,
28492 _COM_Outptr_ void **ppvObject);
28493
28494 DECLSPEC_XFGVIRT(IUnknown, AddRef)
28495 ULONG ( STDMETHODCALLTYPE *AddRef )(
28496 ID3D12VirtualizationGuestDevice * This);
28497
28498 DECLSPEC_XFGVIRT(IUnknown, Release)
28499 ULONG ( STDMETHODCALLTYPE *Release )(
28500 ID3D12VirtualizationGuestDevice * This);
28501
28502 DECLSPEC_XFGVIRT(ID3D12VirtualizationGuestDevice, ShareWithHost)
28503 HRESULT ( STDMETHODCALLTYPE *ShareWithHost )(
28504 ID3D12VirtualizationGuestDevice * This,
28505 _In_ ID3D12DeviceChild *pObject,
28506 _Out_ HANDLE *pHandle);
28507
28508 DECLSPEC_XFGVIRT(ID3D12VirtualizationGuestDevice, CreateFenceFd)
28509 HRESULT ( STDMETHODCALLTYPE *CreateFenceFd )(
28510 ID3D12VirtualizationGuestDevice * This,
28511 _In_ ID3D12Fence *pFence,
28512 UINT64 FenceValue,
28513 _Out_ int *pFenceFd);
28514
28515 END_INTERFACE
28516 } ID3D12VirtualizationGuestDeviceVtbl;
28517
28518 interface ID3D12VirtualizationGuestDevice
28519 {
28520 CONST_VTBL struct ID3D12VirtualizationGuestDeviceVtbl *lpVtbl;
28521 };
28522
28523
28524
28525#ifdef COBJMACROS
28526
28527
28528#define ID3D12VirtualizationGuestDevice_QueryInterface(This,riid,ppvObject) \
28529 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
28530
28531#define ID3D12VirtualizationGuestDevice_AddRef(This) \
28532 ( (This)->lpVtbl -> AddRef(This) )
28533
28534#define ID3D12VirtualizationGuestDevice_Release(This) \
28535 ( (This)->lpVtbl -> Release(This) )
28536
28537
28538#define ID3D12VirtualizationGuestDevice_ShareWithHost(This,pObject,pHandle) \
28539 ( (This)->lpVtbl -> ShareWithHost(This,pObject,pHandle) )
28540
28541#define ID3D12VirtualizationGuestDevice_CreateFenceFd(This,pFence,FenceValue,pFenceFd) \
28542 ( (This)->lpVtbl -> CreateFenceFd(This,pFence,FenceValue,pFenceFd) )
28543
28544#endif /* COBJMACROS */
28545
28546
28547#endif /* C style interface */
28548
28549
28550
28551
28552#endif /* __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__ */
28553
28554
28555#ifndef __ID3D12Tools_INTERFACE_DEFINED__
28556#define __ID3D12Tools_INTERFACE_DEFINED__
28557
28558/* interface ID3D12Tools */
28559/* [unique][local][object][uuid] */
28560
28561
28562EXTERN_C const IID IID_ID3D12Tools;
28563
28564#if defined(__cplusplus) && !defined(CINTERFACE)
28565
28566 MIDL_INTERFACE("7071e1f0-e84b-4b33-974f-12fa49de65c5")
28567 ID3D12Tools : public IUnknown
28568 {
28569 public:
28570 virtual void STDMETHODCALLTYPE EnableShaderInstrumentation(
28571 BOOL bEnable) = 0;
28572
28573 virtual BOOL STDMETHODCALLTYPE ShaderInstrumentationEnabled( void) = 0;
28574
28575 };
28576
28577
28578#else /* C style interface */
28579
28580 typedef struct ID3D12ToolsVtbl
28581 {
28582 BEGIN_INTERFACE
28583
28584 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
28585 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
28586 ID3D12Tools * This,
28587 REFIID riid,
28588 _COM_Outptr_ void **ppvObject);
28589
28590 DECLSPEC_XFGVIRT(IUnknown, AddRef)
28591 ULONG ( STDMETHODCALLTYPE *AddRef )(
28592 ID3D12Tools * This);
28593
28594 DECLSPEC_XFGVIRT(IUnknown, Release)
28595 ULONG ( STDMETHODCALLTYPE *Release )(
28596 ID3D12Tools * This);
28597
28598 DECLSPEC_XFGVIRT(ID3D12Tools, EnableShaderInstrumentation)
28599 void ( STDMETHODCALLTYPE *EnableShaderInstrumentation )(
28600 ID3D12Tools * This,
28601 BOOL bEnable);
28602
28603 DECLSPEC_XFGVIRT(ID3D12Tools, ShaderInstrumentationEnabled)
28604 BOOL ( STDMETHODCALLTYPE *ShaderInstrumentationEnabled )(
28605 ID3D12Tools * This);
28606
28607 END_INTERFACE
28608 } ID3D12ToolsVtbl;
28609
28610 interface ID3D12Tools
28611 {
28612 CONST_VTBL struct ID3D12ToolsVtbl *lpVtbl;
28613 };
28614
28615
28616
28617#ifdef COBJMACROS
28618
28619
28620#define ID3D12Tools_QueryInterface(This,riid,ppvObject) \
28621 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
28622
28623#define ID3D12Tools_AddRef(This) \
28624 ( (This)->lpVtbl -> AddRef(This) )
28625
28626#define ID3D12Tools_Release(This) \
28627 ( (This)->lpVtbl -> Release(This) )
28628
28629
28630#define ID3D12Tools_EnableShaderInstrumentation(This,bEnable) \
28631 ( (This)->lpVtbl -> EnableShaderInstrumentation(This,bEnable) )
28632
28633#define ID3D12Tools_ShaderInstrumentationEnabled(This) \
28634 ( (This)->lpVtbl -> ShaderInstrumentationEnabled(This) )
28635
28636#endif /* COBJMACROS */
28637
28638
28639#endif /* C style interface */
28640
28641
28642
28643
28644#endif /* __ID3D12Tools_INTERFACE_DEFINED__ */
28645
28646
28647/* interface __MIDL_itf_d3d12_0000_0062 */
28648/* [local] */
28649
28650typedef struct D3D12_SUBRESOURCE_DATA
28651 {
28652 const void *pData;
28653 LONG_PTR RowPitch;
28654 LONG_PTR SlicePitch;
28655 } D3D12_SUBRESOURCE_DATA;
28656
28657typedef struct D3D12_MEMCPY_DEST
28658 {
28659 void *pData;
28660 SIZE_T RowPitch;
28661 SIZE_T SlicePitch;
28662 } D3D12_MEMCPY_DEST;
28663
28664#if !defined( D3D12_IGNORE_SDK_LAYERS )
28665#include "d3d12sdklayers.h"
28666#endif
28667
28668///////////////////////////////////////////////////////////////////////////
28669// D3D12CreateDevice
28670// ------------------
28671//
28672// pAdapter
28673// If NULL, D3D12CreateDevice will choose the primary adapter.
28674// If non-NULL, D3D12CreateDevice will use the provided adapter.
28675// MinimumFeatureLevel
28676// The minimum feature level required for successful device creation.
28677// riid
28678// The interface IID of the device to be returned. Expected: ID3D12Device.
28679// ppDevice
28680// Pointer to returned interface. May be NULL.
28681//
28682// Return Values
28683// Any of those documented for
28684// CreateDXGIFactory1
28685// IDXGIFactory::EnumAdapters
28686// D3D12CreateDevice
28687//
28688///////////////////////////////////////////////////////////////////////////
28689typedef HRESULT (WINAPI* PFN_D3D12_CREATE_DEVICE)( _In_opt_ IUnknown*,
28690 D3D_FEATURE_LEVEL,
28691 _In_ REFIID, _COM_Outptr_opt_ void** );
28692
28693HRESULT WINAPI D3D12CreateDevice(
28694 _In_opt_ IUnknown* pAdapter,
28695 D3D_FEATURE_LEVEL MinimumFeatureLevel,
28696 _In_ REFIID riid, // Expected: ID3D12Device
28697 _COM_Outptr_opt_ void** ppDevice );
28698
28699
28700typedef HRESULT (WINAPI* PFN_D3D12_GET_DEBUG_INTERFACE)( _In_ REFIID, _COM_Outptr_opt_ void** );
28701
28702HRESULT WINAPI D3D12GetDebugInterface( _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );
28703
28704// --------------------------------------------------------------------------------------------------------------------------------
28705// D3D12EnableExperimentalFeatures
28706//
28707// Pass in a list of feature GUIDs to be enabled together.
28708//
28709// If a particular feature requires some configuration information on enablement, it will have
28710// a configuration struct that can be passed alongside the GUID.
28711//
28712// Some features might use an interface IID as the GUID. For these, once the feature is enabled via
28713// D3D12EnableExperimentalFeatures, D3D12GetDebugInterface can then be called with the IID to retrieve the interface
28714// for manipulating the feature. This allows for control that might not cleanly be expressed by just
28715// the configuration struct that D3D12EnableExperimentalFeatures provides.
28716//
28717// If this method is called and a change to existing feature enablement is made,
28718// all current D3D12 devices are set to DEVICE_REMOVED state, since under the covers there is really only one
28719// singleton device for a process. Removing the devices when configuration changes prevents
28720// mismatched expectations of how a device is supposed to work after it has been created from the app's point of view.
28721//
28722// The call returns E_NOINTERFACE if an unrecognized feature is passed in or Windows Developer mode is not on.
28723// The call returns E_INVALIDARG if the configuration of a feature is incorrect, the set of features passed
28724// in are known to be incompatible with each other, or other errors.
28725// Returns S_OK otherwise.
28726//
28727// --------------------------------------------------------------------------------------------------------------------------------
28728HRESULT WINAPI D3D12EnableExperimentalFeatures(
28729 UINT NumFeatures,
28730 _In_count_(NumFeatures) const IID* pIIDs,
28731 _In_opt_count_(NumFeatures) void* pConfigurationStructs,
28732 _In_opt_count_(NumFeatures) UINT* pConfigurationStructSizes);
28733
28734// --------------------------------------------------------------------------------------------------------------------------------
28735// Experimental Feature: D3D12ExperimentalShaderModels
28736//
28737// Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,
28738// meaning shader models that haven't been finalized for use in retail.
28739//
28740// Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.
28741//
28742// --------------------------------------------------------------------------------------------------------------------------------
28743static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */
28744 0x76f5573e,
28745 0xf13a,
28746 0x40f5,
28747 { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }
28748};
28749// --------------------------------------------------------------------------------------------------------------------------------
28750// Experimental Feature: D3D12TiledResourceTier4
28751//
28752// Use with D3D12EnableExperimentalFeatures to enable tiled resource tier 4 support,
28753// meaning texture tile data-inheritance is allowed.
28754//
28755// Enabling D3D12TiledResourceTier4 needs no configuration struct, pass NULL in the pConfigurationStructs array.
28756//
28757// --------------------------------------------------------------------------------------------------------------------------------
28758static const UUID D3D12TiledResourceTier4 = { /* c9c4725f-a81a-4f56-8c5b-c51039d694fb */
28759 0xc9c4725f,
28760 0xa81a,
28761 0x4f56,
28762 { 0x8c, 0x5b, 0xc5, 0x10, 0x39, 0xd6, 0x94, 0xfb }
28763};
28764// --------------------------------------------------------------------------------------------------------------------------------
28765// D3D12GetInterface
28766//
28767// Retrieve Global D3D12 Interface.
28768//
28769
28770DEFINE_GUID(CLSID_D3D12Debug, 0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f);
28771DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8);
28772DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2);
28773DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce);
28774DEFINE_GUID(CLSID_D3D12DeviceFactory, 0x114863bf, 0xc386, 0x4aee, 0xb3, 0x9d, 0x8f, 0x0b, 0xbb, 0x06, 0x29, 0x55);
28775
28776typedef HRESULT (WINAPI* PFN_D3D12_GET_INTERFACE)( _In_ REFCLSID, _In_ REFIID, _COM_Outptr_opt_ void** );
28777
28778HRESULT WINAPI D3D12GetInterface( _In_ REFCLSID rclsid, _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );
28779
28780
28781
28782extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0062_v0_0_c_ifspec;
28783extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0062_v0_0_s_ifspec;
28784
28785#ifndef __ID3D12SDKConfiguration_INTERFACE_DEFINED__
28786#define __ID3D12SDKConfiguration_INTERFACE_DEFINED__
28787
28788/* interface ID3D12SDKConfiguration */
28789/* [unique][local][object][uuid] */
28790
28791
28792EXTERN_C const IID IID_ID3D12SDKConfiguration;
28793
28794#if defined(__cplusplus) && !defined(CINTERFACE)
28795
28796 MIDL_INTERFACE("e9eb5314-33aa-42b2-a718-d77f58b1f1c7")
28797 ID3D12SDKConfiguration : public IUnknown
28798 {
28799 public:
28800 virtual HRESULT STDMETHODCALLTYPE SetSDKVersion(
28801 UINT SDKVersion,
28802 _In_z_ LPCSTR SDKPath) = 0;
28803
28804 };
28805
28806
28807#else /* C style interface */
28808
28809 typedef struct ID3D12SDKConfigurationVtbl
28810 {
28811 BEGIN_INTERFACE
28812
28813 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
28814 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
28815 ID3D12SDKConfiguration * This,
28816 REFIID riid,
28817 _COM_Outptr_ void **ppvObject);
28818
28819 DECLSPEC_XFGVIRT(IUnknown, AddRef)
28820 ULONG ( STDMETHODCALLTYPE *AddRef )(
28821 ID3D12SDKConfiguration * This);
28822
28823 DECLSPEC_XFGVIRT(IUnknown, Release)
28824 ULONG ( STDMETHODCALLTYPE *Release )(
28825 ID3D12SDKConfiguration * This);
28826
28827 DECLSPEC_XFGVIRT(ID3D12SDKConfiguration, SetSDKVersion)
28828 HRESULT ( STDMETHODCALLTYPE *SetSDKVersion )(
28829 ID3D12SDKConfiguration * This,
28830 UINT SDKVersion,
28831 _In_z_ LPCSTR SDKPath);
28832
28833 END_INTERFACE
28834 } ID3D12SDKConfigurationVtbl;
28835
28836 interface ID3D12SDKConfiguration
28837 {
28838 CONST_VTBL struct ID3D12SDKConfigurationVtbl *lpVtbl;
28839 };
28840
28841
28842
28843#ifdef COBJMACROS
28844
28845
28846#define ID3D12SDKConfiguration_QueryInterface(This,riid,ppvObject) \
28847 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
28848
28849#define ID3D12SDKConfiguration_AddRef(This) \
28850 ( (This)->lpVtbl -> AddRef(This) )
28851
28852#define ID3D12SDKConfiguration_Release(This) \
28853 ( (This)->lpVtbl -> Release(This) )
28854
28855
28856#define ID3D12SDKConfiguration_SetSDKVersion(This,SDKVersion,SDKPath) \
28857 ( (This)->lpVtbl -> SetSDKVersion(This,SDKVersion,SDKPath) )
28858
28859#endif /* COBJMACROS */
28860
28861
28862#endif /* C style interface */
28863
28864
28865
28866
28867#endif /* __ID3D12SDKConfiguration_INTERFACE_DEFINED__ */
28868
28869
28870#ifndef __ID3D12SDKConfiguration1_INTERFACE_DEFINED__
28871#define __ID3D12SDKConfiguration1_INTERFACE_DEFINED__
28872
28873/* interface ID3D12SDKConfiguration1 */
28874/* [unique][local][object][uuid] */
28875
28876
28877EXTERN_C const IID IID_ID3D12SDKConfiguration1;
28878
28879#if defined(__cplusplus) && !defined(CINTERFACE)
28880
28881 MIDL_INTERFACE("8aaf9303-ad25-48b9-9a57-d9c37e009d9f")
28882 ID3D12SDKConfiguration1 : public ID3D12SDKConfiguration
28883 {
28884 public:
28885 virtual HRESULT STDMETHODCALLTYPE CreateDeviceFactory(
28886 UINT SDKVersion,
28887 _In_ LPCSTR SDKPath,
28888 REFIID riid,
28889 _COM_Outptr_ void **ppvFactory) = 0;
28890
28891 virtual void STDMETHODCALLTYPE FreeUnusedSDKs( void) = 0;
28892
28893 };
28894
28895
28896#else /* C style interface */
28897
28898 typedef struct ID3D12SDKConfiguration1Vtbl
28899 {
28900 BEGIN_INTERFACE
28901
28902 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
28903 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
28904 ID3D12SDKConfiguration1 * This,
28905 REFIID riid,
28906 _COM_Outptr_ void **ppvObject);
28907
28908 DECLSPEC_XFGVIRT(IUnknown, AddRef)
28909 ULONG ( STDMETHODCALLTYPE *AddRef )(
28910 ID3D12SDKConfiguration1 * This);
28911
28912 DECLSPEC_XFGVIRT(IUnknown, Release)
28913 ULONG ( STDMETHODCALLTYPE *Release )(
28914 ID3D12SDKConfiguration1 * This);
28915
28916 DECLSPEC_XFGVIRT(ID3D12SDKConfiguration, SetSDKVersion)
28917 HRESULT ( STDMETHODCALLTYPE *SetSDKVersion )(
28918 ID3D12SDKConfiguration1 * This,
28919 UINT SDKVersion,
28920 _In_z_ LPCSTR SDKPath);
28921
28922 DECLSPEC_XFGVIRT(ID3D12SDKConfiguration1, CreateDeviceFactory)
28923 HRESULT ( STDMETHODCALLTYPE *CreateDeviceFactory )(
28924 ID3D12SDKConfiguration1 * This,
28925 UINT SDKVersion,
28926 _In_ LPCSTR SDKPath,
28927 REFIID riid,
28928 _COM_Outptr_ void **ppvFactory);
28929
28930 DECLSPEC_XFGVIRT(ID3D12SDKConfiguration1, FreeUnusedSDKs)
28931 void ( STDMETHODCALLTYPE *FreeUnusedSDKs )(
28932 ID3D12SDKConfiguration1 * This);
28933
28934 END_INTERFACE
28935 } ID3D12SDKConfiguration1Vtbl;
28936
28937 interface ID3D12SDKConfiguration1
28938 {
28939 CONST_VTBL struct ID3D12SDKConfiguration1Vtbl *lpVtbl;
28940 };
28941
28942
28943
28944#ifdef COBJMACROS
28945
28946
28947#define ID3D12SDKConfiguration1_QueryInterface(This,riid,ppvObject) \
28948 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
28949
28950#define ID3D12SDKConfiguration1_AddRef(This) \
28951 ( (This)->lpVtbl -> AddRef(This) )
28952
28953#define ID3D12SDKConfiguration1_Release(This) \
28954 ( (This)->lpVtbl -> Release(This) )
28955
28956
28957#define ID3D12SDKConfiguration1_SetSDKVersion(This,SDKVersion,SDKPath) \
28958 ( (This)->lpVtbl -> SetSDKVersion(This,SDKVersion,SDKPath) )
28959
28960
28961#define ID3D12SDKConfiguration1_CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory) \
28962 ( (This)->lpVtbl -> CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory) )
28963
28964#define ID3D12SDKConfiguration1_FreeUnusedSDKs(This) \
28965 ( (This)->lpVtbl -> FreeUnusedSDKs(This) )
28966
28967#endif /* COBJMACROS */
28968
28969
28970#endif /* C style interface */
28971
28972
28973
28974
28975#endif /* __ID3D12SDKConfiguration1_INTERFACE_DEFINED__ */
28976
28977
28978/* interface __MIDL_itf_d3d12_0000_0064 */
28979/* [local] */
28980
28981typedef
28982enum D3D12_DEVICE_FACTORY_FLAGS
28983 {
28984 D3D12_DEVICE_FACTORY_FLAG_NONE = 0,
28985 D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_EXISTING_DEVICE = 0x1,
28986 D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_INCOMPATIBLE_EXISTING_DEVICE = 0x2,
28987 D3D12_DEVICE_FACTORY_FLAG_DISALLOW_STORING_NEW_DEVICE_AS_SINGLETON = 0x4
28988 } D3D12_DEVICE_FACTORY_FLAGS;
28989
28990DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FACTORY_FLAGS )
28991
28992
28993extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0064_v0_0_c_ifspec;
28994extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0064_v0_0_s_ifspec;
28995
28996#ifndef __ID3D12DeviceFactory_INTERFACE_DEFINED__
28997#define __ID3D12DeviceFactory_INTERFACE_DEFINED__
28998
28999/* interface ID3D12DeviceFactory */
29000/* [unique][local][object][uuid] */
29001
29002
29003EXTERN_C const IID IID_ID3D12DeviceFactory;
29004
29005#if defined(__cplusplus) && !defined(CINTERFACE)
29006
29007 MIDL_INTERFACE("61f307d3-d34e-4e7c-8374-3ba4de23cccb")
29008 ID3D12DeviceFactory : public IUnknown
29009 {
29010 public:
29011 virtual HRESULT STDMETHODCALLTYPE InitializeFromGlobalState( void) = 0;
29012
29013 virtual HRESULT STDMETHODCALLTYPE ApplyToGlobalState( void) = 0;
29014
29015 virtual HRESULT STDMETHODCALLTYPE SetFlags(
29016 D3D12_DEVICE_FACTORY_FLAGS flags) = 0;
29017
29018 virtual D3D12_DEVICE_FACTORY_FLAGS STDMETHODCALLTYPE GetFlags( void) = 0;
29019
29020 virtual HRESULT STDMETHODCALLTYPE GetConfigurationInterface(
29021 REFCLSID clsid,
29022 REFIID iid,
29023 _COM_Outptr_ void **ppv) = 0;
29024
29025 virtual HRESULT STDMETHODCALLTYPE EnableExperimentalFeatures(
29026 UINT NumFeatures,
29027 _In_reads_(NumFeatures) const IID *pIIDs,
29028 _In_reads_opt_(NumFeatures) void *pConfigurationStructs,
29029 _In_reads_opt_(NumFeatures) UINT *pConfigurationStructSizes) = 0;
29030
29031 virtual HRESULT STDMETHODCALLTYPE CreateDevice(
29032 _In_opt_ IUnknown *adapter,
29033 D3D_FEATURE_LEVEL FeatureLevel,
29034 REFIID riid,
29035 _COM_Outptr_opt_ void **ppvDevice) = 0;
29036
29037 };
29038
29039
29040#else /* C style interface */
29041
29042 typedef struct ID3D12DeviceFactoryVtbl
29043 {
29044 BEGIN_INTERFACE
29045
29046 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
29047 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
29048 ID3D12DeviceFactory * This,
29049 REFIID riid,
29050 _COM_Outptr_ void **ppvObject);
29051
29052 DECLSPEC_XFGVIRT(IUnknown, AddRef)
29053 ULONG ( STDMETHODCALLTYPE *AddRef )(
29054 ID3D12DeviceFactory * This);
29055
29056 DECLSPEC_XFGVIRT(IUnknown, Release)
29057 ULONG ( STDMETHODCALLTYPE *Release )(
29058 ID3D12DeviceFactory * This);
29059
29060 DECLSPEC_XFGVIRT(ID3D12DeviceFactory, InitializeFromGlobalState)
29061 HRESULT ( STDMETHODCALLTYPE *InitializeFromGlobalState )(
29062 ID3D12DeviceFactory * This);
29063
29064 DECLSPEC_XFGVIRT(ID3D12DeviceFactory, ApplyToGlobalState)
29065 HRESULT ( STDMETHODCALLTYPE *ApplyToGlobalState )(
29066 ID3D12DeviceFactory * This);
29067
29068 DECLSPEC_XFGVIRT(ID3D12DeviceFactory, SetFlags)
29069 HRESULT ( STDMETHODCALLTYPE *SetFlags )(
29070 ID3D12DeviceFactory * This,
29071 D3D12_DEVICE_FACTORY_FLAGS flags);
29072
29073 DECLSPEC_XFGVIRT(ID3D12DeviceFactory, GetFlags)
29074 D3D12_DEVICE_FACTORY_FLAGS ( STDMETHODCALLTYPE *GetFlags )(
29075 ID3D12DeviceFactory * This);
29076
29077 DECLSPEC_XFGVIRT(ID3D12DeviceFactory, GetConfigurationInterface)
29078 HRESULT ( STDMETHODCALLTYPE *GetConfigurationInterface )(
29079 ID3D12DeviceFactory * This,
29080 REFCLSID clsid,
29081 REFIID iid,
29082 _COM_Outptr_ void **ppv);
29083
29084 DECLSPEC_XFGVIRT(ID3D12DeviceFactory, EnableExperimentalFeatures)
29085 HRESULT ( STDMETHODCALLTYPE *EnableExperimentalFeatures )(
29086 ID3D12DeviceFactory * This,
29087 UINT NumFeatures,
29088 _In_reads_(NumFeatures) const IID *pIIDs,
29089 _In_reads_opt_(NumFeatures) void *pConfigurationStructs,
29090 _In_reads_opt_(NumFeatures) UINT *pConfigurationStructSizes);
29091
29092 DECLSPEC_XFGVIRT(ID3D12DeviceFactory, CreateDevice)
29093 HRESULT ( STDMETHODCALLTYPE *CreateDevice )(
29094 ID3D12DeviceFactory * This,
29095 _In_opt_ IUnknown *adapter,
29096 D3D_FEATURE_LEVEL FeatureLevel,
29097 REFIID riid,
29098 _COM_Outptr_opt_ void **ppvDevice);
29099
29100 END_INTERFACE
29101 } ID3D12DeviceFactoryVtbl;
29102
29103 interface ID3D12DeviceFactory
29104 {
29105 CONST_VTBL struct ID3D12DeviceFactoryVtbl *lpVtbl;
29106 };
29107
29108
29109
29110#ifdef COBJMACROS
29111
29112
29113#define ID3D12DeviceFactory_QueryInterface(This,riid,ppvObject) \
29114 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
29115
29116#define ID3D12DeviceFactory_AddRef(This) \
29117 ( (This)->lpVtbl -> AddRef(This) )
29118
29119#define ID3D12DeviceFactory_Release(This) \
29120 ( (This)->lpVtbl -> Release(This) )
29121
29122
29123#define ID3D12DeviceFactory_InitializeFromGlobalState(This) \
29124 ( (This)->lpVtbl -> InitializeFromGlobalState(This) )
29125
29126#define ID3D12DeviceFactory_ApplyToGlobalState(This) \
29127 ( (This)->lpVtbl -> ApplyToGlobalState(This) )
29128
29129#define ID3D12DeviceFactory_SetFlags(This,flags) \
29130 ( (This)->lpVtbl -> SetFlags(This,flags) )
29131
29132#define ID3D12DeviceFactory_GetFlags(This) \
29133 ( (This)->lpVtbl -> GetFlags(This) )
29134
29135#define ID3D12DeviceFactory_GetConfigurationInterface(This,clsid,iid,ppv) \
29136 ( (This)->lpVtbl -> GetConfigurationInterface(This,clsid,iid,ppv) )
29137
29138#define ID3D12DeviceFactory_EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) \
29139 ( (This)->lpVtbl -> EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) )
29140
29141#define ID3D12DeviceFactory_CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice) \
29142 ( (This)->lpVtbl -> CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice) )
29143
29144#endif /* COBJMACROS */
29145
29146
29147#endif /* C style interface */
29148
29149
29150
29151
29152#endif /* __ID3D12DeviceFactory_INTERFACE_DEFINED__ */
29153
29154
29155/* interface __MIDL_itf_d3d12_0000_0065 */
29156/* [local] */
29157
29158typedef
29159enum D3D12_DEVICE_FLAGS
29160 {
29161 D3D12_DEVICE_FLAG_NONE = 0,
29162 D3D12_DEVICE_FLAG_DEBUG_LAYER_ENABLED = 0x1,
29163 D3D12_DEVICE_FLAG_GPU_BASED_VALIDATION_ENABLED = 0x2,
29164 D3D12_DEVICE_FLAG_SYNCHRONIZED_COMMAND_QUEUE_VALIDATION_DISABLED = 0x4,
29165 D3D12_DEVICE_FLAG_DRED_AUTO_BREADCRUMBS_ENABLED = 0x8,
29166 D3D12_DEVICE_FLAG_DRED_PAGE_FAULT_REPORTING_ENABLED = 0x10,
29167 D3D12_DEVICE_FLAG_DRED_WATSON_REPORTING_ENABLED = 0x20,
29168 D3D12_DEVICE_FLAG_DRED_BREADCRUMB_CONTEXT_ENABLED = 0x40,
29169 D3D12_DEVICE_FLAG_DRED_USE_MARKERS_ONLY_BREADCRUMBS = 0x80,
29170 D3D12_DEVICE_FLAG_SHADER_INSTRUMENTATION_ENABLED = 0x100,
29171 D3D12_DEVICE_FLAG_AUTO_DEBUG_NAME_ENABLED = 0x200,
29172 D3D12_DEVICE_FLAG_FORCE_LEGACY_STATE_VALIDATION = 0x400
29173 } D3D12_DEVICE_FLAGS;
29174
29175DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FLAGS )
29176typedef struct D3D12_DEVICE_CONFIGURATION_DESC
29177 {
29178 D3D12_DEVICE_FLAGS Flags;
29179 UINT GPUBasedValidationFlags;
29180 UINT SDKVersion;
29181 UINT NumEnabledExperimentalFeatures;
29182 } D3D12_DEVICE_CONFIGURATION_DESC;
29183
29184
29185
29186extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0065_v0_0_c_ifspec;
29187extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0065_v0_0_s_ifspec;
29188
29189#ifndef __ID3D12DeviceConfiguration_INTERFACE_DEFINED__
29190#define __ID3D12DeviceConfiguration_INTERFACE_DEFINED__
29191
29192/* interface ID3D12DeviceConfiguration */
29193/* [unique][local][object][uuid] */
29194
29195
29196EXTERN_C const IID IID_ID3D12DeviceConfiguration;
29197
29198#if defined(__cplusplus) && !defined(CINTERFACE)
29199
29200 MIDL_INTERFACE("78dbf87b-f766-422b-a61c-c8c446bdb9ad")
29201 ID3D12DeviceConfiguration : public IUnknown
29202 {
29203 public:
29204#if defined(_MSC_VER) || !defined(_WIN32)
29205 virtual D3D12_DEVICE_CONFIGURATION_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
29206#else
29207 virtual D3D12_DEVICE_CONFIGURATION_DESC *STDMETHODCALLTYPE GetDesc(
29208 D3D12_DEVICE_CONFIGURATION_DESC * RetVal) = 0;
29209#endif
29210
29211 virtual HRESULT STDMETHODCALLTYPE GetEnabledExperimentalFeatures(
29212 _Out_writes_(NumGuids) GUID *pGuids,
29213 UINT NumGuids) = 0;
29214
29215 virtual HRESULT STDMETHODCALLTYPE SerializeVersionedRootSignature(
29216 _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc,
29217 _COM_Outptr_ ID3DBlob **ppResult,
29218 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError) = 0;
29219
29220 virtual HRESULT STDMETHODCALLTYPE CreateVersionedRootSignatureDeserializer(
29221 _In_reads_bytes_(Size) const void *pBlob,
29222 SIZE_T Size,
29223 REFIID riid,
29224 _COM_Outptr_ void **ppvDeserializer) = 0;
29225
29226 };
29227
29228
29229#else /* C style interface */
29230
29231 typedef struct ID3D12DeviceConfigurationVtbl
29232 {
29233 BEGIN_INTERFACE
29234
29235 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
29236 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
29237 ID3D12DeviceConfiguration * This,
29238 REFIID riid,
29239 _COM_Outptr_ void **ppvObject);
29240
29241 DECLSPEC_XFGVIRT(IUnknown, AddRef)
29242 ULONG ( STDMETHODCALLTYPE *AddRef )(
29243 ID3D12DeviceConfiguration * This);
29244
29245 DECLSPEC_XFGVIRT(IUnknown, Release)
29246 ULONG ( STDMETHODCALLTYPE *Release )(
29247 ID3D12DeviceConfiguration * This);
29248
29249 DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetDesc)
29250#if !defined(_WIN32)
29251 D3D12_DEVICE_CONFIGURATION_DESC ( STDMETHODCALLTYPE *GetDesc )(
29252 ID3D12DeviceConfiguration * This);
29253
29254#else
29255 D3D12_DEVICE_CONFIGURATION_DESC *( STDMETHODCALLTYPE *GetDesc )(
29256 ID3D12DeviceConfiguration * This,
29257 D3D12_DEVICE_CONFIGURATION_DESC * RetVal);
29258
29259#endif
29260
29261 DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetEnabledExperimentalFeatures)
29262 HRESULT ( STDMETHODCALLTYPE *GetEnabledExperimentalFeatures )(
29263 ID3D12DeviceConfiguration * This,
29264 _Out_writes_(NumGuids) GUID *pGuids,
29265 UINT NumGuids);
29266
29267 DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, SerializeVersionedRootSignature)
29268 HRESULT ( STDMETHODCALLTYPE *SerializeVersionedRootSignature )(
29269 ID3D12DeviceConfiguration * This,
29270 _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc,
29271 _COM_Outptr_ ID3DBlob **ppResult,
29272 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError);
29273
29274 DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, CreateVersionedRootSignatureDeserializer)
29275 HRESULT ( STDMETHODCALLTYPE *CreateVersionedRootSignatureDeserializer )(
29276 ID3D12DeviceConfiguration * This,
29277 _In_reads_bytes_(Size) const void *pBlob,
29278 SIZE_T Size,
29279 REFIID riid,
29280 _COM_Outptr_ void **ppvDeserializer);
29281
29282 END_INTERFACE
29283 } ID3D12DeviceConfigurationVtbl;
29284
29285 interface ID3D12DeviceConfiguration
29286 {
29287 CONST_VTBL struct ID3D12DeviceConfigurationVtbl *lpVtbl;
29288 };
29289
29290
29291
29292#ifdef COBJMACROS
29293
29294
29295#define ID3D12DeviceConfiguration_QueryInterface(This,riid,ppvObject) \
29296 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
29297
29298#define ID3D12DeviceConfiguration_AddRef(This) \
29299 ( (This)->lpVtbl -> AddRef(This) )
29300
29301#define ID3D12DeviceConfiguration_Release(This) \
29302 ( (This)->lpVtbl -> Release(This) )
29303
29304#if !defined(_WIN32)
29305
29306#define ID3D12DeviceConfiguration_GetDesc(This) \
29307 ( (This)->lpVtbl -> GetDesc(This) )
29308#else
29309#define ID3D12DeviceConfiguration_GetDesc(This,RetVal) \
29310 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
29311#endif
29312
29313#define ID3D12DeviceConfiguration_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \
29314 ( (This)->lpVtbl -> GetEnabledExperimentalFeatures(This,pGuids,NumGuids) )
29315
29316#define ID3D12DeviceConfiguration_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \
29317 ( (This)->lpVtbl -> SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) )
29318
29319#define ID3D12DeviceConfiguration_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \
29320 ( (This)->lpVtbl -> CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) )
29321
29322#endif /* COBJMACROS */
29323
29324
29325#endif /* C style interface */
29326
29327
29328
29329
29330#endif /* __ID3D12DeviceConfiguration_INTERFACE_DEFINED__ */
29331
29332
29333#ifndef __ID3D12DeviceConfiguration1_INTERFACE_DEFINED__
29334#define __ID3D12DeviceConfiguration1_INTERFACE_DEFINED__
29335
29336/* interface ID3D12DeviceConfiguration1 */
29337/* [unique][local][object][uuid] */
29338
29339
29340EXTERN_C const IID IID_ID3D12DeviceConfiguration1;
29341
29342#if defined(__cplusplus) && !defined(CINTERFACE)
29343
29344 MIDL_INTERFACE("ed342442-6343-4e16-bb82-a3a577874e56")
29345 ID3D12DeviceConfiguration1 : public ID3D12DeviceConfiguration
29346 {
29347 public:
29348 virtual HRESULT STDMETHODCALLTYPE CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(
29349 _In_reads_bytes_(Size) const void *pLibraryBlob,
29350 SIZE_T Size,
29351 LPCWSTR RootSignatureSubobjectName,
29352 REFIID riid,
29353 _COM_Outptr_ void **ppvDeserializer) = 0;
29354
29355 };
29356
29357
29358#else /* C style interface */
29359
29360 typedef struct ID3D12DeviceConfiguration1Vtbl
29361 {
29362 BEGIN_INTERFACE
29363
29364 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
29365 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
29366 ID3D12DeviceConfiguration1 * This,
29367 REFIID riid,
29368 _COM_Outptr_ void **ppvObject);
29369
29370 DECLSPEC_XFGVIRT(IUnknown, AddRef)
29371 ULONG ( STDMETHODCALLTYPE *AddRef )(
29372 ID3D12DeviceConfiguration1 * This);
29373
29374 DECLSPEC_XFGVIRT(IUnknown, Release)
29375 ULONG ( STDMETHODCALLTYPE *Release )(
29376 ID3D12DeviceConfiguration1 * This);
29377
29378 DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetDesc)
29379#if !defined(_WIN32)
29380 D3D12_DEVICE_CONFIGURATION_DESC ( STDMETHODCALLTYPE *GetDesc )(
29381 ID3D12DeviceConfiguration1 * This);
29382
29383#else
29384 D3D12_DEVICE_CONFIGURATION_DESC *( STDMETHODCALLTYPE *GetDesc )(
29385 ID3D12DeviceConfiguration1 * This,
29386 D3D12_DEVICE_CONFIGURATION_DESC * RetVal);
29387
29388#endif
29389
29390 DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetEnabledExperimentalFeatures)
29391 HRESULT ( STDMETHODCALLTYPE *GetEnabledExperimentalFeatures )(
29392 ID3D12DeviceConfiguration1 * This,
29393 _Out_writes_(NumGuids) GUID *pGuids,
29394 UINT NumGuids);
29395
29396 DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, SerializeVersionedRootSignature)
29397 HRESULT ( STDMETHODCALLTYPE *SerializeVersionedRootSignature )(
29398 ID3D12DeviceConfiguration1 * This,
29399 _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc,
29400 _COM_Outptr_ ID3DBlob **ppResult,
29401 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError);
29402
29403 DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, CreateVersionedRootSignatureDeserializer)
29404 HRESULT ( STDMETHODCALLTYPE *CreateVersionedRootSignatureDeserializer )(
29405 ID3D12DeviceConfiguration1 * This,
29406 _In_reads_bytes_(Size) const void *pBlob,
29407 SIZE_T Size,
29408 REFIID riid,
29409 _COM_Outptr_ void **ppvDeserializer);
29410
29411 DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration1, CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary)
29412 HRESULT ( STDMETHODCALLTYPE *CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary )(
29413 ID3D12DeviceConfiguration1 * This,
29414 _In_reads_bytes_(Size) const void *pLibraryBlob,
29415 SIZE_T Size,
29416 LPCWSTR RootSignatureSubobjectName,
29417 REFIID riid,
29418 _COM_Outptr_ void **ppvDeserializer);
29419
29420 END_INTERFACE
29421 } ID3D12DeviceConfiguration1Vtbl;
29422
29423 interface ID3D12DeviceConfiguration1
29424 {
29425 CONST_VTBL struct ID3D12DeviceConfiguration1Vtbl *lpVtbl;
29426 };
29427
29428
29429
29430#ifdef COBJMACROS
29431
29432
29433#define ID3D12DeviceConfiguration1_QueryInterface(This,riid,ppvObject) \
29434 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
29435
29436#define ID3D12DeviceConfiguration1_AddRef(This) \
29437 ( (This)->lpVtbl -> AddRef(This) )
29438
29439#define ID3D12DeviceConfiguration1_Release(This) \
29440 ( (This)->lpVtbl -> Release(This) )
29441
29442#if !defined(_WIN32)
29443
29444#define ID3D12DeviceConfiguration1_GetDesc(This) \
29445 ( (This)->lpVtbl -> GetDesc(This) )
29446#else
29447#define ID3D12DeviceConfiguration1_GetDesc(This,RetVal) \
29448 ( (This)->lpVtbl -> GetDesc(This,RetVal) )
29449#endif
29450
29451#define ID3D12DeviceConfiguration1_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \
29452 ( (This)->lpVtbl -> GetEnabledExperimentalFeatures(This,pGuids,NumGuids) )
29453
29454#define ID3D12DeviceConfiguration1_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \
29455 ( (This)->lpVtbl -> SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) )
29456
29457#define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \
29458 ( (This)->lpVtbl -> CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) )
29459
29460
29461#define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(This,pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) \
29462 ( (This)->lpVtbl -> CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(This,pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) )
29463
29464#endif /* COBJMACROS */
29465
29466
29467#endif /* C style interface */
29468
29469
29470
29471
29472#endif /* __ID3D12DeviceConfiguration1_INTERFACE_DEFINED__ */
29473
29474
29475/* interface __MIDL_itf_d3d12_0000_0067 */
29476/* [local] */
29477
29478typedef
29479enum D3D12_AXIS_SHADING_RATE
29480 {
29481 D3D12_AXIS_SHADING_RATE_1X = 0,
29482 D3D12_AXIS_SHADING_RATE_2X = 0x1,
29483 D3D12_AXIS_SHADING_RATE_4X = 0x2
29484 } D3D12_AXIS_SHADING_RATE;
29485
29486#define D3D12_SHADING_RATE_X_AXIS_SHIFT 2
29487#define D3D12_SHADING_RATE_VALID_MASK 3
29488#define D3D12_MAKE_COARSE_SHADING_RATE(x,y) ((x) << D3D12_SHADING_RATE_X_AXIS_SHIFT | (y))
29489#define D3D12_GET_COARSE_SHADING_RATE_X_AXIS(x) (((x) >> D3D12_SHADING_RATE_X_AXIS_SHIFT) & D3D12_SHADING_RATE_VALID_MASK)
29490#define D3D12_GET_COARSE_SHADING_RATE_Y_AXIS(y) ((y) & D3D12_SHADING_RATE_VALID_MASK)
29491typedef
29492enum D3D12_SHADING_RATE
29493 {
29494 D3D12_SHADING_RATE_1X1 = 0,
29495 D3D12_SHADING_RATE_1X2 = 0x1,
29496 D3D12_SHADING_RATE_2X1 = 0x4,
29497 D3D12_SHADING_RATE_2X2 = 0x5,
29498 D3D12_SHADING_RATE_2X4 = 0x6,
29499 D3D12_SHADING_RATE_4X2 = 0x9,
29500 D3D12_SHADING_RATE_4X4 = 0xa
29501 } D3D12_SHADING_RATE;
29502
29503typedef
29504enum D3D12_SHADING_RATE_COMBINER
29505 {
29506 D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0,
29507 D3D12_SHADING_RATE_COMBINER_OVERRIDE = 1,
29508 D3D12_SHADING_RATE_COMBINER_MIN = 2,
29509 D3D12_SHADING_RATE_COMBINER_MAX = 3,
29510 D3D12_SHADING_RATE_COMBINER_SUM = 4
29511 } D3D12_SHADING_RATE_COMBINER;
29512
29513
29514
29515extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0067_v0_0_c_ifspec;
29516extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0067_v0_0_s_ifspec;
29517
29518#ifndef __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__
29519#define __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__
29520
29521/* interface ID3D12GraphicsCommandList5 */
29522/* [unique][local][object][uuid] */
29523
29524
29525EXTERN_C const IID IID_ID3D12GraphicsCommandList5;
29526
29527#if defined(__cplusplus) && !defined(CINTERFACE)
29528
29529 MIDL_INTERFACE("55050859-4024-474c-87f5-6472eaee44ea")
29530 ID3D12GraphicsCommandList5 : public ID3D12GraphicsCommandList4
29531 {
29532 public:
29533 virtual void STDMETHODCALLTYPE RSSetShadingRate(
29534 _In_ D3D12_SHADING_RATE baseShadingRate,
29535 _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners) = 0;
29536
29537 virtual void STDMETHODCALLTYPE RSSetShadingRateImage(
29538 _In_opt_ ID3D12Resource *shadingRateImage) = 0;
29539
29540 };
29541
29542
29543#else /* C style interface */
29544
29545 typedef struct ID3D12GraphicsCommandList5Vtbl
29546 {
29547 BEGIN_INTERFACE
29548
29549 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
29550 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
29551 ID3D12GraphicsCommandList5 * This,
29552 REFIID riid,
29553 _COM_Outptr_ void **ppvObject);
29554
29555 DECLSPEC_XFGVIRT(IUnknown, AddRef)
29556 ULONG ( STDMETHODCALLTYPE *AddRef )(
29557 ID3D12GraphicsCommandList5 * This);
29558
29559 DECLSPEC_XFGVIRT(IUnknown, Release)
29560 ULONG ( STDMETHODCALLTYPE *Release )(
29561 ID3D12GraphicsCommandList5 * This);
29562
29563 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
29564 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
29565 ID3D12GraphicsCommandList5 * This,
29566 _In_ REFGUID guid,
29567 _Inout_ UINT *pDataSize,
29568 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
29569
29570 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
29571 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
29572 ID3D12GraphicsCommandList5 * This,
29573 _In_ REFGUID guid,
29574 _In_ UINT DataSize,
29575 _In_reads_bytes_opt_( DataSize ) const void *pData);
29576
29577 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
29578 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
29579 ID3D12GraphicsCommandList5 * This,
29580 _In_ REFGUID guid,
29581 _In_opt_ const IUnknown *pData);
29582
29583 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
29584 HRESULT ( STDMETHODCALLTYPE *SetName )(
29585 ID3D12GraphicsCommandList5 * This,
29586 _In_z_ LPCWSTR Name);
29587
29588 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
29589 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
29590 ID3D12GraphicsCommandList5 * This,
29591 REFIID riid,
29592 _COM_Outptr_opt_ void **ppvDevice);
29593
29594 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
29595 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
29596 ID3D12GraphicsCommandList5 * This);
29597
29598 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
29599 HRESULT ( STDMETHODCALLTYPE *Close )(
29600 ID3D12GraphicsCommandList5 * This);
29601
29602 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
29603 HRESULT ( STDMETHODCALLTYPE *Reset )(
29604 ID3D12GraphicsCommandList5 * This,
29605 _In_ ID3D12CommandAllocator *pAllocator,
29606 _In_opt_ ID3D12PipelineState *pInitialState);
29607
29608 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
29609 void ( STDMETHODCALLTYPE *ClearState )(
29610 ID3D12GraphicsCommandList5 * This,
29611 _In_opt_ ID3D12PipelineState *pPipelineState);
29612
29613 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
29614 void ( STDMETHODCALLTYPE *DrawInstanced )(
29615 ID3D12GraphicsCommandList5 * This,
29616 _In_ UINT VertexCountPerInstance,
29617 _In_ UINT InstanceCount,
29618 _In_ UINT StartVertexLocation,
29619 _In_ UINT StartInstanceLocation);
29620
29621 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
29622 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
29623 ID3D12GraphicsCommandList5 * This,
29624 _In_ UINT IndexCountPerInstance,
29625 _In_ UINT InstanceCount,
29626 _In_ UINT StartIndexLocation,
29627 _In_ INT BaseVertexLocation,
29628 _In_ UINT StartInstanceLocation);
29629
29630 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
29631 void ( STDMETHODCALLTYPE *Dispatch )(
29632 ID3D12GraphicsCommandList5 * This,
29633 _In_ UINT ThreadGroupCountX,
29634 _In_ UINT ThreadGroupCountY,
29635 _In_ UINT ThreadGroupCountZ);
29636
29637 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
29638 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
29639 ID3D12GraphicsCommandList5 * This,
29640 _In_ ID3D12Resource *pDstBuffer,
29641 UINT64 DstOffset,
29642 _In_ ID3D12Resource *pSrcBuffer,
29643 UINT64 SrcOffset,
29644 UINT64 NumBytes);
29645
29646 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
29647 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
29648 ID3D12GraphicsCommandList5 * This,
29649 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
29650 UINT DstX,
29651 UINT DstY,
29652 UINT DstZ,
29653 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
29654 _In_opt_ const D3D12_BOX *pSrcBox);
29655
29656 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
29657 void ( STDMETHODCALLTYPE *CopyResource )(
29658 ID3D12GraphicsCommandList5 * This,
29659 _In_ ID3D12Resource *pDstResource,
29660 _In_ ID3D12Resource *pSrcResource);
29661
29662 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
29663 void ( STDMETHODCALLTYPE *CopyTiles )(
29664 ID3D12GraphicsCommandList5 * This,
29665 _In_ ID3D12Resource *pTiledResource,
29666 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
29667 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
29668 _In_ ID3D12Resource *pBuffer,
29669 UINT64 BufferStartOffsetInBytes,
29670 D3D12_TILE_COPY_FLAGS Flags);
29671
29672 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
29673 void ( STDMETHODCALLTYPE *ResolveSubresource )(
29674 ID3D12GraphicsCommandList5 * This,
29675 _In_ ID3D12Resource *pDstResource,
29676 _In_ UINT DstSubresource,
29677 _In_ ID3D12Resource *pSrcResource,
29678 _In_ UINT SrcSubresource,
29679 _In_ DXGI_FORMAT Format);
29680
29681 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
29682 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
29683 ID3D12GraphicsCommandList5 * This,
29684 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
29685
29686 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
29687 void ( STDMETHODCALLTYPE *RSSetViewports )(
29688 ID3D12GraphicsCommandList5 * This,
29689 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
29690 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
29691
29692 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
29693 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
29694 ID3D12GraphicsCommandList5 * This,
29695 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
29696 _In_reads_( NumRects) const D3D12_RECT *pRects);
29697
29698 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
29699 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
29700 ID3D12GraphicsCommandList5 * This,
29701 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
29702
29703 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
29704 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
29705 ID3D12GraphicsCommandList5 * This,
29706 _In_ UINT StencilRef);
29707
29708 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
29709 void ( STDMETHODCALLTYPE *SetPipelineState )(
29710 ID3D12GraphicsCommandList5 * This,
29711 _In_ ID3D12PipelineState *pPipelineState);
29712
29713 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
29714 void ( STDMETHODCALLTYPE *ResourceBarrier )(
29715 ID3D12GraphicsCommandList5 * This,
29716 _In_ UINT NumBarriers,
29717 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
29718
29719 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
29720 void ( STDMETHODCALLTYPE *ExecuteBundle )(
29721 ID3D12GraphicsCommandList5 * This,
29722 _In_ ID3D12GraphicsCommandList *pCommandList);
29723
29724 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
29725 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
29726 ID3D12GraphicsCommandList5 * This,
29727 _In_ UINT NumDescriptorHeaps,
29728 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
29729
29730 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
29731 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
29732 ID3D12GraphicsCommandList5 * This,
29733 _In_opt_ ID3D12RootSignature *pRootSignature);
29734
29735 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
29736 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
29737 ID3D12GraphicsCommandList5 * This,
29738 _In_opt_ ID3D12RootSignature *pRootSignature);
29739
29740 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
29741 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
29742 ID3D12GraphicsCommandList5 * This,
29743 _In_ UINT RootParameterIndex,
29744 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
29745
29746 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
29747 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
29748 ID3D12GraphicsCommandList5 * This,
29749 _In_ UINT RootParameterIndex,
29750 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
29751
29752 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
29753 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
29754 ID3D12GraphicsCommandList5 * This,
29755 _In_ UINT RootParameterIndex,
29756 _In_ UINT SrcData,
29757 _In_ UINT DestOffsetIn32BitValues);
29758
29759 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
29760 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
29761 ID3D12GraphicsCommandList5 * This,
29762 _In_ UINT RootParameterIndex,
29763 _In_ UINT SrcData,
29764 _In_ UINT DestOffsetIn32BitValues);
29765
29766 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
29767 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
29768 ID3D12GraphicsCommandList5 * This,
29769 _In_ UINT RootParameterIndex,
29770 _In_ UINT Num32BitValuesToSet,
29771 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
29772 _In_ UINT DestOffsetIn32BitValues);
29773
29774 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
29775 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
29776 ID3D12GraphicsCommandList5 * This,
29777 _In_ UINT RootParameterIndex,
29778 _In_ UINT Num32BitValuesToSet,
29779 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
29780 _In_ UINT DestOffsetIn32BitValues);
29781
29782 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
29783 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
29784 ID3D12GraphicsCommandList5 * This,
29785 _In_ UINT RootParameterIndex,
29786 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
29787
29788 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
29789 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
29790 ID3D12GraphicsCommandList5 * This,
29791 _In_ UINT RootParameterIndex,
29792 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
29793
29794 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
29795 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
29796 ID3D12GraphicsCommandList5 * This,
29797 _In_ UINT RootParameterIndex,
29798 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
29799
29800 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
29801 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
29802 ID3D12GraphicsCommandList5 * This,
29803 _In_ UINT RootParameterIndex,
29804 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
29805
29806 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
29807 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
29808 ID3D12GraphicsCommandList5 * This,
29809 _In_ UINT RootParameterIndex,
29810 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
29811
29812 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
29813 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
29814 ID3D12GraphicsCommandList5 * This,
29815 _In_ UINT RootParameterIndex,
29816 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
29817
29818 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
29819 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
29820 ID3D12GraphicsCommandList5 * This,
29821 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
29822
29823 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
29824 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
29825 ID3D12GraphicsCommandList5 * This,
29826 _In_ UINT StartSlot,
29827 _In_ UINT NumViews,
29828 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
29829
29830 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
29831 void ( STDMETHODCALLTYPE *SOSetTargets )(
29832 ID3D12GraphicsCommandList5 * This,
29833 _In_ UINT StartSlot,
29834 _In_ UINT NumViews,
29835 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
29836
29837 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
29838 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
29839 ID3D12GraphicsCommandList5 * This,
29840 _In_ UINT NumRenderTargetDescriptors,
29841 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
29842 _In_ BOOL RTsSingleHandleToDescriptorRange,
29843 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
29844
29845 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
29846 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
29847 ID3D12GraphicsCommandList5 * This,
29848 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
29849 _In_ D3D12_CLEAR_FLAGS ClearFlags,
29850 _In_ FLOAT Depth,
29851 _In_ UINT8 Stencil,
29852 _In_ UINT NumRects,
29853 _In_reads_(NumRects) const D3D12_RECT *pRects);
29854
29855 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
29856 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
29857 ID3D12GraphicsCommandList5 * This,
29858 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
29859 _In_ const FLOAT ColorRGBA[ 4 ],
29860 _In_ UINT NumRects,
29861 _In_reads_(NumRects) const D3D12_RECT *pRects);
29862
29863 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
29864 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
29865 ID3D12GraphicsCommandList5 * This,
29866 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
29867 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
29868 _In_ ID3D12Resource *pResource,
29869 _In_ const UINT Values[ 4 ],
29870 _In_ UINT NumRects,
29871 _In_reads_(NumRects) const D3D12_RECT *pRects);
29872
29873 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
29874 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
29875 ID3D12GraphicsCommandList5 * This,
29876 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
29877 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
29878 _In_ ID3D12Resource *pResource,
29879 _In_ const FLOAT Values[ 4 ],
29880 _In_ UINT NumRects,
29881 _In_reads_(NumRects) const D3D12_RECT *pRects);
29882
29883 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
29884 void ( STDMETHODCALLTYPE *DiscardResource )(
29885 ID3D12GraphicsCommandList5 * This,
29886 _In_ ID3D12Resource *pResource,
29887 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
29888
29889 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
29890 void ( STDMETHODCALLTYPE *BeginQuery )(
29891 ID3D12GraphicsCommandList5 * This,
29892 _In_ ID3D12QueryHeap *pQueryHeap,
29893 _In_ D3D12_QUERY_TYPE Type,
29894 _In_ UINT Index);
29895
29896 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
29897 void ( STDMETHODCALLTYPE *EndQuery )(
29898 ID3D12GraphicsCommandList5 * This,
29899 _In_ ID3D12QueryHeap *pQueryHeap,
29900 _In_ D3D12_QUERY_TYPE Type,
29901 _In_ UINT Index);
29902
29903 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
29904 void ( STDMETHODCALLTYPE *ResolveQueryData )(
29905 ID3D12GraphicsCommandList5 * This,
29906 _In_ ID3D12QueryHeap *pQueryHeap,
29907 _In_ D3D12_QUERY_TYPE Type,
29908 _In_ UINT StartIndex,
29909 _In_ UINT NumQueries,
29910 _In_ ID3D12Resource *pDestinationBuffer,
29911 _In_ UINT64 AlignedDestinationBufferOffset);
29912
29913 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
29914 void ( STDMETHODCALLTYPE *SetPredication )(
29915 ID3D12GraphicsCommandList5 * This,
29916 _In_opt_ ID3D12Resource *pBuffer,
29917 _In_ UINT64 AlignedBufferOffset,
29918 _In_ D3D12_PREDICATION_OP Operation);
29919
29920 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
29921 void ( STDMETHODCALLTYPE *SetMarker )(
29922 ID3D12GraphicsCommandList5 * This,
29923 UINT Metadata,
29924 _In_reads_bytes_opt_(Size) const void *pData,
29925 UINT Size);
29926
29927 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
29928 void ( STDMETHODCALLTYPE *BeginEvent )(
29929 ID3D12GraphicsCommandList5 * This,
29930 UINT Metadata,
29931 _In_reads_bytes_opt_(Size) const void *pData,
29932 UINT Size);
29933
29934 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
29935 void ( STDMETHODCALLTYPE *EndEvent )(
29936 ID3D12GraphicsCommandList5 * This);
29937
29938 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
29939 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
29940 ID3D12GraphicsCommandList5 * This,
29941 _In_ ID3D12CommandSignature *pCommandSignature,
29942 _In_ UINT MaxCommandCount,
29943 _In_ ID3D12Resource *pArgumentBuffer,
29944 _In_ UINT64 ArgumentBufferOffset,
29945 _In_opt_ ID3D12Resource *pCountBuffer,
29946 _In_ UINT64 CountBufferOffset);
29947
29948 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
29949 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
29950 ID3D12GraphicsCommandList5 * This,
29951 _In_ ID3D12Resource *pDstBuffer,
29952 UINT64 DstOffset,
29953 _In_ ID3D12Resource *pSrcBuffer,
29954 UINT64 SrcOffset,
29955 UINT Dependencies,
29956 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
29957 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
29958
29959 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
29960 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
29961 ID3D12GraphicsCommandList5 * This,
29962 _In_ ID3D12Resource *pDstBuffer,
29963 UINT64 DstOffset,
29964 _In_ ID3D12Resource *pSrcBuffer,
29965 UINT64 SrcOffset,
29966 UINT Dependencies,
29967 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
29968 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
29969
29970 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
29971 void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
29972 ID3D12GraphicsCommandList5 * This,
29973 _In_ FLOAT Min,
29974 _In_ FLOAT Max);
29975
29976 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
29977 void ( STDMETHODCALLTYPE *SetSamplePositions )(
29978 ID3D12GraphicsCommandList5 * This,
29979 _In_ UINT NumSamplesPerPixel,
29980 _In_ UINT NumPixels,
29981 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
29982
29983 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
29984 void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
29985 ID3D12GraphicsCommandList5 * This,
29986 _In_ ID3D12Resource *pDstResource,
29987 _In_ UINT DstSubresource,
29988 _In_ UINT DstX,
29989 _In_ UINT DstY,
29990 _In_ ID3D12Resource *pSrcResource,
29991 _In_ UINT SrcSubresource,
29992 _In_opt_ D3D12_RECT *pSrcRect,
29993 _In_ DXGI_FORMAT Format,
29994 _In_ D3D12_RESOLVE_MODE ResolveMode);
29995
29996 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
29997 void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
29998 ID3D12GraphicsCommandList5 * This,
29999 _In_ UINT Mask);
30000
30001 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
30002 void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
30003 ID3D12GraphicsCommandList5 * This,
30004 UINT Count,
30005 _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
30006 _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
30007
30008 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
30009 void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
30010 ID3D12GraphicsCommandList5 * This,
30011 _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
30012
30013 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
30014 void ( STDMETHODCALLTYPE *BeginRenderPass )(
30015 ID3D12GraphicsCommandList5 * This,
30016 _In_ UINT NumRenderTargets,
30017 _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
30018 _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
30019 D3D12_RENDER_PASS_FLAGS Flags);
30020
30021 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
30022 void ( STDMETHODCALLTYPE *EndRenderPass )(
30023 ID3D12GraphicsCommandList5 * This);
30024
30025 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
30026 void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
30027 ID3D12GraphicsCommandList5 * This,
30028 _In_ ID3D12MetaCommand *pMetaCommand,
30029 _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
30030 _In_ SIZE_T InitializationParametersDataSizeInBytes);
30031
30032 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
30033 void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
30034 ID3D12GraphicsCommandList5 * This,
30035 _In_ ID3D12MetaCommand *pMetaCommand,
30036 _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
30037 _In_ SIZE_T ExecutionParametersDataSizeInBytes);
30038
30039 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
30040 void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
30041 ID3D12GraphicsCommandList5 * This,
30042 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
30043 _In_ UINT NumPostbuildInfoDescs,
30044 _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
30045
30046 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
30047 void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
30048 ID3D12GraphicsCommandList5 * This,
30049 _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
30050 _In_ UINT NumSourceAccelerationStructures,
30051 _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
30052
30053 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
30054 void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
30055 ID3D12GraphicsCommandList5 * This,
30056 _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
30057 _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
30058 _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
30059
30060 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
30061 void ( STDMETHODCALLTYPE *SetPipelineState1 )(
30062 ID3D12GraphicsCommandList5 * This,
30063 _In_ ID3D12StateObject *pStateObject);
30064
30065 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
30066 void ( STDMETHODCALLTYPE *DispatchRays )(
30067 ID3D12GraphicsCommandList5 * This,
30068 _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
30069
30070 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
30071 void ( STDMETHODCALLTYPE *RSSetShadingRate )(
30072 ID3D12GraphicsCommandList5 * This,
30073 _In_ D3D12_SHADING_RATE baseShadingRate,
30074 _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
30075
30076 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
30077 void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
30078 ID3D12GraphicsCommandList5 * This,
30079 _In_opt_ ID3D12Resource *shadingRateImage);
30080
30081 END_INTERFACE
30082 } ID3D12GraphicsCommandList5Vtbl;
30083
30084 interface ID3D12GraphicsCommandList5
30085 {
30086 CONST_VTBL struct ID3D12GraphicsCommandList5Vtbl *lpVtbl;
30087 };
30088
30089
30090
30091#ifdef COBJMACROS
30092
30093
30094#define ID3D12GraphicsCommandList5_QueryInterface(This,riid,ppvObject) \
30095 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
30096
30097#define ID3D12GraphicsCommandList5_AddRef(This) \
30098 ( (This)->lpVtbl -> AddRef(This) )
30099
30100#define ID3D12GraphicsCommandList5_Release(This) \
30101 ( (This)->lpVtbl -> Release(This) )
30102
30103
30104#define ID3D12GraphicsCommandList5_GetPrivateData(This,guid,pDataSize,pData) \
30105 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
30106
30107#define ID3D12GraphicsCommandList5_SetPrivateData(This,guid,DataSize,pData) \
30108 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
30109
30110#define ID3D12GraphicsCommandList5_SetPrivateDataInterface(This,guid,pData) \
30111 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
30112
30113#define ID3D12GraphicsCommandList5_SetName(This,Name) \
30114 ( (This)->lpVtbl -> SetName(This,Name) )
30115
30116
30117#define ID3D12GraphicsCommandList5_GetDevice(This,riid,ppvDevice) \
30118 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
30119
30120
30121#define ID3D12GraphicsCommandList5_GetType(This) \
30122 ( (This)->lpVtbl -> GetType(This) )
30123
30124
30125#define ID3D12GraphicsCommandList5_Close(This) \
30126 ( (This)->lpVtbl -> Close(This) )
30127
30128#define ID3D12GraphicsCommandList5_Reset(This,pAllocator,pInitialState) \
30129 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
30130
30131#define ID3D12GraphicsCommandList5_ClearState(This,pPipelineState) \
30132 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
30133
30134#define ID3D12GraphicsCommandList5_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
30135 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
30136
30137#define ID3D12GraphicsCommandList5_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
30138 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
30139
30140#define ID3D12GraphicsCommandList5_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
30141 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
30142
30143#define ID3D12GraphicsCommandList5_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
30144 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
30145
30146#define ID3D12GraphicsCommandList5_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
30147 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
30148
30149#define ID3D12GraphicsCommandList5_CopyResource(This,pDstResource,pSrcResource) \
30150 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
30151
30152#define ID3D12GraphicsCommandList5_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
30153 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
30154
30155#define ID3D12GraphicsCommandList5_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
30156 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
30157
30158#define ID3D12GraphicsCommandList5_IASetPrimitiveTopology(This,PrimitiveTopology) \
30159 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
30160
30161#define ID3D12GraphicsCommandList5_RSSetViewports(This,NumViewports,pViewports) \
30162 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
30163
30164#define ID3D12GraphicsCommandList5_RSSetScissorRects(This,NumRects,pRects) \
30165 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
30166
30167#define ID3D12GraphicsCommandList5_OMSetBlendFactor(This,BlendFactor) \
30168 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
30169
30170#define ID3D12GraphicsCommandList5_OMSetStencilRef(This,StencilRef) \
30171 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
30172
30173#define ID3D12GraphicsCommandList5_SetPipelineState(This,pPipelineState) \
30174 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
30175
30176#define ID3D12GraphicsCommandList5_ResourceBarrier(This,NumBarriers,pBarriers) \
30177 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
30178
30179#define ID3D12GraphicsCommandList5_ExecuteBundle(This,pCommandList) \
30180 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
30181
30182#define ID3D12GraphicsCommandList5_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
30183 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
30184
30185#define ID3D12GraphicsCommandList5_SetComputeRootSignature(This,pRootSignature) \
30186 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
30187
30188#define ID3D12GraphicsCommandList5_SetGraphicsRootSignature(This,pRootSignature) \
30189 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
30190
30191#define ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
30192 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
30193
30194#define ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
30195 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
30196
30197#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
30198 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
30199
30200#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
30201 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
30202
30203#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
30204 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
30205
30206#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
30207 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
30208
30209#define ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
30210 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
30211
30212#define ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
30213 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
30214
30215#define ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
30216 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
30217
30218#define ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
30219 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
30220
30221#define ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
30222 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
30223
30224#define ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
30225 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
30226
30227#define ID3D12GraphicsCommandList5_IASetIndexBuffer(This,pView) \
30228 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
30229
30230#define ID3D12GraphicsCommandList5_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
30231 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
30232
30233#define ID3D12GraphicsCommandList5_SOSetTargets(This,StartSlot,NumViews,pViews) \
30234 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
30235
30236#define ID3D12GraphicsCommandList5_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
30237 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
30238
30239#define ID3D12GraphicsCommandList5_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
30240 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
30241
30242#define ID3D12GraphicsCommandList5_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
30243 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
30244
30245#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
30246 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
30247
30248#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
30249 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
30250
30251#define ID3D12GraphicsCommandList5_DiscardResource(This,pResource,pRegion) \
30252 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
30253
30254#define ID3D12GraphicsCommandList5_BeginQuery(This,pQueryHeap,Type,Index) \
30255 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
30256
30257#define ID3D12GraphicsCommandList5_EndQuery(This,pQueryHeap,Type,Index) \
30258 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
30259
30260#define ID3D12GraphicsCommandList5_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
30261 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
30262
30263#define ID3D12GraphicsCommandList5_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
30264 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
30265
30266#define ID3D12GraphicsCommandList5_SetMarker(This,Metadata,pData,Size) \
30267 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
30268
30269#define ID3D12GraphicsCommandList5_BeginEvent(This,Metadata,pData,Size) \
30270 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
30271
30272#define ID3D12GraphicsCommandList5_EndEvent(This) \
30273 ( (This)->lpVtbl -> EndEvent(This) )
30274
30275#define ID3D12GraphicsCommandList5_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
30276 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
30277
30278
30279#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
30280 ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
30281
30282#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
30283 ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
30284
30285#define ID3D12GraphicsCommandList5_OMSetDepthBounds(This,Min,Max) \
30286 ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
30287
30288#define ID3D12GraphicsCommandList5_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
30289 ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
30290
30291#define ID3D12GraphicsCommandList5_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
30292 ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
30293
30294#define ID3D12GraphicsCommandList5_SetViewInstanceMask(This,Mask) \
30295 ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
30296
30297
30298#define ID3D12GraphicsCommandList5_WriteBufferImmediate(This,Count,pParams,pModes) \
30299 ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
30300
30301
30302#define ID3D12GraphicsCommandList5_SetProtectedResourceSession(This,pProtectedResourceSession) \
30303 ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
30304
30305
30306#define ID3D12GraphicsCommandList5_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
30307 ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
30308
30309#define ID3D12GraphicsCommandList5_EndRenderPass(This) \
30310 ( (This)->lpVtbl -> EndRenderPass(This) )
30311
30312#define ID3D12GraphicsCommandList5_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
30313 ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
30314
30315#define ID3D12GraphicsCommandList5_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
30316 ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
30317
30318#define ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
30319 ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
30320
30321#define ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
30322 ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
30323
30324#define ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
30325 ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
30326
30327#define ID3D12GraphicsCommandList5_SetPipelineState1(This,pStateObject) \
30328 ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
30329
30330#define ID3D12GraphicsCommandList5_DispatchRays(This,pDesc) \
30331 ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
30332
30333
30334#define ID3D12GraphicsCommandList5_RSSetShadingRate(This,baseShadingRate,combiners) \
30335 ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
30336
30337#define ID3D12GraphicsCommandList5_RSSetShadingRateImage(This,shadingRateImage) \
30338 ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
30339
30340#endif /* COBJMACROS */
30341
30342
30343#endif /* C style interface */
30344
30345
30346
30347
30348#endif /* __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__ */
30349
30350
30351/* interface __MIDL_itf_d3d12_0000_0068 */
30352/* [local] */
30353
30354typedef struct D3D12_DISPATCH_MESH_ARGUMENTS
30355 {
30356 UINT ThreadGroupCountX;
30357 UINT ThreadGroupCountY;
30358 UINT ThreadGroupCountZ;
30359 } D3D12_DISPATCH_MESH_ARGUMENTS;
30360
30361
30362
30363extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0068_v0_0_c_ifspec;
30364extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0068_v0_0_s_ifspec;
30365
30366#ifndef __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__
30367#define __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__
30368
30369/* interface ID3D12GraphicsCommandList6 */
30370/* [unique][local][object][uuid] */
30371
30372
30373EXTERN_C const IID IID_ID3D12GraphicsCommandList6;
30374
30375#if defined(__cplusplus) && !defined(CINTERFACE)
30376
30377 MIDL_INTERFACE("c3827890-e548-4cfa-96cf-5689a9370f80")
30378 ID3D12GraphicsCommandList6 : public ID3D12GraphicsCommandList5
30379 {
30380 public:
30381 virtual void STDMETHODCALLTYPE DispatchMesh(
30382 _In_ UINT ThreadGroupCountX,
30383 _In_ UINT ThreadGroupCountY,
30384 _In_ UINT ThreadGroupCountZ) = 0;
30385
30386 };
30387
30388
30389#else /* C style interface */
30390
30391 typedef struct ID3D12GraphicsCommandList6Vtbl
30392 {
30393 BEGIN_INTERFACE
30394
30395 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
30396 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
30397 ID3D12GraphicsCommandList6 * This,
30398 REFIID riid,
30399 _COM_Outptr_ void **ppvObject);
30400
30401 DECLSPEC_XFGVIRT(IUnknown, AddRef)
30402 ULONG ( STDMETHODCALLTYPE *AddRef )(
30403 ID3D12GraphicsCommandList6 * This);
30404
30405 DECLSPEC_XFGVIRT(IUnknown, Release)
30406 ULONG ( STDMETHODCALLTYPE *Release )(
30407 ID3D12GraphicsCommandList6 * This);
30408
30409 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
30410 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
30411 ID3D12GraphicsCommandList6 * This,
30412 _In_ REFGUID guid,
30413 _Inout_ UINT *pDataSize,
30414 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
30415
30416 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
30417 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
30418 ID3D12GraphicsCommandList6 * This,
30419 _In_ REFGUID guid,
30420 _In_ UINT DataSize,
30421 _In_reads_bytes_opt_( DataSize ) const void *pData);
30422
30423 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
30424 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
30425 ID3D12GraphicsCommandList6 * This,
30426 _In_ REFGUID guid,
30427 _In_opt_ const IUnknown *pData);
30428
30429 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
30430 HRESULT ( STDMETHODCALLTYPE *SetName )(
30431 ID3D12GraphicsCommandList6 * This,
30432 _In_z_ LPCWSTR Name);
30433
30434 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
30435 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
30436 ID3D12GraphicsCommandList6 * This,
30437 REFIID riid,
30438 _COM_Outptr_opt_ void **ppvDevice);
30439
30440 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
30441 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
30442 ID3D12GraphicsCommandList6 * This);
30443
30444 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
30445 HRESULT ( STDMETHODCALLTYPE *Close )(
30446 ID3D12GraphicsCommandList6 * This);
30447
30448 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
30449 HRESULT ( STDMETHODCALLTYPE *Reset )(
30450 ID3D12GraphicsCommandList6 * This,
30451 _In_ ID3D12CommandAllocator *pAllocator,
30452 _In_opt_ ID3D12PipelineState *pInitialState);
30453
30454 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
30455 void ( STDMETHODCALLTYPE *ClearState )(
30456 ID3D12GraphicsCommandList6 * This,
30457 _In_opt_ ID3D12PipelineState *pPipelineState);
30458
30459 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
30460 void ( STDMETHODCALLTYPE *DrawInstanced )(
30461 ID3D12GraphicsCommandList6 * This,
30462 _In_ UINT VertexCountPerInstance,
30463 _In_ UINT InstanceCount,
30464 _In_ UINT StartVertexLocation,
30465 _In_ UINT StartInstanceLocation);
30466
30467 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
30468 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
30469 ID3D12GraphicsCommandList6 * This,
30470 _In_ UINT IndexCountPerInstance,
30471 _In_ UINT InstanceCount,
30472 _In_ UINT StartIndexLocation,
30473 _In_ INT BaseVertexLocation,
30474 _In_ UINT StartInstanceLocation);
30475
30476 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
30477 void ( STDMETHODCALLTYPE *Dispatch )(
30478 ID3D12GraphicsCommandList6 * This,
30479 _In_ UINT ThreadGroupCountX,
30480 _In_ UINT ThreadGroupCountY,
30481 _In_ UINT ThreadGroupCountZ);
30482
30483 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
30484 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
30485 ID3D12GraphicsCommandList6 * This,
30486 _In_ ID3D12Resource *pDstBuffer,
30487 UINT64 DstOffset,
30488 _In_ ID3D12Resource *pSrcBuffer,
30489 UINT64 SrcOffset,
30490 UINT64 NumBytes);
30491
30492 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
30493 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
30494 ID3D12GraphicsCommandList6 * This,
30495 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
30496 UINT DstX,
30497 UINT DstY,
30498 UINT DstZ,
30499 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
30500 _In_opt_ const D3D12_BOX *pSrcBox);
30501
30502 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
30503 void ( STDMETHODCALLTYPE *CopyResource )(
30504 ID3D12GraphicsCommandList6 * This,
30505 _In_ ID3D12Resource *pDstResource,
30506 _In_ ID3D12Resource *pSrcResource);
30507
30508 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
30509 void ( STDMETHODCALLTYPE *CopyTiles )(
30510 ID3D12GraphicsCommandList6 * This,
30511 _In_ ID3D12Resource *pTiledResource,
30512 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
30513 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
30514 _In_ ID3D12Resource *pBuffer,
30515 UINT64 BufferStartOffsetInBytes,
30516 D3D12_TILE_COPY_FLAGS Flags);
30517
30518 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
30519 void ( STDMETHODCALLTYPE *ResolveSubresource )(
30520 ID3D12GraphicsCommandList6 * This,
30521 _In_ ID3D12Resource *pDstResource,
30522 _In_ UINT DstSubresource,
30523 _In_ ID3D12Resource *pSrcResource,
30524 _In_ UINT SrcSubresource,
30525 _In_ DXGI_FORMAT Format);
30526
30527 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
30528 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
30529 ID3D12GraphicsCommandList6 * This,
30530 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
30531
30532 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
30533 void ( STDMETHODCALLTYPE *RSSetViewports )(
30534 ID3D12GraphicsCommandList6 * This,
30535 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
30536 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
30537
30538 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
30539 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
30540 ID3D12GraphicsCommandList6 * This,
30541 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
30542 _In_reads_( NumRects) const D3D12_RECT *pRects);
30543
30544 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
30545 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
30546 ID3D12GraphicsCommandList6 * This,
30547 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
30548
30549 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
30550 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
30551 ID3D12GraphicsCommandList6 * This,
30552 _In_ UINT StencilRef);
30553
30554 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
30555 void ( STDMETHODCALLTYPE *SetPipelineState )(
30556 ID3D12GraphicsCommandList6 * This,
30557 _In_ ID3D12PipelineState *pPipelineState);
30558
30559 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
30560 void ( STDMETHODCALLTYPE *ResourceBarrier )(
30561 ID3D12GraphicsCommandList6 * This,
30562 _In_ UINT NumBarriers,
30563 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
30564
30565 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
30566 void ( STDMETHODCALLTYPE *ExecuteBundle )(
30567 ID3D12GraphicsCommandList6 * This,
30568 _In_ ID3D12GraphicsCommandList *pCommandList);
30569
30570 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
30571 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
30572 ID3D12GraphicsCommandList6 * This,
30573 _In_ UINT NumDescriptorHeaps,
30574 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
30575
30576 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
30577 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
30578 ID3D12GraphicsCommandList6 * This,
30579 _In_opt_ ID3D12RootSignature *pRootSignature);
30580
30581 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
30582 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
30583 ID3D12GraphicsCommandList6 * This,
30584 _In_opt_ ID3D12RootSignature *pRootSignature);
30585
30586 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
30587 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
30588 ID3D12GraphicsCommandList6 * This,
30589 _In_ UINT RootParameterIndex,
30590 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
30591
30592 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
30593 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
30594 ID3D12GraphicsCommandList6 * This,
30595 _In_ UINT RootParameterIndex,
30596 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
30597
30598 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
30599 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
30600 ID3D12GraphicsCommandList6 * This,
30601 _In_ UINT RootParameterIndex,
30602 _In_ UINT SrcData,
30603 _In_ UINT DestOffsetIn32BitValues);
30604
30605 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
30606 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
30607 ID3D12GraphicsCommandList6 * This,
30608 _In_ UINT RootParameterIndex,
30609 _In_ UINT SrcData,
30610 _In_ UINT DestOffsetIn32BitValues);
30611
30612 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
30613 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
30614 ID3D12GraphicsCommandList6 * This,
30615 _In_ UINT RootParameterIndex,
30616 _In_ UINT Num32BitValuesToSet,
30617 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
30618 _In_ UINT DestOffsetIn32BitValues);
30619
30620 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
30621 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
30622 ID3D12GraphicsCommandList6 * This,
30623 _In_ UINT RootParameterIndex,
30624 _In_ UINT Num32BitValuesToSet,
30625 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
30626 _In_ UINT DestOffsetIn32BitValues);
30627
30628 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
30629 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
30630 ID3D12GraphicsCommandList6 * This,
30631 _In_ UINT RootParameterIndex,
30632 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
30633
30634 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
30635 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
30636 ID3D12GraphicsCommandList6 * This,
30637 _In_ UINT RootParameterIndex,
30638 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
30639
30640 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
30641 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
30642 ID3D12GraphicsCommandList6 * This,
30643 _In_ UINT RootParameterIndex,
30644 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
30645
30646 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
30647 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
30648 ID3D12GraphicsCommandList6 * This,
30649 _In_ UINT RootParameterIndex,
30650 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
30651
30652 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
30653 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
30654 ID3D12GraphicsCommandList6 * This,
30655 _In_ UINT RootParameterIndex,
30656 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
30657
30658 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
30659 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
30660 ID3D12GraphicsCommandList6 * This,
30661 _In_ UINT RootParameterIndex,
30662 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
30663
30664 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
30665 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
30666 ID3D12GraphicsCommandList6 * This,
30667 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
30668
30669 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
30670 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
30671 ID3D12GraphicsCommandList6 * This,
30672 _In_ UINT StartSlot,
30673 _In_ UINT NumViews,
30674 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
30675
30676 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
30677 void ( STDMETHODCALLTYPE *SOSetTargets )(
30678 ID3D12GraphicsCommandList6 * This,
30679 _In_ UINT StartSlot,
30680 _In_ UINT NumViews,
30681 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
30682
30683 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
30684 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
30685 ID3D12GraphicsCommandList6 * This,
30686 _In_ UINT NumRenderTargetDescriptors,
30687 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
30688 _In_ BOOL RTsSingleHandleToDescriptorRange,
30689 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
30690
30691 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
30692 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
30693 ID3D12GraphicsCommandList6 * This,
30694 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
30695 _In_ D3D12_CLEAR_FLAGS ClearFlags,
30696 _In_ FLOAT Depth,
30697 _In_ UINT8 Stencil,
30698 _In_ UINT NumRects,
30699 _In_reads_(NumRects) const D3D12_RECT *pRects);
30700
30701 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
30702 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
30703 ID3D12GraphicsCommandList6 * This,
30704 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
30705 _In_ const FLOAT ColorRGBA[ 4 ],
30706 _In_ UINT NumRects,
30707 _In_reads_(NumRects) const D3D12_RECT *pRects);
30708
30709 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
30710 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
30711 ID3D12GraphicsCommandList6 * This,
30712 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
30713 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
30714 _In_ ID3D12Resource *pResource,
30715 _In_ const UINT Values[ 4 ],
30716 _In_ UINT NumRects,
30717 _In_reads_(NumRects) const D3D12_RECT *pRects);
30718
30719 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
30720 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
30721 ID3D12GraphicsCommandList6 * This,
30722 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
30723 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
30724 _In_ ID3D12Resource *pResource,
30725 _In_ const FLOAT Values[ 4 ],
30726 _In_ UINT NumRects,
30727 _In_reads_(NumRects) const D3D12_RECT *pRects);
30728
30729 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
30730 void ( STDMETHODCALLTYPE *DiscardResource )(
30731 ID3D12GraphicsCommandList6 * This,
30732 _In_ ID3D12Resource *pResource,
30733 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
30734
30735 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
30736 void ( STDMETHODCALLTYPE *BeginQuery )(
30737 ID3D12GraphicsCommandList6 * This,
30738 _In_ ID3D12QueryHeap *pQueryHeap,
30739 _In_ D3D12_QUERY_TYPE Type,
30740 _In_ UINT Index);
30741
30742 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
30743 void ( STDMETHODCALLTYPE *EndQuery )(
30744 ID3D12GraphicsCommandList6 * This,
30745 _In_ ID3D12QueryHeap *pQueryHeap,
30746 _In_ D3D12_QUERY_TYPE Type,
30747 _In_ UINT Index);
30748
30749 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
30750 void ( STDMETHODCALLTYPE *ResolveQueryData )(
30751 ID3D12GraphicsCommandList6 * This,
30752 _In_ ID3D12QueryHeap *pQueryHeap,
30753 _In_ D3D12_QUERY_TYPE Type,
30754 _In_ UINT StartIndex,
30755 _In_ UINT NumQueries,
30756 _In_ ID3D12Resource *pDestinationBuffer,
30757 _In_ UINT64 AlignedDestinationBufferOffset);
30758
30759 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
30760 void ( STDMETHODCALLTYPE *SetPredication )(
30761 ID3D12GraphicsCommandList6 * This,
30762 _In_opt_ ID3D12Resource *pBuffer,
30763 _In_ UINT64 AlignedBufferOffset,
30764 _In_ D3D12_PREDICATION_OP Operation);
30765
30766 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
30767 void ( STDMETHODCALLTYPE *SetMarker )(
30768 ID3D12GraphicsCommandList6 * This,
30769 UINT Metadata,
30770 _In_reads_bytes_opt_(Size) const void *pData,
30771 UINT Size);
30772
30773 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
30774 void ( STDMETHODCALLTYPE *BeginEvent )(
30775 ID3D12GraphicsCommandList6 * This,
30776 UINT Metadata,
30777 _In_reads_bytes_opt_(Size) const void *pData,
30778 UINT Size);
30779
30780 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
30781 void ( STDMETHODCALLTYPE *EndEvent )(
30782 ID3D12GraphicsCommandList6 * This);
30783
30784 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
30785 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
30786 ID3D12GraphicsCommandList6 * This,
30787 _In_ ID3D12CommandSignature *pCommandSignature,
30788 _In_ UINT MaxCommandCount,
30789 _In_ ID3D12Resource *pArgumentBuffer,
30790 _In_ UINT64 ArgumentBufferOffset,
30791 _In_opt_ ID3D12Resource *pCountBuffer,
30792 _In_ UINT64 CountBufferOffset);
30793
30794 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
30795 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
30796 ID3D12GraphicsCommandList6 * This,
30797 _In_ ID3D12Resource *pDstBuffer,
30798 UINT64 DstOffset,
30799 _In_ ID3D12Resource *pSrcBuffer,
30800 UINT64 SrcOffset,
30801 UINT Dependencies,
30802 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
30803 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
30804
30805 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
30806 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
30807 ID3D12GraphicsCommandList6 * This,
30808 _In_ ID3D12Resource *pDstBuffer,
30809 UINT64 DstOffset,
30810 _In_ ID3D12Resource *pSrcBuffer,
30811 UINT64 SrcOffset,
30812 UINT Dependencies,
30813 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
30814 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
30815
30816 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
30817 void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
30818 ID3D12GraphicsCommandList6 * This,
30819 _In_ FLOAT Min,
30820 _In_ FLOAT Max);
30821
30822 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
30823 void ( STDMETHODCALLTYPE *SetSamplePositions )(
30824 ID3D12GraphicsCommandList6 * This,
30825 _In_ UINT NumSamplesPerPixel,
30826 _In_ UINT NumPixels,
30827 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
30828
30829 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
30830 void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
30831 ID3D12GraphicsCommandList6 * This,
30832 _In_ ID3D12Resource *pDstResource,
30833 _In_ UINT DstSubresource,
30834 _In_ UINT DstX,
30835 _In_ UINT DstY,
30836 _In_ ID3D12Resource *pSrcResource,
30837 _In_ UINT SrcSubresource,
30838 _In_opt_ D3D12_RECT *pSrcRect,
30839 _In_ DXGI_FORMAT Format,
30840 _In_ D3D12_RESOLVE_MODE ResolveMode);
30841
30842 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
30843 void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
30844 ID3D12GraphicsCommandList6 * This,
30845 _In_ UINT Mask);
30846
30847 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
30848 void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
30849 ID3D12GraphicsCommandList6 * This,
30850 UINT Count,
30851 _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
30852 _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
30853
30854 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
30855 void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
30856 ID3D12GraphicsCommandList6 * This,
30857 _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
30858
30859 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
30860 void ( STDMETHODCALLTYPE *BeginRenderPass )(
30861 ID3D12GraphicsCommandList6 * This,
30862 _In_ UINT NumRenderTargets,
30863 _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
30864 _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
30865 D3D12_RENDER_PASS_FLAGS Flags);
30866
30867 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
30868 void ( STDMETHODCALLTYPE *EndRenderPass )(
30869 ID3D12GraphicsCommandList6 * This);
30870
30871 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
30872 void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
30873 ID3D12GraphicsCommandList6 * This,
30874 _In_ ID3D12MetaCommand *pMetaCommand,
30875 _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
30876 _In_ SIZE_T InitializationParametersDataSizeInBytes);
30877
30878 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
30879 void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
30880 ID3D12GraphicsCommandList6 * This,
30881 _In_ ID3D12MetaCommand *pMetaCommand,
30882 _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
30883 _In_ SIZE_T ExecutionParametersDataSizeInBytes);
30884
30885 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
30886 void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
30887 ID3D12GraphicsCommandList6 * This,
30888 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
30889 _In_ UINT NumPostbuildInfoDescs,
30890 _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
30891
30892 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
30893 void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
30894 ID3D12GraphicsCommandList6 * This,
30895 _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
30896 _In_ UINT NumSourceAccelerationStructures,
30897 _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
30898
30899 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
30900 void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
30901 ID3D12GraphicsCommandList6 * This,
30902 _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
30903 _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
30904 _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
30905
30906 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
30907 void ( STDMETHODCALLTYPE *SetPipelineState1 )(
30908 ID3D12GraphicsCommandList6 * This,
30909 _In_ ID3D12StateObject *pStateObject);
30910
30911 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
30912 void ( STDMETHODCALLTYPE *DispatchRays )(
30913 ID3D12GraphicsCommandList6 * This,
30914 _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
30915
30916 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
30917 void ( STDMETHODCALLTYPE *RSSetShadingRate )(
30918 ID3D12GraphicsCommandList6 * This,
30919 _In_ D3D12_SHADING_RATE baseShadingRate,
30920 _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
30921
30922 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
30923 void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
30924 ID3D12GraphicsCommandList6 * This,
30925 _In_opt_ ID3D12Resource *shadingRateImage);
30926
30927 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
30928 void ( STDMETHODCALLTYPE *DispatchMesh )(
30929 ID3D12GraphicsCommandList6 * This,
30930 _In_ UINT ThreadGroupCountX,
30931 _In_ UINT ThreadGroupCountY,
30932 _In_ UINT ThreadGroupCountZ);
30933
30934 END_INTERFACE
30935 } ID3D12GraphicsCommandList6Vtbl;
30936
30937 interface ID3D12GraphicsCommandList6
30938 {
30939 CONST_VTBL struct ID3D12GraphicsCommandList6Vtbl *lpVtbl;
30940 };
30941
30942
30943
30944#ifdef COBJMACROS
30945
30946
30947#define ID3D12GraphicsCommandList6_QueryInterface(This,riid,ppvObject) \
30948 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
30949
30950#define ID3D12GraphicsCommandList6_AddRef(This) \
30951 ( (This)->lpVtbl -> AddRef(This) )
30952
30953#define ID3D12GraphicsCommandList6_Release(This) \
30954 ( (This)->lpVtbl -> Release(This) )
30955
30956
30957#define ID3D12GraphicsCommandList6_GetPrivateData(This,guid,pDataSize,pData) \
30958 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
30959
30960#define ID3D12GraphicsCommandList6_SetPrivateData(This,guid,DataSize,pData) \
30961 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
30962
30963#define ID3D12GraphicsCommandList6_SetPrivateDataInterface(This,guid,pData) \
30964 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
30965
30966#define ID3D12GraphicsCommandList6_SetName(This,Name) \
30967 ( (This)->lpVtbl -> SetName(This,Name) )
30968
30969
30970#define ID3D12GraphicsCommandList6_GetDevice(This,riid,ppvDevice) \
30971 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
30972
30973
30974#define ID3D12GraphicsCommandList6_GetType(This) \
30975 ( (This)->lpVtbl -> GetType(This) )
30976
30977
30978#define ID3D12GraphicsCommandList6_Close(This) \
30979 ( (This)->lpVtbl -> Close(This) )
30980
30981#define ID3D12GraphicsCommandList6_Reset(This,pAllocator,pInitialState) \
30982 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
30983
30984#define ID3D12GraphicsCommandList6_ClearState(This,pPipelineState) \
30985 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
30986
30987#define ID3D12GraphicsCommandList6_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
30988 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
30989
30990#define ID3D12GraphicsCommandList6_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
30991 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
30992
30993#define ID3D12GraphicsCommandList6_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
30994 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
30995
30996#define ID3D12GraphicsCommandList6_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
30997 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
30998
30999#define ID3D12GraphicsCommandList6_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
31000 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
31001
31002#define ID3D12GraphicsCommandList6_CopyResource(This,pDstResource,pSrcResource) \
31003 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
31004
31005#define ID3D12GraphicsCommandList6_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
31006 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
31007
31008#define ID3D12GraphicsCommandList6_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
31009 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
31010
31011#define ID3D12GraphicsCommandList6_IASetPrimitiveTopology(This,PrimitiveTopology) \
31012 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
31013
31014#define ID3D12GraphicsCommandList6_RSSetViewports(This,NumViewports,pViewports) \
31015 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
31016
31017#define ID3D12GraphicsCommandList6_RSSetScissorRects(This,NumRects,pRects) \
31018 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
31019
31020#define ID3D12GraphicsCommandList6_OMSetBlendFactor(This,BlendFactor) \
31021 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
31022
31023#define ID3D12GraphicsCommandList6_OMSetStencilRef(This,StencilRef) \
31024 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
31025
31026#define ID3D12GraphicsCommandList6_SetPipelineState(This,pPipelineState) \
31027 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
31028
31029#define ID3D12GraphicsCommandList6_ResourceBarrier(This,NumBarriers,pBarriers) \
31030 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
31031
31032#define ID3D12GraphicsCommandList6_ExecuteBundle(This,pCommandList) \
31033 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
31034
31035#define ID3D12GraphicsCommandList6_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
31036 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
31037
31038#define ID3D12GraphicsCommandList6_SetComputeRootSignature(This,pRootSignature) \
31039 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
31040
31041#define ID3D12GraphicsCommandList6_SetGraphicsRootSignature(This,pRootSignature) \
31042 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
31043
31044#define ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
31045 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
31046
31047#define ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
31048 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
31049
31050#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
31051 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
31052
31053#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
31054 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
31055
31056#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
31057 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
31058
31059#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
31060 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
31061
31062#define ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
31063 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
31064
31065#define ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
31066 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
31067
31068#define ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
31069 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
31070
31071#define ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
31072 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
31073
31074#define ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
31075 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
31076
31077#define ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
31078 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
31079
31080#define ID3D12GraphicsCommandList6_IASetIndexBuffer(This,pView) \
31081 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
31082
31083#define ID3D12GraphicsCommandList6_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
31084 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
31085
31086#define ID3D12GraphicsCommandList6_SOSetTargets(This,StartSlot,NumViews,pViews) \
31087 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
31088
31089#define ID3D12GraphicsCommandList6_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
31090 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
31091
31092#define ID3D12GraphicsCommandList6_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
31093 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
31094
31095#define ID3D12GraphicsCommandList6_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
31096 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
31097
31098#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
31099 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
31100
31101#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
31102 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
31103
31104#define ID3D12GraphicsCommandList6_DiscardResource(This,pResource,pRegion) \
31105 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
31106
31107#define ID3D12GraphicsCommandList6_BeginQuery(This,pQueryHeap,Type,Index) \
31108 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
31109
31110#define ID3D12GraphicsCommandList6_EndQuery(This,pQueryHeap,Type,Index) \
31111 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
31112
31113#define ID3D12GraphicsCommandList6_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
31114 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
31115
31116#define ID3D12GraphicsCommandList6_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
31117 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
31118
31119#define ID3D12GraphicsCommandList6_SetMarker(This,Metadata,pData,Size) \
31120 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
31121
31122#define ID3D12GraphicsCommandList6_BeginEvent(This,Metadata,pData,Size) \
31123 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
31124
31125#define ID3D12GraphicsCommandList6_EndEvent(This) \
31126 ( (This)->lpVtbl -> EndEvent(This) )
31127
31128#define ID3D12GraphicsCommandList6_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
31129 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
31130
31131
31132#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
31133 ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
31134
31135#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
31136 ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
31137
31138#define ID3D12GraphicsCommandList6_OMSetDepthBounds(This,Min,Max) \
31139 ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
31140
31141#define ID3D12GraphicsCommandList6_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
31142 ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
31143
31144#define ID3D12GraphicsCommandList6_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
31145 ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
31146
31147#define ID3D12GraphicsCommandList6_SetViewInstanceMask(This,Mask) \
31148 ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
31149
31150
31151#define ID3D12GraphicsCommandList6_WriteBufferImmediate(This,Count,pParams,pModes) \
31152 ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
31153
31154
31155#define ID3D12GraphicsCommandList6_SetProtectedResourceSession(This,pProtectedResourceSession) \
31156 ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
31157
31158
31159#define ID3D12GraphicsCommandList6_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
31160 ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
31161
31162#define ID3D12GraphicsCommandList6_EndRenderPass(This) \
31163 ( (This)->lpVtbl -> EndRenderPass(This) )
31164
31165#define ID3D12GraphicsCommandList6_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
31166 ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
31167
31168#define ID3D12GraphicsCommandList6_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
31169 ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
31170
31171#define ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
31172 ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
31173
31174#define ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
31175 ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
31176
31177#define ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
31178 ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
31179
31180#define ID3D12GraphicsCommandList6_SetPipelineState1(This,pStateObject) \
31181 ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
31182
31183#define ID3D12GraphicsCommandList6_DispatchRays(This,pDesc) \
31184 ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
31185
31186
31187#define ID3D12GraphicsCommandList6_RSSetShadingRate(This,baseShadingRate,combiners) \
31188 ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
31189
31190#define ID3D12GraphicsCommandList6_RSSetShadingRateImage(This,shadingRateImage) \
31191 ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
31192
31193
31194#define ID3D12GraphicsCommandList6_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
31195 ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
31196
31197#endif /* COBJMACROS */
31198
31199
31200#endif /* C style interface */
31201
31202
31203
31204
31205#endif /* __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__ */
31206
31207
31208#ifndef __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__
31209#define __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__
31210
31211/* interface ID3D12GraphicsCommandList7 */
31212/* [unique][local][object][uuid] */
31213
31214
31215EXTERN_C const IID IID_ID3D12GraphicsCommandList7;
31216
31217#if defined(__cplusplus) && !defined(CINTERFACE)
31218
31219 MIDL_INTERFACE("dd171223-8b61-4769-90e3-160ccde4e2c1")
31220 ID3D12GraphicsCommandList7 : public ID3D12GraphicsCommandList6
31221 {
31222 public:
31223 virtual void STDMETHODCALLTYPE Barrier(
31224 UINT32 NumBarrierGroups,
31225 _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups) = 0;
31226
31227 };
31228
31229
31230#else /* C style interface */
31231
31232 typedef struct ID3D12GraphicsCommandList7Vtbl
31233 {
31234 BEGIN_INTERFACE
31235
31236 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
31237 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
31238 ID3D12GraphicsCommandList7 * This,
31239 REFIID riid,
31240 _COM_Outptr_ void **ppvObject);
31241
31242 DECLSPEC_XFGVIRT(IUnknown, AddRef)
31243 ULONG ( STDMETHODCALLTYPE *AddRef )(
31244 ID3D12GraphicsCommandList7 * This);
31245
31246 DECLSPEC_XFGVIRT(IUnknown, Release)
31247 ULONG ( STDMETHODCALLTYPE *Release )(
31248 ID3D12GraphicsCommandList7 * This);
31249
31250 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
31251 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
31252 ID3D12GraphicsCommandList7 * This,
31253 _In_ REFGUID guid,
31254 _Inout_ UINT *pDataSize,
31255 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
31256
31257 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
31258 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
31259 ID3D12GraphicsCommandList7 * This,
31260 _In_ REFGUID guid,
31261 _In_ UINT DataSize,
31262 _In_reads_bytes_opt_( DataSize ) const void *pData);
31263
31264 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
31265 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
31266 ID3D12GraphicsCommandList7 * This,
31267 _In_ REFGUID guid,
31268 _In_opt_ const IUnknown *pData);
31269
31270 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
31271 HRESULT ( STDMETHODCALLTYPE *SetName )(
31272 ID3D12GraphicsCommandList7 * This,
31273 _In_z_ LPCWSTR Name);
31274
31275 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
31276 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
31277 ID3D12GraphicsCommandList7 * This,
31278 REFIID riid,
31279 _COM_Outptr_opt_ void **ppvDevice);
31280
31281 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
31282 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
31283 ID3D12GraphicsCommandList7 * This);
31284
31285 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
31286 HRESULT ( STDMETHODCALLTYPE *Close )(
31287 ID3D12GraphicsCommandList7 * This);
31288
31289 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
31290 HRESULT ( STDMETHODCALLTYPE *Reset )(
31291 ID3D12GraphicsCommandList7 * This,
31292 _In_ ID3D12CommandAllocator *pAllocator,
31293 _In_opt_ ID3D12PipelineState *pInitialState);
31294
31295 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
31296 void ( STDMETHODCALLTYPE *ClearState )(
31297 ID3D12GraphicsCommandList7 * This,
31298 _In_opt_ ID3D12PipelineState *pPipelineState);
31299
31300 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
31301 void ( STDMETHODCALLTYPE *DrawInstanced )(
31302 ID3D12GraphicsCommandList7 * This,
31303 _In_ UINT VertexCountPerInstance,
31304 _In_ UINT InstanceCount,
31305 _In_ UINT StartVertexLocation,
31306 _In_ UINT StartInstanceLocation);
31307
31308 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
31309 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
31310 ID3D12GraphicsCommandList7 * This,
31311 _In_ UINT IndexCountPerInstance,
31312 _In_ UINT InstanceCount,
31313 _In_ UINT StartIndexLocation,
31314 _In_ INT BaseVertexLocation,
31315 _In_ UINT StartInstanceLocation);
31316
31317 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
31318 void ( STDMETHODCALLTYPE *Dispatch )(
31319 ID3D12GraphicsCommandList7 * This,
31320 _In_ UINT ThreadGroupCountX,
31321 _In_ UINT ThreadGroupCountY,
31322 _In_ UINT ThreadGroupCountZ);
31323
31324 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
31325 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
31326 ID3D12GraphicsCommandList7 * This,
31327 _In_ ID3D12Resource *pDstBuffer,
31328 UINT64 DstOffset,
31329 _In_ ID3D12Resource *pSrcBuffer,
31330 UINT64 SrcOffset,
31331 UINT64 NumBytes);
31332
31333 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
31334 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
31335 ID3D12GraphicsCommandList7 * This,
31336 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
31337 UINT DstX,
31338 UINT DstY,
31339 UINT DstZ,
31340 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
31341 _In_opt_ const D3D12_BOX *pSrcBox);
31342
31343 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
31344 void ( STDMETHODCALLTYPE *CopyResource )(
31345 ID3D12GraphicsCommandList7 * This,
31346 _In_ ID3D12Resource *pDstResource,
31347 _In_ ID3D12Resource *pSrcResource);
31348
31349 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
31350 void ( STDMETHODCALLTYPE *CopyTiles )(
31351 ID3D12GraphicsCommandList7 * This,
31352 _In_ ID3D12Resource *pTiledResource,
31353 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
31354 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
31355 _In_ ID3D12Resource *pBuffer,
31356 UINT64 BufferStartOffsetInBytes,
31357 D3D12_TILE_COPY_FLAGS Flags);
31358
31359 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
31360 void ( STDMETHODCALLTYPE *ResolveSubresource )(
31361 ID3D12GraphicsCommandList7 * This,
31362 _In_ ID3D12Resource *pDstResource,
31363 _In_ UINT DstSubresource,
31364 _In_ ID3D12Resource *pSrcResource,
31365 _In_ UINT SrcSubresource,
31366 _In_ DXGI_FORMAT Format);
31367
31368 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
31369 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
31370 ID3D12GraphicsCommandList7 * This,
31371 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
31372
31373 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
31374 void ( STDMETHODCALLTYPE *RSSetViewports )(
31375 ID3D12GraphicsCommandList7 * This,
31376 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
31377 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
31378
31379 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
31380 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
31381 ID3D12GraphicsCommandList7 * This,
31382 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
31383 _In_reads_( NumRects) const D3D12_RECT *pRects);
31384
31385 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
31386 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
31387 ID3D12GraphicsCommandList7 * This,
31388 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
31389
31390 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
31391 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
31392 ID3D12GraphicsCommandList7 * This,
31393 _In_ UINT StencilRef);
31394
31395 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
31396 void ( STDMETHODCALLTYPE *SetPipelineState )(
31397 ID3D12GraphicsCommandList7 * This,
31398 _In_ ID3D12PipelineState *pPipelineState);
31399
31400 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
31401 void ( STDMETHODCALLTYPE *ResourceBarrier )(
31402 ID3D12GraphicsCommandList7 * This,
31403 _In_ UINT NumBarriers,
31404 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
31405
31406 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
31407 void ( STDMETHODCALLTYPE *ExecuteBundle )(
31408 ID3D12GraphicsCommandList7 * This,
31409 _In_ ID3D12GraphicsCommandList *pCommandList);
31410
31411 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
31412 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
31413 ID3D12GraphicsCommandList7 * This,
31414 _In_ UINT NumDescriptorHeaps,
31415 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
31416
31417 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
31418 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
31419 ID3D12GraphicsCommandList7 * This,
31420 _In_opt_ ID3D12RootSignature *pRootSignature);
31421
31422 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
31423 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
31424 ID3D12GraphicsCommandList7 * This,
31425 _In_opt_ ID3D12RootSignature *pRootSignature);
31426
31427 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
31428 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
31429 ID3D12GraphicsCommandList7 * This,
31430 _In_ UINT RootParameterIndex,
31431 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
31432
31433 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
31434 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
31435 ID3D12GraphicsCommandList7 * This,
31436 _In_ UINT RootParameterIndex,
31437 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
31438
31439 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
31440 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
31441 ID3D12GraphicsCommandList7 * This,
31442 _In_ UINT RootParameterIndex,
31443 _In_ UINT SrcData,
31444 _In_ UINT DestOffsetIn32BitValues);
31445
31446 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
31447 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
31448 ID3D12GraphicsCommandList7 * This,
31449 _In_ UINT RootParameterIndex,
31450 _In_ UINT SrcData,
31451 _In_ UINT DestOffsetIn32BitValues);
31452
31453 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
31454 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
31455 ID3D12GraphicsCommandList7 * This,
31456 _In_ UINT RootParameterIndex,
31457 _In_ UINT Num32BitValuesToSet,
31458 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
31459 _In_ UINT DestOffsetIn32BitValues);
31460
31461 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
31462 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
31463 ID3D12GraphicsCommandList7 * This,
31464 _In_ UINT RootParameterIndex,
31465 _In_ UINT Num32BitValuesToSet,
31466 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
31467 _In_ UINT DestOffsetIn32BitValues);
31468
31469 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
31470 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
31471 ID3D12GraphicsCommandList7 * This,
31472 _In_ UINT RootParameterIndex,
31473 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
31474
31475 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
31476 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
31477 ID3D12GraphicsCommandList7 * This,
31478 _In_ UINT RootParameterIndex,
31479 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
31480
31481 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
31482 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
31483 ID3D12GraphicsCommandList7 * This,
31484 _In_ UINT RootParameterIndex,
31485 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
31486
31487 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
31488 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
31489 ID3D12GraphicsCommandList7 * This,
31490 _In_ UINT RootParameterIndex,
31491 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
31492
31493 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
31494 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
31495 ID3D12GraphicsCommandList7 * This,
31496 _In_ UINT RootParameterIndex,
31497 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
31498
31499 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
31500 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
31501 ID3D12GraphicsCommandList7 * This,
31502 _In_ UINT RootParameterIndex,
31503 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
31504
31505 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
31506 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
31507 ID3D12GraphicsCommandList7 * This,
31508 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
31509
31510 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
31511 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
31512 ID3D12GraphicsCommandList7 * This,
31513 _In_ UINT StartSlot,
31514 _In_ UINT NumViews,
31515 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
31516
31517 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
31518 void ( STDMETHODCALLTYPE *SOSetTargets )(
31519 ID3D12GraphicsCommandList7 * This,
31520 _In_ UINT StartSlot,
31521 _In_ UINT NumViews,
31522 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
31523
31524 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
31525 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
31526 ID3D12GraphicsCommandList7 * This,
31527 _In_ UINT NumRenderTargetDescriptors,
31528 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
31529 _In_ BOOL RTsSingleHandleToDescriptorRange,
31530 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
31531
31532 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
31533 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
31534 ID3D12GraphicsCommandList7 * This,
31535 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
31536 _In_ D3D12_CLEAR_FLAGS ClearFlags,
31537 _In_ FLOAT Depth,
31538 _In_ UINT8 Stencil,
31539 _In_ UINT NumRects,
31540 _In_reads_(NumRects) const D3D12_RECT *pRects);
31541
31542 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
31543 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
31544 ID3D12GraphicsCommandList7 * This,
31545 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
31546 _In_ const FLOAT ColorRGBA[ 4 ],
31547 _In_ UINT NumRects,
31548 _In_reads_(NumRects) const D3D12_RECT *pRects);
31549
31550 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
31551 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
31552 ID3D12GraphicsCommandList7 * This,
31553 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
31554 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
31555 _In_ ID3D12Resource *pResource,
31556 _In_ const UINT Values[ 4 ],
31557 _In_ UINT NumRects,
31558 _In_reads_(NumRects) const D3D12_RECT *pRects);
31559
31560 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
31561 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
31562 ID3D12GraphicsCommandList7 * This,
31563 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
31564 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
31565 _In_ ID3D12Resource *pResource,
31566 _In_ const FLOAT Values[ 4 ],
31567 _In_ UINT NumRects,
31568 _In_reads_(NumRects) const D3D12_RECT *pRects);
31569
31570 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
31571 void ( STDMETHODCALLTYPE *DiscardResource )(
31572 ID3D12GraphicsCommandList7 * This,
31573 _In_ ID3D12Resource *pResource,
31574 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
31575
31576 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
31577 void ( STDMETHODCALLTYPE *BeginQuery )(
31578 ID3D12GraphicsCommandList7 * This,
31579 _In_ ID3D12QueryHeap *pQueryHeap,
31580 _In_ D3D12_QUERY_TYPE Type,
31581 _In_ UINT Index);
31582
31583 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
31584 void ( STDMETHODCALLTYPE *EndQuery )(
31585 ID3D12GraphicsCommandList7 * This,
31586 _In_ ID3D12QueryHeap *pQueryHeap,
31587 _In_ D3D12_QUERY_TYPE Type,
31588 _In_ UINT Index);
31589
31590 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
31591 void ( STDMETHODCALLTYPE *ResolveQueryData )(
31592 ID3D12GraphicsCommandList7 * This,
31593 _In_ ID3D12QueryHeap *pQueryHeap,
31594 _In_ D3D12_QUERY_TYPE Type,
31595 _In_ UINT StartIndex,
31596 _In_ UINT NumQueries,
31597 _In_ ID3D12Resource *pDestinationBuffer,
31598 _In_ UINT64 AlignedDestinationBufferOffset);
31599
31600 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
31601 void ( STDMETHODCALLTYPE *SetPredication )(
31602 ID3D12GraphicsCommandList7 * This,
31603 _In_opt_ ID3D12Resource *pBuffer,
31604 _In_ UINT64 AlignedBufferOffset,
31605 _In_ D3D12_PREDICATION_OP Operation);
31606
31607 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
31608 void ( STDMETHODCALLTYPE *SetMarker )(
31609 ID3D12GraphicsCommandList7 * This,
31610 UINT Metadata,
31611 _In_reads_bytes_opt_(Size) const void *pData,
31612 UINT Size);
31613
31614 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
31615 void ( STDMETHODCALLTYPE *BeginEvent )(
31616 ID3D12GraphicsCommandList7 * This,
31617 UINT Metadata,
31618 _In_reads_bytes_opt_(Size) const void *pData,
31619 UINT Size);
31620
31621 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
31622 void ( STDMETHODCALLTYPE *EndEvent )(
31623 ID3D12GraphicsCommandList7 * This);
31624
31625 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
31626 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
31627 ID3D12GraphicsCommandList7 * This,
31628 _In_ ID3D12CommandSignature *pCommandSignature,
31629 _In_ UINT MaxCommandCount,
31630 _In_ ID3D12Resource *pArgumentBuffer,
31631 _In_ UINT64 ArgumentBufferOffset,
31632 _In_opt_ ID3D12Resource *pCountBuffer,
31633 _In_ UINT64 CountBufferOffset);
31634
31635 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
31636 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
31637 ID3D12GraphicsCommandList7 * This,
31638 _In_ ID3D12Resource *pDstBuffer,
31639 UINT64 DstOffset,
31640 _In_ ID3D12Resource *pSrcBuffer,
31641 UINT64 SrcOffset,
31642 UINT Dependencies,
31643 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
31644 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
31645
31646 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
31647 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
31648 ID3D12GraphicsCommandList7 * This,
31649 _In_ ID3D12Resource *pDstBuffer,
31650 UINT64 DstOffset,
31651 _In_ ID3D12Resource *pSrcBuffer,
31652 UINT64 SrcOffset,
31653 UINT Dependencies,
31654 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
31655 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
31656
31657 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
31658 void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
31659 ID3D12GraphicsCommandList7 * This,
31660 _In_ FLOAT Min,
31661 _In_ FLOAT Max);
31662
31663 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
31664 void ( STDMETHODCALLTYPE *SetSamplePositions )(
31665 ID3D12GraphicsCommandList7 * This,
31666 _In_ UINT NumSamplesPerPixel,
31667 _In_ UINT NumPixels,
31668 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
31669
31670 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
31671 void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
31672 ID3D12GraphicsCommandList7 * This,
31673 _In_ ID3D12Resource *pDstResource,
31674 _In_ UINT DstSubresource,
31675 _In_ UINT DstX,
31676 _In_ UINT DstY,
31677 _In_ ID3D12Resource *pSrcResource,
31678 _In_ UINT SrcSubresource,
31679 _In_opt_ D3D12_RECT *pSrcRect,
31680 _In_ DXGI_FORMAT Format,
31681 _In_ D3D12_RESOLVE_MODE ResolveMode);
31682
31683 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
31684 void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
31685 ID3D12GraphicsCommandList7 * This,
31686 _In_ UINT Mask);
31687
31688 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
31689 void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
31690 ID3D12GraphicsCommandList7 * This,
31691 UINT Count,
31692 _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
31693 _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
31694
31695 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
31696 void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
31697 ID3D12GraphicsCommandList7 * This,
31698 _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
31699
31700 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
31701 void ( STDMETHODCALLTYPE *BeginRenderPass )(
31702 ID3D12GraphicsCommandList7 * This,
31703 _In_ UINT NumRenderTargets,
31704 _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
31705 _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
31706 D3D12_RENDER_PASS_FLAGS Flags);
31707
31708 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
31709 void ( STDMETHODCALLTYPE *EndRenderPass )(
31710 ID3D12GraphicsCommandList7 * This);
31711
31712 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
31713 void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
31714 ID3D12GraphicsCommandList7 * This,
31715 _In_ ID3D12MetaCommand *pMetaCommand,
31716 _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
31717 _In_ SIZE_T InitializationParametersDataSizeInBytes);
31718
31719 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
31720 void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
31721 ID3D12GraphicsCommandList7 * This,
31722 _In_ ID3D12MetaCommand *pMetaCommand,
31723 _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
31724 _In_ SIZE_T ExecutionParametersDataSizeInBytes);
31725
31726 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
31727 void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
31728 ID3D12GraphicsCommandList7 * This,
31729 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
31730 _In_ UINT NumPostbuildInfoDescs,
31731 _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
31732
31733 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
31734 void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
31735 ID3D12GraphicsCommandList7 * This,
31736 _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
31737 _In_ UINT NumSourceAccelerationStructures,
31738 _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
31739
31740 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
31741 void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
31742 ID3D12GraphicsCommandList7 * This,
31743 _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
31744 _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
31745 _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
31746
31747 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
31748 void ( STDMETHODCALLTYPE *SetPipelineState1 )(
31749 ID3D12GraphicsCommandList7 * This,
31750 _In_ ID3D12StateObject *pStateObject);
31751
31752 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
31753 void ( STDMETHODCALLTYPE *DispatchRays )(
31754 ID3D12GraphicsCommandList7 * This,
31755 _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
31756
31757 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
31758 void ( STDMETHODCALLTYPE *RSSetShadingRate )(
31759 ID3D12GraphicsCommandList7 * This,
31760 _In_ D3D12_SHADING_RATE baseShadingRate,
31761 _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
31762
31763 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
31764 void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
31765 ID3D12GraphicsCommandList7 * This,
31766 _In_opt_ ID3D12Resource *shadingRateImage);
31767
31768 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
31769 void ( STDMETHODCALLTYPE *DispatchMesh )(
31770 ID3D12GraphicsCommandList7 * This,
31771 _In_ UINT ThreadGroupCountX,
31772 _In_ UINT ThreadGroupCountY,
31773 _In_ UINT ThreadGroupCountZ);
31774
31775 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
31776 void ( STDMETHODCALLTYPE *Barrier )(
31777 ID3D12GraphicsCommandList7 * This,
31778 UINT32 NumBarrierGroups,
31779 _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
31780
31781 END_INTERFACE
31782 } ID3D12GraphicsCommandList7Vtbl;
31783
31784 interface ID3D12GraphicsCommandList7
31785 {
31786 CONST_VTBL struct ID3D12GraphicsCommandList7Vtbl *lpVtbl;
31787 };
31788
31789
31790
31791#ifdef COBJMACROS
31792
31793
31794#define ID3D12GraphicsCommandList7_QueryInterface(This,riid,ppvObject) \
31795 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
31796
31797#define ID3D12GraphicsCommandList7_AddRef(This) \
31798 ( (This)->lpVtbl -> AddRef(This) )
31799
31800#define ID3D12GraphicsCommandList7_Release(This) \
31801 ( (This)->lpVtbl -> Release(This) )
31802
31803
31804#define ID3D12GraphicsCommandList7_GetPrivateData(This,guid,pDataSize,pData) \
31805 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
31806
31807#define ID3D12GraphicsCommandList7_SetPrivateData(This,guid,DataSize,pData) \
31808 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
31809
31810#define ID3D12GraphicsCommandList7_SetPrivateDataInterface(This,guid,pData) \
31811 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
31812
31813#define ID3D12GraphicsCommandList7_SetName(This,Name) \
31814 ( (This)->lpVtbl -> SetName(This,Name) )
31815
31816
31817#define ID3D12GraphicsCommandList7_GetDevice(This,riid,ppvDevice) \
31818 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
31819
31820
31821#define ID3D12GraphicsCommandList7_GetType(This) \
31822 ( (This)->lpVtbl -> GetType(This) )
31823
31824
31825#define ID3D12GraphicsCommandList7_Close(This) \
31826 ( (This)->lpVtbl -> Close(This) )
31827
31828#define ID3D12GraphicsCommandList7_Reset(This,pAllocator,pInitialState) \
31829 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
31830
31831#define ID3D12GraphicsCommandList7_ClearState(This,pPipelineState) \
31832 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
31833
31834#define ID3D12GraphicsCommandList7_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
31835 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
31836
31837#define ID3D12GraphicsCommandList7_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
31838 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
31839
31840#define ID3D12GraphicsCommandList7_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
31841 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
31842
31843#define ID3D12GraphicsCommandList7_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
31844 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
31845
31846#define ID3D12GraphicsCommandList7_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
31847 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
31848
31849#define ID3D12GraphicsCommandList7_CopyResource(This,pDstResource,pSrcResource) \
31850 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
31851
31852#define ID3D12GraphicsCommandList7_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
31853 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
31854
31855#define ID3D12GraphicsCommandList7_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
31856 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
31857
31858#define ID3D12GraphicsCommandList7_IASetPrimitiveTopology(This,PrimitiveTopology) \
31859 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
31860
31861#define ID3D12GraphicsCommandList7_RSSetViewports(This,NumViewports,pViewports) \
31862 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
31863
31864#define ID3D12GraphicsCommandList7_RSSetScissorRects(This,NumRects,pRects) \
31865 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
31866
31867#define ID3D12GraphicsCommandList7_OMSetBlendFactor(This,BlendFactor) \
31868 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
31869
31870#define ID3D12GraphicsCommandList7_OMSetStencilRef(This,StencilRef) \
31871 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
31872
31873#define ID3D12GraphicsCommandList7_SetPipelineState(This,pPipelineState) \
31874 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
31875
31876#define ID3D12GraphicsCommandList7_ResourceBarrier(This,NumBarriers,pBarriers) \
31877 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
31878
31879#define ID3D12GraphicsCommandList7_ExecuteBundle(This,pCommandList) \
31880 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
31881
31882#define ID3D12GraphicsCommandList7_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
31883 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
31884
31885#define ID3D12GraphicsCommandList7_SetComputeRootSignature(This,pRootSignature) \
31886 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
31887
31888#define ID3D12GraphicsCommandList7_SetGraphicsRootSignature(This,pRootSignature) \
31889 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
31890
31891#define ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
31892 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
31893
31894#define ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
31895 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
31896
31897#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
31898 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
31899
31900#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
31901 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
31902
31903#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
31904 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
31905
31906#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
31907 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
31908
31909#define ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
31910 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
31911
31912#define ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
31913 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
31914
31915#define ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
31916 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
31917
31918#define ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
31919 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
31920
31921#define ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
31922 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
31923
31924#define ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
31925 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
31926
31927#define ID3D12GraphicsCommandList7_IASetIndexBuffer(This,pView) \
31928 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
31929
31930#define ID3D12GraphicsCommandList7_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
31931 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
31932
31933#define ID3D12GraphicsCommandList7_SOSetTargets(This,StartSlot,NumViews,pViews) \
31934 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
31935
31936#define ID3D12GraphicsCommandList7_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
31937 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
31938
31939#define ID3D12GraphicsCommandList7_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
31940 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
31941
31942#define ID3D12GraphicsCommandList7_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
31943 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
31944
31945#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
31946 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
31947
31948#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
31949 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
31950
31951#define ID3D12GraphicsCommandList7_DiscardResource(This,pResource,pRegion) \
31952 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
31953
31954#define ID3D12GraphicsCommandList7_BeginQuery(This,pQueryHeap,Type,Index) \
31955 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
31956
31957#define ID3D12GraphicsCommandList7_EndQuery(This,pQueryHeap,Type,Index) \
31958 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
31959
31960#define ID3D12GraphicsCommandList7_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
31961 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
31962
31963#define ID3D12GraphicsCommandList7_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
31964 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
31965
31966#define ID3D12GraphicsCommandList7_SetMarker(This,Metadata,pData,Size) \
31967 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
31968
31969#define ID3D12GraphicsCommandList7_BeginEvent(This,Metadata,pData,Size) \
31970 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
31971
31972#define ID3D12GraphicsCommandList7_EndEvent(This) \
31973 ( (This)->lpVtbl -> EndEvent(This) )
31974
31975#define ID3D12GraphicsCommandList7_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
31976 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
31977
31978
31979#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
31980 ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
31981
31982#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
31983 ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
31984
31985#define ID3D12GraphicsCommandList7_OMSetDepthBounds(This,Min,Max) \
31986 ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
31987
31988#define ID3D12GraphicsCommandList7_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
31989 ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
31990
31991#define ID3D12GraphicsCommandList7_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
31992 ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
31993
31994#define ID3D12GraphicsCommandList7_SetViewInstanceMask(This,Mask) \
31995 ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
31996
31997
31998#define ID3D12GraphicsCommandList7_WriteBufferImmediate(This,Count,pParams,pModes) \
31999 ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
32000
32001
32002#define ID3D12GraphicsCommandList7_SetProtectedResourceSession(This,pProtectedResourceSession) \
32003 ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
32004
32005
32006#define ID3D12GraphicsCommandList7_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
32007 ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
32008
32009#define ID3D12GraphicsCommandList7_EndRenderPass(This) \
32010 ( (This)->lpVtbl -> EndRenderPass(This) )
32011
32012#define ID3D12GraphicsCommandList7_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
32013 ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
32014
32015#define ID3D12GraphicsCommandList7_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
32016 ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
32017
32018#define ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
32019 ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
32020
32021#define ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
32022 ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
32023
32024#define ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
32025 ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
32026
32027#define ID3D12GraphicsCommandList7_SetPipelineState1(This,pStateObject) \
32028 ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
32029
32030#define ID3D12GraphicsCommandList7_DispatchRays(This,pDesc) \
32031 ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
32032
32033
32034#define ID3D12GraphicsCommandList7_RSSetShadingRate(This,baseShadingRate,combiners) \
32035 ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
32036
32037#define ID3D12GraphicsCommandList7_RSSetShadingRateImage(This,shadingRateImage) \
32038 ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
32039
32040
32041#define ID3D12GraphicsCommandList7_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
32042 ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
32043
32044
32045#define ID3D12GraphicsCommandList7_Barrier(This,NumBarrierGroups,pBarrierGroups) \
32046 ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
32047
32048#endif /* COBJMACROS */
32049
32050
32051#endif /* C style interface */
32052
32053
32054
32055
32056#endif /* __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__ */
32057
32058
32059#ifndef __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__
32060#define __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__
32061
32062/* interface ID3D12GraphicsCommandList8 */
32063/* [unique][local][object][uuid] */
32064
32065
32066EXTERN_C const IID IID_ID3D12GraphicsCommandList8;
32067
32068#if defined(__cplusplus) && !defined(CINTERFACE)
32069
32070 MIDL_INTERFACE("ee936ef9-599d-4d28-938e-23c4ad05ce51")
32071 ID3D12GraphicsCommandList8 : public ID3D12GraphicsCommandList7
32072 {
32073 public:
32074 virtual void STDMETHODCALLTYPE OMSetFrontAndBackStencilRef(
32075 _In_ UINT FrontStencilRef,
32076 _In_ UINT BackStencilRef) = 0;
32077
32078 };
32079
32080
32081#else /* C style interface */
32082
32083 typedef struct ID3D12GraphicsCommandList8Vtbl
32084 {
32085 BEGIN_INTERFACE
32086
32087 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
32088 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
32089 ID3D12GraphicsCommandList8 * This,
32090 REFIID riid,
32091 _COM_Outptr_ void **ppvObject);
32092
32093 DECLSPEC_XFGVIRT(IUnknown, AddRef)
32094 ULONG ( STDMETHODCALLTYPE *AddRef )(
32095 ID3D12GraphicsCommandList8 * This);
32096
32097 DECLSPEC_XFGVIRT(IUnknown, Release)
32098 ULONG ( STDMETHODCALLTYPE *Release )(
32099 ID3D12GraphicsCommandList8 * This);
32100
32101 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
32102 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
32103 ID3D12GraphicsCommandList8 * This,
32104 _In_ REFGUID guid,
32105 _Inout_ UINT *pDataSize,
32106 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
32107
32108 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
32109 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
32110 ID3D12GraphicsCommandList8 * This,
32111 _In_ REFGUID guid,
32112 _In_ UINT DataSize,
32113 _In_reads_bytes_opt_( DataSize ) const void *pData);
32114
32115 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
32116 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
32117 ID3D12GraphicsCommandList8 * This,
32118 _In_ REFGUID guid,
32119 _In_opt_ const IUnknown *pData);
32120
32121 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
32122 HRESULT ( STDMETHODCALLTYPE *SetName )(
32123 ID3D12GraphicsCommandList8 * This,
32124 _In_z_ LPCWSTR Name);
32125
32126 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
32127 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
32128 ID3D12GraphicsCommandList8 * This,
32129 REFIID riid,
32130 _COM_Outptr_opt_ void **ppvDevice);
32131
32132 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
32133 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
32134 ID3D12GraphicsCommandList8 * This);
32135
32136 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
32137 HRESULT ( STDMETHODCALLTYPE *Close )(
32138 ID3D12GraphicsCommandList8 * This);
32139
32140 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
32141 HRESULT ( STDMETHODCALLTYPE *Reset )(
32142 ID3D12GraphicsCommandList8 * This,
32143 _In_ ID3D12CommandAllocator *pAllocator,
32144 _In_opt_ ID3D12PipelineState *pInitialState);
32145
32146 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
32147 void ( STDMETHODCALLTYPE *ClearState )(
32148 ID3D12GraphicsCommandList8 * This,
32149 _In_opt_ ID3D12PipelineState *pPipelineState);
32150
32151 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
32152 void ( STDMETHODCALLTYPE *DrawInstanced )(
32153 ID3D12GraphicsCommandList8 * This,
32154 _In_ UINT VertexCountPerInstance,
32155 _In_ UINT InstanceCount,
32156 _In_ UINT StartVertexLocation,
32157 _In_ UINT StartInstanceLocation);
32158
32159 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
32160 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
32161 ID3D12GraphicsCommandList8 * This,
32162 _In_ UINT IndexCountPerInstance,
32163 _In_ UINT InstanceCount,
32164 _In_ UINT StartIndexLocation,
32165 _In_ INT BaseVertexLocation,
32166 _In_ UINT StartInstanceLocation);
32167
32168 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
32169 void ( STDMETHODCALLTYPE *Dispatch )(
32170 ID3D12GraphicsCommandList8 * This,
32171 _In_ UINT ThreadGroupCountX,
32172 _In_ UINT ThreadGroupCountY,
32173 _In_ UINT ThreadGroupCountZ);
32174
32175 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
32176 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
32177 ID3D12GraphicsCommandList8 * This,
32178 _In_ ID3D12Resource *pDstBuffer,
32179 UINT64 DstOffset,
32180 _In_ ID3D12Resource *pSrcBuffer,
32181 UINT64 SrcOffset,
32182 UINT64 NumBytes);
32183
32184 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
32185 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
32186 ID3D12GraphicsCommandList8 * This,
32187 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
32188 UINT DstX,
32189 UINT DstY,
32190 UINT DstZ,
32191 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
32192 _In_opt_ const D3D12_BOX *pSrcBox);
32193
32194 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
32195 void ( STDMETHODCALLTYPE *CopyResource )(
32196 ID3D12GraphicsCommandList8 * This,
32197 _In_ ID3D12Resource *pDstResource,
32198 _In_ ID3D12Resource *pSrcResource);
32199
32200 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
32201 void ( STDMETHODCALLTYPE *CopyTiles )(
32202 ID3D12GraphicsCommandList8 * This,
32203 _In_ ID3D12Resource *pTiledResource,
32204 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
32205 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
32206 _In_ ID3D12Resource *pBuffer,
32207 UINT64 BufferStartOffsetInBytes,
32208 D3D12_TILE_COPY_FLAGS Flags);
32209
32210 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
32211 void ( STDMETHODCALLTYPE *ResolveSubresource )(
32212 ID3D12GraphicsCommandList8 * This,
32213 _In_ ID3D12Resource *pDstResource,
32214 _In_ UINT DstSubresource,
32215 _In_ ID3D12Resource *pSrcResource,
32216 _In_ UINT SrcSubresource,
32217 _In_ DXGI_FORMAT Format);
32218
32219 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
32220 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
32221 ID3D12GraphicsCommandList8 * This,
32222 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
32223
32224 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
32225 void ( STDMETHODCALLTYPE *RSSetViewports )(
32226 ID3D12GraphicsCommandList8 * This,
32227 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
32228 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
32229
32230 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
32231 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
32232 ID3D12GraphicsCommandList8 * This,
32233 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
32234 _In_reads_( NumRects) const D3D12_RECT *pRects);
32235
32236 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
32237 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
32238 ID3D12GraphicsCommandList8 * This,
32239 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
32240
32241 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
32242 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
32243 ID3D12GraphicsCommandList8 * This,
32244 _In_ UINT StencilRef);
32245
32246 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
32247 void ( STDMETHODCALLTYPE *SetPipelineState )(
32248 ID3D12GraphicsCommandList8 * This,
32249 _In_ ID3D12PipelineState *pPipelineState);
32250
32251 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
32252 void ( STDMETHODCALLTYPE *ResourceBarrier )(
32253 ID3D12GraphicsCommandList8 * This,
32254 _In_ UINT NumBarriers,
32255 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
32256
32257 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
32258 void ( STDMETHODCALLTYPE *ExecuteBundle )(
32259 ID3D12GraphicsCommandList8 * This,
32260 _In_ ID3D12GraphicsCommandList *pCommandList);
32261
32262 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
32263 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
32264 ID3D12GraphicsCommandList8 * This,
32265 _In_ UINT NumDescriptorHeaps,
32266 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
32267
32268 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
32269 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
32270 ID3D12GraphicsCommandList8 * This,
32271 _In_opt_ ID3D12RootSignature *pRootSignature);
32272
32273 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
32274 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
32275 ID3D12GraphicsCommandList8 * This,
32276 _In_opt_ ID3D12RootSignature *pRootSignature);
32277
32278 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
32279 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
32280 ID3D12GraphicsCommandList8 * This,
32281 _In_ UINT RootParameterIndex,
32282 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
32283
32284 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
32285 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
32286 ID3D12GraphicsCommandList8 * This,
32287 _In_ UINT RootParameterIndex,
32288 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
32289
32290 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
32291 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
32292 ID3D12GraphicsCommandList8 * This,
32293 _In_ UINT RootParameterIndex,
32294 _In_ UINT SrcData,
32295 _In_ UINT DestOffsetIn32BitValues);
32296
32297 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
32298 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
32299 ID3D12GraphicsCommandList8 * This,
32300 _In_ UINT RootParameterIndex,
32301 _In_ UINT SrcData,
32302 _In_ UINT DestOffsetIn32BitValues);
32303
32304 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
32305 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
32306 ID3D12GraphicsCommandList8 * This,
32307 _In_ UINT RootParameterIndex,
32308 _In_ UINT Num32BitValuesToSet,
32309 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
32310 _In_ UINT DestOffsetIn32BitValues);
32311
32312 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
32313 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
32314 ID3D12GraphicsCommandList8 * This,
32315 _In_ UINT RootParameterIndex,
32316 _In_ UINT Num32BitValuesToSet,
32317 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
32318 _In_ UINT DestOffsetIn32BitValues);
32319
32320 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
32321 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
32322 ID3D12GraphicsCommandList8 * This,
32323 _In_ UINT RootParameterIndex,
32324 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
32325
32326 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
32327 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
32328 ID3D12GraphicsCommandList8 * This,
32329 _In_ UINT RootParameterIndex,
32330 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
32331
32332 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
32333 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
32334 ID3D12GraphicsCommandList8 * This,
32335 _In_ UINT RootParameterIndex,
32336 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
32337
32338 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
32339 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
32340 ID3D12GraphicsCommandList8 * This,
32341 _In_ UINT RootParameterIndex,
32342 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
32343
32344 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
32345 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
32346 ID3D12GraphicsCommandList8 * This,
32347 _In_ UINT RootParameterIndex,
32348 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
32349
32350 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
32351 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
32352 ID3D12GraphicsCommandList8 * This,
32353 _In_ UINT RootParameterIndex,
32354 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
32355
32356 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
32357 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
32358 ID3D12GraphicsCommandList8 * This,
32359 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
32360
32361 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
32362 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
32363 ID3D12GraphicsCommandList8 * This,
32364 _In_ UINT StartSlot,
32365 _In_ UINT NumViews,
32366 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
32367
32368 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
32369 void ( STDMETHODCALLTYPE *SOSetTargets )(
32370 ID3D12GraphicsCommandList8 * This,
32371 _In_ UINT StartSlot,
32372 _In_ UINT NumViews,
32373 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
32374
32375 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
32376 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
32377 ID3D12GraphicsCommandList8 * This,
32378 _In_ UINT NumRenderTargetDescriptors,
32379 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
32380 _In_ BOOL RTsSingleHandleToDescriptorRange,
32381 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
32382
32383 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
32384 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
32385 ID3D12GraphicsCommandList8 * This,
32386 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
32387 _In_ D3D12_CLEAR_FLAGS ClearFlags,
32388 _In_ FLOAT Depth,
32389 _In_ UINT8 Stencil,
32390 _In_ UINT NumRects,
32391 _In_reads_(NumRects) const D3D12_RECT *pRects);
32392
32393 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
32394 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
32395 ID3D12GraphicsCommandList8 * This,
32396 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
32397 _In_ const FLOAT ColorRGBA[ 4 ],
32398 _In_ UINT NumRects,
32399 _In_reads_(NumRects) const D3D12_RECT *pRects);
32400
32401 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
32402 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
32403 ID3D12GraphicsCommandList8 * This,
32404 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
32405 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
32406 _In_ ID3D12Resource *pResource,
32407 _In_ const UINT Values[ 4 ],
32408 _In_ UINT NumRects,
32409 _In_reads_(NumRects) const D3D12_RECT *pRects);
32410
32411 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
32412 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
32413 ID3D12GraphicsCommandList8 * This,
32414 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
32415 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
32416 _In_ ID3D12Resource *pResource,
32417 _In_ const FLOAT Values[ 4 ],
32418 _In_ UINT NumRects,
32419 _In_reads_(NumRects) const D3D12_RECT *pRects);
32420
32421 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
32422 void ( STDMETHODCALLTYPE *DiscardResource )(
32423 ID3D12GraphicsCommandList8 * This,
32424 _In_ ID3D12Resource *pResource,
32425 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
32426
32427 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
32428 void ( STDMETHODCALLTYPE *BeginQuery )(
32429 ID3D12GraphicsCommandList8 * This,
32430 _In_ ID3D12QueryHeap *pQueryHeap,
32431 _In_ D3D12_QUERY_TYPE Type,
32432 _In_ UINT Index);
32433
32434 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
32435 void ( STDMETHODCALLTYPE *EndQuery )(
32436 ID3D12GraphicsCommandList8 * This,
32437 _In_ ID3D12QueryHeap *pQueryHeap,
32438 _In_ D3D12_QUERY_TYPE Type,
32439 _In_ UINT Index);
32440
32441 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
32442 void ( STDMETHODCALLTYPE *ResolveQueryData )(
32443 ID3D12GraphicsCommandList8 * This,
32444 _In_ ID3D12QueryHeap *pQueryHeap,
32445 _In_ D3D12_QUERY_TYPE Type,
32446 _In_ UINT StartIndex,
32447 _In_ UINT NumQueries,
32448 _In_ ID3D12Resource *pDestinationBuffer,
32449 _In_ UINT64 AlignedDestinationBufferOffset);
32450
32451 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
32452 void ( STDMETHODCALLTYPE *SetPredication )(
32453 ID3D12GraphicsCommandList8 * This,
32454 _In_opt_ ID3D12Resource *pBuffer,
32455 _In_ UINT64 AlignedBufferOffset,
32456 _In_ D3D12_PREDICATION_OP Operation);
32457
32458 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
32459 void ( STDMETHODCALLTYPE *SetMarker )(
32460 ID3D12GraphicsCommandList8 * This,
32461 UINT Metadata,
32462 _In_reads_bytes_opt_(Size) const void *pData,
32463 UINT Size);
32464
32465 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
32466 void ( STDMETHODCALLTYPE *BeginEvent )(
32467 ID3D12GraphicsCommandList8 * This,
32468 UINT Metadata,
32469 _In_reads_bytes_opt_(Size) const void *pData,
32470 UINT Size);
32471
32472 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
32473 void ( STDMETHODCALLTYPE *EndEvent )(
32474 ID3D12GraphicsCommandList8 * This);
32475
32476 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
32477 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
32478 ID3D12GraphicsCommandList8 * This,
32479 _In_ ID3D12CommandSignature *pCommandSignature,
32480 _In_ UINT MaxCommandCount,
32481 _In_ ID3D12Resource *pArgumentBuffer,
32482 _In_ UINT64 ArgumentBufferOffset,
32483 _In_opt_ ID3D12Resource *pCountBuffer,
32484 _In_ UINT64 CountBufferOffset);
32485
32486 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
32487 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
32488 ID3D12GraphicsCommandList8 * This,
32489 _In_ ID3D12Resource *pDstBuffer,
32490 UINT64 DstOffset,
32491 _In_ ID3D12Resource *pSrcBuffer,
32492 UINT64 SrcOffset,
32493 UINT Dependencies,
32494 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
32495 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
32496
32497 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
32498 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
32499 ID3D12GraphicsCommandList8 * This,
32500 _In_ ID3D12Resource *pDstBuffer,
32501 UINT64 DstOffset,
32502 _In_ ID3D12Resource *pSrcBuffer,
32503 UINT64 SrcOffset,
32504 UINT Dependencies,
32505 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
32506 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
32507
32508 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
32509 void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
32510 ID3D12GraphicsCommandList8 * This,
32511 _In_ FLOAT Min,
32512 _In_ FLOAT Max);
32513
32514 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
32515 void ( STDMETHODCALLTYPE *SetSamplePositions )(
32516 ID3D12GraphicsCommandList8 * This,
32517 _In_ UINT NumSamplesPerPixel,
32518 _In_ UINT NumPixels,
32519 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
32520
32521 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
32522 void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
32523 ID3D12GraphicsCommandList8 * This,
32524 _In_ ID3D12Resource *pDstResource,
32525 _In_ UINT DstSubresource,
32526 _In_ UINT DstX,
32527 _In_ UINT DstY,
32528 _In_ ID3D12Resource *pSrcResource,
32529 _In_ UINT SrcSubresource,
32530 _In_opt_ D3D12_RECT *pSrcRect,
32531 _In_ DXGI_FORMAT Format,
32532 _In_ D3D12_RESOLVE_MODE ResolveMode);
32533
32534 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
32535 void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
32536 ID3D12GraphicsCommandList8 * This,
32537 _In_ UINT Mask);
32538
32539 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
32540 void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
32541 ID3D12GraphicsCommandList8 * This,
32542 UINT Count,
32543 _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
32544 _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
32545
32546 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
32547 void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
32548 ID3D12GraphicsCommandList8 * This,
32549 _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
32550
32551 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
32552 void ( STDMETHODCALLTYPE *BeginRenderPass )(
32553 ID3D12GraphicsCommandList8 * This,
32554 _In_ UINT NumRenderTargets,
32555 _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
32556 _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
32557 D3D12_RENDER_PASS_FLAGS Flags);
32558
32559 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
32560 void ( STDMETHODCALLTYPE *EndRenderPass )(
32561 ID3D12GraphicsCommandList8 * This);
32562
32563 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
32564 void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
32565 ID3D12GraphicsCommandList8 * This,
32566 _In_ ID3D12MetaCommand *pMetaCommand,
32567 _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
32568 _In_ SIZE_T InitializationParametersDataSizeInBytes);
32569
32570 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
32571 void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
32572 ID3D12GraphicsCommandList8 * This,
32573 _In_ ID3D12MetaCommand *pMetaCommand,
32574 _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
32575 _In_ SIZE_T ExecutionParametersDataSizeInBytes);
32576
32577 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
32578 void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
32579 ID3D12GraphicsCommandList8 * This,
32580 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
32581 _In_ UINT NumPostbuildInfoDescs,
32582 _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
32583
32584 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
32585 void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
32586 ID3D12GraphicsCommandList8 * This,
32587 _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
32588 _In_ UINT NumSourceAccelerationStructures,
32589 _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
32590
32591 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
32592 void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
32593 ID3D12GraphicsCommandList8 * This,
32594 _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
32595 _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
32596 _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
32597
32598 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
32599 void ( STDMETHODCALLTYPE *SetPipelineState1 )(
32600 ID3D12GraphicsCommandList8 * This,
32601 _In_ ID3D12StateObject *pStateObject);
32602
32603 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
32604 void ( STDMETHODCALLTYPE *DispatchRays )(
32605 ID3D12GraphicsCommandList8 * This,
32606 _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
32607
32608 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
32609 void ( STDMETHODCALLTYPE *RSSetShadingRate )(
32610 ID3D12GraphicsCommandList8 * This,
32611 _In_ D3D12_SHADING_RATE baseShadingRate,
32612 _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
32613
32614 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
32615 void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
32616 ID3D12GraphicsCommandList8 * This,
32617 _In_opt_ ID3D12Resource *shadingRateImage);
32618
32619 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
32620 void ( STDMETHODCALLTYPE *DispatchMesh )(
32621 ID3D12GraphicsCommandList8 * This,
32622 _In_ UINT ThreadGroupCountX,
32623 _In_ UINT ThreadGroupCountY,
32624 _In_ UINT ThreadGroupCountZ);
32625
32626 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
32627 void ( STDMETHODCALLTYPE *Barrier )(
32628 ID3D12GraphicsCommandList8 * This,
32629 UINT32 NumBarrierGroups,
32630 _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
32631
32632 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef)
32633 void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )(
32634 ID3D12GraphicsCommandList8 * This,
32635 _In_ UINT FrontStencilRef,
32636 _In_ UINT BackStencilRef);
32637
32638 END_INTERFACE
32639 } ID3D12GraphicsCommandList8Vtbl;
32640
32641 interface ID3D12GraphicsCommandList8
32642 {
32643 CONST_VTBL struct ID3D12GraphicsCommandList8Vtbl *lpVtbl;
32644 };
32645
32646
32647
32648#ifdef COBJMACROS
32649
32650
32651#define ID3D12GraphicsCommandList8_QueryInterface(This,riid,ppvObject) \
32652 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
32653
32654#define ID3D12GraphicsCommandList8_AddRef(This) \
32655 ( (This)->lpVtbl -> AddRef(This) )
32656
32657#define ID3D12GraphicsCommandList8_Release(This) \
32658 ( (This)->lpVtbl -> Release(This) )
32659
32660
32661#define ID3D12GraphicsCommandList8_GetPrivateData(This,guid,pDataSize,pData) \
32662 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
32663
32664#define ID3D12GraphicsCommandList8_SetPrivateData(This,guid,DataSize,pData) \
32665 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
32666
32667#define ID3D12GraphicsCommandList8_SetPrivateDataInterface(This,guid,pData) \
32668 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
32669
32670#define ID3D12GraphicsCommandList8_SetName(This,Name) \
32671 ( (This)->lpVtbl -> SetName(This,Name) )
32672
32673
32674#define ID3D12GraphicsCommandList8_GetDevice(This,riid,ppvDevice) \
32675 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
32676
32677
32678#define ID3D12GraphicsCommandList8_GetType(This) \
32679 ( (This)->lpVtbl -> GetType(This) )
32680
32681
32682#define ID3D12GraphicsCommandList8_Close(This) \
32683 ( (This)->lpVtbl -> Close(This) )
32684
32685#define ID3D12GraphicsCommandList8_Reset(This,pAllocator,pInitialState) \
32686 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
32687
32688#define ID3D12GraphicsCommandList8_ClearState(This,pPipelineState) \
32689 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
32690
32691#define ID3D12GraphicsCommandList8_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
32692 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
32693
32694#define ID3D12GraphicsCommandList8_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
32695 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
32696
32697#define ID3D12GraphicsCommandList8_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
32698 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
32699
32700#define ID3D12GraphicsCommandList8_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
32701 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
32702
32703#define ID3D12GraphicsCommandList8_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
32704 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
32705
32706#define ID3D12GraphicsCommandList8_CopyResource(This,pDstResource,pSrcResource) \
32707 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
32708
32709#define ID3D12GraphicsCommandList8_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
32710 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
32711
32712#define ID3D12GraphicsCommandList8_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
32713 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
32714
32715#define ID3D12GraphicsCommandList8_IASetPrimitiveTopology(This,PrimitiveTopology) \
32716 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
32717
32718#define ID3D12GraphicsCommandList8_RSSetViewports(This,NumViewports,pViewports) \
32719 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
32720
32721#define ID3D12GraphicsCommandList8_RSSetScissorRects(This,NumRects,pRects) \
32722 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
32723
32724#define ID3D12GraphicsCommandList8_OMSetBlendFactor(This,BlendFactor) \
32725 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
32726
32727#define ID3D12GraphicsCommandList8_OMSetStencilRef(This,StencilRef) \
32728 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
32729
32730#define ID3D12GraphicsCommandList8_SetPipelineState(This,pPipelineState) \
32731 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
32732
32733#define ID3D12GraphicsCommandList8_ResourceBarrier(This,NumBarriers,pBarriers) \
32734 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
32735
32736#define ID3D12GraphicsCommandList8_ExecuteBundle(This,pCommandList) \
32737 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
32738
32739#define ID3D12GraphicsCommandList8_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
32740 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
32741
32742#define ID3D12GraphicsCommandList8_SetComputeRootSignature(This,pRootSignature) \
32743 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
32744
32745#define ID3D12GraphicsCommandList8_SetGraphicsRootSignature(This,pRootSignature) \
32746 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
32747
32748#define ID3D12GraphicsCommandList8_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
32749 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
32750
32751#define ID3D12GraphicsCommandList8_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
32752 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
32753
32754#define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
32755 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
32756
32757#define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
32758 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
32759
32760#define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
32761 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
32762
32763#define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
32764 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
32765
32766#define ID3D12GraphicsCommandList8_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
32767 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
32768
32769#define ID3D12GraphicsCommandList8_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
32770 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
32771
32772#define ID3D12GraphicsCommandList8_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
32773 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
32774
32775#define ID3D12GraphicsCommandList8_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
32776 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
32777
32778#define ID3D12GraphicsCommandList8_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
32779 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
32780
32781#define ID3D12GraphicsCommandList8_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
32782 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
32783
32784#define ID3D12GraphicsCommandList8_IASetIndexBuffer(This,pView) \
32785 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
32786
32787#define ID3D12GraphicsCommandList8_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
32788 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
32789
32790#define ID3D12GraphicsCommandList8_SOSetTargets(This,StartSlot,NumViews,pViews) \
32791 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
32792
32793#define ID3D12GraphicsCommandList8_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
32794 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
32795
32796#define ID3D12GraphicsCommandList8_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
32797 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
32798
32799#define ID3D12GraphicsCommandList8_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
32800 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
32801
32802#define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
32803 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
32804
32805#define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
32806 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
32807
32808#define ID3D12GraphicsCommandList8_DiscardResource(This,pResource,pRegion) \
32809 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
32810
32811#define ID3D12GraphicsCommandList8_BeginQuery(This,pQueryHeap,Type,Index) \
32812 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
32813
32814#define ID3D12GraphicsCommandList8_EndQuery(This,pQueryHeap,Type,Index) \
32815 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
32816
32817#define ID3D12GraphicsCommandList8_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
32818 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
32819
32820#define ID3D12GraphicsCommandList8_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
32821 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
32822
32823#define ID3D12GraphicsCommandList8_SetMarker(This,Metadata,pData,Size) \
32824 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
32825
32826#define ID3D12GraphicsCommandList8_BeginEvent(This,Metadata,pData,Size) \
32827 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
32828
32829#define ID3D12GraphicsCommandList8_EndEvent(This) \
32830 ( (This)->lpVtbl -> EndEvent(This) )
32831
32832#define ID3D12GraphicsCommandList8_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
32833 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
32834
32835
32836#define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
32837 ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
32838
32839#define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
32840 ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
32841
32842#define ID3D12GraphicsCommandList8_OMSetDepthBounds(This,Min,Max) \
32843 ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
32844
32845#define ID3D12GraphicsCommandList8_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
32846 ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
32847
32848#define ID3D12GraphicsCommandList8_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
32849 ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
32850
32851#define ID3D12GraphicsCommandList8_SetViewInstanceMask(This,Mask) \
32852 ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
32853
32854
32855#define ID3D12GraphicsCommandList8_WriteBufferImmediate(This,Count,pParams,pModes) \
32856 ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
32857
32858
32859#define ID3D12GraphicsCommandList8_SetProtectedResourceSession(This,pProtectedResourceSession) \
32860 ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
32861
32862
32863#define ID3D12GraphicsCommandList8_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
32864 ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
32865
32866#define ID3D12GraphicsCommandList8_EndRenderPass(This) \
32867 ( (This)->lpVtbl -> EndRenderPass(This) )
32868
32869#define ID3D12GraphicsCommandList8_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
32870 ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
32871
32872#define ID3D12GraphicsCommandList8_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
32873 ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
32874
32875#define ID3D12GraphicsCommandList8_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
32876 ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
32877
32878#define ID3D12GraphicsCommandList8_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
32879 ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
32880
32881#define ID3D12GraphicsCommandList8_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
32882 ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
32883
32884#define ID3D12GraphicsCommandList8_SetPipelineState1(This,pStateObject) \
32885 ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
32886
32887#define ID3D12GraphicsCommandList8_DispatchRays(This,pDesc) \
32888 ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
32889
32890
32891#define ID3D12GraphicsCommandList8_RSSetShadingRate(This,baseShadingRate,combiners) \
32892 ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
32893
32894#define ID3D12GraphicsCommandList8_RSSetShadingRateImage(This,shadingRateImage) \
32895 ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
32896
32897
32898#define ID3D12GraphicsCommandList8_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
32899 ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
32900
32901
32902#define ID3D12GraphicsCommandList8_Barrier(This,NumBarrierGroups,pBarrierGroups) \
32903 ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
32904
32905
32906#define ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
32907 ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) )
32908
32909#endif /* COBJMACROS */
32910
32911
32912#endif /* C style interface */
32913
32914
32915
32916
32917#endif /* __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__ */
32918
32919
32920#ifndef __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__
32921#define __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__
32922
32923/* interface ID3D12GraphicsCommandList9 */
32924/* [unique][local][object][uuid] */
32925
32926
32927EXTERN_C const IID IID_ID3D12GraphicsCommandList9;
32928
32929#if defined(__cplusplus) && !defined(CINTERFACE)
32930
32931 MIDL_INTERFACE("34ed2808-ffe6-4c2b-b11a-cabd2b0c59e1")
32932 ID3D12GraphicsCommandList9 : public ID3D12GraphicsCommandList8
32933 {
32934 public:
32935 virtual void STDMETHODCALLTYPE RSSetDepthBias(
32936 _In_ FLOAT DepthBias,
32937 _In_ FLOAT DepthBiasClamp,
32938 _In_ FLOAT SlopeScaledDepthBias) = 0;
32939
32940 virtual void STDMETHODCALLTYPE IASetIndexBufferStripCutValue(
32941 _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) = 0;
32942
32943 };
32944
32945
32946#else /* C style interface */
32947
32948 typedef struct ID3D12GraphicsCommandList9Vtbl
32949 {
32950 BEGIN_INTERFACE
32951
32952 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
32953 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
32954 ID3D12GraphicsCommandList9 * This,
32955 REFIID riid,
32956 _COM_Outptr_ void **ppvObject);
32957
32958 DECLSPEC_XFGVIRT(IUnknown, AddRef)
32959 ULONG ( STDMETHODCALLTYPE *AddRef )(
32960 ID3D12GraphicsCommandList9 * This);
32961
32962 DECLSPEC_XFGVIRT(IUnknown, Release)
32963 ULONG ( STDMETHODCALLTYPE *Release )(
32964 ID3D12GraphicsCommandList9 * This);
32965
32966 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
32967 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
32968 ID3D12GraphicsCommandList9 * This,
32969 _In_ REFGUID guid,
32970 _Inout_ UINT *pDataSize,
32971 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
32972
32973 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
32974 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
32975 ID3D12GraphicsCommandList9 * This,
32976 _In_ REFGUID guid,
32977 _In_ UINT DataSize,
32978 _In_reads_bytes_opt_( DataSize ) const void *pData);
32979
32980 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
32981 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
32982 ID3D12GraphicsCommandList9 * This,
32983 _In_ REFGUID guid,
32984 _In_opt_ const IUnknown *pData);
32985
32986 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
32987 HRESULT ( STDMETHODCALLTYPE *SetName )(
32988 ID3D12GraphicsCommandList9 * This,
32989 _In_z_ LPCWSTR Name);
32990
32991 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
32992 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
32993 ID3D12GraphicsCommandList9 * This,
32994 REFIID riid,
32995 _COM_Outptr_opt_ void **ppvDevice);
32996
32997 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
32998 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
32999 ID3D12GraphicsCommandList9 * This);
33000
33001 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
33002 HRESULT ( STDMETHODCALLTYPE *Close )(
33003 ID3D12GraphicsCommandList9 * This);
33004
33005 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
33006 HRESULT ( STDMETHODCALLTYPE *Reset )(
33007 ID3D12GraphicsCommandList9 * This,
33008 _In_ ID3D12CommandAllocator *pAllocator,
33009 _In_opt_ ID3D12PipelineState *pInitialState);
33010
33011 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
33012 void ( STDMETHODCALLTYPE *ClearState )(
33013 ID3D12GraphicsCommandList9 * This,
33014 _In_opt_ ID3D12PipelineState *pPipelineState);
33015
33016 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
33017 void ( STDMETHODCALLTYPE *DrawInstanced )(
33018 ID3D12GraphicsCommandList9 * This,
33019 _In_ UINT VertexCountPerInstance,
33020 _In_ UINT InstanceCount,
33021 _In_ UINT StartVertexLocation,
33022 _In_ UINT StartInstanceLocation);
33023
33024 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
33025 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
33026 ID3D12GraphicsCommandList9 * This,
33027 _In_ UINT IndexCountPerInstance,
33028 _In_ UINT InstanceCount,
33029 _In_ UINT StartIndexLocation,
33030 _In_ INT BaseVertexLocation,
33031 _In_ UINT StartInstanceLocation);
33032
33033 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
33034 void ( STDMETHODCALLTYPE *Dispatch )(
33035 ID3D12GraphicsCommandList9 * This,
33036 _In_ UINT ThreadGroupCountX,
33037 _In_ UINT ThreadGroupCountY,
33038 _In_ UINT ThreadGroupCountZ);
33039
33040 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
33041 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
33042 ID3D12GraphicsCommandList9 * This,
33043 _In_ ID3D12Resource *pDstBuffer,
33044 UINT64 DstOffset,
33045 _In_ ID3D12Resource *pSrcBuffer,
33046 UINT64 SrcOffset,
33047 UINT64 NumBytes);
33048
33049 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
33050 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
33051 ID3D12GraphicsCommandList9 * This,
33052 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
33053 UINT DstX,
33054 UINT DstY,
33055 UINT DstZ,
33056 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
33057 _In_opt_ const D3D12_BOX *pSrcBox);
33058
33059 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
33060 void ( STDMETHODCALLTYPE *CopyResource )(
33061 ID3D12GraphicsCommandList9 * This,
33062 _In_ ID3D12Resource *pDstResource,
33063 _In_ ID3D12Resource *pSrcResource);
33064
33065 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
33066 void ( STDMETHODCALLTYPE *CopyTiles )(
33067 ID3D12GraphicsCommandList9 * This,
33068 _In_ ID3D12Resource *pTiledResource,
33069 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
33070 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
33071 _In_ ID3D12Resource *pBuffer,
33072 UINT64 BufferStartOffsetInBytes,
33073 D3D12_TILE_COPY_FLAGS Flags);
33074
33075 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
33076 void ( STDMETHODCALLTYPE *ResolveSubresource )(
33077 ID3D12GraphicsCommandList9 * This,
33078 _In_ ID3D12Resource *pDstResource,
33079 _In_ UINT DstSubresource,
33080 _In_ ID3D12Resource *pSrcResource,
33081 _In_ UINT SrcSubresource,
33082 _In_ DXGI_FORMAT Format);
33083
33084 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
33085 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
33086 ID3D12GraphicsCommandList9 * This,
33087 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
33088
33089 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
33090 void ( STDMETHODCALLTYPE *RSSetViewports )(
33091 ID3D12GraphicsCommandList9 * This,
33092 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
33093 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
33094
33095 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
33096 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
33097 ID3D12GraphicsCommandList9 * This,
33098 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
33099 _In_reads_( NumRects) const D3D12_RECT *pRects);
33100
33101 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
33102 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
33103 ID3D12GraphicsCommandList9 * This,
33104 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
33105
33106 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
33107 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
33108 ID3D12GraphicsCommandList9 * This,
33109 _In_ UINT StencilRef);
33110
33111 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
33112 void ( STDMETHODCALLTYPE *SetPipelineState )(
33113 ID3D12GraphicsCommandList9 * This,
33114 _In_ ID3D12PipelineState *pPipelineState);
33115
33116 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
33117 void ( STDMETHODCALLTYPE *ResourceBarrier )(
33118 ID3D12GraphicsCommandList9 * This,
33119 _In_ UINT NumBarriers,
33120 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
33121
33122 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
33123 void ( STDMETHODCALLTYPE *ExecuteBundle )(
33124 ID3D12GraphicsCommandList9 * This,
33125 _In_ ID3D12GraphicsCommandList *pCommandList);
33126
33127 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
33128 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
33129 ID3D12GraphicsCommandList9 * This,
33130 _In_ UINT NumDescriptorHeaps,
33131 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
33132
33133 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
33134 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
33135 ID3D12GraphicsCommandList9 * This,
33136 _In_opt_ ID3D12RootSignature *pRootSignature);
33137
33138 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
33139 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
33140 ID3D12GraphicsCommandList9 * This,
33141 _In_opt_ ID3D12RootSignature *pRootSignature);
33142
33143 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
33144 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
33145 ID3D12GraphicsCommandList9 * This,
33146 _In_ UINT RootParameterIndex,
33147 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
33148
33149 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
33150 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
33151 ID3D12GraphicsCommandList9 * This,
33152 _In_ UINT RootParameterIndex,
33153 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
33154
33155 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
33156 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
33157 ID3D12GraphicsCommandList9 * This,
33158 _In_ UINT RootParameterIndex,
33159 _In_ UINT SrcData,
33160 _In_ UINT DestOffsetIn32BitValues);
33161
33162 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
33163 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
33164 ID3D12GraphicsCommandList9 * This,
33165 _In_ UINT RootParameterIndex,
33166 _In_ UINT SrcData,
33167 _In_ UINT DestOffsetIn32BitValues);
33168
33169 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
33170 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
33171 ID3D12GraphicsCommandList9 * This,
33172 _In_ UINT RootParameterIndex,
33173 _In_ UINT Num32BitValuesToSet,
33174 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
33175 _In_ UINT DestOffsetIn32BitValues);
33176
33177 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
33178 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
33179 ID3D12GraphicsCommandList9 * This,
33180 _In_ UINT RootParameterIndex,
33181 _In_ UINT Num32BitValuesToSet,
33182 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
33183 _In_ UINT DestOffsetIn32BitValues);
33184
33185 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
33186 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
33187 ID3D12GraphicsCommandList9 * This,
33188 _In_ UINT RootParameterIndex,
33189 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
33190
33191 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
33192 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
33193 ID3D12GraphicsCommandList9 * This,
33194 _In_ UINT RootParameterIndex,
33195 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
33196
33197 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
33198 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
33199 ID3D12GraphicsCommandList9 * This,
33200 _In_ UINT RootParameterIndex,
33201 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
33202
33203 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
33204 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
33205 ID3D12GraphicsCommandList9 * This,
33206 _In_ UINT RootParameterIndex,
33207 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
33208
33209 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
33210 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
33211 ID3D12GraphicsCommandList9 * This,
33212 _In_ UINT RootParameterIndex,
33213 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
33214
33215 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
33216 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
33217 ID3D12GraphicsCommandList9 * This,
33218 _In_ UINT RootParameterIndex,
33219 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
33220
33221 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
33222 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
33223 ID3D12GraphicsCommandList9 * This,
33224 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
33225
33226 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
33227 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
33228 ID3D12GraphicsCommandList9 * This,
33229 _In_ UINT StartSlot,
33230 _In_ UINT NumViews,
33231 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
33232
33233 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
33234 void ( STDMETHODCALLTYPE *SOSetTargets )(
33235 ID3D12GraphicsCommandList9 * This,
33236 _In_ UINT StartSlot,
33237 _In_ UINT NumViews,
33238 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
33239
33240 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
33241 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
33242 ID3D12GraphicsCommandList9 * This,
33243 _In_ UINT NumRenderTargetDescriptors,
33244 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
33245 _In_ BOOL RTsSingleHandleToDescriptorRange,
33246 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
33247
33248 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
33249 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
33250 ID3D12GraphicsCommandList9 * This,
33251 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
33252 _In_ D3D12_CLEAR_FLAGS ClearFlags,
33253 _In_ FLOAT Depth,
33254 _In_ UINT8 Stencil,
33255 _In_ UINT NumRects,
33256 _In_reads_(NumRects) const D3D12_RECT *pRects);
33257
33258 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
33259 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
33260 ID3D12GraphicsCommandList9 * This,
33261 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
33262 _In_ const FLOAT ColorRGBA[ 4 ],
33263 _In_ UINT NumRects,
33264 _In_reads_(NumRects) const D3D12_RECT *pRects);
33265
33266 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
33267 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
33268 ID3D12GraphicsCommandList9 * This,
33269 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
33270 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
33271 _In_ ID3D12Resource *pResource,
33272 _In_ const UINT Values[ 4 ],
33273 _In_ UINT NumRects,
33274 _In_reads_(NumRects) const D3D12_RECT *pRects);
33275
33276 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
33277 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
33278 ID3D12GraphicsCommandList9 * This,
33279 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
33280 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
33281 _In_ ID3D12Resource *pResource,
33282 _In_ const FLOAT Values[ 4 ],
33283 _In_ UINT NumRects,
33284 _In_reads_(NumRects) const D3D12_RECT *pRects);
33285
33286 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
33287 void ( STDMETHODCALLTYPE *DiscardResource )(
33288 ID3D12GraphicsCommandList9 * This,
33289 _In_ ID3D12Resource *pResource,
33290 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
33291
33292 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
33293 void ( STDMETHODCALLTYPE *BeginQuery )(
33294 ID3D12GraphicsCommandList9 * This,
33295 _In_ ID3D12QueryHeap *pQueryHeap,
33296 _In_ D3D12_QUERY_TYPE Type,
33297 _In_ UINT Index);
33298
33299 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
33300 void ( STDMETHODCALLTYPE *EndQuery )(
33301 ID3D12GraphicsCommandList9 * This,
33302 _In_ ID3D12QueryHeap *pQueryHeap,
33303 _In_ D3D12_QUERY_TYPE Type,
33304 _In_ UINT Index);
33305
33306 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
33307 void ( STDMETHODCALLTYPE *ResolveQueryData )(
33308 ID3D12GraphicsCommandList9 * This,
33309 _In_ ID3D12QueryHeap *pQueryHeap,
33310 _In_ D3D12_QUERY_TYPE Type,
33311 _In_ UINT StartIndex,
33312 _In_ UINT NumQueries,
33313 _In_ ID3D12Resource *pDestinationBuffer,
33314 _In_ UINT64 AlignedDestinationBufferOffset);
33315
33316 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
33317 void ( STDMETHODCALLTYPE *SetPredication )(
33318 ID3D12GraphicsCommandList9 * This,
33319 _In_opt_ ID3D12Resource *pBuffer,
33320 _In_ UINT64 AlignedBufferOffset,
33321 _In_ D3D12_PREDICATION_OP Operation);
33322
33323 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
33324 void ( STDMETHODCALLTYPE *SetMarker )(
33325 ID3D12GraphicsCommandList9 * This,
33326 UINT Metadata,
33327 _In_reads_bytes_opt_(Size) const void *pData,
33328 UINT Size);
33329
33330 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
33331 void ( STDMETHODCALLTYPE *BeginEvent )(
33332 ID3D12GraphicsCommandList9 * This,
33333 UINT Metadata,
33334 _In_reads_bytes_opt_(Size) const void *pData,
33335 UINT Size);
33336
33337 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
33338 void ( STDMETHODCALLTYPE *EndEvent )(
33339 ID3D12GraphicsCommandList9 * This);
33340
33341 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
33342 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
33343 ID3D12GraphicsCommandList9 * This,
33344 _In_ ID3D12CommandSignature *pCommandSignature,
33345 _In_ UINT MaxCommandCount,
33346 _In_ ID3D12Resource *pArgumentBuffer,
33347 _In_ UINT64 ArgumentBufferOffset,
33348 _In_opt_ ID3D12Resource *pCountBuffer,
33349 _In_ UINT64 CountBufferOffset);
33350
33351 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
33352 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
33353 ID3D12GraphicsCommandList9 * This,
33354 _In_ ID3D12Resource *pDstBuffer,
33355 UINT64 DstOffset,
33356 _In_ ID3D12Resource *pSrcBuffer,
33357 UINT64 SrcOffset,
33358 UINT Dependencies,
33359 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
33360 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
33361
33362 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
33363 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
33364 ID3D12GraphicsCommandList9 * This,
33365 _In_ ID3D12Resource *pDstBuffer,
33366 UINT64 DstOffset,
33367 _In_ ID3D12Resource *pSrcBuffer,
33368 UINT64 SrcOffset,
33369 UINT Dependencies,
33370 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
33371 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
33372
33373 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
33374 void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
33375 ID3D12GraphicsCommandList9 * This,
33376 _In_ FLOAT Min,
33377 _In_ FLOAT Max);
33378
33379 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
33380 void ( STDMETHODCALLTYPE *SetSamplePositions )(
33381 ID3D12GraphicsCommandList9 * This,
33382 _In_ UINT NumSamplesPerPixel,
33383 _In_ UINT NumPixels,
33384 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
33385
33386 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
33387 void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
33388 ID3D12GraphicsCommandList9 * This,
33389 _In_ ID3D12Resource *pDstResource,
33390 _In_ UINT DstSubresource,
33391 _In_ UINT DstX,
33392 _In_ UINT DstY,
33393 _In_ ID3D12Resource *pSrcResource,
33394 _In_ UINT SrcSubresource,
33395 _In_opt_ D3D12_RECT *pSrcRect,
33396 _In_ DXGI_FORMAT Format,
33397 _In_ D3D12_RESOLVE_MODE ResolveMode);
33398
33399 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
33400 void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
33401 ID3D12GraphicsCommandList9 * This,
33402 _In_ UINT Mask);
33403
33404 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
33405 void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
33406 ID3D12GraphicsCommandList9 * This,
33407 UINT Count,
33408 _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
33409 _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
33410
33411 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
33412 void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
33413 ID3D12GraphicsCommandList9 * This,
33414 _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
33415
33416 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
33417 void ( STDMETHODCALLTYPE *BeginRenderPass )(
33418 ID3D12GraphicsCommandList9 * This,
33419 _In_ UINT NumRenderTargets,
33420 _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
33421 _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
33422 D3D12_RENDER_PASS_FLAGS Flags);
33423
33424 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
33425 void ( STDMETHODCALLTYPE *EndRenderPass )(
33426 ID3D12GraphicsCommandList9 * This);
33427
33428 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
33429 void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
33430 ID3D12GraphicsCommandList9 * This,
33431 _In_ ID3D12MetaCommand *pMetaCommand,
33432 _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
33433 _In_ SIZE_T InitializationParametersDataSizeInBytes);
33434
33435 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
33436 void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
33437 ID3D12GraphicsCommandList9 * This,
33438 _In_ ID3D12MetaCommand *pMetaCommand,
33439 _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
33440 _In_ SIZE_T ExecutionParametersDataSizeInBytes);
33441
33442 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
33443 void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
33444 ID3D12GraphicsCommandList9 * This,
33445 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
33446 _In_ UINT NumPostbuildInfoDescs,
33447 _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
33448
33449 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
33450 void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
33451 ID3D12GraphicsCommandList9 * This,
33452 _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
33453 _In_ UINT NumSourceAccelerationStructures,
33454 _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
33455
33456 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
33457 void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
33458 ID3D12GraphicsCommandList9 * This,
33459 _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
33460 _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
33461 _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
33462
33463 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
33464 void ( STDMETHODCALLTYPE *SetPipelineState1 )(
33465 ID3D12GraphicsCommandList9 * This,
33466 _In_ ID3D12StateObject *pStateObject);
33467
33468 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
33469 void ( STDMETHODCALLTYPE *DispatchRays )(
33470 ID3D12GraphicsCommandList9 * This,
33471 _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
33472
33473 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
33474 void ( STDMETHODCALLTYPE *RSSetShadingRate )(
33475 ID3D12GraphicsCommandList9 * This,
33476 _In_ D3D12_SHADING_RATE baseShadingRate,
33477 _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
33478
33479 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
33480 void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
33481 ID3D12GraphicsCommandList9 * This,
33482 _In_opt_ ID3D12Resource *shadingRateImage);
33483
33484 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
33485 void ( STDMETHODCALLTYPE *DispatchMesh )(
33486 ID3D12GraphicsCommandList9 * This,
33487 _In_ UINT ThreadGroupCountX,
33488 _In_ UINT ThreadGroupCountY,
33489 _In_ UINT ThreadGroupCountZ);
33490
33491 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
33492 void ( STDMETHODCALLTYPE *Barrier )(
33493 ID3D12GraphicsCommandList9 * This,
33494 UINT32 NumBarrierGroups,
33495 _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
33496
33497 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef)
33498 void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )(
33499 ID3D12GraphicsCommandList9 * This,
33500 _In_ UINT FrontStencilRef,
33501 _In_ UINT BackStencilRef);
33502
33503 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, RSSetDepthBias)
33504 void ( STDMETHODCALLTYPE *RSSetDepthBias )(
33505 ID3D12GraphicsCommandList9 * This,
33506 _In_ FLOAT DepthBias,
33507 _In_ FLOAT DepthBiasClamp,
33508 _In_ FLOAT SlopeScaledDepthBias);
33509
33510 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, IASetIndexBufferStripCutValue)
33511 void ( STDMETHODCALLTYPE *IASetIndexBufferStripCutValue )(
33512 ID3D12GraphicsCommandList9 * This,
33513 _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue);
33514
33515 END_INTERFACE
33516 } ID3D12GraphicsCommandList9Vtbl;
33517
33518 interface ID3D12GraphicsCommandList9
33519 {
33520 CONST_VTBL struct ID3D12GraphicsCommandList9Vtbl *lpVtbl;
33521 };
33522
33523
33524
33525#ifdef COBJMACROS
33526
33527
33528#define ID3D12GraphicsCommandList9_QueryInterface(This,riid,ppvObject) \
33529 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
33530
33531#define ID3D12GraphicsCommandList9_AddRef(This) \
33532 ( (This)->lpVtbl -> AddRef(This) )
33533
33534#define ID3D12GraphicsCommandList9_Release(This) \
33535 ( (This)->lpVtbl -> Release(This) )
33536
33537
33538#define ID3D12GraphicsCommandList9_GetPrivateData(This,guid,pDataSize,pData) \
33539 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
33540
33541#define ID3D12GraphicsCommandList9_SetPrivateData(This,guid,DataSize,pData) \
33542 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
33543
33544#define ID3D12GraphicsCommandList9_SetPrivateDataInterface(This,guid,pData) \
33545 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
33546
33547#define ID3D12GraphicsCommandList9_SetName(This,Name) \
33548 ( (This)->lpVtbl -> SetName(This,Name) )
33549
33550
33551#define ID3D12GraphicsCommandList9_GetDevice(This,riid,ppvDevice) \
33552 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
33553
33554
33555#define ID3D12GraphicsCommandList9_GetType(This) \
33556 ( (This)->lpVtbl -> GetType(This) )
33557
33558
33559#define ID3D12GraphicsCommandList9_Close(This) \
33560 ( (This)->lpVtbl -> Close(This) )
33561
33562#define ID3D12GraphicsCommandList9_Reset(This,pAllocator,pInitialState) \
33563 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
33564
33565#define ID3D12GraphicsCommandList9_ClearState(This,pPipelineState) \
33566 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
33567
33568#define ID3D12GraphicsCommandList9_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
33569 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
33570
33571#define ID3D12GraphicsCommandList9_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
33572 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
33573
33574#define ID3D12GraphicsCommandList9_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
33575 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
33576
33577#define ID3D12GraphicsCommandList9_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
33578 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
33579
33580#define ID3D12GraphicsCommandList9_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
33581 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
33582
33583#define ID3D12GraphicsCommandList9_CopyResource(This,pDstResource,pSrcResource) \
33584 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
33585
33586#define ID3D12GraphicsCommandList9_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
33587 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
33588
33589#define ID3D12GraphicsCommandList9_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
33590 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
33591
33592#define ID3D12GraphicsCommandList9_IASetPrimitiveTopology(This,PrimitiveTopology) \
33593 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
33594
33595#define ID3D12GraphicsCommandList9_RSSetViewports(This,NumViewports,pViewports) \
33596 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
33597
33598#define ID3D12GraphicsCommandList9_RSSetScissorRects(This,NumRects,pRects) \
33599 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
33600
33601#define ID3D12GraphicsCommandList9_OMSetBlendFactor(This,BlendFactor) \
33602 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
33603
33604#define ID3D12GraphicsCommandList9_OMSetStencilRef(This,StencilRef) \
33605 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
33606
33607#define ID3D12GraphicsCommandList9_SetPipelineState(This,pPipelineState) \
33608 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
33609
33610#define ID3D12GraphicsCommandList9_ResourceBarrier(This,NumBarriers,pBarriers) \
33611 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
33612
33613#define ID3D12GraphicsCommandList9_ExecuteBundle(This,pCommandList) \
33614 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
33615
33616#define ID3D12GraphicsCommandList9_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
33617 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
33618
33619#define ID3D12GraphicsCommandList9_SetComputeRootSignature(This,pRootSignature) \
33620 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
33621
33622#define ID3D12GraphicsCommandList9_SetGraphicsRootSignature(This,pRootSignature) \
33623 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
33624
33625#define ID3D12GraphicsCommandList9_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
33626 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
33627
33628#define ID3D12GraphicsCommandList9_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
33629 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
33630
33631#define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
33632 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
33633
33634#define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
33635 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
33636
33637#define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
33638 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
33639
33640#define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
33641 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
33642
33643#define ID3D12GraphicsCommandList9_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
33644 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
33645
33646#define ID3D12GraphicsCommandList9_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
33647 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
33648
33649#define ID3D12GraphicsCommandList9_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
33650 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
33651
33652#define ID3D12GraphicsCommandList9_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
33653 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
33654
33655#define ID3D12GraphicsCommandList9_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
33656 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
33657
33658#define ID3D12GraphicsCommandList9_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
33659 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
33660
33661#define ID3D12GraphicsCommandList9_IASetIndexBuffer(This,pView) \
33662 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
33663
33664#define ID3D12GraphicsCommandList9_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
33665 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
33666
33667#define ID3D12GraphicsCommandList9_SOSetTargets(This,StartSlot,NumViews,pViews) \
33668 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
33669
33670#define ID3D12GraphicsCommandList9_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
33671 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
33672
33673#define ID3D12GraphicsCommandList9_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
33674 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
33675
33676#define ID3D12GraphicsCommandList9_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
33677 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
33678
33679#define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
33680 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
33681
33682#define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
33683 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
33684
33685#define ID3D12GraphicsCommandList9_DiscardResource(This,pResource,pRegion) \
33686 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
33687
33688#define ID3D12GraphicsCommandList9_BeginQuery(This,pQueryHeap,Type,Index) \
33689 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
33690
33691#define ID3D12GraphicsCommandList9_EndQuery(This,pQueryHeap,Type,Index) \
33692 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
33693
33694#define ID3D12GraphicsCommandList9_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
33695 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
33696
33697#define ID3D12GraphicsCommandList9_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
33698 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
33699
33700#define ID3D12GraphicsCommandList9_SetMarker(This,Metadata,pData,Size) \
33701 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
33702
33703#define ID3D12GraphicsCommandList9_BeginEvent(This,Metadata,pData,Size) \
33704 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
33705
33706#define ID3D12GraphicsCommandList9_EndEvent(This) \
33707 ( (This)->lpVtbl -> EndEvent(This) )
33708
33709#define ID3D12GraphicsCommandList9_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
33710 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
33711
33712
33713#define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
33714 ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
33715
33716#define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
33717 ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
33718
33719#define ID3D12GraphicsCommandList9_OMSetDepthBounds(This,Min,Max) \
33720 ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
33721
33722#define ID3D12GraphicsCommandList9_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
33723 ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
33724
33725#define ID3D12GraphicsCommandList9_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
33726 ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
33727
33728#define ID3D12GraphicsCommandList9_SetViewInstanceMask(This,Mask) \
33729 ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
33730
33731
33732#define ID3D12GraphicsCommandList9_WriteBufferImmediate(This,Count,pParams,pModes) \
33733 ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
33734
33735
33736#define ID3D12GraphicsCommandList9_SetProtectedResourceSession(This,pProtectedResourceSession) \
33737 ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
33738
33739
33740#define ID3D12GraphicsCommandList9_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
33741 ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
33742
33743#define ID3D12GraphicsCommandList9_EndRenderPass(This) \
33744 ( (This)->lpVtbl -> EndRenderPass(This) )
33745
33746#define ID3D12GraphicsCommandList9_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
33747 ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
33748
33749#define ID3D12GraphicsCommandList9_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
33750 ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
33751
33752#define ID3D12GraphicsCommandList9_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
33753 ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
33754
33755#define ID3D12GraphicsCommandList9_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
33756 ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
33757
33758#define ID3D12GraphicsCommandList9_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
33759 ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
33760
33761#define ID3D12GraphicsCommandList9_SetPipelineState1(This,pStateObject) \
33762 ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
33763
33764#define ID3D12GraphicsCommandList9_DispatchRays(This,pDesc) \
33765 ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
33766
33767
33768#define ID3D12GraphicsCommandList9_RSSetShadingRate(This,baseShadingRate,combiners) \
33769 ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
33770
33771#define ID3D12GraphicsCommandList9_RSSetShadingRateImage(This,shadingRateImage) \
33772 ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
33773
33774
33775#define ID3D12GraphicsCommandList9_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
33776 ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
33777
33778
33779#define ID3D12GraphicsCommandList9_Barrier(This,NumBarrierGroups,pBarrierGroups) \
33780 ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
33781
33782
33783#define ID3D12GraphicsCommandList9_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
33784 ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) )
33785
33786
33787#define ID3D12GraphicsCommandList9_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \
33788 ( (This)->lpVtbl -> RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) )
33789
33790#define ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue(This,IBStripCutValue) \
33791 ( (This)->lpVtbl -> IASetIndexBufferStripCutValue(This,IBStripCutValue) )
33792
33793#endif /* COBJMACROS */
33794
33795
33796#endif /* C style interface */
33797
33798
33799
33800
33801#endif /* __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__ */
33802
33803
33804#ifndef __ID3D12GraphicsCommandList10_INTERFACE_DEFINED__
33805#define __ID3D12GraphicsCommandList10_INTERFACE_DEFINED__
33806
33807/* interface ID3D12GraphicsCommandList10 */
33808/* [unique][local][object][uuid] */
33809
33810
33811EXTERN_C const IID IID_ID3D12GraphicsCommandList10;
33812
33813#if defined(__cplusplus) && !defined(CINTERFACE)
33814
33815 MIDL_INTERFACE("7013c015-d161-4b63-a08c-238552dd8acc")
33816 ID3D12GraphicsCommandList10 : public ID3D12GraphicsCommandList9
33817 {
33818 public:
33819 virtual void STDMETHODCALLTYPE SetProgram(
33820 _In_ const D3D12_SET_PROGRAM_DESC *pDesc) = 0;
33821
33822 virtual void STDMETHODCALLTYPE DispatchGraph(
33823 _In_ const D3D12_DISPATCH_GRAPH_DESC *pDesc) = 0;
33824
33825 };
33826
33827
33828#else /* C style interface */
33829
33830 typedef struct ID3D12GraphicsCommandList10Vtbl
33831 {
33832 BEGIN_INTERFACE
33833
33834 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
33835 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
33836 ID3D12GraphicsCommandList10 * This,
33837 REFIID riid,
33838 _COM_Outptr_ void **ppvObject);
33839
33840 DECLSPEC_XFGVIRT(IUnknown, AddRef)
33841 ULONG ( STDMETHODCALLTYPE *AddRef )(
33842 ID3D12GraphicsCommandList10 * This);
33843
33844 DECLSPEC_XFGVIRT(IUnknown, Release)
33845 ULONG ( STDMETHODCALLTYPE *Release )(
33846 ID3D12GraphicsCommandList10 * This);
33847
33848 DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
33849 HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
33850 ID3D12GraphicsCommandList10 * This,
33851 _In_ REFGUID guid,
33852 _Inout_ UINT *pDataSize,
33853 _Out_writes_bytes_opt_( *pDataSize ) void *pData);
33854
33855 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
33856 HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
33857 ID3D12GraphicsCommandList10 * This,
33858 _In_ REFGUID guid,
33859 _In_ UINT DataSize,
33860 _In_reads_bytes_opt_( DataSize ) const void *pData);
33861
33862 DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
33863 HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
33864 ID3D12GraphicsCommandList10 * This,
33865 _In_ REFGUID guid,
33866 _In_opt_ const IUnknown *pData);
33867
33868 DECLSPEC_XFGVIRT(ID3D12Object, SetName)
33869 HRESULT ( STDMETHODCALLTYPE *SetName )(
33870 ID3D12GraphicsCommandList10 * This,
33871 _In_z_ LPCWSTR Name);
33872
33873 DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
33874 HRESULT ( STDMETHODCALLTYPE *GetDevice )(
33875 ID3D12GraphicsCommandList10 * This,
33876 REFIID riid,
33877 _COM_Outptr_opt_ void **ppvDevice);
33878
33879 DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
33880 D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
33881 ID3D12GraphicsCommandList10 * This);
33882
33883 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
33884 HRESULT ( STDMETHODCALLTYPE *Close )(
33885 ID3D12GraphicsCommandList10 * This);
33886
33887 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
33888 HRESULT ( STDMETHODCALLTYPE *Reset )(
33889 ID3D12GraphicsCommandList10 * This,
33890 _In_ ID3D12CommandAllocator *pAllocator,
33891 _In_opt_ ID3D12PipelineState *pInitialState);
33892
33893 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
33894 void ( STDMETHODCALLTYPE *ClearState )(
33895 ID3D12GraphicsCommandList10 * This,
33896 _In_opt_ ID3D12PipelineState *pPipelineState);
33897
33898 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
33899 void ( STDMETHODCALLTYPE *DrawInstanced )(
33900 ID3D12GraphicsCommandList10 * This,
33901 _In_ UINT VertexCountPerInstance,
33902 _In_ UINT InstanceCount,
33903 _In_ UINT StartVertexLocation,
33904 _In_ UINT StartInstanceLocation);
33905
33906 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
33907 void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
33908 ID3D12GraphicsCommandList10 * This,
33909 _In_ UINT IndexCountPerInstance,
33910 _In_ UINT InstanceCount,
33911 _In_ UINT StartIndexLocation,
33912 _In_ INT BaseVertexLocation,
33913 _In_ UINT StartInstanceLocation);
33914
33915 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
33916 void ( STDMETHODCALLTYPE *Dispatch )(
33917 ID3D12GraphicsCommandList10 * This,
33918 _In_ UINT ThreadGroupCountX,
33919 _In_ UINT ThreadGroupCountY,
33920 _In_ UINT ThreadGroupCountZ);
33921
33922 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
33923 void ( STDMETHODCALLTYPE *CopyBufferRegion )(
33924 ID3D12GraphicsCommandList10 * This,
33925 _In_ ID3D12Resource *pDstBuffer,
33926 UINT64 DstOffset,
33927 _In_ ID3D12Resource *pSrcBuffer,
33928 UINT64 SrcOffset,
33929 UINT64 NumBytes);
33930
33931 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
33932 void ( STDMETHODCALLTYPE *CopyTextureRegion )(
33933 ID3D12GraphicsCommandList10 * This,
33934 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
33935 UINT DstX,
33936 UINT DstY,
33937 UINT DstZ,
33938 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
33939 _In_opt_ const D3D12_BOX *pSrcBox);
33940
33941 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
33942 void ( STDMETHODCALLTYPE *CopyResource )(
33943 ID3D12GraphicsCommandList10 * This,
33944 _In_ ID3D12Resource *pDstResource,
33945 _In_ ID3D12Resource *pSrcResource);
33946
33947 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
33948 void ( STDMETHODCALLTYPE *CopyTiles )(
33949 ID3D12GraphicsCommandList10 * This,
33950 _In_ ID3D12Resource *pTiledResource,
33951 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
33952 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
33953 _In_ ID3D12Resource *pBuffer,
33954 UINT64 BufferStartOffsetInBytes,
33955 D3D12_TILE_COPY_FLAGS Flags);
33956
33957 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
33958 void ( STDMETHODCALLTYPE *ResolveSubresource )(
33959 ID3D12GraphicsCommandList10 * This,
33960 _In_ ID3D12Resource *pDstResource,
33961 _In_ UINT DstSubresource,
33962 _In_ ID3D12Resource *pSrcResource,
33963 _In_ UINT SrcSubresource,
33964 _In_ DXGI_FORMAT Format);
33965
33966 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
33967 void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
33968 ID3D12GraphicsCommandList10 * This,
33969 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
33970
33971 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
33972 void ( STDMETHODCALLTYPE *RSSetViewports )(
33973 ID3D12GraphicsCommandList10 * This,
33974 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
33975 _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
33976
33977 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
33978 void ( STDMETHODCALLTYPE *RSSetScissorRects )(
33979 ID3D12GraphicsCommandList10 * This,
33980 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
33981 _In_reads_( NumRects) const D3D12_RECT *pRects);
33982
33983 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
33984 void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
33985 ID3D12GraphicsCommandList10 * This,
33986 _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
33987
33988 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
33989 void ( STDMETHODCALLTYPE *OMSetStencilRef )(
33990 ID3D12GraphicsCommandList10 * This,
33991 _In_ UINT StencilRef);
33992
33993 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
33994 void ( STDMETHODCALLTYPE *SetPipelineState )(
33995 ID3D12GraphicsCommandList10 * This,
33996 _In_ ID3D12PipelineState *pPipelineState);
33997
33998 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
33999 void ( STDMETHODCALLTYPE *ResourceBarrier )(
34000 ID3D12GraphicsCommandList10 * This,
34001 _In_ UINT NumBarriers,
34002 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
34003
34004 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
34005 void ( STDMETHODCALLTYPE *ExecuteBundle )(
34006 ID3D12GraphicsCommandList10 * This,
34007 _In_ ID3D12GraphicsCommandList *pCommandList);
34008
34009 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
34010 void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
34011 ID3D12GraphicsCommandList10 * This,
34012 _In_ UINT NumDescriptorHeaps,
34013 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
34014
34015 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
34016 void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
34017 ID3D12GraphicsCommandList10 * This,
34018 _In_opt_ ID3D12RootSignature *pRootSignature);
34019
34020 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
34021 void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
34022 ID3D12GraphicsCommandList10 * This,
34023 _In_opt_ ID3D12RootSignature *pRootSignature);
34024
34025 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
34026 void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
34027 ID3D12GraphicsCommandList10 * This,
34028 _In_ UINT RootParameterIndex,
34029 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
34030
34031 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
34032 void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
34033 ID3D12GraphicsCommandList10 * This,
34034 _In_ UINT RootParameterIndex,
34035 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
34036
34037 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
34038 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
34039 ID3D12GraphicsCommandList10 * This,
34040 _In_ UINT RootParameterIndex,
34041 _In_ UINT SrcData,
34042 _In_ UINT DestOffsetIn32BitValues);
34043
34044 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
34045 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
34046 ID3D12GraphicsCommandList10 * This,
34047 _In_ UINT RootParameterIndex,
34048 _In_ UINT SrcData,
34049 _In_ UINT DestOffsetIn32BitValues);
34050
34051 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
34052 void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
34053 ID3D12GraphicsCommandList10 * This,
34054 _In_ UINT RootParameterIndex,
34055 _In_ UINT Num32BitValuesToSet,
34056 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
34057 _In_ UINT DestOffsetIn32BitValues);
34058
34059 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
34060 void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
34061 ID3D12GraphicsCommandList10 * This,
34062 _In_ UINT RootParameterIndex,
34063 _In_ UINT Num32BitValuesToSet,
34064 _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
34065 _In_ UINT DestOffsetIn32BitValues);
34066
34067 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
34068 void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
34069 ID3D12GraphicsCommandList10 * This,
34070 _In_ UINT RootParameterIndex,
34071 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
34072
34073 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
34074 void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
34075 ID3D12GraphicsCommandList10 * This,
34076 _In_ UINT RootParameterIndex,
34077 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
34078
34079 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
34080 void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
34081 ID3D12GraphicsCommandList10 * This,
34082 _In_ UINT RootParameterIndex,
34083 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
34084
34085 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
34086 void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
34087 ID3D12GraphicsCommandList10 * This,
34088 _In_ UINT RootParameterIndex,
34089 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
34090
34091 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
34092 void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
34093 ID3D12GraphicsCommandList10 * This,
34094 _In_ UINT RootParameterIndex,
34095 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
34096
34097 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
34098 void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
34099 ID3D12GraphicsCommandList10 * This,
34100 _In_ UINT RootParameterIndex,
34101 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
34102
34103 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
34104 void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
34105 ID3D12GraphicsCommandList10 * This,
34106 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
34107
34108 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
34109 void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
34110 ID3D12GraphicsCommandList10 * This,
34111 _In_ UINT StartSlot,
34112 _In_ UINT NumViews,
34113 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
34114
34115 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
34116 void ( STDMETHODCALLTYPE *SOSetTargets )(
34117 ID3D12GraphicsCommandList10 * This,
34118 _In_ UINT StartSlot,
34119 _In_ UINT NumViews,
34120 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
34121
34122 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
34123 void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
34124 ID3D12GraphicsCommandList10 * This,
34125 _In_ UINT NumRenderTargetDescriptors,
34126 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
34127 _In_ BOOL RTsSingleHandleToDescriptorRange,
34128 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
34129
34130 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
34131 void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
34132 ID3D12GraphicsCommandList10 * This,
34133 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
34134 _In_ D3D12_CLEAR_FLAGS ClearFlags,
34135 _In_ FLOAT Depth,
34136 _In_ UINT8 Stencil,
34137 _In_ UINT NumRects,
34138 _In_reads_(NumRects) const D3D12_RECT *pRects);
34139
34140 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
34141 void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
34142 ID3D12GraphicsCommandList10 * This,
34143 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
34144 _In_ const FLOAT ColorRGBA[ 4 ],
34145 _In_ UINT NumRects,
34146 _In_reads_(NumRects) const D3D12_RECT *pRects);
34147
34148 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
34149 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
34150 ID3D12GraphicsCommandList10 * This,
34151 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
34152 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
34153 _In_ ID3D12Resource *pResource,
34154 _In_ const UINT Values[ 4 ],
34155 _In_ UINT NumRects,
34156 _In_reads_(NumRects) const D3D12_RECT *pRects);
34157
34158 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
34159 void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
34160 ID3D12GraphicsCommandList10 * This,
34161 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
34162 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
34163 _In_ ID3D12Resource *pResource,
34164 _In_ const FLOAT Values[ 4 ],
34165 _In_ UINT NumRects,
34166 _In_reads_(NumRects) const D3D12_RECT *pRects);
34167
34168 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
34169 void ( STDMETHODCALLTYPE *DiscardResource )(
34170 ID3D12GraphicsCommandList10 * This,
34171 _In_ ID3D12Resource *pResource,
34172 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
34173
34174 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
34175 void ( STDMETHODCALLTYPE *BeginQuery )(
34176 ID3D12GraphicsCommandList10 * This,
34177 _In_ ID3D12QueryHeap *pQueryHeap,
34178 _In_ D3D12_QUERY_TYPE Type,
34179 _In_ UINT Index);
34180
34181 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
34182 void ( STDMETHODCALLTYPE *EndQuery )(
34183 ID3D12GraphicsCommandList10 * This,
34184 _In_ ID3D12QueryHeap *pQueryHeap,
34185 _In_ D3D12_QUERY_TYPE Type,
34186 _In_ UINT Index);
34187
34188 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
34189 void ( STDMETHODCALLTYPE *ResolveQueryData )(
34190 ID3D12GraphicsCommandList10 * This,
34191 _In_ ID3D12QueryHeap *pQueryHeap,
34192 _In_ D3D12_QUERY_TYPE Type,
34193 _In_ UINT StartIndex,
34194 _In_ UINT NumQueries,
34195 _In_ ID3D12Resource *pDestinationBuffer,
34196 _In_ UINT64 AlignedDestinationBufferOffset);
34197
34198 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
34199 void ( STDMETHODCALLTYPE *SetPredication )(
34200 ID3D12GraphicsCommandList10 * This,
34201 _In_opt_ ID3D12Resource *pBuffer,
34202 _In_ UINT64 AlignedBufferOffset,
34203 _In_ D3D12_PREDICATION_OP Operation);
34204
34205 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
34206 void ( STDMETHODCALLTYPE *SetMarker )(
34207 ID3D12GraphicsCommandList10 * This,
34208 UINT Metadata,
34209 _In_reads_bytes_opt_(Size) const void *pData,
34210 UINT Size);
34211
34212 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
34213 void ( STDMETHODCALLTYPE *BeginEvent )(
34214 ID3D12GraphicsCommandList10 * This,
34215 UINT Metadata,
34216 _In_reads_bytes_opt_(Size) const void *pData,
34217 UINT Size);
34218
34219 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
34220 void ( STDMETHODCALLTYPE *EndEvent )(
34221 ID3D12GraphicsCommandList10 * This);
34222
34223 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
34224 void ( STDMETHODCALLTYPE *ExecuteIndirect )(
34225 ID3D12GraphicsCommandList10 * This,
34226 _In_ ID3D12CommandSignature *pCommandSignature,
34227 _In_ UINT MaxCommandCount,
34228 _In_ ID3D12Resource *pArgumentBuffer,
34229 _In_ UINT64 ArgumentBufferOffset,
34230 _In_opt_ ID3D12Resource *pCountBuffer,
34231 _In_ UINT64 CountBufferOffset);
34232
34233 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
34234 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
34235 ID3D12GraphicsCommandList10 * This,
34236 _In_ ID3D12Resource *pDstBuffer,
34237 UINT64 DstOffset,
34238 _In_ ID3D12Resource *pSrcBuffer,
34239 UINT64 SrcOffset,
34240 UINT Dependencies,
34241 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
34242 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
34243
34244 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
34245 void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
34246 ID3D12GraphicsCommandList10 * This,
34247 _In_ ID3D12Resource *pDstBuffer,
34248 UINT64 DstOffset,
34249 _In_ ID3D12Resource *pSrcBuffer,
34250 UINT64 SrcOffset,
34251 UINT Dependencies,
34252 _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
34253 _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
34254
34255 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
34256 void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
34257 ID3D12GraphicsCommandList10 * This,
34258 _In_ FLOAT Min,
34259 _In_ FLOAT Max);
34260
34261 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
34262 void ( STDMETHODCALLTYPE *SetSamplePositions )(
34263 ID3D12GraphicsCommandList10 * This,
34264 _In_ UINT NumSamplesPerPixel,
34265 _In_ UINT NumPixels,
34266 _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
34267
34268 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
34269 void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
34270 ID3D12GraphicsCommandList10 * This,
34271 _In_ ID3D12Resource *pDstResource,
34272 _In_ UINT DstSubresource,
34273 _In_ UINT DstX,
34274 _In_ UINT DstY,
34275 _In_ ID3D12Resource *pSrcResource,
34276 _In_ UINT SrcSubresource,
34277 _In_opt_ D3D12_RECT *pSrcRect,
34278 _In_ DXGI_FORMAT Format,
34279 _In_ D3D12_RESOLVE_MODE ResolveMode);
34280
34281 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
34282 void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
34283 ID3D12GraphicsCommandList10 * This,
34284 _In_ UINT Mask);
34285
34286 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
34287 void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
34288 ID3D12GraphicsCommandList10 * This,
34289 UINT Count,
34290 _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
34291 _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
34292
34293 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
34294 void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
34295 ID3D12GraphicsCommandList10 * This,
34296 _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
34297
34298 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
34299 void ( STDMETHODCALLTYPE *BeginRenderPass )(
34300 ID3D12GraphicsCommandList10 * This,
34301 _In_ UINT NumRenderTargets,
34302 _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
34303 _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
34304 D3D12_RENDER_PASS_FLAGS Flags);
34305
34306 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
34307 void ( STDMETHODCALLTYPE *EndRenderPass )(
34308 ID3D12GraphicsCommandList10 * This);
34309
34310 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
34311 void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
34312 ID3D12GraphicsCommandList10 * This,
34313 _In_ ID3D12MetaCommand *pMetaCommand,
34314 _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
34315 _In_ SIZE_T InitializationParametersDataSizeInBytes);
34316
34317 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
34318 void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
34319 ID3D12GraphicsCommandList10 * This,
34320 _In_ ID3D12MetaCommand *pMetaCommand,
34321 _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
34322 _In_ SIZE_T ExecutionParametersDataSizeInBytes);
34323
34324 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
34325 void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
34326 ID3D12GraphicsCommandList10 * This,
34327 _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
34328 _In_ UINT NumPostbuildInfoDescs,
34329 _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
34330
34331 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
34332 void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
34333 ID3D12GraphicsCommandList10 * This,
34334 _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
34335 _In_ UINT NumSourceAccelerationStructures,
34336 _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
34337
34338 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
34339 void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
34340 ID3D12GraphicsCommandList10 * This,
34341 _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
34342 _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
34343 _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
34344
34345 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
34346 void ( STDMETHODCALLTYPE *SetPipelineState1 )(
34347 ID3D12GraphicsCommandList10 * This,
34348 _In_ ID3D12StateObject *pStateObject);
34349
34350 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
34351 void ( STDMETHODCALLTYPE *DispatchRays )(
34352 ID3D12GraphicsCommandList10 * This,
34353 _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
34354
34355 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
34356 void ( STDMETHODCALLTYPE *RSSetShadingRate )(
34357 ID3D12GraphicsCommandList10 * This,
34358 _In_ D3D12_SHADING_RATE baseShadingRate,
34359 _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
34360
34361 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
34362 void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
34363 ID3D12GraphicsCommandList10 * This,
34364 _In_opt_ ID3D12Resource *shadingRateImage);
34365
34366 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
34367 void ( STDMETHODCALLTYPE *DispatchMesh )(
34368 ID3D12GraphicsCommandList10 * This,
34369 _In_ UINT ThreadGroupCountX,
34370 _In_ UINT ThreadGroupCountY,
34371 _In_ UINT ThreadGroupCountZ);
34372
34373 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
34374 void ( STDMETHODCALLTYPE *Barrier )(
34375 ID3D12GraphicsCommandList10 * This,
34376 UINT32 NumBarrierGroups,
34377 _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
34378
34379 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef)
34380 void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )(
34381 ID3D12GraphicsCommandList10 * This,
34382 _In_ UINT FrontStencilRef,
34383 _In_ UINT BackStencilRef);
34384
34385 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, RSSetDepthBias)
34386 void ( STDMETHODCALLTYPE *RSSetDepthBias )(
34387 ID3D12GraphicsCommandList10 * This,
34388 _In_ FLOAT DepthBias,
34389 _In_ FLOAT DepthBiasClamp,
34390 _In_ FLOAT SlopeScaledDepthBias);
34391
34392 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, IASetIndexBufferStripCutValue)
34393 void ( STDMETHODCALLTYPE *IASetIndexBufferStripCutValue )(
34394 ID3D12GraphicsCommandList10 * This,
34395 _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue);
34396
34397 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList10, SetProgram)
34398 void ( STDMETHODCALLTYPE *SetProgram )(
34399 ID3D12GraphicsCommandList10 * This,
34400 _In_ const D3D12_SET_PROGRAM_DESC *pDesc);
34401
34402 DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList10, DispatchGraph)
34403 void ( STDMETHODCALLTYPE *DispatchGraph )(
34404 ID3D12GraphicsCommandList10 * This,
34405 _In_ const D3D12_DISPATCH_GRAPH_DESC *pDesc);
34406
34407 END_INTERFACE
34408 } ID3D12GraphicsCommandList10Vtbl;
34409
34410 interface ID3D12GraphicsCommandList10
34411 {
34412 CONST_VTBL struct ID3D12GraphicsCommandList10Vtbl *lpVtbl;
34413 };
34414
34415
34416
34417#ifdef COBJMACROS
34418
34419
34420#define ID3D12GraphicsCommandList10_QueryInterface(This,riid,ppvObject) \
34421 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
34422
34423#define ID3D12GraphicsCommandList10_AddRef(This) \
34424 ( (This)->lpVtbl -> AddRef(This) )
34425
34426#define ID3D12GraphicsCommandList10_Release(This) \
34427 ( (This)->lpVtbl -> Release(This) )
34428
34429
34430#define ID3D12GraphicsCommandList10_GetPrivateData(This,guid,pDataSize,pData) \
34431 ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
34432
34433#define ID3D12GraphicsCommandList10_SetPrivateData(This,guid,DataSize,pData) \
34434 ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
34435
34436#define ID3D12GraphicsCommandList10_SetPrivateDataInterface(This,guid,pData) \
34437 ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
34438
34439#define ID3D12GraphicsCommandList10_SetName(This,Name) \
34440 ( (This)->lpVtbl -> SetName(This,Name) )
34441
34442
34443#define ID3D12GraphicsCommandList10_GetDevice(This,riid,ppvDevice) \
34444 ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
34445
34446
34447#define ID3D12GraphicsCommandList10_GetType(This) \
34448 ( (This)->lpVtbl -> GetType(This) )
34449
34450
34451#define ID3D12GraphicsCommandList10_Close(This) \
34452 ( (This)->lpVtbl -> Close(This) )
34453
34454#define ID3D12GraphicsCommandList10_Reset(This,pAllocator,pInitialState) \
34455 ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
34456
34457#define ID3D12GraphicsCommandList10_ClearState(This,pPipelineState) \
34458 ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
34459
34460#define ID3D12GraphicsCommandList10_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
34461 ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
34462
34463#define ID3D12GraphicsCommandList10_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
34464 ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
34465
34466#define ID3D12GraphicsCommandList10_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
34467 ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
34468
34469#define ID3D12GraphicsCommandList10_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
34470 ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
34471
34472#define ID3D12GraphicsCommandList10_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
34473 ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
34474
34475#define ID3D12GraphicsCommandList10_CopyResource(This,pDstResource,pSrcResource) \
34476 ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
34477
34478#define ID3D12GraphicsCommandList10_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
34479 ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
34480
34481#define ID3D12GraphicsCommandList10_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
34482 ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
34483
34484#define ID3D12GraphicsCommandList10_IASetPrimitiveTopology(This,PrimitiveTopology) \
34485 ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
34486
34487#define ID3D12GraphicsCommandList10_RSSetViewports(This,NumViewports,pViewports) \
34488 ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
34489
34490#define ID3D12GraphicsCommandList10_RSSetScissorRects(This,NumRects,pRects) \
34491 ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
34492
34493#define ID3D12GraphicsCommandList10_OMSetBlendFactor(This,BlendFactor) \
34494 ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
34495
34496#define ID3D12GraphicsCommandList10_OMSetStencilRef(This,StencilRef) \
34497 ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
34498
34499#define ID3D12GraphicsCommandList10_SetPipelineState(This,pPipelineState) \
34500 ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
34501
34502#define ID3D12GraphicsCommandList10_ResourceBarrier(This,NumBarriers,pBarriers) \
34503 ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
34504
34505#define ID3D12GraphicsCommandList10_ExecuteBundle(This,pCommandList) \
34506 ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
34507
34508#define ID3D12GraphicsCommandList10_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
34509 ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
34510
34511#define ID3D12GraphicsCommandList10_SetComputeRootSignature(This,pRootSignature) \
34512 ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
34513
34514#define ID3D12GraphicsCommandList10_SetGraphicsRootSignature(This,pRootSignature) \
34515 ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
34516
34517#define ID3D12GraphicsCommandList10_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
34518 ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
34519
34520#define ID3D12GraphicsCommandList10_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
34521 ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
34522
34523#define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
34524 ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
34525
34526#define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
34527 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
34528
34529#define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
34530 ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
34531
34532#define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
34533 ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
34534
34535#define ID3D12GraphicsCommandList10_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
34536 ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
34537
34538#define ID3D12GraphicsCommandList10_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
34539 ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
34540
34541#define ID3D12GraphicsCommandList10_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
34542 ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
34543
34544#define ID3D12GraphicsCommandList10_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
34545 ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
34546
34547#define ID3D12GraphicsCommandList10_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
34548 ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
34549
34550#define ID3D12GraphicsCommandList10_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
34551 ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
34552
34553#define ID3D12GraphicsCommandList10_IASetIndexBuffer(This,pView) \
34554 ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
34555
34556#define ID3D12GraphicsCommandList10_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
34557 ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
34558
34559#define ID3D12GraphicsCommandList10_SOSetTargets(This,StartSlot,NumViews,pViews) \
34560 ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
34561
34562#define ID3D12GraphicsCommandList10_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
34563 ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
34564
34565#define ID3D12GraphicsCommandList10_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
34566 ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
34567
34568#define ID3D12GraphicsCommandList10_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
34569 ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
34570
34571#define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
34572 ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
34573
34574#define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
34575 ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
34576
34577#define ID3D12GraphicsCommandList10_DiscardResource(This,pResource,pRegion) \
34578 ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
34579
34580#define ID3D12GraphicsCommandList10_BeginQuery(This,pQueryHeap,Type,Index) \
34581 ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
34582
34583#define ID3D12GraphicsCommandList10_EndQuery(This,pQueryHeap,Type,Index) \
34584 ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
34585
34586#define ID3D12GraphicsCommandList10_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
34587 ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
34588
34589#define ID3D12GraphicsCommandList10_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
34590 ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
34591
34592#define ID3D12GraphicsCommandList10_SetMarker(This,Metadata,pData,Size) \
34593 ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
34594
34595#define ID3D12GraphicsCommandList10_BeginEvent(This,Metadata,pData,Size) \
34596 ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
34597
34598#define ID3D12GraphicsCommandList10_EndEvent(This) \
34599 ( (This)->lpVtbl -> EndEvent(This) )
34600
34601#define ID3D12GraphicsCommandList10_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
34602 ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
34603
34604
34605#define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
34606 ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
34607
34608#define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
34609 ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
34610
34611#define ID3D12GraphicsCommandList10_OMSetDepthBounds(This,Min,Max) \
34612 ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
34613
34614#define ID3D12GraphicsCommandList10_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
34615 ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
34616
34617#define ID3D12GraphicsCommandList10_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
34618 ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
34619
34620#define ID3D12GraphicsCommandList10_SetViewInstanceMask(This,Mask) \
34621 ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
34622
34623
34624#define ID3D12GraphicsCommandList10_WriteBufferImmediate(This,Count,pParams,pModes) \
34625 ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
34626
34627
34628#define ID3D12GraphicsCommandList10_SetProtectedResourceSession(This,pProtectedResourceSession) \
34629 ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
34630
34631
34632#define ID3D12GraphicsCommandList10_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
34633 ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
34634
34635#define ID3D12GraphicsCommandList10_EndRenderPass(This) \
34636 ( (This)->lpVtbl -> EndRenderPass(This) )
34637
34638#define ID3D12GraphicsCommandList10_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
34639 ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
34640
34641#define ID3D12GraphicsCommandList10_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
34642 ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
34643
34644#define ID3D12GraphicsCommandList10_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
34645 ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
34646
34647#define ID3D12GraphicsCommandList10_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
34648 ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
34649
34650#define ID3D12GraphicsCommandList10_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
34651 ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
34652
34653#define ID3D12GraphicsCommandList10_SetPipelineState1(This,pStateObject) \
34654 ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
34655
34656#define ID3D12GraphicsCommandList10_DispatchRays(This,pDesc) \
34657 ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
34658
34659
34660#define ID3D12GraphicsCommandList10_RSSetShadingRate(This,baseShadingRate,combiners) \
34661 ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
34662
34663#define ID3D12GraphicsCommandList10_RSSetShadingRateImage(This,shadingRateImage) \
34664 ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
34665
34666
34667#define ID3D12GraphicsCommandList10_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
34668 ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
34669
34670
34671#define ID3D12GraphicsCommandList10_Barrier(This,NumBarrierGroups,pBarrierGroups) \
34672 ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
34673
34674
34675#define ID3D12GraphicsCommandList10_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
34676 ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) )
34677
34678
34679#define ID3D12GraphicsCommandList10_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \
34680 ( (This)->lpVtbl -> RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) )
34681
34682#define ID3D12GraphicsCommandList10_IASetIndexBufferStripCutValue(This,IBStripCutValue) \
34683 ( (This)->lpVtbl -> IASetIndexBufferStripCutValue(This,IBStripCutValue) )
34684
34685
34686#define ID3D12GraphicsCommandList10_SetProgram(This,pDesc) \
34687 ( (This)->lpVtbl -> SetProgram(This,pDesc) )
34688
34689#define ID3D12GraphicsCommandList10_DispatchGraph(This,pDesc) \
34690 ( (This)->lpVtbl -> DispatchGraph(This,pDesc) )
34691
34692#endif /* COBJMACROS */
34693
34694
34695#endif /* C style interface */
34696
34697
34698
34699
34700#endif /* __ID3D12GraphicsCommandList10_INTERFACE_DEFINED__ */
34701
34702
34703#ifndef __ID3D12GBVDiagnostics_INTERFACE_DEFINED__
34704#define __ID3D12GBVDiagnostics_INTERFACE_DEFINED__
34705
34706/* interface ID3D12GBVDiagnostics */
34707/* [unique][local][object][uuid] */
34708
34709
34710EXTERN_C const IID IID_ID3D12GBVDiagnostics;
34711
34712#if defined(__cplusplus) && !defined(CINTERFACE)
34713
34714 MIDL_INTERFACE("597985ab-9b75-4dbb-be23-0761195bebee")
34715 ID3D12GBVDiagnostics : public IUnknown
34716 {
34717 public:
34718 virtual HRESULT STDMETHODCALLTYPE GetGBVEntireSubresourceStatesData(
34719 _In_ ID3D12Resource *pResource,
34720 _Out_writes_bytes_(DataSize) int *pData,
34721 UINT DataSize) = 0;
34722
34723 virtual HRESULT STDMETHODCALLTYPE GetGBVSubresourceState(
34724 _In_ ID3D12Resource *pResource,
34725 UINT Subresource,
34726 _Out_ int *pData) = 0;
34727
34728 virtual HRESULT STDMETHODCALLTYPE GetGBVResourceUniformState(
34729 _In_ ID3D12Resource *pResource,
34730 _Out_ int *pData) = 0;
34731
34732 virtual HRESULT STDMETHODCALLTYPE GetGBVResourceInfo(
34733 _In_ ID3D12Resource *pResource,
34734 _In_opt_ D3D12_RESOURCE_DESC *pResourceDesc,
34735 _In_opt_ UINT32 *pResourceHash,
34736 _In_opt_ UINT32 *pSubresourceStatesByteOffset) = 0;
34737
34738 virtual void STDMETHODCALLTYPE GBVReserved0( void) = 0;
34739
34740 virtual void STDMETHODCALLTYPE GBVReserved1( void) = 0;
34741
34742 };
34743
34744
34745#else /* C style interface */
34746
34747 typedef struct ID3D12GBVDiagnosticsVtbl
34748 {
34749 BEGIN_INTERFACE
34750
34751 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
34752 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
34753 ID3D12GBVDiagnostics * This,
34754 REFIID riid,
34755 _COM_Outptr_ void **ppvObject);
34756
34757 DECLSPEC_XFGVIRT(IUnknown, AddRef)
34758 ULONG ( STDMETHODCALLTYPE *AddRef )(
34759 ID3D12GBVDiagnostics * This);
34760
34761 DECLSPEC_XFGVIRT(IUnknown, Release)
34762 ULONG ( STDMETHODCALLTYPE *Release )(
34763 ID3D12GBVDiagnostics * This);
34764
34765 DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVEntireSubresourceStatesData)
34766 HRESULT ( STDMETHODCALLTYPE *GetGBVEntireSubresourceStatesData )(
34767 ID3D12GBVDiagnostics * This,
34768 _In_ ID3D12Resource *pResource,
34769 _Out_writes_bytes_(DataSize) int *pData,
34770 UINT DataSize);
34771
34772 DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVSubresourceState)
34773 HRESULT ( STDMETHODCALLTYPE *GetGBVSubresourceState )(
34774 ID3D12GBVDiagnostics * This,
34775 _In_ ID3D12Resource *pResource,
34776 UINT Subresource,
34777 _Out_ int *pData);
34778
34779 DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVResourceUniformState)
34780 HRESULT ( STDMETHODCALLTYPE *GetGBVResourceUniformState )(
34781 ID3D12GBVDiagnostics * This,
34782 _In_ ID3D12Resource *pResource,
34783 _Out_ int *pData);
34784
34785 DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVResourceInfo)
34786 HRESULT ( STDMETHODCALLTYPE *GetGBVResourceInfo )(
34787 ID3D12GBVDiagnostics * This,
34788 _In_ ID3D12Resource *pResource,
34789 _In_opt_ D3D12_RESOURCE_DESC *pResourceDesc,
34790 _In_opt_ UINT32 *pResourceHash,
34791 _In_opt_ UINT32 *pSubresourceStatesByteOffset);
34792
34793 DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GBVReserved0)
34794 void ( STDMETHODCALLTYPE *GBVReserved0 )(
34795 ID3D12GBVDiagnostics * This);
34796
34797 DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GBVReserved1)
34798 void ( STDMETHODCALLTYPE *GBVReserved1 )(
34799 ID3D12GBVDiagnostics * This);
34800
34801 END_INTERFACE
34802 } ID3D12GBVDiagnosticsVtbl;
34803
34804 interface ID3D12GBVDiagnostics
34805 {
34806 CONST_VTBL struct ID3D12GBVDiagnosticsVtbl *lpVtbl;
34807 };
34808
34809
34810
34811#ifdef COBJMACROS
34812
34813
34814#define ID3D12GBVDiagnostics_QueryInterface(This,riid,ppvObject) \
34815 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
34816
34817#define ID3D12GBVDiagnostics_AddRef(This) \
34818 ( (This)->lpVtbl -> AddRef(This) )
34819
34820#define ID3D12GBVDiagnostics_Release(This) \
34821 ( (This)->lpVtbl -> Release(This) )
34822
34823
34824#define ID3D12GBVDiagnostics_GetGBVEntireSubresourceStatesData(This,pResource,pData,DataSize) \
34825 ( (This)->lpVtbl -> GetGBVEntireSubresourceStatesData(This,pResource,pData,DataSize) )
34826
34827#define ID3D12GBVDiagnostics_GetGBVSubresourceState(This,pResource,Subresource,pData) \
34828 ( (This)->lpVtbl -> GetGBVSubresourceState(This,pResource,Subresource,pData) )
34829
34830#define ID3D12GBVDiagnostics_GetGBVResourceUniformState(This,pResource,pData) \
34831 ( (This)->lpVtbl -> GetGBVResourceUniformState(This,pResource,pData) )
34832
34833#define ID3D12GBVDiagnostics_GetGBVResourceInfo(This,pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) \
34834 ( (This)->lpVtbl -> GetGBVResourceInfo(This,pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) )
34835
34836#define ID3D12GBVDiagnostics_GBVReserved0(This) \
34837 ( (This)->lpVtbl -> GBVReserved0(This) )
34838
34839#define ID3D12GBVDiagnostics_GBVReserved1(This) \
34840 ( (This)->lpVtbl -> GBVReserved1(This) )
34841
34842#endif /* COBJMACROS */
34843
34844
34845#endif /* C style interface */
34846
34847
34848
34849
34850#endif /* __ID3D12GBVDiagnostics_INTERFACE_DEFINED__ */
34851
34852
34853/* interface __MIDL_itf_d3d12_0000_0074 */
34854/* [local] */
34855
34856#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
34857#ifdef _MSC_VER
34858#pragma endregion
34859#endif
34860DEFINE_GUID(IID_ID3D12Object,0xc4fec28f,0x7966,0x4e95,0x9f,0x94,0xf4,0x31,0xcb,0x56,0xc3,0xb8);
34861DEFINE_GUID(IID_ID3D12DeviceChild,0x905db94b,0xa00c,0x4140,0x9d,0xf5,0x2b,0x64,0xca,0x9e,0xa3,0x57);
34862DEFINE_GUID(IID_ID3D12RootSignature,0xc54a6b66,0x72df,0x4ee8,0x8b,0xe5,0xa9,0x46,0xa1,0x42,0x92,0x14);
34863DEFINE_GUID(IID_ID3D12RootSignatureDeserializer,0x34AB647B,0x3CC8,0x46AC,0x84,0x1B,0xC0,0x96,0x56,0x45,0xC0,0x46);
34864DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer,0x7F91CE67,0x090C,0x4BB7,0xB7,0x8E,0xED,0x8F,0xF2,0xE3,0x1D,0xA0);
34865DEFINE_GUID(IID_ID3D12Pageable,0x63ee58fb,0x1268,0x4835,0x86,0xda,0xf0,0x08,0xce,0x62,0xf0,0xd6);
34866DEFINE_GUID(IID_ID3D12Heap,0x6b3b2502,0x6e51,0x45b3,0x90,0xee,0x98,0x84,0x26,0x5e,0x8d,0xf3);
34867DEFINE_GUID(IID_ID3D12Resource,0x696442be,0xa72e,0x4059,0xbc,0x79,0x5b,0x5c,0x98,0x04,0x0f,0xad);
34868DEFINE_GUID(IID_ID3D12CommandAllocator,0x6102dee4,0xaf59,0x4b09,0xb9,0x99,0xb4,0x4d,0x73,0xf0,0x9b,0x24);
34869DEFINE_GUID(IID_ID3D12Fence,0x0a753dcf,0xc4d8,0x4b91,0xad,0xf6,0xbe,0x5a,0x60,0xd9,0x5a,0x76);
34870DEFINE_GUID(IID_ID3D12Fence1,0x433685fe,0xe22b,0x4ca0,0xa8,0xdb,0xb5,0xb4,0xf4,0xdd,0x0e,0x4a);
34871DEFINE_GUID(IID_ID3D12PipelineState,0x765a30f3,0xf624,0x4c6f,0xa8,0x28,0xac,0xe9,0x48,0x62,0x24,0x45);
34872DEFINE_GUID(IID_ID3D12DescriptorHeap,0x8efb471d,0x616c,0x4f49,0x90,0xf7,0x12,0x7b,0xb7,0x63,0xfa,0x51);
34873DEFINE_GUID(IID_ID3D12QueryHeap,0x0d9658ae,0xed45,0x469e,0xa6,0x1d,0x97,0x0e,0xc5,0x83,0xca,0xb4);
34874DEFINE_GUID(IID_ID3D12CommandSignature,0xc36a797c,0xec80,0x4f0a,0x89,0x85,0xa7,0xb2,0x47,0x50,0x82,0xd1);
34875DEFINE_GUID(IID_ID3D12CommandList,0x7116d91c,0xe7e4,0x47ce,0xb8,0xc6,0xec,0x81,0x68,0xf4,0x37,0xe5);
34876DEFINE_GUID(IID_ID3D12GraphicsCommandList,0x5b160d0f,0xac1b,0x4185,0x8b,0xa8,0xb3,0xae,0x42,0xa5,0xa4,0x55);
34877DEFINE_GUID(IID_ID3D12GraphicsCommandList1,0x553103fb,0x1fe7,0x4557,0xbb,0x38,0x94,0x6d,0x7d,0x0e,0x7c,0xa7);
34878DEFINE_GUID(IID_ID3D12GraphicsCommandList2,0x38C3E585,0xFF17,0x412C,0x91,0x50,0x4F,0xC6,0xF9,0xD7,0x2A,0x28);
34879DEFINE_GUID(IID_ID3D12CommandQueue,0x0ec870a6,0x5d7e,0x4c22,0x8c,0xfc,0x5b,0xaa,0xe0,0x76,0x16,0xed);
34880DEFINE_GUID(IID_ID3D12Device,0x189819f1,0x1db6,0x4b57,0xbe,0x54,0x18,0x21,0x33,0x9b,0x85,0xf7);
34881DEFINE_GUID(IID_ID3D12PipelineLibrary,0xc64226a8,0x9201,0x46af,0xb4,0xcc,0x53,0xfb,0x9f,0xf7,0x41,0x4f);
34882DEFINE_GUID(IID_ID3D12PipelineLibrary1,0x80eabf42,0x2568,0x4e5e,0xbd,0x82,0xc3,0x7f,0x86,0x96,0x1d,0xc3);
34883DEFINE_GUID(IID_ID3D12Device1,0x77acce80,0x638e,0x4e65,0x88,0x95,0xc1,0xf2,0x33,0x86,0x86,0x3e);
34884DEFINE_GUID(IID_ID3D12Device2,0x30baa41e,0xb15b,0x475c,0xa0,0xbb,0x1a,0xf5,0xc5,0xb6,0x43,0x28);
34885DEFINE_GUID(IID_ID3D12Device3,0x81dadc15,0x2bad,0x4392,0x93,0xc5,0x10,0x13,0x45,0xc4,0xaa,0x98);
34886DEFINE_GUID(IID_ID3D12ProtectedSession,0xA1533D18,0x0AC1,0x4084,0x85,0xB9,0x89,0xA9,0x61,0x16,0x80,0x6B);
34887DEFINE_GUID(IID_ID3D12ProtectedResourceSession,0x6CD696F4,0xF289,0x40CC,0x80,0x91,0x5A,0x6C,0x0A,0x09,0x9C,0x3D);
34888DEFINE_GUID(IID_ID3D12Device4,0xe865df17,0xa9ee,0x46f9,0xa4,0x63,0x30,0x98,0x31,0x5a,0xa2,0xe5);
34889DEFINE_GUID(IID_ID3D12LifetimeOwner,0xe667af9f,0xcd56,0x4f46,0x83,0xce,0x03,0x2e,0x59,0x5d,0x70,0xa8);
34890DEFINE_GUID(IID_ID3D12SwapChainAssistant,0xf1df64b6,0x57fd,0x49cd,0x88,0x07,0xc0,0xeb,0x88,0xb4,0x5c,0x8f);
34891DEFINE_GUID(IID_ID3D12LifetimeTracker,0x3fd03d36,0x4eb1,0x424a,0xa5,0x82,0x49,0x4e,0xcb,0x8b,0xa8,0x13);
34892DEFINE_GUID(IID_ID3D12StateObject,0x47016943,0xfca8,0x4594,0x93,0xea,0xaf,0x25,0x8b,0x55,0x34,0x6d);
34893DEFINE_GUID(IID_ID3D12StateObjectProperties,0xde5fa827,0x9bf9,0x4f26,0x89,0xff,0xd7,0xf5,0x6f,0xde,0x38,0x60);
34894DEFINE_GUID(IID_ID3D12StateObjectProperties1,0x460caac7,0x1d24,0x446a,0xa1,0x84,0xca,0x67,0xdb,0x49,0x41,0x38);
34895DEFINE_GUID(IID_ID3D12WorkGraphProperties,0x065acf71,0xf863,0x4b89,0x82,0xf4,0x02,0xe4,0xd5,0x88,0x67,0x57);
34896DEFINE_GUID(IID_ID3D12Device5,0x8b4f173b,0x2fea,0x4b80,0x8f,0x58,0x43,0x07,0x19,0x1a,0xb9,0x5d);
34897DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings,0x82BC481C,0x6B9B,0x4030,0xAE,0xDB,0x7E,0xE3,0xD1,0xDF,0x1E,0x63);
34898DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings1,0xDBD5AE51,0x3317,0x4F0A,0xAD,0xF9,0x1D,0x7C,0xED,0xCA,0xAE,0x0B);
34899DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings2,0x61552388,0x01ab,0x4008,0xa4,0x36,0x83,0xdb,0x18,0x95,0x66,0xea);
34900DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData,0x98931D33,0x5AE8,0x4791,0xAA,0x3C,0x1A,0x73,0xA2,0x93,0x4E,0x71);
34901DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData1,0x9727A022,0xCF1D,0x4DDA,0x9E,0xBA,0xEF,0xFA,0x65,0x3F,0xC5,0x06);
34902DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData2,0x67FC5816,0xE4CA,0x4915,0xBF,0x18,0x42,0x54,0x12,0x72,0xDA,0x54);
34903DEFINE_GUID(IID_ID3D12Device6,0xc70b221b,0x40e4,0x4a17,0x89,0xaf,0x02,0x5a,0x07,0x27,0xa6,0xdc);
34904DEFINE_GUID(IID_ID3D12ProtectedResourceSession1,0xD6F12DD6,0x76FB,0x406E,0x89,0x61,0x42,0x96,0xEE,0xFC,0x04,0x09);
34905DEFINE_GUID(IID_ID3D12Device7,0x5c014b53,0x68a1,0x4b9b,0x8b,0xd1,0xdd,0x60,0x46,0xb9,0x35,0x8b);
34906DEFINE_GUID(IID_ID3D12Device8,0x9218E6BB,0xF944,0x4F7E,0xA7,0x5C,0xB1,0xB2,0xC7,0xB7,0x01,0xF3);
34907DEFINE_GUID(IID_ID3D12Resource1,0x9D5E227A,0x4430,0x4161,0x88,0xB3,0x3E,0xCA,0x6B,0xB1,0x6E,0x19);
34908DEFINE_GUID(IID_ID3D12Resource2,0xBE36EC3B,0xEA85,0x4AEB,0xA4,0x5A,0xE9,0xD7,0x64,0x04,0xA4,0x95);
34909DEFINE_GUID(IID_ID3D12Heap1,0x572F7389,0x2168,0x49E3,0x96,0x93,0xD6,0xDF,0x58,0x71,0xBF,0x6D);
34910DEFINE_GUID(IID_ID3D12GraphicsCommandList3,0x6FDA83A7,0xB84C,0x4E38,0x9A,0xC8,0xC7,0xBD,0x22,0x01,0x6B,0x3D);
34911DEFINE_GUID(IID_ID3D12MetaCommand,0xDBB84C27,0x36CE,0x4FC9,0xB8,0x01,0xF0,0x48,0xC4,0x6A,0xC5,0x70);
34912DEFINE_GUID(IID_ID3D12GraphicsCommandList4,0x8754318e,0xd3a9,0x4541,0x98,0xcf,0x64,0x5b,0x50,0xdc,0x48,0x74);
34913DEFINE_GUID(IID_ID3D12ShaderCacheSession,0x28e2495d,0x0f64,0x4ae4,0xa6,0xec,0x12,0x92,0x55,0xdc,0x49,0xa8);
34914DEFINE_GUID(IID_ID3D12Device9,0x4c80e962,0xf032,0x4f60,0xbc,0x9e,0xeb,0xc2,0xcf,0xa1,0xd8,0x3c);
34915DEFINE_GUID(IID_ID3D12Device10,0x517f8718,0xaa66,0x49f9,0xb0,0x2b,0xa7,0xab,0x89,0xc0,0x60,0x31);
34916DEFINE_GUID(IID_ID3D12Device11,0x5405c344,0xd457,0x444e,0xb4,0xdd,0x23,0x66,0xe4,0x5a,0xee,0x39);
34917DEFINE_GUID(IID_ID3D12Device12,0x5af5c532,0x4c91,0x4cd0,0xb5,0x41,0x15,0xa4,0x05,0x39,0x5f,0xc5);
34918DEFINE_GUID(IID_ID3D12Device13,0x14eecffc,0x4df8,0x40f7,0xa1,0x18,0x5c,0x81,0x6f,0x45,0x69,0x5e);
34919DEFINE_GUID(IID_ID3D12Device14,0x5f6e592d,0xd895,0x44c2,0x8e,0x4a,0x88,0xad,0x49,0x26,0xd3,0x23);
34920DEFINE_GUID(IID_ID3D12VirtualizationGuestDevice,0xbc66d368,0x7373,0x4943,0x87,0x57,0xfc,0x87,0xdc,0x79,0xe4,0x76);
34921DEFINE_GUID(IID_ID3D12Tools,0x7071e1f0,0xe84b,0x4b33,0x97,0x4f,0x12,0xfa,0x49,0xde,0x65,0xc5);
34922DEFINE_GUID(IID_ID3D12SDKConfiguration,0xe9eb5314,0x33aa,0x42b2,0xa7,0x18,0xd7,0x7f,0x58,0xb1,0xf1,0xc7);
34923DEFINE_GUID(IID_ID3D12SDKConfiguration1,0x8aaf9303,0xad25,0x48b9,0x9a,0x57,0xd9,0xc3,0x7e,0x00,0x9d,0x9f);
34924DEFINE_GUID(IID_ID3D12DeviceFactory,0x61f307d3,0xd34e,0x4e7c,0x83,0x74,0x3b,0xa4,0xde,0x23,0xcc,0xcb);
34925DEFINE_GUID(IID_ID3D12DeviceConfiguration,0x78dbf87b,0xf766,0x422b,0xa6,0x1c,0xc8,0xc4,0x46,0xbd,0xb9,0xad);
34926DEFINE_GUID(IID_ID3D12DeviceConfiguration1,0xed342442,0x6343,0x4e16,0xbb,0x82,0xa3,0xa5,0x77,0x87,0x4e,0x56);
34927DEFINE_GUID(IID_ID3D12GraphicsCommandList5,0x55050859,0x4024,0x474c,0x87,0xf5,0x64,0x72,0xea,0xee,0x44,0xea);
34928DEFINE_GUID(IID_ID3D12GraphicsCommandList6,0xc3827890,0xe548,0x4cfa,0x96,0xcf,0x56,0x89,0xa9,0x37,0x0f,0x80);
34929DEFINE_GUID(IID_ID3D12GraphicsCommandList7,0xdd171223,0x8b61,0x4769,0x90,0xe3,0x16,0x0c,0xcd,0xe4,0xe2,0xc1);
34930DEFINE_GUID(IID_ID3D12GraphicsCommandList8,0xee936ef9,0x599d,0x4d28,0x93,0x8e,0x23,0xc4,0xad,0x05,0xce,0x51);
34931DEFINE_GUID(IID_ID3D12GraphicsCommandList9,0x34ed2808,0xffe6,0x4c2b,0xb1,0x1a,0xca,0xbd,0x2b,0x0c,0x59,0xe1);
34932DEFINE_GUID(IID_ID3D12GraphicsCommandList10,0x7013c015,0xd161,0x4b63,0xa0,0x8c,0x23,0x85,0x52,0xdd,0x8a,0xcc);
34933DEFINE_GUID(IID_ID3D12GBVDiagnostics,0x597985ab,0x9b75,0x4dbb,0xbe,0x23,0x07,0x61,0x19,0x5b,0xeb,0xee);
34934
34935
34936extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0074_v0_0_c_ifspec;
34937extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0074_v0_0_s_ifspec;
34938
34939/* Additional Prototypes for ALL interfaces */
34940
34941/* end of Additional Prototypes */
34942
34943#ifdef __cplusplus
34944}
34945#endif
34946
34947#endif
34948
34949
diff --git a/contrib/SDL-3.2.8/src/video/directx/d3d12sdklayers.h b/contrib/SDL-3.2.8/src/video/directx/d3d12sdklayers.h
new file mode 100644
index 0000000..2628d62
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/directx/d3d12sdklayers.h
@@ -0,0 +1,4267 @@
1/*-------------------------------------------------------------------------------------
2 *
3 * Copyright (c) Microsoft Corporation
4 * Licensed under the MIT license
5 *
6 *-------------------------------------------------------------------------------------*/
7
8
9/* this ALWAYS GENERATED file contains the definitions for the interfaces */
10
11
12 /* File created by MIDL compiler version 8.01.0628 */
13
14
15
16/* verify that the <rpcndr.h> version is high enough to compile this file*/
17#ifndef __REQUIRED_RPCNDR_H_VERSION__
18#define __REQUIRED_RPCNDR_H_VERSION__ 500
19#endif
20
21/* verify that the <rpcsal.h> version is high enough to compile this file*/
22#ifndef __REQUIRED_RPCSAL_H_VERSION__
23#define __REQUIRED_RPCSAL_H_VERSION__ 100
24#endif
25
26#include "rpc.h"
27#include "rpcndr.h"
28
29#ifndef __RPCNDR_H_VERSION__
30#error this stub requires an updated version of <rpcndr.h>
31#endif /* __RPCNDR_H_VERSION__ */
32
33#ifndef COM_NO_WINDOWS_H
34#include "windows.h"
35#include "ole2.h"
36#endif /*COM_NO_WINDOWS_H*/
37
38#ifndef __d3d12sdklayers_h__
39#define __d3d12sdklayers_h__
40
41#if defined(_MSC_VER) && (_MSC_VER >= 1020)
42#pragma once
43#endif
44
45#ifndef DECLSPEC_XFGVIRT
46#if defined(_CONTROL_FLOW_GUARD_XFG)
47#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
48#else
49#define DECLSPEC_XFGVIRT(base, func)
50#endif
51#endif
52
53/* Forward Declarations */
54
55#ifndef __ID3D12Debug_FWD_DEFINED__
56#define __ID3D12Debug_FWD_DEFINED__
57typedef interface ID3D12Debug ID3D12Debug;
58
59#endif /* __ID3D12Debug_FWD_DEFINED__ */
60
61
62#ifndef __ID3D12Debug1_FWD_DEFINED__
63#define __ID3D12Debug1_FWD_DEFINED__
64typedef interface ID3D12Debug1 ID3D12Debug1;
65
66#endif /* __ID3D12Debug1_FWD_DEFINED__ */
67
68
69#ifndef __ID3D12Debug2_FWD_DEFINED__
70#define __ID3D12Debug2_FWD_DEFINED__
71typedef interface ID3D12Debug2 ID3D12Debug2;
72
73#endif /* __ID3D12Debug2_FWD_DEFINED__ */
74
75
76#ifndef __ID3D12Debug3_FWD_DEFINED__
77#define __ID3D12Debug3_FWD_DEFINED__
78typedef interface ID3D12Debug3 ID3D12Debug3;
79
80#endif /* __ID3D12Debug3_FWD_DEFINED__ */
81
82
83#ifndef __ID3D12Debug4_FWD_DEFINED__
84#define __ID3D12Debug4_FWD_DEFINED__
85typedef interface ID3D12Debug4 ID3D12Debug4;
86
87#endif /* __ID3D12Debug4_FWD_DEFINED__ */
88
89
90#ifndef __ID3D12Debug5_FWD_DEFINED__
91#define __ID3D12Debug5_FWD_DEFINED__
92typedef interface ID3D12Debug5 ID3D12Debug5;
93
94#endif /* __ID3D12Debug5_FWD_DEFINED__ */
95
96
97#ifndef __ID3D12Debug6_FWD_DEFINED__
98#define __ID3D12Debug6_FWD_DEFINED__
99typedef interface ID3D12Debug6 ID3D12Debug6;
100
101#endif /* __ID3D12Debug6_FWD_DEFINED__ */
102
103
104#ifndef __ID3D12DebugDevice1_FWD_DEFINED__
105#define __ID3D12DebugDevice1_FWD_DEFINED__
106typedef interface ID3D12DebugDevice1 ID3D12DebugDevice1;
107
108#endif /* __ID3D12DebugDevice1_FWD_DEFINED__ */
109
110
111#ifndef __ID3D12DebugDevice_FWD_DEFINED__
112#define __ID3D12DebugDevice_FWD_DEFINED__
113typedef interface ID3D12DebugDevice ID3D12DebugDevice;
114
115#endif /* __ID3D12DebugDevice_FWD_DEFINED__ */
116
117
118#ifndef __ID3D12DebugDevice2_FWD_DEFINED__
119#define __ID3D12DebugDevice2_FWD_DEFINED__
120typedef interface ID3D12DebugDevice2 ID3D12DebugDevice2;
121
122#endif /* __ID3D12DebugDevice2_FWD_DEFINED__ */
123
124
125#ifndef __ID3D12DebugCommandQueue_FWD_DEFINED__
126#define __ID3D12DebugCommandQueue_FWD_DEFINED__
127typedef interface ID3D12DebugCommandQueue ID3D12DebugCommandQueue;
128
129#endif /* __ID3D12DebugCommandQueue_FWD_DEFINED__ */
130
131
132#ifndef __ID3D12DebugCommandQueue1_FWD_DEFINED__
133#define __ID3D12DebugCommandQueue1_FWD_DEFINED__
134typedef interface ID3D12DebugCommandQueue1 ID3D12DebugCommandQueue1;
135
136#endif /* __ID3D12DebugCommandQueue1_FWD_DEFINED__ */
137
138
139#ifndef __ID3D12DebugCommandList1_FWD_DEFINED__
140#define __ID3D12DebugCommandList1_FWD_DEFINED__
141typedef interface ID3D12DebugCommandList1 ID3D12DebugCommandList1;
142
143#endif /* __ID3D12DebugCommandList1_FWD_DEFINED__ */
144
145
146#ifndef __ID3D12DebugCommandList_FWD_DEFINED__
147#define __ID3D12DebugCommandList_FWD_DEFINED__
148typedef interface ID3D12DebugCommandList ID3D12DebugCommandList;
149
150#endif /* __ID3D12DebugCommandList_FWD_DEFINED__ */
151
152
153#ifndef __ID3D12DebugCommandList2_FWD_DEFINED__
154#define __ID3D12DebugCommandList2_FWD_DEFINED__
155typedef interface ID3D12DebugCommandList2 ID3D12DebugCommandList2;
156
157#endif /* __ID3D12DebugCommandList2_FWD_DEFINED__ */
158
159
160#ifndef __ID3D12DebugCommandList3_FWD_DEFINED__
161#define __ID3D12DebugCommandList3_FWD_DEFINED__
162typedef interface ID3D12DebugCommandList3 ID3D12DebugCommandList3;
163
164#endif /* __ID3D12DebugCommandList3_FWD_DEFINED__ */
165
166
167#ifndef __ID3D12SharingContract_FWD_DEFINED__
168#define __ID3D12SharingContract_FWD_DEFINED__
169typedef interface ID3D12SharingContract ID3D12SharingContract;
170
171#endif /* __ID3D12SharingContract_FWD_DEFINED__ */
172
173
174#ifndef __ID3D12ManualWriteTrackingResource_FWD_DEFINED__
175#define __ID3D12ManualWriteTrackingResource_FWD_DEFINED__
176typedef interface ID3D12ManualWriteTrackingResource ID3D12ManualWriteTrackingResource;
177
178#endif /* __ID3D12ManualWriteTrackingResource_FWD_DEFINED__ */
179
180
181#ifndef __ID3D12InfoQueue_FWD_DEFINED__
182#define __ID3D12InfoQueue_FWD_DEFINED__
183typedef interface ID3D12InfoQueue ID3D12InfoQueue;
184
185#endif /* __ID3D12InfoQueue_FWD_DEFINED__ */
186
187
188#ifndef __ID3D12InfoQueue1_FWD_DEFINED__
189#define __ID3D12InfoQueue1_FWD_DEFINED__
190typedef interface ID3D12InfoQueue1 ID3D12InfoQueue1;
191
192#endif /* __ID3D12InfoQueue1_FWD_DEFINED__ */
193
194
195/* header files for imported files */
196#include "oaidl.h"
197#include "ocidl.h"
198#include "d3d12.h"
199
200#ifdef __cplusplus
201extern "C"{
202#endif
203
204
205/* interface __MIDL_itf_d3d12sdklayers_0000_0000 */
206/* [local] */
207
208#include <winapifamily.h>
209#ifdef _MSC_VER
210#pragma region App Family
211#endif
212#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
213
214
215extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_c_ifspec;
216extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_s_ifspec;
217
218#ifndef __ID3D12Debug_INTERFACE_DEFINED__
219#define __ID3D12Debug_INTERFACE_DEFINED__
220
221/* interface ID3D12Debug */
222/* [unique][local][object][uuid] */
223
224
225EXTERN_C const IID IID_ID3D12Debug;
226
227#if defined(__cplusplus) && !defined(CINTERFACE)
228
229 MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0")
230 ID3D12Debug : public IUnknown
231 {
232 public:
233 virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0;
234
235 };
236
237
238#else /* C style interface */
239
240 typedef struct ID3D12DebugVtbl
241 {
242 BEGIN_INTERFACE
243
244 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
245 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
246 ID3D12Debug * This,
247 REFIID riid,
248 _COM_Outptr_ void **ppvObject);
249
250 DECLSPEC_XFGVIRT(IUnknown, AddRef)
251 ULONG ( STDMETHODCALLTYPE *AddRef )(
252 ID3D12Debug * This);
253
254 DECLSPEC_XFGVIRT(IUnknown, Release)
255 ULONG ( STDMETHODCALLTYPE *Release )(
256 ID3D12Debug * This);
257
258 DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer)
259 void ( STDMETHODCALLTYPE *EnableDebugLayer )(
260 ID3D12Debug * This);
261
262 END_INTERFACE
263 } ID3D12DebugVtbl;
264
265 interface ID3D12Debug
266 {
267 CONST_VTBL struct ID3D12DebugVtbl *lpVtbl;
268 };
269
270
271
272#ifdef COBJMACROS
273
274
275#define ID3D12Debug_QueryInterface(This,riid,ppvObject) \
276 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
277
278#define ID3D12Debug_AddRef(This) \
279 ( (This)->lpVtbl -> AddRef(This) )
280
281#define ID3D12Debug_Release(This) \
282 ( (This)->lpVtbl -> Release(This) )
283
284
285#define ID3D12Debug_EnableDebugLayer(This) \
286 ( (This)->lpVtbl -> EnableDebugLayer(This) )
287
288#endif /* COBJMACROS */
289
290
291#endif /* C style interface */
292
293
294
295
296#endif /* __ID3D12Debug_INTERFACE_DEFINED__ */
297
298
299/* interface __MIDL_itf_d3d12sdklayers_0000_0001 */
300/* [local] */
301
302typedef
303enum D3D12_GPU_BASED_VALIDATION_FLAGS
304 {
305 D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0,
306 D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x1
307 } D3D12_GPU_BASED_VALIDATION_FLAGS;
308
309DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_FLAGS)
310
311
312extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_c_ifspec;
313extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_s_ifspec;
314
315#ifndef __ID3D12Debug1_INTERFACE_DEFINED__
316#define __ID3D12Debug1_INTERFACE_DEFINED__
317
318/* interface ID3D12Debug1 */
319/* [unique][local][object][uuid] */
320
321
322EXTERN_C const IID IID_ID3D12Debug1;
323
324#if defined(__cplusplus) && !defined(CINTERFACE)
325
326 MIDL_INTERFACE("affaa4ca-63fe-4d8e-b8ad-159000af4304")
327 ID3D12Debug1 : public IUnknown
328 {
329 public:
330 virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0;
331
332 virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation(
333 BOOL Enable) = 0;
334
335 virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation(
336 BOOL Enable) = 0;
337
338 };
339
340
341#else /* C style interface */
342
343 typedef struct ID3D12Debug1Vtbl
344 {
345 BEGIN_INTERFACE
346
347 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
348 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
349 ID3D12Debug1 * This,
350 REFIID riid,
351 _COM_Outptr_ void **ppvObject);
352
353 DECLSPEC_XFGVIRT(IUnknown, AddRef)
354 ULONG ( STDMETHODCALLTYPE *AddRef )(
355 ID3D12Debug1 * This);
356
357 DECLSPEC_XFGVIRT(IUnknown, Release)
358 ULONG ( STDMETHODCALLTYPE *Release )(
359 ID3D12Debug1 * This);
360
361 DECLSPEC_XFGVIRT(ID3D12Debug1, EnableDebugLayer)
362 void ( STDMETHODCALLTYPE *EnableDebugLayer )(
363 ID3D12Debug1 * This);
364
365 DECLSPEC_XFGVIRT(ID3D12Debug1, SetEnableGPUBasedValidation)
366 void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
367 ID3D12Debug1 * This,
368 BOOL Enable);
369
370 DECLSPEC_XFGVIRT(ID3D12Debug1, SetEnableSynchronizedCommandQueueValidation)
371 void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
372 ID3D12Debug1 * This,
373 BOOL Enable);
374
375 END_INTERFACE
376 } ID3D12Debug1Vtbl;
377
378 interface ID3D12Debug1
379 {
380 CONST_VTBL struct ID3D12Debug1Vtbl *lpVtbl;
381 };
382
383
384
385#ifdef COBJMACROS
386
387
388#define ID3D12Debug1_QueryInterface(This,riid,ppvObject) \
389 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
390
391#define ID3D12Debug1_AddRef(This) \
392 ( (This)->lpVtbl -> AddRef(This) )
393
394#define ID3D12Debug1_Release(This) \
395 ( (This)->lpVtbl -> Release(This) )
396
397
398#define ID3D12Debug1_EnableDebugLayer(This) \
399 ( (This)->lpVtbl -> EnableDebugLayer(This) )
400
401#define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable) \
402 ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
403
404#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
405 ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
406
407#endif /* COBJMACROS */
408
409
410#endif /* C style interface */
411
412
413
414
415#endif /* __ID3D12Debug1_INTERFACE_DEFINED__ */
416
417
418#ifndef __ID3D12Debug2_INTERFACE_DEFINED__
419#define __ID3D12Debug2_INTERFACE_DEFINED__
420
421/* interface ID3D12Debug2 */
422/* [unique][local][object][uuid] */
423
424
425EXTERN_C const IID IID_ID3D12Debug2;
426
427#if defined(__cplusplus) && !defined(CINTERFACE)
428
429 MIDL_INTERFACE("93a665c4-a3b2-4e5d-b692-a26ae14e3374")
430 ID3D12Debug2 : public IUnknown
431 {
432 public:
433 virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags(
434 D3D12_GPU_BASED_VALIDATION_FLAGS Flags) = 0;
435
436 };
437
438
439#else /* C style interface */
440
441 typedef struct ID3D12Debug2Vtbl
442 {
443 BEGIN_INTERFACE
444
445 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
446 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
447 ID3D12Debug2 * This,
448 REFIID riid,
449 _COM_Outptr_ void **ppvObject);
450
451 DECLSPEC_XFGVIRT(IUnknown, AddRef)
452 ULONG ( STDMETHODCALLTYPE *AddRef )(
453 ID3D12Debug2 * This);
454
455 DECLSPEC_XFGVIRT(IUnknown, Release)
456 ULONG ( STDMETHODCALLTYPE *Release )(
457 ID3D12Debug2 * This);
458
459 DECLSPEC_XFGVIRT(ID3D12Debug2, SetGPUBasedValidationFlags)
460 void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )(
461 ID3D12Debug2 * This,
462 D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
463
464 END_INTERFACE
465 } ID3D12Debug2Vtbl;
466
467 interface ID3D12Debug2
468 {
469 CONST_VTBL struct ID3D12Debug2Vtbl *lpVtbl;
470 };
471
472
473
474#ifdef COBJMACROS
475
476
477#define ID3D12Debug2_QueryInterface(This,riid,ppvObject) \
478 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
479
480#define ID3D12Debug2_AddRef(This) \
481 ( (This)->lpVtbl -> AddRef(This) )
482
483#define ID3D12Debug2_Release(This) \
484 ( (This)->lpVtbl -> Release(This) )
485
486
487#define ID3D12Debug2_SetGPUBasedValidationFlags(This,Flags) \
488 ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) )
489
490#endif /* COBJMACROS */
491
492
493#endif /* C style interface */
494
495
496
497
498#endif /* __ID3D12Debug2_INTERFACE_DEFINED__ */
499
500
501#ifndef __ID3D12Debug3_INTERFACE_DEFINED__
502#define __ID3D12Debug3_INTERFACE_DEFINED__
503
504/* interface ID3D12Debug3 */
505/* [unique][local][object][uuid] */
506
507
508EXTERN_C const IID IID_ID3D12Debug3;
509
510#if defined(__cplusplus) && !defined(CINTERFACE)
511
512 MIDL_INTERFACE("5cf4e58f-f671-4ff1-a542-3686e3d153d1")
513 ID3D12Debug3 : public ID3D12Debug
514 {
515 public:
516 virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation(
517 BOOL Enable) = 0;
518
519 virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation(
520 BOOL Enable) = 0;
521
522 virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags(
523 D3D12_GPU_BASED_VALIDATION_FLAGS Flags) = 0;
524
525 };
526
527
528#else /* C style interface */
529
530 typedef struct ID3D12Debug3Vtbl
531 {
532 BEGIN_INTERFACE
533
534 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
535 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
536 ID3D12Debug3 * This,
537 REFIID riid,
538 _COM_Outptr_ void **ppvObject);
539
540 DECLSPEC_XFGVIRT(IUnknown, AddRef)
541 ULONG ( STDMETHODCALLTYPE *AddRef )(
542 ID3D12Debug3 * This);
543
544 DECLSPEC_XFGVIRT(IUnknown, Release)
545 ULONG ( STDMETHODCALLTYPE *Release )(
546 ID3D12Debug3 * This);
547
548 DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer)
549 void ( STDMETHODCALLTYPE *EnableDebugLayer )(
550 ID3D12Debug3 * This);
551
552 DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation)
553 void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
554 ID3D12Debug3 * This,
555 BOOL Enable);
556
557 DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation)
558 void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
559 ID3D12Debug3 * This,
560 BOOL Enable);
561
562 DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags)
563 void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )(
564 ID3D12Debug3 * This,
565 D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
566
567 END_INTERFACE
568 } ID3D12Debug3Vtbl;
569
570 interface ID3D12Debug3
571 {
572 CONST_VTBL struct ID3D12Debug3Vtbl *lpVtbl;
573 };
574
575
576
577#ifdef COBJMACROS
578
579
580#define ID3D12Debug3_QueryInterface(This,riid,ppvObject) \
581 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
582
583#define ID3D12Debug3_AddRef(This) \
584 ( (This)->lpVtbl -> AddRef(This) )
585
586#define ID3D12Debug3_Release(This) \
587 ( (This)->lpVtbl -> Release(This) )
588
589
590#define ID3D12Debug3_EnableDebugLayer(This) \
591 ( (This)->lpVtbl -> EnableDebugLayer(This) )
592
593
594#define ID3D12Debug3_SetEnableGPUBasedValidation(This,Enable) \
595 ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
596
597#define ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
598 ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
599
600#define ID3D12Debug3_SetGPUBasedValidationFlags(This,Flags) \
601 ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) )
602
603#endif /* COBJMACROS */
604
605
606#endif /* C style interface */
607
608
609
610
611#endif /* __ID3D12Debug3_INTERFACE_DEFINED__ */
612
613
614#ifndef __ID3D12Debug4_INTERFACE_DEFINED__
615#define __ID3D12Debug4_INTERFACE_DEFINED__
616
617/* interface ID3D12Debug4 */
618/* [unique][local][object][uuid] */
619
620
621EXTERN_C const IID IID_ID3D12Debug4;
622
623#if defined(__cplusplus) && !defined(CINTERFACE)
624
625 MIDL_INTERFACE("014b816e-9ec5-4a2f-a845-ffbe441ce13a")
626 ID3D12Debug4 : public ID3D12Debug3
627 {
628 public:
629 virtual void STDMETHODCALLTYPE DisableDebugLayer( void) = 0;
630
631 };
632
633
634#else /* C style interface */
635
636 typedef struct ID3D12Debug4Vtbl
637 {
638 BEGIN_INTERFACE
639
640 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
641 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
642 ID3D12Debug4 * This,
643 REFIID riid,
644 _COM_Outptr_ void **ppvObject);
645
646 DECLSPEC_XFGVIRT(IUnknown, AddRef)
647 ULONG ( STDMETHODCALLTYPE *AddRef )(
648 ID3D12Debug4 * This);
649
650 DECLSPEC_XFGVIRT(IUnknown, Release)
651 ULONG ( STDMETHODCALLTYPE *Release )(
652 ID3D12Debug4 * This);
653
654 DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer)
655 void ( STDMETHODCALLTYPE *EnableDebugLayer )(
656 ID3D12Debug4 * This);
657
658 DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation)
659 void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
660 ID3D12Debug4 * This,
661 BOOL Enable);
662
663 DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation)
664 void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
665 ID3D12Debug4 * This,
666 BOOL Enable);
667
668 DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags)
669 void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )(
670 ID3D12Debug4 * This,
671 D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
672
673 DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer)
674 void ( STDMETHODCALLTYPE *DisableDebugLayer )(
675 ID3D12Debug4 * This);
676
677 END_INTERFACE
678 } ID3D12Debug4Vtbl;
679
680 interface ID3D12Debug4
681 {
682 CONST_VTBL struct ID3D12Debug4Vtbl *lpVtbl;
683 };
684
685
686
687#ifdef COBJMACROS
688
689
690#define ID3D12Debug4_QueryInterface(This,riid,ppvObject) \
691 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
692
693#define ID3D12Debug4_AddRef(This) \
694 ( (This)->lpVtbl -> AddRef(This) )
695
696#define ID3D12Debug4_Release(This) \
697 ( (This)->lpVtbl -> Release(This) )
698
699
700#define ID3D12Debug4_EnableDebugLayer(This) \
701 ( (This)->lpVtbl -> EnableDebugLayer(This) )
702
703
704#define ID3D12Debug4_SetEnableGPUBasedValidation(This,Enable) \
705 ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
706
707#define ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
708 ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
709
710#define ID3D12Debug4_SetGPUBasedValidationFlags(This,Flags) \
711 ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) )
712
713
714#define ID3D12Debug4_DisableDebugLayer(This) \
715 ( (This)->lpVtbl -> DisableDebugLayer(This) )
716
717#endif /* COBJMACROS */
718
719
720#endif /* C style interface */
721
722
723
724
725#endif /* __ID3D12Debug4_INTERFACE_DEFINED__ */
726
727
728#ifndef __ID3D12Debug5_INTERFACE_DEFINED__
729#define __ID3D12Debug5_INTERFACE_DEFINED__
730
731/* interface ID3D12Debug5 */
732/* [unique][local][object][uuid] */
733
734
735EXTERN_C const IID IID_ID3D12Debug5;
736
737#if defined(__cplusplus) && !defined(CINTERFACE)
738
739 MIDL_INTERFACE("548d6b12-09fa-40e0-9069-5dcd589a52c9")
740 ID3D12Debug5 : public ID3D12Debug4
741 {
742 public:
743 virtual void STDMETHODCALLTYPE SetEnableAutoName(
744 BOOL Enable) = 0;
745
746 };
747
748
749#else /* C style interface */
750
751 typedef struct ID3D12Debug5Vtbl
752 {
753 BEGIN_INTERFACE
754
755 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
756 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
757 ID3D12Debug5 * This,
758 REFIID riid,
759 _COM_Outptr_ void **ppvObject);
760
761 DECLSPEC_XFGVIRT(IUnknown, AddRef)
762 ULONG ( STDMETHODCALLTYPE *AddRef )(
763 ID3D12Debug5 * This);
764
765 DECLSPEC_XFGVIRT(IUnknown, Release)
766 ULONG ( STDMETHODCALLTYPE *Release )(
767 ID3D12Debug5 * This);
768
769 DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer)
770 void ( STDMETHODCALLTYPE *EnableDebugLayer )(
771 ID3D12Debug5 * This);
772
773 DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation)
774 void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
775 ID3D12Debug5 * This,
776 BOOL Enable);
777
778 DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation)
779 void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
780 ID3D12Debug5 * This,
781 BOOL Enable);
782
783 DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags)
784 void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )(
785 ID3D12Debug5 * This,
786 D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
787
788 DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer)
789 void ( STDMETHODCALLTYPE *DisableDebugLayer )(
790 ID3D12Debug5 * This);
791
792 DECLSPEC_XFGVIRT(ID3D12Debug5, SetEnableAutoName)
793 void ( STDMETHODCALLTYPE *SetEnableAutoName )(
794 ID3D12Debug5 * This,
795 BOOL Enable);
796
797 END_INTERFACE
798 } ID3D12Debug5Vtbl;
799
800 interface ID3D12Debug5
801 {
802 CONST_VTBL struct ID3D12Debug5Vtbl *lpVtbl;
803 };
804
805
806
807#ifdef COBJMACROS
808
809
810#define ID3D12Debug5_QueryInterface(This,riid,ppvObject) \
811 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
812
813#define ID3D12Debug5_AddRef(This) \
814 ( (This)->lpVtbl -> AddRef(This) )
815
816#define ID3D12Debug5_Release(This) \
817 ( (This)->lpVtbl -> Release(This) )
818
819
820#define ID3D12Debug5_EnableDebugLayer(This) \
821 ( (This)->lpVtbl -> EnableDebugLayer(This) )
822
823
824#define ID3D12Debug5_SetEnableGPUBasedValidation(This,Enable) \
825 ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
826
827#define ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
828 ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
829
830#define ID3D12Debug5_SetGPUBasedValidationFlags(This,Flags) \
831 ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) )
832
833
834#define ID3D12Debug5_DisableDebugLayer(This) \
835 ( (This)->lpVtbl -> DisableDebugLayer(This) )
836
837
838#define ID3D12Debug5_SetEnableAutoName(This,Enable) \
839 ( (This)->lpVtbl -> SetEnableAutoName(This,Enable) )
840
841#endif /* COBJMACROS */
842
843
844#endif /* C style interface */
845
846
847
848
849#endif /* __ID3D12Debug5_INTERFACE_DEFINED__ */
850
851
852#ifndef __ID3D12Debug6_INTERFACE_DEFINED__
853#define __ID3D12Debug6_INTERFACE_DEFINED__
854
855/* interface ID3D12Debug6 */
856/* [unique][local][object][uuid] */
857
858
859EXTERN_C const IID IID_ID3D12Debug6;
860
861#if defined(__cplusplus) && !defined(CINTERFACE)
862
863 MIDL_INTERFACE("82a816d6-5d01-4157-97d0-4975463fd1ed")
864 ID3D12Debug6 : public ID3D12Debug5
865 {
866 public:
867 virtual void STDMETHODCALLTYPE SetForceLegacyBarrierValidation(
868 BOOL Enable) = 0;
869
870 };
871
872
873#else /* C style interface */
874
875 typedef struct ID3D12Debug6Vtbl
876 {
877 BEGIN_INTERFACE
878
879 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
880 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
881 ID3D12Debug6 * This,
882 REFIID riid,
883 _COM_Outptr_ void **ppvObject);
884
885 DECLSPEC_XFGVIRT(IUnknown, AddRef)
886 ULONG ( STDMETHODCALLTYPE *AddRef )(
887 ID3D12Debug6 * This);
888
889 DECLSPEC_XFGVIRT(IUnknown, Release)
890 ULONG ( STDMETHODCALLTYPE *Release )(
891 ID3D12Debug6 * This);
892
893 DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer)
894 void ( STDMETHODCALLTYPE *EnableDebugLayer )(
895 ID3D12Debug6 * This);
896
897 DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation)
898 void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
899 ID3D12Debug6 * This,
900 BOOL Enable);
901
902 DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation)
903 void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
904 ID3D12Debug6 * This,
905 BOOL Enable);
906
907 DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags)
908 void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )(
909 ID3D12Debug6 * This,
910 D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
911
912 DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer)
913 void ( STDMETHODCALLTYPE *DisableDebugLayer )(
914 ID3D12Debug6 * This);
915
916 DECLSPEC_XFGVIRT(ID3D12Debug5, SetEnableAutoName)
917 void ( STDMETHODCALLTYPE *SetEnableAutoName )(
918 ID3D12Debug6 * This,
919 BOOL Enable);
920
921 DECLSPEC_XFGVIRT(ID3D12Debug6, SetForceLegacyBarrierValidation)
922 void ( STDMETHODCALLTYPE *SetForceLegacyBarrierValidation )(
923 ID3D12Debug6 * This,
924 BOOL Enable);
925
926 END_INTERFACE
927 } ID3D12Debug6Vtbl;
928
929 interface ID3D12Debug6
930 {
931 CONST_VTBL struct ID3D12Debug6Vtbl *lpVtbl;
932 };
933
934
935
936#ifdef COBJMACROS
937
938
939#define ID3D12Debug6_QueryInterface(This,riid,ppvObject) \
940 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
941
942#define ID3D12Debug6_AddRef(This) \
943 ( (This)->lpVtbl -> AddRef(This) )
944
945#define ID3D12Debug6_Release(This) \
946 ( (This)->lpVtbl -> Release(This) )
947
948
949#define ID3D12Debug6_EnableDebugLayer(This) \
950 ( (This)->lpVtbl -> EnableDebugLayer(This) )
951
952
953#define ID3D12Debug6_SetEnableGPUBasedValidation(This,Enable) \
954 ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
955
956#define ID3D12Debug6_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
957 ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
958
959#define ID3D12Debug6_SetGPUBasedValidationFlags(This,Flags) \
960 ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) )
961
962
963#define ID3D12Debug6_DisableDebugLayer(This) \
964 ( (This)->lpVtbl -> DisableDebugLayer(This) )
965
966
967#define ID3D12Debug6_SetEnableAutoName(This,Enable) \
968 ( (This)->lpVtbl -> SetEnableAutoName(This,Enable) )
969
970
971#define ID3D12Debug6_SetForceLegacyBarrierValidation(This,Enable) \
972 ( (This)->lpVtbl -> SetForceLegacyBarrierValidation(This,Enable) )
973
974#endif /* COBJMACROS */
975
976
977#endif /* C style interface */
978
979
980
981
982#endif /* __ID3D12Debug6_INTERFACE_DEFINED__ */
983
984
985/* interface __MIDL_itf_d3d12sdklayers_0000_0007 */
986/* [local] */
987
988DEFINE_GUID(WKPDID_D3DAutoDebugObjectNameW, 0xd4902e36, 0x757a, 0x4942, 0x95, 0x94, 0xb6, 0x76, 0x9a, 0xfa, 0x43, 0xcd);
989typedef
990enum D3D12_RLDO_FLAGS
991 {
992 D3D12_RLDO_NONE = 0,
993 D3D12_RLDO_SUMMARY = 0x1,
994 D3D12_RLDO_DETAIL = 0x2,
995 D3D12_RLDO_IGNORE_INTERNAL = 0x4
996 } D3D12_RLDO_FLAGS;
997
998DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS)
999typedef
1000enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE
1001 {
1002 D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0,
1003 D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = ( D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1 ) ,
1004 D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS + 1 )
1005 } D3D12_DEBUG_DEVICE_PARAMETER_TYPE;
1006
1007typedef
1008enum D3D12_DEBUG_FEATURE
1009 {
1010 D3D12_DEBUG_FEATURE_NONE = 0,
1011 D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x1,
1012 D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x2,
1013 D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x4,
1014 D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x8
1015 } D3D12_DEBUG_FEATURE;
1016
1017DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE)
1018typedef
1019enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE
1020 {
1021 D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0,
1022 D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE + 1 ) ,
1023 D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY + 1 ) ,
1024 D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION + 1 ) ,
1025 NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION + 1 )
1026 } D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE;
1027
1028typedef
1029enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS
1030 {
1031 D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0,
1032 D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x1,
1033 D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x2,
1034 D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x4,
1035 D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x7
1036 } D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS;
1037
1038DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS)
1039typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS
1040 {
1041 UINT MaxMessagesPerCommandList;
1042 D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode;
1043 D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags;
1044 } D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS;
1045
1046typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR
1047 {
1048 FLOAT SlowdownFactor;
1049 } D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR;
1050
1051
1052
1053extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_c_ifspec;
1054extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_s_ifspec;
1055
1056#ifndef __ID3D12DebugDevice1_INTERFACE_DEFINED__
1057#define __ID3D12DebugDevice1_INTERFACE_DEFINED__
1058
1059/* interface ID3D12DebugDevice1 */
1060/* [unique][local][object][uuid] */
1061
1062
1063EXTERN_C const IID IID_ID3D12DebugDevice1;
1064
1065#if defined(__cplusplus) && !defined(CINTERFACE)
1066
1067 MIDL_INTERFACE("a9b71770-d099-4a65-a698-3dee10020f88")
1068 ID3D12DebugDevice1 : public IUnknown
1069 {
1070 public:
1071 virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
1072 D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
1073 _In_reads_bytes_(DataSize) const void *pData,
1074 UINT DataSize) = 0;
1075
1076 virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
1077 D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
1078 _Out_writes_bytes_(DataSize) void *pData,
1079 UINT DataSize) = 0;
1080
1081 virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
1082 D3D12_RLDO_FLAGS Flags) = 0;
1083
1084 };
1085
1086
1087#else /* C style interface */
1088
1089 typedef struct ID3D12DebugDevice1Vtbl
1090 {
1091 BEGIN_INTERFACE
1092
1093 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
1094 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1095 ID3D12DebugDevice1 * This,
1096 REFIID riid,
1097 _COM_Outptr_ void **ppvObject);
1098
1099 DECLSPEC_XFGVIRT(IUnknown, AddRef)
1100 ULONG ( STDMETHODCALLTYPE *AddRef )(
1101 ID3D12DebugDevice1 * This);
1102
1103 DECLSPEC_XFGVIRT(IUnknown, Release)
1104 ULONG ( STDMETHODCALLTYPE *Release )(
1105 ID3D12DebugDevice1 * This);
1106
1107 DECLSPEC_XFGVIRT(ID3D12DebugDevice1, SetDebugParameter)
1108 HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
1109 ID3D12DebugDevice1 * This,
1110 D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
1111 _In_reads_bytes_(DataSize) const void *pData,
1112 UINT DataSize);
1113
1114 DECLSPEC_XFGVIRT(ID3D12DebugDevice1, GetDebugParameter)
1115 HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
1116 ID3D12DebugDevice1 * This,
1117 D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
1118 _Out_writes_bytes_(DataSize) void *pData,
1119 UINT DataSize);
1120
1121 DECLSPEC_XFGVIRT(ID3D12DebugDevice1, ReportLiveDeviceObjects)
1122 HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )(
1123 ID3D12DebugDevice1 * This,
1124 D3D12_RLDO_FLAGS Flags);
1125
1126 END_INTERFACE
1127 } ID3D12DebugDevice1Vtbl;
1128
1129 interface ID3D12DebugDevice1
1130 {
1131 CONST_VTBL struct ID3D12DebugDevice1Vtbl *lpVtbl;
1132 };
1133
1134
1135
1136#ifdef COBJMACROS
1137
1138
1139#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) \
1140 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1141
1142#define ID3D12DebugDevice1_AddRef(This) \
1143 ( (This)->lpVtbl -> AddRef(This) )
1144
1145#define ID3D12DebugDevice1_Release(This) \
1146 ( (This)->lpVtbl -> Release(This) )
1147
1148
1149#define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize) \
1150 ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
1151
1152#define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize) \
1153 ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
1154
1155#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags) \
1156 ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) )
1157
1158#endif /* COBJMACROS */
1159
1160
1161#endif /* C style interface */
1162
1163
1164
1165
1166#endif /* __ID3D12DebugDevice1_INTERFACE_DEFINED__ */
1167
1168
1169#ifndef __ID3D12DebugDevice_INTERFACE_DEFINED__
1170#define __ID3D12DebugDevice_INTERFACE_DEFINED__
1171
1172/* interface ID3D12DebugDevice */
1173/* [unique][local][object][uuid] */
1174
1175
1176EXTERN_C const IID IID_ID3D12DebugDevice;
1177
1178#if defined(__cplusplus) && !defined(CINTERFACE)
1179
1180 MIDL_INTERFACE("3febd6dd-4973-4787-8194-e45f9e28923e")
1181 ID3D12DebugDevice : public IUnknown
1182 {
1183 public:
1184 virtual HRESULT STDMETHODCALLTYPE SetFeatureMask(
1185 D3D12_DEBUG_FEATURE Mask) = 0;
1186
1187 virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0;
1188
1189 virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
1190 D3D12_RLDO_FLAGS Flags) = 0;
1191
1192 };
1193
1194
1195#else /* C style interface */
1196
1197 typedef struct ID3D12DebugDeviceVtbl
1198 {
1199 BEGIN_INTERFACE
1200
1201 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
1202 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1203 ID3D12DebugDevice * This,
1204 REFIID riid,
1205 _COM_Outptr_ void **ppvObject);
1206
1207 DECLSPEC_XFGVIRT(IUnknown, AddRef)
1208 ULONG ( STDMETHODCALLTYPE *AddRef )(
1209 ID3D12DebugDevice * This);
1210
1211 DECLSPEC_XFGVIRT(IUnknown, Release)
1212 ULONG ( STDMETHODCALLTYPE *Release )(
1213 ID3D12DebugDevice * This);
1214
1215 DECLSPEC_XFGVIRT(ID3D12DebugDevice, SetFeatureMask)
1216 HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
1217 ID3D12DebugDevice * This,
1218 D3D12_DEBUG_FEATURE Mask);
1219
1220 DECLSPEC_XFGVIRT(ID3D12DebugDevice, GetFeatureMask)
1221 D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )(
1222 ID3D12DebugDevice * This);
1223
1224 DECLSPEC_XFGVIRT(ID3D12DebugDevice, ReportLiveDeviceObjects)
1225 HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )(
1226 ID3D12DebugDevice * This,
1227 D3D12_RLDO_FLAGS Flags);
1228
1229 END_INTERFACE
1230 } ID3D12DebugDeviceVtbl;
1231
1232 interface ID3D12DebugDevice
1233 {
1234 CONST_VTBL struct ID3D12DebugDeviceVtbl *lpVtbl;
1235 };
1236
1237
1238
1239#ifdef COBJMACROS
1240
1241
1242#define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject) \
1243 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1244
1245#define ID3D12DebugDevice_AddRef(This) \
1246 ( (This)->lpVtbl -> AddRef(This) )
1247
1248#define ID3D12DebugDevice_Release(This) \
1249 ( (This)->lpVtbl -> Release(This) )
1250
1251
1252#define ID3D12DebugDevice_SetFeatureMask(This,Mask) \
1253 ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
1254
1255#define ID3D12DebugDevice_GetFeatureMask(This) \
1256 ( (This)->lpVtbl -> GetFeatureMask(This) )
1257
1258#define ID3D12DebugDevice_ReportLiveDeviceObjects(This,Flags) \
1259 ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) )
1260
1261#endif /* COBJMACROS */
1262
1263
1264#endif /* C style interface */
1265
1266
1267
1268
1269#endif /* __ID3D12DebugDevice_INTERFACE_DEFINED__ */
1270
1271
1272#ifndef __ID3D12DebugDevice2_INTERFACE_DEFINED__
1273#define __ID3D12DebugDevice2_INTERFACE_DEFINED__
1274
1275/* interface ID3D12DebugDevice2 */
1276/* [unique][local][object][uuid] */
1277
1278
1279EXTERN_C const IID IID_ID3D12DebugDevice2;
1280
1281#if defined(__cplusplus) && !defined(CINTERFACE)
1282
1283 MIDL_INTERFACE("60eccbc1-378d-4df1-894c-f8ac5ce4d7dd")
1284 ID3D12DebugDevice2 : public ID3D12DebugDevice
1285 {
1286 public:
1287 virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
1288 D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
1289 _In_reads_bytes_(DataSize) const void *pData,
1290 UINT DataSize) = 0;
1291
1292 virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
1293 D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
1294 _Out_writes_bytes_(DataSize) void *pData,
1295 UINT DataSize) = 0;
1296
1297 };
1298
1299
1300#else /* C style interface */
1301
1302 typedef struct ID3D12DebugDevice2Vtbl
1303 {
1304 BEGIN_INTERFACE
1305
1306 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
1307 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1308 ID3D12DebugDevice2 * This,
1309 REFIID riid,
1310 _COM_Outptr_ void **ppvObject);
1311
1312 DECLSPEC_XFGVIRT(IUnknown, AddRef)
1313 ULONG ( STDMETHODCALLTYPE *AddRef )(
1314 ID3D12DebugDevice2 * This);
1315
1316 DECLSPEC_XFGVIRT(IUnknown, Release)
1317 ULONG ( STDMETHODCALLTYPE *Release )(
1318 ID3D12DebugDevice2 * This);
1319
1320 DECLSPEC_XFGVIRT(ID3D12DebugDevice, SetFeatureMask)
1321 HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
1322 ID3D12DebugDevice2 * This,
1323 D3D12_DEBUG_FEATURE Mask);
1324
1325 DECLSPEC_XFGVIRT(ID3D12DebugDevice, GetFeatureMask)
1326 D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )(
1327 ID3D12DebugDevice2 * This);
1328
1329 DECLSPEC_XFGVIRT(ID3D12DebugDevice, ReportLiveDeviceObjects)
1330 HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )(
1331 ID3D12DebugDevice2 * This,
1332 D3D12_RLDO_FLAGS Flags);
1333
1334 DECLSPEC_XFGVIRT(ID3D12DebugDevice2, SetDebugParameter)
1335 HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
1336 ID3D12DebugDevice2 * This,
1337 D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
1338 _In_reads_bytes_(DataSize) const void *pData,
1339 UINT DataSize);
1340
1341 DECLSPEC_XFGVIRT(ID3D12DebugDevice2, GetDebugParameter)
1342 HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
1343 ID3D12DebugDevice2 * This,
1344 D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
1345 _Out_writes_bytes_(DataSize) void *pData,
1346 UINT DataSize);
1347
1348 END_INTERFACE
1349 } ID3D12DebugDevice2Vtbl;
1350
1351 interface ID3D12DebugDevice2
1352 {
1353 CONST_VTBL struct ID3D12DebugDevice2Vtbl *lpVtbl;
1354 };
1355
1356
1357
1358#ifdef COBJMACROS
1359
1360
1361#define ID3D12DebugDevice2_QueryInterface(This,riid,ppvObject) \
1362 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1363
1364#define ID3D12DebugDevice2_AddRef(This) \
1365 ( (This)->lpVtbl -> AddRef(This) )
1366
1367#define ID3D12DebugDevice2_Release(This) \
1368 ( (This)->lpVtbl -> Release(This) )
1369
1370
1371#define ID3D12DebugDevice2_SetFeatureMask(This,Mask) \
1372 ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
1373
1374#define ID3D12DebugDevice2_GetFeatureMask(This) \
1375 ( (This)->lpVtbl -> GetFeatureMask(This) )
1376
1377#define ID3D12DebugDevice2_ReportLiveDeviceObjects(This,Flags) \
1378 ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) )
1379
1380
1381#define ID3D12DebugDevice2_SetDebugParameter(This,Type,pData,DataSize) \
1382 ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
1383
1384#define ID3D12DebugDevice2_GetDebugParameter(This,Type,pData,DataSize) \
1385 ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
1386
1387#endif /* COBJMACROS */
1388
1389
1390#endif /* C style interface */
1391
1392
1393
1394
1395#endif /* __ID3D12DebugDevice2_INTERFACE_DEFINED__ */
1396
1397
1398/* interface __MIDL_itf_d3d12sdklayers_0000_0010 */
1399/* [local] */
1400
1401DEFINE_GUID(DXGI_DEBUG_D3D12, 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95);
1402
1403
1404extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0010_v0_0_c_ifspec;
1405extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0010_v0_0_s_ifspec;
1406
1407#ifndef __ID3D12DebugCommandQueue_INTERFACE_DEFINED__
1408#define __ID3D12DebugCommandQueue_INTERFACE_DEFINED__
1409
1410/* interface ID3D12DebugCommandQueue */
1411/* [unique][local][object][uuid] */
1412
1413
1414EXTERN_C const IID IID_ID3D12DebugCommandQueue;
1415
1416#if defined(__cplusplus) && !defined(CINTERFACE)
1417
1418 MIDL_INTERFACE("09e0bf36-54ac-484f-8847-4baeeab6053a")
1419 ID3D12DebugCommandQueue : public IUnknown
1420 {
1421 public:
1422 virtual BOOL STDMETHODCALLTYPE AssertResourceState(
1423 _In_ ID3D12Resource *pResource,
1424 UINT Subresource,
1425 UINT State) = 0;
1426
1427 };
1428
1429
1430#else /* C style interface */
1431
1432 typedef struct ID3D12DebugCommandQueueVtbl
1433 {
1434 BEGIN_INTERFACE
1435
1436 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
1437 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1438 ID3D12DebugCommandQueue * This,
1439 REFIID riid,
1440 _COM_Outptr_ void **ppvObject);
1441
1442 DECLSPEC_XFGVIRT(IUnknown, AddRef)
1443 ULONG ( STDMETHODCALLTYPE *AddRef )(
1444 ID3D12DebugCommandQueue * This);
1445
1446 DECLSPEC_XFGVIRT(IUnknown, Release)
1447 ULONG ( STDMETHODCALLTYPE *Release )(
1448 ID3D12DebugCommandQueue * This);
1449
1450 DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue, AssertResourceState)
1451 BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
1452 ID3D12DebugCommandQueue * This,
1453 _In_ ID3D12Resource *pResource,
1454 UINT Subresource,
1455 UINT State);
1456
1457 END_INTERFACE
1458 } ID3D12DebugCommandQueueVtbl;
1459
1460 interface ID3D12DebugCommandQueue
1461 {
1462 CONST_VTBL struct ID3D12DebugCommandQueueVtbl *lpVtbl;
1463 };
1464
1465
1466
1467#ifdef COBJMACROS
1468
1469
1470#define ID3D12DebugCommandQueue_QueryInterface(This,riid,ppvObject) \
1471 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1472
1473#define ID3D12DebugCommandQueue_AddRef(This) \
1474 ( (This)->lpVtbl -> AddRef(This) )
1475
1476#define ID3D12DebugCommandQueue_Release(This) \
1477 ( (This)->lpVtbl -> Release(This) )
1478
1479
1480#define ID3D12DebugCommandQueue_AssertResourceState(This,pResource,Subresource,State) \
1481 ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
1482
1483#endif /* COBJMACROS */
1484
1485
1486#endif /* C style interface */
1487
1488
1489
1490
1491#endif /* __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ */
1492
1493
1494#ifndef __ID3D12DebugCommandQueue1_INTERFACE_DEFINED__
1495#define __ID3D12DebugCommandQueue1_INTERFACE_DEFINED__
1496
1497/* interface ID3D12DebugCommandQueue1 */
1498/* [unique][local][object][uuid] */
1499
1500
1501EXTERN_C const IID IID_ID3D12DebugCommandQueue1;
1502
1503#if defined(__cplusplus) && !defined(CINTERFACE)
1504
1505 MIDL_INTERFACE("16be35a2-bfd6-49f2-bcae-eaae4aff862d")
1506 ID3D12DebugCommandQueue1 : public ID3D12DebugCommandQueue
1507 {
1508 public:
1509 virtual void STDMETHODCALLTYPE AssertResourceAccess(
1510 _In_ ID3D12Resource *pResource,
1511 UINT Subresource,
1512 D3D12_BARRIER_ACCESS Access) = 0;
1513
1514 virtual void STDMETHODCALLTYPE AssertTextureLayout(
1515 _In_ ID3D12Resource *pResource,
1516 UINT Subresource,
1517 D3D12_BARRIER_LAYOUT Layout) = 0;
1518
1519 };
1520
1521
1522#else /* C style interface */
1523
1524 typedef struct ID3D12DebugCommandQueue1Vtbl
1525 {
1526 BEGIN_INTERFACE
1527
1528 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
1529 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1530 ID3D12DebugCommandQueue1 * This,
1531 REFIID riid,
1532 _COM_Outptr_ void **ppvObject);
1533
1534 DECLSPEC_XFGVIRT(IUnknown, AddRef)
1535 ULONG ( STDMETHODCALLTYPE *AddRef )(
1536 ID3D12DebugCommandQueue1 * This);
1537
1538 DECLSPEC_XFGVIRT(IUnknown, Release)
1539 ULONG ( STDMETHODCALLTYPE *Release )(
1540 ID3D12DebugCommandQueue1 * This);
1541
1542 DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue, AssertResourceState)
1543 BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
1544 ID3D12DebugCommandQueue1 * This,
1545 _In_ ID3D12Resource *pResource,
1546 UINT Subresource,
1547 UINT State);
1548
1549 DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue1, AssertResourceAccess)
1550 void ( STDMETHODCALLTYPE *AssertResourceAccess )(
1551 ID3D12DebugCommandQueue1 * This,
1552 _In_ ID3D12Resource *pResource,
1553 UINT Subresource,
1554 D3D12_BARRIER_ACCESS Access);
1555
1556 DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue1, AssertTextureLayout)
1557 void ( STDMETHODCALLTYPE *AssertTextureLayout )(
1558 ID3D12DebugCommandQueue1 * This,
1559 _In_ ID3D12Resource *pResource,
1560 UINT Subresource,
1561 D3D12_BARRIER_LAYOUT Layout);
1562
1563 END_INTERFACE
1564 } ID3D12DebugCommandQueue1Vtbl;
1565
1566 interface ID3D12DebugCommandQueue1
1567 {
1568 CONST_VTBL struct ID3D12DebugCommandQueue1Vtbl *lpVtbl;
1569 };
1570
1571
1572
1573#ifdef COBJMACROS
1574
1575
1576#define ID3D12DebugCommandQueue1_QueryInterface(This,riid,ppvObject) \
1577 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1578
1579#define ID3D12DebugCommandQueue1_AddRef(This) \
1580 ( (This)->lpVtbl -> AddRef(This) )
1581
1582#define ID3D12DebugCommandQueue1_Release(This) \
1583 ( (This)->lpVtbl -> Release(This) )
1584
1585
1586#define ID3D12DebugCommandQueue1_AssertResourceState(This,pResource,Subresource,State) \
1587 ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
1588
1589
1590#define ID3D12DebugCommandQueue1_AssertResourceAccess(This,pResource,Subresource,Access) \
1591 ( (This)->lpVtbl -> AssertResourceAccess(This,pResource,Subresource,Access) )
1592
1593#define ID3D12DebugCommandQueue1_AssertTextureLayout(This,pResource,Subresource,Layout) \
1594 ( (This)->lpVtbl -> AssertTextureLayout(This,pResource,Subresource,Layout) )
1595
1596#endif /* COBJMACROS */
1597
1598
1599#endif /* C style interface */
1600
1601
1602
1603
1604#endif /* __ID3D12DebugCommandQueue1_INTERFACE_DEFINED__ */
1605
1606
1607/* interface __MIDL_itf_d3d12sdklayers_0000_0012 */
1608/* [local] */
1609
1610typedef
1611enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE
1612 {
1613 D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 0
1614 } D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE;
1615
1616typedef struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS
1617 {
1618 D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode;
1619 } D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS;
1620
1621
1622
1623extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0012_v0_0_c_ifspec;
1624extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0012_v0_0_s_ifspec;
1625
1626#ifndef __ID3D12DebugCommandList1_INTERFACE_DEFINED__
1627#define __ID3D12DebugCommandList1_INTERFACE_DEFINED__
1628
1629/* interface ID3D12DebugCommandList1 */
1630/* [unique][local][object][uuid] */
1631
1632
1633EXTERN_C const IID IID_ID3D12DebugCommandList1;
1634
1635#if defined(__cplusplus) && !defined(CINTERFACE)
1636
1637 MIDL_INTERFACE("102ca951-311b-4b01-b11f-ecb83e061b37")
1638 ID3D12DebugCommandList1 : public IUnknown
1639 {
1640 public:
1641 virtual BOOL STDMETHODCALLTYPE AssertResourceState(
1642 _In_ ID3D12Resource *pResource,
1643 UINT Subresource,
1644 UINT State) = 0;
1645
1646 virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
1647 D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
1648 _In_reads_bytes_(DataSize) const void *pData,
1649 UINT DataSize) = 0;
1650
1651 virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
1652 D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
1653 _Out_writes_bytes_(DataSize) void *pData,
1654 UINT DataSize) = 0;
1655
1656 };
1657
1658
1659#else /* C style interface */
1660
1661 typedef struct ID3D12DebugCommandList1Vtbl
1662 {
1663 BEGIN_INTERFACE
1664
1665 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
1666 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1667 ID3D12DebugCommandList1 * This,
1668 REFIID riid,
1669 _COM_Outptr_ void **ppvObject);
1670
1671 DECLSPEC_XFGVIRT(IUnknown, AddRef)
1672 ULONG ( STDMETHODCALLTYPE *AddRef )(
1673 ID3D12DebugCommandList1 * This);
1674
1675 DECLSPEC_XFGVIRT(IUnknown, Release)
1676 ULONG ( STDMETHODCALLTYPE *Release )(
1677 ID3D12DebugCommandList1 * This);
1678
1679 DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, AssertResourceState)
1680 BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
1681 ID3D12DebugCommandList1 * This,
1682 _In_ ID3D12Resource *pResource,
1683 UINT Subresource,
1684 UINT State);
1685
1686 DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, SetDebugParameter)
1687 HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
1688 ID3D12DebugCommandList1 * This,
1689 D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
1690 _In_reads_bytes_(DataSize) const void *pData,
1691 UINT DataSize);
1692
1693 DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, GetDebugParameter)
1694 HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
1695 ID3D12DebugCommandList1 * This,
1696 D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
1697 _Out_writes_bytes_(DataSize) void *pData,
1698 UINT DataSize);
1699
1700 END_INTERFACE
1701 } ID3D12DebugCommandList1Vtbl;
1702
1703 interface ID3D12DebugCommandList1
1704 {
1705 CONST_VTBL struct ID3D12DebugCommandList1Vtbl *lpVtbl;
1706 };
1707
1708
1709
1710#ifdef COBJMACROS
1711
1712
1713#define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject) \
1714 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1715
1716#define ID3D12DebugCommandList1_AddRef(This) \
1717 ( (This)->lpVtbl -> AddRef(This) )
1718
1719#define ID3D12DebugCommandList1_Release(This) \
1720 ( (This)->lpVtbl -> Release(This) )
1721
1722
1723#define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State) \
1724 ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
1725
1726#define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize) \
1727 ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
1728
1729#define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize) \
1730 ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
1731
1732#endif /* COBJMACROS */
1733
1734
1735#endif /* C style interface */
1736
1737
1738
1739
1740#endif /* __ID3D12DebugCommandList1_INTERFACE_DEFINED__ */
1741
1742
1743#ifndef __ID3D12DebugCommandList_INTERFACE_DEFINED__
1744#define __ID3D12DebugCommandList_INTERFACE_DEFINED__
1745
1746/* interface ID3D12DebugCommandList */
1747/* [unique][local][object][uuid] */
1748
1749
1750EXTERN_C const IID IID_ID3D12DebugCommandList;
1751
1752#if defined(__cplusplus) && !defined(CINTERFACE)
1753
1754 MIDL_INTERFACE("09e0bf36-54ac-484f-8847-4baeeab6053f")
1755 ID3D12DebugCommandList : public IUnknown
1756 {
1757 public:
1758 virtual BOOL STDMETHODCALLTYPE AssertResourceState(
1759 _In_ ID3D12Resource *pResource,
1760 UINT Subresource,
1761 UINT State) = 0;
1762
1763 virtual HRESULT STDMETHODCALLTYPE SetFeatureMask(
1764 D3D12_DEBUG_FEATURE Mask) = 0;
1765
1766 virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0;
1767
1768 };
1769
1770
1771#else /* C style interface */
1772
1773 typedef struct ID3D12DebugCommandListVtbl
1774 {
1775 BEGIN_INTERFACE
1776
1777 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
1778 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1779 ID3D12DebugCommandList * This,
1780 REFIID riid,
1781 _COM_Outptr_ void **ppvObject);
1782
1783 DECLSPEC_XFGVIRT(IUnknown, AddRef)
1784 ULONG ( STDMETHODCALLTYPE *AddRef )(
1785 ID3D12DebugCommandList * This);
1786
1787 DECLSPEC_XFGVIRT(IUnknown, Release)
1788 ULONG ( STDMETHODCALLTYPE *Release )(
1789 ID3D12DebugCommandList * This);
1790
1791 DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState)
1792 BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
1793 ID3D12DebugCommandList * This,
1794 _In_ ID3D12Resource *pResource,
1795 UINT Subresource,
1796 UINT State);
1797
1798 DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask)
1799 HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
1800 ID3D12DebugCommandList * This,
1801 D3D12_DEBUG_FEATURE Mask);
1802
1803 DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask)
1804 D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )(
1805 ID3D12DebugCommandList * This);
1806
1807 END_INTERFACE
1808 } ID3D12DebugCommandListVtbl;
1809
1810 interface ID3D12DebugCommandList
1811 {
1812 CONST_VTBL struct ID3D12DebugCommandListVtbl *lpVtbl;
1813 };
1814
1815
1816
1817#ifdef COBJMACROS
1818
1819
1820#define ID3D12DebugCommandList_QueryInterface(This,riid,ppvObject) \
1821 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1822
1823#define ID3D12DebugCommandList_AddRef(This) \
1824 ( (This)->lpVtbl -> AddRef(This) )
1825
1826#define ID3D12DebugCommandList_Release(This) \
1827 ( (This)->lpVtbl -> Release(This) )
1828
1829
1830#define ID3D12DebugCommandList_AssertResourceState(This,pResource,Subresource,State) \
1831 ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
1832
1833#define ID3D12DebugCommandList_SetFeatureMask(This,Mask) \
1834 ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
1835
1836#define ID3D12DebugCommandList_GetFeatureMask(This) \
1837 ( (This)->lpVtbl -> GetFeatureMask(This) )
1838
1839#endif /* COBJMACROS */
1840
1841
1842#endif /* C style interface */
1843
1844
1845
1846
1847#endif /* __ID3D12DebugCommandList_INTERFACE_DEFINED__ */
1848
1849
1850#ifndef __ID3D12DebugCommandList2_INTERFACE_DEFINED__
1851#define __ID3D12DebugCommandList2_INTERFACE_DEFINED__
1852
1853/* interface ID3D12DebugCommandList2 */
1854/* [unique][local][object][uuid] */
1855
1856
1857EXTERN_C const IID IID_ID3D12DebugCommandList2;
1858
1859#if defined(__cplusplus) && !defined(CINTERFACE)
1860
1861 MIDL_INTERFACE("aeb575cf-4e06-48be-ba3b-c450fc96652e")
1862 ID3D12DebugCommandList2 : public ID3D12DebugCommandList
1863 {
1864 public:
1865 virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
1866 D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
1867 _In_reads_bytes_(DataSize) const void *pData,
1868 UINT DataSize) = 0;
1869
1870 virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
1871 D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
1872 _Out_writes_bytes_(DataSize) void *pData,
1873 UINT DataSize) = 0;
1874
1875 };
1876
1877
1878#else /* C style interface */
1879
1880 typedef struct ID3D12DebugCommandList2Vtbl
1881 {
1882 BEGIN_INTERFACE
1883
1884 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
1885 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1886 ID3D12DebugCommandList2 * This,
1887 REFIID riid,
1888 _COM_Outptr_ void **ppvObject);
1889
1890 DECLSPEC_XFGVIRT(IUnknown, AddRef)
1891 ULONG ( STDMETHODCALLTYPE *AddRef )(
1892 ID3D12DebugCommandList2 * This);
1893
1894 DECLSPEC_XFGVIRT(IUnknown, Release)
1895 ULONG ( STDMETHODCALLTYPE *Release )(
1896 ID3D12DebugCommandList2 * This);
1897
1898 DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState)
1899 BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
1900 ID3D12DebugCommandList2 * This,
1901 _In_ ID3D12Resource *pResource,
1902 UINT Subresource,
1903 UINT State);
1904
1905 DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask)
1906 HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
1907 ID3D12DebugCommandList2 * This,
1908 D3D12_DEBUG_FEATURE Mask);
1909
1910 DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask)
1911 D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )(
1912 ID3D12DebugCommandList2 * This);
1913
1914 DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, SetDebugParameter)
1915 HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
1916 ID3D12DebugCommandList2 * This,
1917 D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
1918 _In_reads_bytes_(DataSize) const void *pData,
1919 UINT DataSize);
1920
1921 DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, GetDebugParameter)
1922 HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
1923 ID3D12DebugCommandList2 * This,
1924 D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
1925 _Out_writes_bytes_(DataSize) void *pData,
1926 UINT DataSize);
1927
1928 END_INTERFACE
1929 } ID3D12DebugCommandList2Vtbl;
1930
1931 interface ID3D12DebugCommandList2
1932 {
1933 CONST_VTBL struct ID3D12DebugCommandList2Vtbl *lpVtbl;
1934 };
1935
1936
1937
1938#ifdef COBJMACROS
1939
1940
1941#define ID3D12DebugCommandList2_QueryInterface(This,riid,ppvObject) \
1942 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1943
1944#define ID3D12DebugCommandList2_AddRef(This) \
1945 ( (This)->lpVtbl -> AddRef(This) )
1946
1947#define ID3D12DebugCommandList2_Release(This) \
1948 ( (This)->lpVtbl -> Release(This) )
1949
1950
1951#define ID3D12DebugCommandList2_AssertResourceState(This,pResource,Subresource,State) \
1952 ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
1953
1954#define ID3D12DebugCommandList2_SetFeatureMask(This,Mask) \
1955 ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
1956
1957#define ID3D12DebugCommandList2_GetFeatureMask(This) \
1958 ( (This)->lpVtbl -> GetFeatureMask(This) )
1959
1960
1961#define ID3D12DebugCommandList2_SetDebugParameter(This,Type,pData,DataSize) \
1962 ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
1963
1964#define ID3D12DebugCommandList2_GetDebugParameter(This,Type,pData,DataSize) \
1965 ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
1966
1967#endif /* COBJMACROS */
1968
1969
1970#endif /* C style interface */
1971
1972
1973
1974
1975#endif /* __ID3D12DebugCommandList2_INTERFACE_DEFINED__ */
1976
1977
1978#ifndef __ID3D12DebugCommandList3_INTERFACE_DEFINED__
1979#define __ID3D12DebugCommandList3_INTERFACE_DEFINED__
1980
1981/* interface ID3D12DebugCommandList3 */
1982/* [unique][local][object][uuid] */
1983
1984
1985EXTERN_C const IID IID_ID3D12DebugCommandList3;
1986
1987#if defined(__cplusplus) && !defined(CINTERFACE)
1988
1989 MIDL_INTERFACE("197d5e15-4d37-4d34-af78-724cd70fdb1f")
1990 ID3D12DebugCommandList3 : public ID3D12DebugCommandList2
1991 {
1992 public:
1993 virtual void STDMETHODCALLTYPE AssertResourceAccess(
1994 _In_ ID3D12Resource *pResource,
1995 UINT Subresource,
1996 D3D12_BARRIER_ACCESS Access) = 0;
1997
1998 virtual void STDMETHODCALLTYPE AssertTextureLayout(
1999 _In_ ID3D12Resource *pResource,
2000 UINT Subresource,
2001 D3D12_BARRIER_LAYOUT Layout) = 0;
2002
2003 };
2004
2005
2006#else /* C style interface */
2007
2008 typedef struct ID3D12DebugCommandList3Vtbl
2009 {
2010 BEGIN_INTERFACE
2011
2012 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
2013 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2014 ID3D12DebugCommandList3 * This,
2015 REFIID riid,
2016 _COM_Outptr_ void **ppvObject);
2017
2018 DECLSPEC_XFGVIRT(IUnknown, AddRef)
2019 ULONG ( STDMETHODCALLTYPE *AddRef )(
2020 ID3D12DebugCommandList3 * This);
2021
2022 DECLSPEC_XFGVIRT(IUnknown, Release)
2023 ULONG ( STDMETHODCALLTYPE *Release )(
2024 ID3D12DebugCommandList3 * This);
2025
2026 DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState)
2027 BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
2028 ID3D12DebugCommandList3 * This,
2029 _In_ ID3D12Resource *pResource,
2030 UINT Subresource,
2031 UINT State);
2032
2033 DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask)
2034 HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
2035 ID3D12DebugCommandList3 * This,
2036 D3D12_DEBUG_FEATURE Mask);
2037
2038 DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask)
2039 D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )(
2040 ID3D12DebugCommandList3 * This);
2041
2042 DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, SetDebugParameter)
2043 HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
2044 ID3D12DebugCommandList3 * This,
2045 D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
2046 _In_reads_bytes_(DataSize) const void *pData,
2047 UINT DataSize);
2048
2049 DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, GetDebugParameter)
2050 HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
2051 ID3D12DebugCommandList3 * This,
2052 D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
2053 _Out_writes_bytes_(DataSize) void *pData,
2054 UINT DataSize);
2055
2056 DECLSPEC_XFGVIRT(ID3D12DebugCommandList3, AssertResourceAccess)
2057 void ( STDMETHODCALLTYPE *AssertResourceAccess )(
2058 ID3D12DebugCommandList3 * This,
2059 _In_ ID3D12Resource *pResource,
2060 UINT Subresource,
2061 D3D12_BARRIER_ACCESS Access);
2062
2063 DECLSPEC_XFGVIRT(ID3D12DebugCommandList3, AssertTextureLayout)
2064 void ( STDMETHODCALLTYPE *AssertTextureLayout )(
2065 ID3D12DebugCommandList3 * This,
2066 _In_ ID3D12Resource *pResource,
2067 UINT Subresource,
2068 D3D12_BARRIER_LAYOUT Layout);
2069
2070 END_INTERFACE
2071 } ID3D12DebugCommandList3Vtbl;
2072
2073 interface ID3D12DebugCommandList3
2074 {
2075 CONST_VTBL struct ID3D12DebugCommandList3Vtbl *lpVtbl;
2076 };
2077
2078
2079
2080#ifdef COBJMACROS
2081
2082
2083#define ID3D12DebugCommandList3_QueryInterface(This,riid,ppvObject) \
2084 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2085
2086#define ID3D12DebugCommandList3_AddRef(This) \
2087 ( (This)->lpVtbl -> AddRef(This) )
2088
2089#define ID3D12DebugCommandList3_Release(This) \
2090 ( (This)->lpVtbl -> Release(This) )
2091
2092
2093#define ID3D12DebugCommandList3_AssertResourceState(This,pResource,Subresource,State) \
2094 ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
2095
2096#define ID3D12DebugCommandList3_SetFeatureMask(This,Mask) \
2097 ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
2098
2099#define ID3D12DebugCommandList3_GetFeatureMask(This) \
2100 ( (This)->lpVtbl -> GetFeatureMask(This) )
2101
2102
2103#define ID3D12DebugCommandList3_SetDebugParameter(This,Type,pData,DataSize) \
2104 ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
2105
2106#define ID3D12DebugCommandList3_GetDebugParameter(This,Type,pData,DataSize) \
2107 ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
2108
2109
2110#define ID3D12DebugCommandList3_AssertResourceAccess(This,pResource,Subresource,Access) \
2111 ( (This)->lpVtbl -> AssertResourceAccess(This,pResource,Subresource,Access) )
2112
2113#define ID3D12DebugCommandList3_AssertTextureLayout(This,pResource,Subresource,Layout) \
2114 ( (This)->lpVtbl -> AssertTextureLayout(This,pResource,Subresource,Layout) )
2115
2116#endif /* COBJMACROS */
2117
2118
2119#endif /* C style interface */
2120
2121
2122
2123
2124#endif /* __ID3D12DebugCommandList3_INTERFACE_DEFINED__ */
2125
2126
2127#ifndef __ID3D12SharingContract_INTERFACE_DEFINED__
2128#define __ID3D12SharingContract_INTERFACE_DEFINED__
2129
2130/* interface ID3D12SharingContract */
2131/* [unique][local][object][uuid] */
2132
2133
2134EXTERN_C const IID IID_ID3D12SharingContract;
2135
2136#if defined(__cplusplus) && !defined(CINTERFACE)
2137
2138 MIDL_INTERFACE("0adf7d52-929c-4e61-addb-ffed30de66ef")
2139 ID3D12SharingContract : public IUnknown
2140 {
2141 public:
2142 virtual void STDMETHODCALLTYPE Present(
2143 _In_ ID3D12Resource *pResource,
2144 UINT Subresource,
2145 _In_ HWND window) = 0;
2146
2147 virtual void STDMETHODCALLTYPE SharedFenceSignal(
2148 _In_ ID3D12Fence *pFence,
2149 UINT64 FenceValue) = 0;
2150
2151 virtual void STDMETHODCALLTYPE BeginCapturableWork(
2152 _In_ REFGUID guid) = 0;
2153
2154 virtual void STDMETHODCALLTYPE EndCapturableWork(
2155 _In_ REFGUID guid) = 0;
2156
2157 };
2158
2159
2160#else /* C style interface */
2161
2162 typedef struct ID3D12SharingContractVtbl
2163 {
2164 BEGIN_INTERFACE
2165
2166 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
2167 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2168 ID3D12SharingContract * This,
2169 REFIID riid,
2170 _COM_Outptr_ void **ppvObject);
2171
2172 DECLSPEC_XFGVIRT(IUnknown, AddRef)
2173 ULONG ( STDMETHODCALLTYPE *AddRef )(
2174 ID3D12SharingContract * This);
2175
2176 DECLSPEC_XFGVIRT(IUnknown, Release)
2177 ULONG ( STDMETHODCALLTYPE *Release )(
2178 ID3D12SharingContract * This);
2179
2180 DECLSPEC_XFGVIRT(ID3D12SharingContract, Present)
2181 void ( STDMETHODCALLTYPE *Present )(
2182 ID3D12SharingContract * This,
2183 _In_ ID3D12Resource *pResource,
2184 UINT Subresource,
2185 _In_ HWND window);
2186
2187 DECLSPEC_XFGVIRT(ID3D12SharingContract, SharedFenceSignal)
2188 void ( STDMETHODCALLTYPE *SharedFenceSignal )(
2189 ID3D12SharingContract * This,
2190 _In_ ID3D12Fence *pFence,
2191 UINT64 FenceValue);
2192
2193 DECLSPEC_XFGVIRT(ID3D12SharingContract, BeginCapturableWork)
2194 void ( STDMETHODCALLTYPE *BeginCapturableWork )(
2195 ID3D12SharingContract * This,
2196 _In_ REFGUID guid);
2197
2198 DECLSPEC_XFGVIRT(ID3D12SharingContract, EndCapturableWork)
2199 void ( STDMETHODCALLTYPE *EndCapturableWork )(
2200 ID3D12SharingContract * This,
2201 _In_ REFGUID guid);
2202
2203 END_INTERFACE
2204 } ID3D12SharingContractVtbl;
2205
2206 interface ID3D12SharingContract
2207 {
2208 CONST_VTBL struct ID3D12SharingContractVtbl *lpVtbl;
2209 };
2210
2211
2212
2213#ifdef COBJMACROS
2214
2215
2216#define ID3D12SharingContract_QueryInterface(This,riid,ppvObject) \
2217 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2218
2219#define ID3D12SharingContract_AddRef(This) \
2220 ( (This)->lpVtbl -> AddRef(This) )
2221
2222#define ID3D12SharingContract_Release(This) \
2223 ( (This)->lpVtbl -> Release(This) )
2224
2225
2226#define ID3D12SharingContract_Present(This,pResource,Subresource,window) \
2227 ( (This)->lpVtbl -> Present(This,pResource,Subresource,window) )
2228
2229#define ID3D12SharingContract_SharedFenceSignal(This,pFence,FenceValue) \
2230 ( (This)->lpVtbl -> SharedFenceSignal(This,pFence,FenceValue) )
2231
2232#define ID3D12SharingContract_BeginCapturableWork(This,guid) \
2233 ( (This)->lpVtbl -> BeginCapturableWork(This,guid) )
2234
2235#define ID3D12SharingContract_EndCapturableWork(This,guid) \
2236 ( (This)->lpVtbl -> EndCapturableWork(This,guid) )
2237
2238#endif /* COBJMACROS */
2239
2240
2241#endif /* C style interface */
2242
2243
2244
2245
2246#endif /* __ID3D12SharingContract_INTERFACE_DEFINED__ */
2247
2248
2249#ifndef __ID3D12ManualWriteTrackingResource_INTERFACE_DEFINED__
2250#define __ID3D12ManualWriteTrackingResource_INTERFACE_DEFINED__
2251
2252/* interface ID3D12ManualWriteTrackingResource */
2253/* [unique][local][object][uuid] */
2254
2255
2256EXTERN_C const IID IID_ID3D12ManualWriteTrackingResource;
2257
2258#if defined(__cplusplus) && !defined(CINTERFACE)
2259
2260 MIDL_INTERFACE("86ca3b85-49ad-4b6e-aed5-eddb18540f41")
2261 ID3D12ManualWriteTrackingResource : public IUnknown
2262 {
2263 public:
2264 virtual void STDMETHODCALLTYPE TrackWrite(
2265 UINT Subresource,
2266 _In_opt_ const D3D12_RANGE *pWrittenRange) = 0;
2267
2268 };
2269
2270
2271#else /* C style interface */
2272
2273 typedef struct ID3D12ManualWriteTrackingResourceVtbl
2274 {
2275 BEGIN_INTERFACE
2276
2277 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
2278 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2279 ID3D12ManualWriteTrackingResource * This,
2280 REFIID riid,
2281 _COM_Outptr_ void **ppvObject);
2282
2283 DECLSPEC_XFGVIRT(IUnknown, AddRef)
2284 ULONG ( STDMETHODCALLTYPE *AddRef )(
2285 ID3D12ManualWriteTrackingResource * This);
2286
2287 DECLSPEC_XFGVIRT(IUnknown, Release)
2288 ULONG ( STDMETHODCALLTYPE *Release )(
2289 ID3D12ManualWriteTrackingResource * This);
2290
2291 DECLSPEC_XFGVIRT(ID3D12ManualWriteTrackingResource, TrackWrite)
2292 void ( STDMETHODCALLTYPE *TrackWrite )(
2293 ID3D12ManualWriteTrackingResource * This,
2294 UINT Subresource,
2295 _In_opt_ const D3D12_RANGE *pWrittenRange);
2296
2297 END_INTERFACE
2298 } ID3D12ManualWriteTrackingResourceVtbl;
2299
2300 interface ID3D12ManualWriteTrackingResource
2301 {
2302 CONST_VTBL struct ID3D12ManualWriteTrackingResourceVtbl *lpVtbl;
2303 };
2304
2305
2306
2307#ifdef COBJMACROS
2308
2309
2310#define ID3D12ManualWriteTrackingResource_QueryInterface(This,riid,ppvObject) \
2311 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2312
2313#define ID3D12ManualWriteTrackingResource_AddRef(This) \
2314 ( (This)->lpVtbl -> AddRef(This) )
2315
2316#define ID3D12ManualWriteTrackingResource_Release(This) \
2317 ( (This)->lpVtbl -> Release(This) )
2318
2319
2320#define ID3D12ManualWriteTrackingResource_TrackWrite(This,Subresource,pWrittenRange) \
2321 ( (This)->lpVtbl -> TrackWrite(This,Subresource,pWrittenRange) )
2322
2323#endif /* COBJMACROS */
2324
2325
2326#endif /* C style interface */
2327
2328
2329
2330
2331#endif /* __ID3D12ManualWriteTrackingResource_INTERFACE_DEFINED__ */
2332
2333
2334/* interface __MIDL_itf_d3d12sdklayers_0000_0018 */
2335/* [local] */
2336
2337typedef
2338enum D3D12_MESSAGE_CATEGORY
2339 {
2340 D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0,
2341 D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = ( D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED + 1 ) ,
2342 D3D12_MESSAGE_CATEGORY_INITIALIZATION = ( D3D12_MESSAGE_CATEGORY_MISCELLANEOUS + 1 ) ,
2343 D3D12_MESSAGE_CATEGORY_CLEANUP = ( D3D12_MESSAGE_CATEGORY_INITIALIZATION + 1 ) ,
2344 D3D12_MESSAGE_CATEGORY_COMPILATION = ( D3D12_MESSAGE_CATEGORY_CLEANUP + 1 ) ,
2345 D3D12_MESSAGE_CATEGORY_STATE_CREATION = ( D3D12_MESSAGE_CATEGORY_COMPILATION + 1 ) ,
2346 D3D12_MESSAGE_CATEGORY_STATE_SETTING = ( D3D12_MESSAGE_CATEGORY_STATE_CREATION + 1 ) ,
2347 D3D12_MESSAGE_CATEGORY_STATE_GETTING = ( D3D12_MESSAGE_CATEGORY_STATE_SETTING + 1 ) ,
2348 D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = ( D3D12_MESSAGE_CATEGORY_STATE_GETTING + 1 ) ,
2349 D3D12_MESSAGE_CATEGORY_EXECUTION = ( D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION + 1 ) ,
2350 D3D12_MESSAGE_CATEGORY_SHADER = ( D3D12_MESSAGE_CATEGORY_EXECUTION + 1 )
2351 } D3D12_MESSAGE_CATEGORY;
2352
2353typedef
2354enum D3D12_MESSAGE_SEVERITY
2355 {
2356 D3D12_MESSAGE_SEVERITY_CORRUPTION = 0,
2357 D3D12_MESSAGE_SEVERITY_ERROR = ( D3D12_MESSAGE_SEVERITY_CORRUPTION + 1 ) ,
2358 D3D12_MESSAGE_SEVERITY_WARNING = ( D3D12_MESSAGE_SEVERITY_ERROR + 1 ) ,
2359 D3D12_MESSAGE_SEVERITY_INFO = ( D3D12_MESSAGE_SEVERITY_WARNING + 1 ) ,
2360 D3D12_MESSAGE_SEVERITY_MESSAGE = ( D3D12_MESSAGE_SEVERITY_INFO + 1 )
2361 } D3D12_MESSAGE_SEVERITY;
2362
2363typedef
2364enum D3D12_MESSAGE_ID
2365 {
2366 D3D12_MESSAGE_ID_UNKNOWN = 0,
2367 D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 1,
2368 D3D12_MESSAGE_ID_CORRUPTED_THIS = 2,
2369 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 3,
2370 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 4,
2371 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 5,
2372 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 6,
2373 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 7,
2374 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 8,
2375 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 9,
2376 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 10,
2377 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 11,
2378 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 12,
2379 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 13,
2380 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 14,
2381 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 15,
2382 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 16,
2383 D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 17,
2384 D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 18,
2385 D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 19,
2386 D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 20,
2387 D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 21,
2388 D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 24,
2389 D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 25,
2390 D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26,
2391 D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 27,
2392 D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28,
2393 D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29,
2394 D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30,
2395 D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31,
2396 D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32,
2397 D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35,
2398 D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36,
2399 D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 37,
2400 D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 38,
2401 D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39,
2402 D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40,
2403 D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41,
2404 D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42,
2405 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45,
2406 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46,
2407 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47,
2408 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48,
2409 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49,
2410 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 52,
2411 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53,
2412 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 54,
2413 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55,
2414 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 56,
2415 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57,
2416 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58,
2417 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59,
2418 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60,
2419 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61,
2420 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62,
2421 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63,
2422 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 64,
2423 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 65,
2424 D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 66,
2425 D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67,
2426 D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68,
2427 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 69,
2428 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70,
2429 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71,
2430 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72,
2431 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73,
2432 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74,
2433 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75,
2434 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76,
2435 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79,
2436 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80,
2437 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81,
2438 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82,
2439 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 83,
2440 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84,
2441 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85,
2442 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86,
2443 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87,
2444 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88,
2445 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89,
2446 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90,
2447 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91,
2448 D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 92,
2449 D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93,
2450 D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 94,
2451 D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 95,
2452 D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 96,
2453 D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97,
2454 D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98,
2455 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100,
2456 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101,
2457 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102,
2458 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103,
2459 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104,
2460 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105,
2461 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106,
2462 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107,
2463 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108,
2464 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109,
2465 D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 111,
2466 D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 112,
2467 D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 113,
2468 D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114,
2469 D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115,
2470 D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116,
2471 D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117,
2472 D3D12_MESSAGE_ID_GET_PROGRAM_IDENTIFIER_ERROR = 118,
2473 D3D12_MESSAGE_ID_GET_WORK_GRAPH_PROPERTIES_ERROR = 119,
2474 D3D12_MESSAGE_ID_SET_PROGRAM_ERROR = 120,
2475 D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135,
2476 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200,
2477 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201,
2478 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202,
2479 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209,
2480 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210,
2481 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211,
2482 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212,
2483 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213,
2484 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219,
2485 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221,
2486 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222,
2487 D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 232,
2488 D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233,
2489 D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234,
2490 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239,
2491 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240,
2492 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 245,
2493 D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253,
2494 D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 255,
2495 D3D12_MESSAGE_ID_LIVE_DEVICE = 274,
2496 D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 275,
2497 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276,
2498 D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277,
2499 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278,
2500 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280,
2501 D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283,
2502 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284,
2503 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285,
2504 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286,
2505 D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287,
2506 D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 289,
2507 D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290,
2508 D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 291,
2509 D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292,
2510 D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 294,
2511 D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295,
2512 D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296,
2513 D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297,
2514 D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 310,
2515 D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318,
2516 D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 321,
2517 D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322,
2518 D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323,
2519 D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331,
2520 D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332,
2521 D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333,
2522 D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334,
2523 D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335,
2524 D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336,
2525 D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337,
2526 D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340,
2527 D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341,
2528 D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342,
2529 D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343,
2530 D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344,
2531 D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345,
2532 D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346,
2533 D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354,
2534 D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401,
2535 D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 403,
2536 D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410,
2537 D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412,
2538 D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414,
2539 D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416,
2540 D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 418,
2541 D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420,
2542 D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422,
2543 D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425,
2544 D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426,
2545 D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427,
2546 D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428,
2547 D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429,
2548 D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430,
2549 D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431,
2550 D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447,
2551 D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 448,
2552 D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 493,
2553 D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 494,
2554 D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 506,
2555 D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 507,
2556 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 519,
2557 D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 520,
2558 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521,
2559 D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 522,
2560 D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523,
2561 D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524,
2562 D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 525,
2563 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 526,
2564 D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527,
2565 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 528,
2566 D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 529,
2567 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 530,
2568 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531,
2569 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532,
2570 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533,
2571 D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 534,
2572 D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 535,
2573 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 536,
2574 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537,
2575 D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 538,
2576 D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 540,
2577 D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 541,
2578 D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 542,
2579 D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 543,
2580 D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 544,
2581 D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 546,
2582 D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 547,
2583 D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 549,
2584 D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 552,
2585 D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 553,
2586 D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 554,
2587 D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 557,
2588 D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 558,
2589 D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 559,
2590 D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 560,
2591 D3D12_MESSAGE_ID_CREATE_RESOURCE = 562,
2592 D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 563,
2593 D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 564,
2594 D3D12_MESSAGE_ID_CREATE_LIBRARY = 565,
2595 D3D12_MESSAGE_ID_CREATE_HEAP = 566,
2596 D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 567,
2597 D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 568,
2598 D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 569,
2599 D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 570,
2600 D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 571,
2601 D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 572,
2602 D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 573,
2603 D3D12_MESSAGE_ID_LIVE_RESOURCE = 575,
2604 D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 576,
2605 D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 577,
2606 D3D12_MESSAGE_ID_LIVE_LIBRARY = 578,
2607 D3D12_MESSAGE_ID_LIVE_HEAP = 579,
2608 D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 580,
2609 D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 581,
2610 D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 582,
2611 D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 583,
2612 D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 584,
2613 D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 585,
2614 D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 586,
2615 D3D12_MESSAGE_ID_DESTROY_RESOURCE = 588,
2616 D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 589,
2617 D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 590,
2618 D3D12_MESSAGE_ID_DESTROY_LIBRARY = 591,
2619 D3D12_MESSAGE_ID_DESTROY_HEAP = 592,
2620 D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 593,
2621 D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 594,
2622 D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 595,
2623 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 597,
2624 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 599,
2625 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 602,
2626 D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 603,
2627 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 604,
2628 D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 607,
2629 D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608,
2630 D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609,
2631 D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 610,
2632 D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611,
2633 D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613,
2634 D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614,
2635 D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615,
2636 D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616,
2637 D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 622,
2638 D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 623,
2639 D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 624,
2640 D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625,
2641 D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626,
2642 D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627,
2643 D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 628,
2644 D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 629,
2645 D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630,
2646 D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 631,
2647 D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 632,
2648 D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 633,
2649 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634,
2650 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635,
2651 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636,
2652 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637,
2653 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638,
2654 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639,
2655 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640,
2656 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641,
2657 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642,
2658 D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643,
2659 D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644,
2660 D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645,
2661 D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 646,
2662 D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647,
2663 D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649,
2664 D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650,
2665 D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652,
2666 D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 653,
2667 D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654,
2668 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655,
2669 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656,
2670 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657,
2671 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658,
2672 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659,
2673 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660,
2674 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661,
2675 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662,
2676 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663,
2677 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664,
2678 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665,
2679 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666,
2680 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667,
2681 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668,
2682 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669,
2683 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670,
2684 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671,
2685 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672,
2686 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673,
2687 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674,
2688 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 675,
2689 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676,
2690 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677,
2691 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678,
2692 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679,
2693 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680,
2694 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681,
2695 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682,
2696 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683,
2697 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684,
2698 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685,
2699 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686,
2700 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687,
2701 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688,
2702 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689,
2703 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690,
2704 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691,
2705 D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 692,
2706 D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693,
2707 D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 694,
2708 D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 695,
2709 D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696,
2710 D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697,
2711 D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698,
2712 D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699,
2713 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700,
2714 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 701,
2715 D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702,
2716 D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 703,
2717 D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 705,
2718 D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 708,
2719 D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 709,
2720 D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710,
2721 D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711,
2722 D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712,
2723 D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 713,
2724 D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 715,
2725 D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717,
2726 D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718,
2727 D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719,
2728 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 720,
2729 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 721,
2730 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 722,
2731 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 723,
2732 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 724,
2733 D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 725,
2734 D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 726,
2735 D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 727,
2736 D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 728,
2737 D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 729,
2738 D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 731,
2739 D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 732,
2740 D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733,
2741 D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 734,
2742 D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 735,
2743 D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 737,
2744 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 738,
2745 D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 739,
2746 D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 740,
2747 D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739,
2748 D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740,
2749 D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 741,
2750 D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 742,
2751 D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 743,
2752 D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 744,
2753 D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745,
2754 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 815,
2755 D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816,
2756 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817,
2757 D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818,
2758 D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820,
2759 D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821,
2760 D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 822,
2761 D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 823,
2762 D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 824,
2763 D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 825,
2764 D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 826,
2765 D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 827,
2766 D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 828,
2767 D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 829,
2768 D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 832,
2769 D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 833,
2770 D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 834,
2771 D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835,
2772 D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836,
2773 D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837,
2774 D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838,
2775 D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 839,
2776 D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840,
2777 D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841,
2778 D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 842,
2779 D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843,
2780 D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844,
2781 D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 845,
2782 D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 846,
2783 D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847,
2784 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848,
2785 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849,
2786 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850,
2787 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 851,
2788 D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852,
2789 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 853,
2790 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854,
2791 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855,
2792 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856,
2793 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857,
2794 D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858,
2795 D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 859,
2796 D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860,
2797 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861,
2798 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862,
2799 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863,
2800 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 864,
2801 D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865,
2802 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 866,
2803 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867,
2804 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868,
2805 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869,
2806 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870,
2807 D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871,
2808 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872,
2809 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 873,
2810 D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 874,
2811 D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 875,
2812 D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876,
2813 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877,
2814 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 878,
2815 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879,
2816 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880,
2817 D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881,
2818 D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882,
2819 D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883,
2820 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884,
2821 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885,
2822 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886,
2823 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887,
2824 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888,
2825 D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 889,
2826 D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 890,
2827 D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 891,
2828 D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892,
2829 D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 893,
2830 D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 894,
2831 D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 895,
2832 D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 896,
2833 D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897,
2834 D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 898,
2835 D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 899,
2836 D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 900,
2837 D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 901,
2838 D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 902,
2839 D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 903,
2840 D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904,
2841 D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905,
2842 D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906,
2843 D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907,
2844 D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908,
2845 D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 909,
2846 D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 910,
2847 D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 911,
2848 D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 912,
2849 D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 913,
2850 D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914,
2851 D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915,
2852 D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916,
2853 D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 917,
2854 D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 918,
2855 D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 919,
2856 D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 920,
2857 D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 921,
2858 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 922,
2859 D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923,
2860 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924,
2861 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925,
2862 D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926,
2863 D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927,
2864 D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 929,
2865 D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 930,
2866 D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 931,
2867 D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 932,
2868 D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 933,
2869 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 934,
2870 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 935,
2871 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 936,
2872 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 937,
2873 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 938,
2874 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 939,
2875 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 940,
2876 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 941,
2877 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 942,
2878 D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 943,
2879 D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 944,
2880 D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 945,
2881 D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 946,
2882 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 947,
2883 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 948,
2884 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 949,
2885 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 950,
2886 D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 951,
2887 D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 952,
2888 D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 953,
2889 D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 954,
2890 D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 955,
2891 D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 956,
2892 D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 957,
2893 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 958,
2894 D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 959,
2895 D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 960,
2896 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 961,
2897 D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 962,
2898 D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 963,
2899 D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 964,
2900 D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 965,
2901 D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 966,
2902 D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 967,
2903 D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 968,
2904 D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 969,
2905 D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 970,
2906 D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 971,
2907 D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 972,
2908 D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 973,
2909 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 974,
2910 D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 975,
2911 D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 976,
2912 D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 977,
2913 D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 978,
2914 D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 979,
2915 D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 980,
2916 D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 981,
2917 D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 982,
2918 D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 983,
2919 D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 984,
2920 D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 985,
2921 D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 986,
2922 D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 987,
2923 D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 988,
2924 D3D12_MESSAGE_ID_DEPRECATED_API = 989,
2925 D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 990,
2926 D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 991,
2927 D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 992,
2928 D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 993,
2929 D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 994,
2930 D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 995,
2931 D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 996,
2932 D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 997,
2933 D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 998,
2934 D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 999,
2935 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 1000,
2936 D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 1001,
2937 D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 1002,
2938 D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 1003,
2939 D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 1004,
2940 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 1005,
2941 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 1006,
2942 D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 1007,
2943 D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 1008,
2944 D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 1009,
2945 D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 1013,
2946 D3D12_MESSAGE_ID_BEGIN_EVENT = 1014,
2947 D3D12_MESSAGE_ID_END_EVENT = 1015,
2948 D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 1016,
2949 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 1017,
2950 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 1018,
2951 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 1019,
2952 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 1020,
2953 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 1021,
2954 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 1022,
2955 D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 1023,
2956 D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 1024,
2957 D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 1025,
2958 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 1026,
2959 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 1027,
2960 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 1028,
2961 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 1029,
2962 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 1030,
2963 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 1031,
2964 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 1032,
2965 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 1033,
2966 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 1034,
2967 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 1035,
2968 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 1036,
2969 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 1037,
2970 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 1038,
2971 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 1039,
2972 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 1040,
2973 D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 1041,
2974 D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 1042,
2975 D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 1043,
2976 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 1044,
2977 D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 1045,
2978 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 1046,
2979 D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 1047,
2980 D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 1048,
2981 D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 1049,
2982 D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 1050,
2983 D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 1051,
2984 D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 1052,
2985 D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 1053,
2986 D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 1054,
2987 D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 1055,
2988 D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 1056,
2989 D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 1057,
2990 D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 1058,
2991 D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 1059,
2992 D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 1060,
2993 D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 1061,
2994 D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 1062,
2995 D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 1063,
2996 D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 1064,
2997 D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 1065,
2998 D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 1066,
2999 D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 1067,
3000 D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 1068,
3001 D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 1069,
3002 D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 1070,
3003 D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 1071,
3004 D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 1072,
3005 D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 1073,
3006 D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 1074,
3007 D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 1075,
3008 D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 1076,
3009 D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 1077,
3010 D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 1078,
3011 D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 1079,
3012 D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 1080,
3013 D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 1081,
3014 D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 1082,
3015 D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 1083,
3016 D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 1084,
3017 D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 1085,
3018 D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 1086,
3019 D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 1087,
3020 D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 1088,
3021 D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 1089,
3022 D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 1090,
3023 D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 1091,
3024 D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 1092,
3025 D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 1093,
3026 D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 1094,
3027 D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 1095,
3028 D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 1096,
3029 D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1097,
3030 D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1098,
3031 D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 1099,
3032 D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 1100,
3033 D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 1101,
3034 D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 1102,
3035 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 1103,
3036 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 1104,
3037 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 1105,
3038 D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 1106,
3039 D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 1107,
3040 D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 1108,
3041 D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 1109,
3042 D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 1110,
3043 D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 1111,
3044 D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 1112,
3045 D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 1113,
3046 D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 1114,
3047 D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 1115,
3048 D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 1116,
3049 D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 1117,
3050 D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 1118,
3051 D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 1119,
3052 D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 1120,
3053 D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 1121,
3054 D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 1122,
3055 D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 1123,
3056 D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 1124,
3057 D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 1125,
3058 D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 1126,
3059 D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 1127,
3060 D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 1128,
3061 D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 1129,
3062 D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 1130,
3063 D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 1131,
3064 D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 1132,
3065 D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 1133,
3066 D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 1134,
3067 D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 1135,
3068 D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 1136,
3069 D3D12_MESSAGE_ID_CREATE_META_COMMAND = 1137,
3070 D3D12_MESSAGE_ID_LIVE_META_COMMAND = 1138,
3071 D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 1139,
3072 D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 1140,
3073 D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 1141,
3074 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 1142,
3075 D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 1143,
3076 D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 1144,
3077 D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 1145,
3078 D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 1146,
3079 D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 1147,
3080 D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 1148,
3081 D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 1149,
3082 D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 1150,
3083 D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 1151,
3084 D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 1152,
3085 D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 1153,
3086 D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 1154,
3087 D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 1155,
3088 D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 1156,
3089 D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 1157,
3090 D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1158,
3091 D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 1159,
3092 D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1160,
3093 D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 1161,
3094 D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 1162,
3095 D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 1163,
3096 D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 1164,
3097 D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 1165,
3098 D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 1166,
3099 D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 1167,
3100 D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 1168,
3101 D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 1169,
3102 D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 1170,
3103 D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 1171,
3104 D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 1172,
3105 D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 1173,
3106 D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 1174,
3107 D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 1175,
3108 D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 1176,
3109 D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 1177,
3110 D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 1178,
3111 D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 1179,
3112 D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 1180,
3113 D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 1181,
3114 D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 1182,
3115 D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 1183,
3116 D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 1184,
3117 D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 1185,
3118 D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 1186,
3119 D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 1187,
3120 D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 1188,
3121 D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 1189,
3122 D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 1190,
3123 D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 1191,
3124 D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 1192,
3125 D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 1193,
3126 D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 1194,
3127 D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 1195,
3128 D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 1196,
3129 D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 1197,
3130 D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 1198,
3131 D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 1199,
3132 D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 1200,
3133 D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 1201,
3134 D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 1202,
3135 D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 1203,
3136 D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 1204,
3137 D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 1205,
3138 D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 1206,
3139 D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 1207,
3140 D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 1208,
3141 D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 1209,
3142 D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 1210,
3143 D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 1211,
3144 D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 1212,
3145 D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 1213,
3146 D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 1214,
3147 D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 1215,
3148 D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 1216,
3149 D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 1217,
3150 D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 1218,
3151 D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1219,
3152 D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 1220,
3153 D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1221,
3154 D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 1222,
3155 D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 1223,
3156 D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 1224,
3157 D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 1225,
3158 D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 1226,
3159 D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 1227,
3160 D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 1228,
3161 D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 1229,
3162 D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 1230,
3163 D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 1231,
3164 D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1232,
3165 D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 1233,
3166 D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 1234,
3167 D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 1235,
3168 D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 1236,
3169 D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 1237,
3170 D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 1238,
3171 D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 1239,
3172 D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 1240,
3173 D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 1241,
3174 D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 1242,
3175 D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 1243,
3176 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 1244,
3177 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 1245,
3178 D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 1246,
3179 D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 1247,
3180 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 1248,
3181 D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 1249,
3182 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 1250,
3183 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 1251,
3184 D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 1252,
3185 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 1253,
3186 D3D12_MESSAGE_ID_EMPTY_DISPATCH = 1254,
3187 D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1255,
3188 D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 1256,
3189 D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 1257,
3190 D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 1258,
3191 D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 1259,
3192 D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 1260,
3193 D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 1261,
3194 D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 1262,
3195 D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1263,
3196 D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 1264,
3197 D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 1265,
3198 D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 1266,
3199 D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 1267,
3200 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 1268,
3201 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 1269,
3202 D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 1270,
3203 D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 1271,
3204 D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 1272,
3205 D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 1273,
3206 D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1274,
3207 D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1275,
3208 D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 1276,
3209 D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 1277,
3210 D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 1278,
3211 D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 1279,
3212 D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION = 1280,
3213 D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION = 1281,
3214 D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION = 1282,
3215 D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS = 1283,
3216 D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED = 1284,
3217 D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN = 1285,
3218 D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE = 1286,
3219 D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS = 1287,
3220 D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET = 1288,
3221 D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG = 1289,
3222 D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT = 1290,
3223 D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION = 1291,
3224 D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL = 1292,
3225 D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND = 1293,
3226 D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT = 1294,
3227 D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED = 1295,
3228 D3D12_MESSAGE_ID_OVERSIZED_DISPATCH = 1296,
3229 D3D12_MESSAGE_ID_CREATE_VIDEOENCODER = 1297,
3230 D3D12_MESSAGE_ID_LIVE_VIDEOENCODER = 1298,
3231 D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER = 1299,
3232 D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP = 1300,
3233 D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP = 1301,
3234 D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP = 1302,
3235 D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1303,
3236 D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1304,
3237 D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS = 1305,
3238 D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS = 1306,
3239 D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS = 1307,
3240 D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS = 1308,
3241 D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS = 1309,
3242 D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS = 1310,
3243 D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS = 1311,
3244 D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS = 1312,
3245 D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR = 1313,
3246 D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE = 1314,
3247 D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE = 1315,
3248 D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING = 1316,
3249 D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING = 1317,
3250 D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING = 1318,
3251 D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE = 1319,
3252 D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS = 1320,
3253 D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH = 1321,
3254 D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH = 1322,
3255 D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH = 1323,
3256 D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY = 1324,
3257 D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY = 1325,
3258 D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED = 1326,
3259 D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED = 1327,
3260 D3D12_MESSAGE_ID_CREATERESOURCE_STATE_IGNORED = 1328,
3261 D3D12_MESSAGE_ID_UNUSED_CROSS_EXECUTE_SPLIT_BARRIER = 1329,
3262 D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_HANDLE_ACCESS_DENIED = 1330,
3263 D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_VALUES = 1331,
3264 D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_ACCESS = 1332,
3265 D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_SYNC = 1333,
3266 D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT = 1334,
3267 D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_TYPE = 1335,
3268 D3D12_MESSAGE_ID_OUT_OF_BOUNDS_BARRIER_SUBRESOURCE_RANGE = 1336,
3269 D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_RESOURCE_DIMENSION = 1337,
3270 D3D12_MESSAGE_ID_SET_SCISSOR_RECTS_INVALID_RECT = 1338,
3271 D3D12_MESSAGE_ID_SHADING_RATE_SOURCE_REQUIRES_DIMENSION_TEXTURE2D = 1339,
3272 D3D12_MESSAGE_ID_BUFFER_BARRIER_SUBREGION_OUT_OF_BOUNDS = 1340,
3273 D3D12_MESSAGE_ID_UNSUPPORTED_BARRIER_LAYOUT = 1341,
3274 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALID_PARAMETERS = 1342,
3275 D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED = 1343,
3276 D3D12_MESSAGE_ID_LEGACY_BARRIER_VALIDATION_FORCED_ON = 1346,
3277 D3D12_MESSAGE_ID_EMPTY_ROOT_DESCRIPTOR_TABLE = 1347,
3278 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ELEMENT_OFFSET_UNALIGNED = 1348,
3279 D3D12_MESSAGE_ID_ALPHA_BLEND_FACTOR_NOT_SUPPORTED = 1349,
3280 D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_LAYOUT = 1350,
3281 D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_STATE = 1351,
3282 D3D12_MESSAGE_ID_GRAPHICS_PIPELINE_STATE_DESC_ZERO_SAMPLE_MASK = 1352,
3283 D3D12_MESSAGE_ID_INDEPENDENT_STENCIL_REF_NOT_SUPPORTED = 1353,
3284 D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INDEPENDENT_MASKS_UNSUPPORTED = 1354,
3285 D3D12_MESSAGE_ID_TEXTURE_BARRIER_SUBRESOURCES_OUT_OF_BOUNDS = 1355,
3286 D3D12_MESSAGE_ID_NON_OPTIMAL_BARRIER_ONLY_EXECUTE_COMMAND_LISTS = 1356,
3287 D3D12_MESSAGE_ID_EXECUTE_INDIRECT_ZERO_COMMAND_COUNT = 1357,
3288 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_TEXTURE_LAYOUT = 1358,
3289 D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NOT_SUPPORTED = 1359,
3290 D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_TRIANGLE_FANS_NOT_SUPPORTED = 1360,
3291 D3D12_MESSAGE_ID_CREATE_SAMPLER_COMPARISON_FUNC_IGNORED = 1361,
3292 D3D12_MESSAGE_ID_CREATEHEAP_INVALIDHEAPTYPE = 1362,
3293 D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPTYPE = 1363,
3294 D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NOT_SUPPORTED = 1364,
3295 D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_NON_WHOLE_DYNAMIC_DEPTH_BIAS = 1365,
3296 D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_FLAG_MISSING = 1366,
3297 D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NO_PIPELINE = 1367,
3298 D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_FLAG_MISSING = 1368,
3299 D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NO_PIPELINE = 1369,
3300 D3D12_MESSAGE_ID_NONNORMALIZED_COORDINATE_SAMPLING_NOT_SUPPORTED = 1370,
3301 D3D12_MESSAGE_ID_INVALID_CAST_TARGET = 1371,
3302 D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_END_STATE = 1372,
3303 D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_START_STATE = 1373,
3304 D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_ACCESS = 1374,
3305 D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_LOCAL_PRESERVE_PARAMETERS = 1375,
3306 D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_PRESERVE_RENDER_PARAMETERS_ERROR = 1376,
3307 D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_DEPTH_STENCIL_ERROR = 1377,
3308 D3D12_MESSAGE_ID_DRAW_POTENTIALLY_OUTSIDE_OF_VALID_RENDER_AREA = 1378,
3309 D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_LINERASTERIZATIONMODE = 1379,
3310 D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT_SMALLRESOURCE = 1380,
3311 D3D12_MESSAGE_ID_GENERIC_DEVICE_OPERATION_UNSUPPORTED = 1381,
3312 D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDER_TARGET_WRONG_WRITE_MASK = 1382,
3313 D3D12_MESSAGE_ID_PROBABLE_PIX_EVENT_LEAK = 1383,
3314 D3D12_MESSAGE_ID_PIX_EVENT_UNDERFLOW = 1384,
3315 D3D12_MESSAGE_ID_RECREATEAT_INVALID_TARGET = 1385,
3316 D3D12_MESSAGE_ID_RECREATEAT_INSUFFICIENT_SUPPORT = 1386,
3317 D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_STRUCTURED_BUFFER_STRIDE_MISMATCH = 1387,
3318 D3D12_MESSAGE_ID_DISPATCH_GRAPH_INVALID = 1388,
3319 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_FORMAT_INVALID = 1389,
3320 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_DIMENSION_INVALID = 1390,
3321 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_COLOR_FORMAT_INVALID = 1391,
3322 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_DEPTH_FORMAT_INVALID = 1392,
3323 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXPOSURE_SCALE_FORMAT_INVALID = 1393,
3324 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_ENGINE_CREATE_FLAGS_INVALID = 1394,
3325 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_LOAD_FAILURE = 1395,
3326 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_ENGINE_CREATION_ERROR = 1396,
3327 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_CREATION_ERROR = 1397,
3328 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_EXECUTION_ERROR = 1398,
3329 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REGION_INVALID = 1399,
3330 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_TIME_DELTA_INVALID = 1400,
3331 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REQUIRED_TEXTURE_IS_NULL = 1401,
3332 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_MOTION_VECTORS_FORMAT_INVALID = 1402,
3333 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FLAGS_INVALID = 1403,
3334 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FORMAT_INVALID = 1404,
3335 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_EXPOSURE_SCALE_TEXTURE_SIZE_INVALID = 1405,
3336 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_INDEX_OUT_OF_BOUNDS = 1406,
3337 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_ID_NOT_FOUND = 1407,
3338 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_DUPLICATE_VARIANT_ID = 1408,
3339 D3D12_MESSAGE_ID_DIRECTSR_OUT_OF_MEMORY = 1409,
3340 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_UNEXPECTED_TEXTURE_IS_IGNORED = 1410,
3341 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EVICT_UNDERFLOW = 1411,
3342 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_OPTIONAL_TEXTURE_IS_NULL = 1412,
3343 D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_INVALID_CAMERA_JITTER = 1413,
3344 D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_WARNING = 1414,
3345 D3D12_MESSAGE_ID_GUID_TEXTURE_LAYOUT_UNSUPPORTED = 1415,
3346 D3D12_MESSAGE_ID_RESOLVE_ENCODER_INPUT_PARAM_LAYOUT_INVALID_PARAMETERS = 1416,
3347 D3D12_MESSAGE_ID_INVALID_BARRIER_ACCESS = 1417,
3348 D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INSTANCE_COUNT_ZERO = 1418,
3349 D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SET_BEFORE_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1419,
3350 D3D12_MESSAGE_ID_DIFFERENT_DESCRIPTOR_HEAP_SET_AFTER_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1420,
3351 D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_DIFFERENT_DESCRIPTOR_HEAP_SET_AFTER_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG + 1 )
3352 } D3D12_MESSAGE_ID;
3353
3354typedef struct D3D12_MESSAGE
3355 {
3356 D3D12_MESSAGE_CATEGORY Category;
3357 D3D12_MESSAGE_SEVERITY Severity;
3358 D3D12_MESSAGE_ID ID;
3359 _Field_size_(DescriptionByteLength) const char *pDescription;
3360 SIZE_T DescriptionByteLength;
3361 } D3D12_MESSAGE;
3362
3363typedef struct D3D12_INFO_QUEUE_FILTER_DESC
3364 {
3365 UINT NumCategories;
3366 _Field_size_(NumCategories) D3D12_MESSAGE_CATEGORY *pCategoryList;
3367 UINT NumSeverities;
3368 _Field_size_(NumSeverities) D3D12_MESSAGE_SEVERITY *pSeverityList;
3369 UINT NumIDs;
3370 _Field_size_(NumIDs) D3D12_MESSAGE_ID *pIDList;
3371 } D3D12_INFO_QUEUE_FILTER_DESC;
3372
3373typedef struct D3D12_INFO_QUEUE_FILTER
3374 {
3375 D3D12_INFO_QUEUE_FILTER_DESC AllowList;
3376 D3D12_INFO_QUEUE_FILTER_DESC DenyList;
3377 } D3D12_INFO_QUEUE_FILTER;
3378
3379#define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024
3380
3381
3382extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0018_v0_0_c_ifspec;
3383extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0018_v0_0_s_ifspec;
3384
3385#ifndef __ID3D12InfoQueue_INTERFACE_DEFINED__
3386#define __ID3D12InfoQueue_INTERFACE_DEFINED__
3387
3388/* interface ID3D12InfoQueue */
3389/* [unique][local][object][uuid] */
3390
3391
3392EXTERN_C const IID IID_ID3D12InfoQueue;
3393
3394#if defined(__cplusplus) && !defined(CINTERFACE)
3395
3396 MIDL_INTERFACE("0742a90b-c387-483f-b946-30a7e4e61458")
3397 ID3D12InfoQueue : public IUnknown
3398 {
3399 public:
3400 virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit(
3401 _In_ UINT64 MessageCountLimit) = 0;
3402
3403 virtual void STDMETHODCALLTYPE ClearStoredMessages( void) = 0;
3404
3405 virtual HRESULT STDMETHODCALLTYPE GetMessage(
3406 _In_ UINT64 MessageIndex,
3407 _Out_writes_bytes_opt_(*pMessageByteLength) D3D12_MESSAGE *pMessage,
3408 _Inout_ SIZE_T *pMessageByteLength) = 0;
3409
3410 virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter( void) = 0;
3411
3412 virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter( void) = 0;
3413
3414 virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages( void) = 0;
3415
3416 virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilter( void) = 0;
3417
3418 virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit( void) = 0;
3419
3420 virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit( void) = 0;
3421
3422 virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries(
3423 _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0;
3424
3425 virtual HRESULT STDMETHODCALLTYPE GetStorageFilter(
3426 _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
3427 _Inout_ SIZE_T *pFilterByteLength) = 0;
3428
3429 virtual void STDMETHODCALLTYPE ClearStorageFilter( void) = 0;
3430
3431 virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter( void) = 0;
3432
3433 virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter( void) = 0;
3434
3435 virtual HRESULT STDMETHODCALLTYPE PushStorageFilter(
3436 _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0;
3437
3438 virtual void STDMETHODCALLTYPE PopStorageFilter( void) = 0;
3439
3440 virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize( void) = 0;
3441
3442 virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries(
3443 _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0;
3444
3445 virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter(
3446 _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
3447 _Inout_ SIZE_T *pFilterByteLength) = 0;
3448
3449 virtual void STDMETHODCALLTYPE ClearRetrievalFilter( void) = 0;
3450
3451 virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter( void) = 0;
3452
3453 virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter( void) = 0;
3454
3455 virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter(
3456 _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0;
3457
3458 virtual void STDMETHODCALLTYPE PopRetrievalFilter( void) = 0;
3459
3460 virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize( void) = 0;
3461
3462 virtual HRESULT STDMETHODCALLTYPE AddMessage(
3463 _In_ D3D12_MESSAGE_CATEGORY Category,
3464 _In_ D3D12_MESSAGE_SEVERITY Severity,
3465 _In_ D3D12_MESSAGE_ID ID,
3466 _In_ LPCSTR pDescription) = 0;
3467
3468 virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage(
3469 _In_ D3D12_MESSAGE_SEVERITY Severity,
3470 _In_ LPCSTR pDescription) = 0;
3471
3472 virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory(
3473 _In_ D3D12_MESSAGE_CATEGORY Category,
3474 _In_ BOOL bEnable) = 0;
3475
3476 virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity(
3477 _In_ D3D12_MESSAGE_SEVERITY Severity,
3478 _In_ BOOL bEnable) = 0;
3479
3480 virtual HRESULT STDMETHODCALLTYPE SetBreakOnID(
3481 _In_ D3D12_MESSAGE_ID ID,
3482 _In_ BOOL bEnable) = 0;
3483
3484 virtual BOOL STDMETHODCALLTYPE GetBreakOnCategory(
3485 _In_ D3D12_MESSAGE_CATEGORY Category) = 0;
3486
3487 virtual BOOL STDMETHODCALLTYPE GetBreakOnSeverity(
3488 _In_ D3D12_MESSAGE_SEVERITY Severity) = 0;
3489
3490 virtual BOOL STDMETHODCALLTYPE GetBreakOnID(
3491 _In_ D3D12_MESSAGE_ID ID) = 0;
3492
3493 virtual void STDMETHODCALLTYPE SetMuteDebugOutput(
3494 _In_ BOOL bMute) = 0;
3495
3496 virtual BOOL STDMETHODCALLTYPE GetMuteDebugOutput( void) = 0;
3497
3498 };
3499
3500
3501#else /* C style interface */
3502
3503 typedef struct ID3D12InfoQueueVtbl
3504 {
3505 BEGIN_INTERFACE
3506
3507 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
3508 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3509 ID3D12InfoQueue * This,
3510 REFIID riid,
3511 _COM_Outptr_ void **ppvObject);
3512
3513 DECLSPEC_XFGVIRT(IUnknown, AddRef)
3514 ULONG ( STDMETHODCALLTYPE *AddRef )(
3515 ID3D12InfoQueue * This);
3516
3517 DECLSPEC_XFGVIRT(IUnknown, Release)
3518 ULONG ( STDMETHODCALLTYPE *Release )(
3519 ID3D12InfoQueue * This);
3520
3521 DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMessageCountLimit)
3522 HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )(
3523 ID3D12InfoQueue * This,
3524 _In_ UINT64 MessageCountLimit);
3525
3526 DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStoredMessages)
3527 void ( STDMETHODCALLTYPE *ClearStoredMessages )(
3528 ID3D12InfoQueue * This);
3529
3530 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessage)
3531 HRESULT ( STDMETHODCALLTYPE *GetMessage )(
3532 ID3D12InfoQueue * This,
3533 _In_ UINT64 MessageIndex,
3534 _Out_writes_bytes_opt_(*pMessageByteLength) D3D12_MESSAGE *pMessage,
3535 _Inout_ SIZE_T *pMessageByteLength);
3536
3537 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesAllowedByStorageFilter)
3538 UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )(
3539 ID3D12InfoQueue * This);
3540
3541 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDeniedByStorageFilter)
3542 UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )(
3543 ID3D12InfoQueue * This);
3544
3545 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessages)
3546 UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )(
3547 ID3D12InfoQueue * This);
3548
3549 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessagesAllowedByRetrievalFilter)
3550 UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )(
3551 ID3D12InfoQueue * This);
3552
3553 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDiscardedByMessageCountLimit)
3554 UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )(
3555 ID3D12InfoQueue * This);
3556
3557 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessageCountLimit)
3558 UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )(
3559 ID3D12InfoQueue * This);
3560
3561 DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddStorageFilterEntries)
3562 HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )(
3563 ID3D12InfoQueue * This,
3564 _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
3565
3566 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilter)
3567 HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )(
3568 ID3D12InfoQueue * This,
3569 _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
3570 _Inout_ SIZE_T *pFilterByteLength);
3571
3572 DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStorageFilter)
3573 void ( STDMETHODCALLTYPE *ClearStorageFilter )(
3574 ID3D12InfoQueue * This);
3575
3576 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyStorageFilter)
3577 HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )(
3578 ID3D12InfoQueue * This);
3579
3580 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfStorageFilter)
3581 HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )(
3582 ID3D12InfoQueue * This);
3583
3584 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushStorageFilter)
3585 HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )(
3586 ID3D12InfoQueue * This,
3587 _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
3588
3589 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopStorageFilter)
3590 void ( STDMETHODCALLTYPE *PopStorageFilter )(
3591 ID3D12InfoQueue * This);
3592
3593 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilterStackSize)
3594 UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )(
3595 ID3D12InfoQueue * This);
3596
3597 DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddRetrievalFilterEntries)
3598 HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )(
3599 ID3D12InfoQueue * This,
3600 _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
3601
3602 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilter)
3603 HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )(
3604 ID3D12InfoQueue * This,
3605 _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
3606 _Inout_ SIZE_T *pFilterByteLength);
3607
3608 DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearRetrievalFilter)
3609 void ( STDMETHODCALLTYPE *ClearRetrievalFilter )(
3610 ID3D12InfoQueue * This);
3611
3612 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyRetrievalFilter)
3613 HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )(
3614 ID3D12InfoQueue * This);
3615
3616 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfRetrievalFilter)
3617 HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )(
3618 ID3D12InfoQueue * This);
3619
3620 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushRetrievalFilter)
3621 HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )(
3622 ID3D12InfoQueue * This,
3623 _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
3624
3625 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopRetrievalFilter)
3626 void ( STDMETHODCALLTYPE *PopRetrievalFilter )(
3627 ID3D12InfoQueue * This);
3628
3629 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilterStackSize)
3630 UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )(
3631 ID3D12InfoQueue * This);
3632
3633 DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddMessage)
3634 HRESULT ( STDMETHODCALLTYPE *AddMessage )(
3635 ID3D12InfoQueue * This,
3636 _In_ D3D12_MESSAGE_CATEGORY Category,
3637 _In_ D3D12_MESSAGE_SEVERITY Severity,
3638 _In_ D3D12_MESSAGE_ID ID,
3639 _In_ LPCSTR pDescription);
3640
3641 DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddApplicationMessage)
3642 HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )(
3643 ID3D12InfoQueue * This,
3644 _In_ D3D12_MESSAGE_SEVERITY Severity,
3645 _In_ LPCSTR pDescription);
3646
3647 DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnCategory)
3648 HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )(
3649 ID3D12InfoQueue * This,
3650 _In_ D3D12_MESSAGE_CATEGORY Category,
3651 _In_ BOOL bEnable);
3652
3653 DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnSeverity)
3654 HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )(
3655 ID3D12InfoQueue * This,
3656 _In_ D3D12_MESSAGE_SEVERITY Severity,
3657 _In_ BOOL bEnable);
3658
3659 DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnID)
3660 HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )(
3661 ID3D12InfoQueue * This,
3662 _In_ D3D12_MESSAGE_ID ID,
3663 _In_ BOOL bEnable);
3664
3665 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnCategory)
3666 BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )(
3667 ID3D12InfoQueue * This,
3668 _In_ D3D12_MESSAGE_CATEGORY Category);
3669
3670 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnSeverity)
3671 BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )(
3672 ID3D12InfoQueue * This,
3673 _In_ D3D12_MESSAGE_SEVERITY Severity);
3674
3675 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnID)
3676 BOOL ( STDMETHODCALLTYPE *GetBreakOnID )(
3677 ID3D12InfoQueue * This,
3678 _In_ D3D12_MESSAGE_ID ID);
3679
3680 DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMuteDebugOutput)
3681 void ( STDMETHODCALLTYPE *SetMuteDebugOutput )(
3682 ID3D12InfoQueue * This,
3683 _In_ BOOL bMute);
3684
3685 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMuteDebugOutput)
3686 BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )(
3687 ID3D12InfoQueue * This);
3688
3689 END_INTERFACE
3690 } ID3D12InfoQueueVtbl;
3691
3692 interface ID3D12InfoQueue
3693 {
3694 CONST_VTBL struct ID3D12InfoQueueVtbl *lpVtbl;
3695 };
3696
3697
3698
3699#ifdef COBJMACROS
3700
3701
3702#define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject) \
3703 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3704
3705#define ID3D12InfoQueue_AddRef(This) \
3706 ( (This)->lpVtbl -> AddRef(This) )
3707
3708#define ID3D12InfoQueue_Release(This) \
3709 ( (This)->lpVtbl -> Release(This) )
3710
3711
3712#define ID3D12InfoQueue_SetMessageCountLimit(This,MessageCountLimit) \
3713 ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) )
3714
3715#define ID3D12InfoQueue_ClearStoredMessages(This) \
3716 ( (This)->lpVtbl -> ClearStoredMessages(This) )
3717
3718#define ID3D12InfoQueue_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \
3719 ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) )
3720
3721#define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This) \
3722 ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) )
3723
3724#define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This) \
3725 ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) )
3726
3727#define ID3D12InfoQueue_GetNumStoredMessages(This) \
3728 ( (This)->lpVtbl -> GetNumStoredMessages(This) )
3729
3730#define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This) \
3731 ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) )
3732
3733#define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This) \
3734 ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) )
3735
3736#define ID3D12InfoQueue_GetMessageCountLimit(This) \
3737 ( (This)->lpVtbl -> GetMessageCountLimit(This) )
3738
3739#define ID3D12InfoQueue_AddStorageFilterEntries(This,pFilter) \
3740 ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) )
3741
3742#define ID3D12InfoQueue_GetStorageFilter(This,pFilter,pFilterByteLength) \
3743 ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) )
3744
3745#define ID3D12InfoQueue_ClearStorageFilter(This) \
3746 ( (This)->lpVtbl -> ClearStorageFilter(This) )
3747
3748#define ID3D12InfoQueue_PushEmptyStorageFilter(This) \
3749 ( (This)->lpVtbl -> PushEmptyStorageFilter(This) )
3750
3751#define ID3D12InfoQueue_PushCopyOfStorageFilter(This) \
3752 ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) )
3753
3754#define ID3D12InfoQueue_PushStorageFilter(This,pFilter) \
3755 ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) )
3756
3757#define ID3D12InfoQueue_PopStorageFilter(This) \
3758 ( (This)->lpVtbl -> PopStorageFilter(This) )
3759
3760#define ID3D12InfoQueue_GetStorageFilterStackSize(This) \
3761 ( (This)->lpVtbl -> GetStorageFilterStackSize(This) )
3762
3763#define ID3D12InfoQueue_AddRetrievalFilterEntries(This,pFilter) \
3764 ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) )
3765
3766#define ID3D12InfoQueue_GetRetrievalFilter(This,pFilter,pFilterByteLength) \
3767 ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) )
3768
3769#define ID3D12InfoQueue_ClearRetrievalFilter(This) \
3770 ( (This)->lpVtbl -> ClearRetrievalFilter(This) )
3771
3772#define ID3D12InfoQueue_PushEmptyRetrievalFilter(This) \
3773 ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) )
3774
3775#define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This) \
3776 ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) )
3777
3778#define ID3D12InfoQueue_PushRetrievalFilter(This,pFilter) \
3779 ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) )
3780
3781#define ID3D12InfoQueue_PopRetrievalFilter(This) \
3782 ( (This)->lpVtbl -> PopRetrievalFilter(This) )
3783
3784#define ID3D12InfoQueue_GetRetrievalFilterStackSize(This) \
3785 ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) )
3786
3787#define ID3D12InfoQueue_AddMessage(This,Category,Severity,ID,pDescription) \
3788 ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) )
3789
3790#define ID3D12InfoQueue_AddApplicationMessage(This,Severity,pDescription) \
3791 ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) )
3792
3793#define ID3D12InfoQueue_SetBreakOnCategory(This,Category,bEnable) \
3794 ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) )
3795
3796#define ID3D12InfoQueue_SetBreakOnSeverity(This,Severity,bEnable) \
3797 ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) )
3798
3799#define ID3D12InfoQueue_SetBreakOnID(This,ID,bEnable) \
3800 ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) )
3801
3802#define ID3D12InfoQueue_GetBreakOnCategory(This,Category) \
3803 ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) )
3804
3805#define ID3D12InfoQueue_GetBreakOnSeverity(This,Severity) \
3806 ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) )
3807
3808#define ID3D12InfoQueue_GetBreakOnID(This,ID) \
3809 ( (This)->lpVtbl -> GetBreakOnID(This,ID) )
3810
3811#define ID3D12InfoQueue_SetMuteDebugOutput(This,bMute) \
3812 ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) )
3813
3814#define ID3D12InfoQueue_GetMuteDebugOutput(This) \
3815 ( (This)->lpVtbl -> GetMuteDebugOutput(This) )
3816
3817#endif /* COBJMACROS */
3818
3819
3820#endif /* C style interface */
3821
3822
3823
3824
3825#endif /* __ID3D12InfoQueue_INTERFACE_DEFINED__ */
3826
3827
3828/* interface __MIDL_itf_d3d12sdklayers_0000_0019 */
3829/* [local] */
3830
3831typedef
3832enum D3D12_MESSAGE_CALLBACK_FLAGS
3833 {
3834 D3D12_MESSAGE_CALLBACK_FLAG_NONE = 0,
3835 D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = 0x1
3836 } D3D12_MESSAGE_CALLBACK_FLAGS;
3837
3838DEFINE_ENUM_FLAG_OPERATORS(D3D12_MESSAGE_CALLBACK_FLAGS)
3839typedef void ( __stdcall *D3D12MessageFunc )(
3840 D3D12_MESSAGE_CATEGORY Category,
3841 D3D12_MESSAGE_SEVERITY Severity,
3842 D3D12_MESSAGE_ID ID,
3843 LPCSTR pDescription,
3844 void *pContext);
3845
3846
3847
3848extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0019_v0_0_c_ifspec;
3849extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0019_v0_0_s_ifspec;
3850
3851#ifndef __ID3D12InfoQueue1_INTERFACE_DEFINED__
3852#define __ID3D12InfoQueue1_INTERFACE_DEFINED__
3853
3854/* interface ID3D12InfoQueue1 */
3855/* [unique][local][object][uuid] */
3856
3857
3858EXTERN_C const IID IID_ID3D12InfoQueue1;
3859
3860#if defined(__cplusplus) && !defined(CINTERFACE)
3861
3862 MIDL_INTERFACE("2852dd88-b484-4c0c-b6b1-67168500e600")
3863 ID3D12InfoQueue1 : public ID3D12InfoQueue
3864 {
3865 public:
3866 virtual HRESULT STDMETHODCALLTYPE RegisterMessageCallback(
3867 _In_ D3D12MessageFunc CallbackFunc,
3868 _In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags,
3869 _Inout_ void *pContext,
3870 _Inout_ DWORD *pCallbackCookie) = 0;
3871
3872 virtual HRESULT STDMETHODCALLTYPE UnregisterMessageCallback(
3873 _In_ DWORD CallbackCookie) = 0;
3874
3875 };
3876
3877
3878#else /* C style interface */
3879
3880 typedef struct ID3D12InfoQueue1Vtbl
3881 {
3882 BEGIN_INTERFACE
3883
3884 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
3885 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3886 ID3D12InfoQueue1 * This,
3887 REFIID riid,
3888 _COM_Outptr_ void **ppvObject);
3889
3890 DECLSPEC_XFGVIRT(IUnknown, AddRef)
3891 ULONG ( STDMETHODCALLTYPE *AddRef )(
3892 ID3D12InfoQueue1 * This);
3893
3894 DECLSPEC_XFGVIRT(IUnknown, Release)
3895 ULONG ( STDMETHODCALLTYPE *Release )(
3896 ID3D12InfoQueue1 * This);
3897
3898 DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMessageCountLimit)
3899 HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )(
3900 ID3D12InfoQueue1 * This,
3901 _In_ UINT64 MessageCountLimit);
3902
3903 DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStoredMessages)
3904 void ( STDMETHODCALLTYPE *ClearStoredMessages )(
3905 ID3D12InfoQueue1 * This);
3906
3907 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessage)
3908 HRESULT ( STDMETHODCALLTYPE *GetMessage )(
3909 ID3D12InfoQueue1 * This,
3910 _In_ UINT64 MessageIndex,
3911 _Out_writes_bytes_opt_(*pMessageByteLength) D3D12_MESSAGE *pMessage,
3912 _Inout_ SIZE_T *pMessageByteLength);
3913
3914 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesAllowedByStorageFilter)
3915 UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )(
3916 ID3D12InfoQueue1 * This);
3917
3918 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDeniedByStorageFilter)
3919 UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )(
3920 ID3D12InfoQueue1 * This);
3921
3922 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessages)
3923 UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )(
3924 ID3D12InfoQueue1 * This);
3925
3926 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessagesAllowedByRetrievalFilter)
3927 UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )(
3928 ID3D12InfoQueue1 * This);
3929
3930 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDiscardedByMessageCountLimit)
3931 UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )(
3932 ID3D12InfoQueue1 * This);
3933
3934 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessageCountLimit)
3935 UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )(
3936 ID3D12InfoQueue1 * This);
3937
3938 DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddStorageFilterEntries)
3939 HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )(
3940 ID3D12InfoQueue1 * This,
3941 _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
3942
3943 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilter)
3944 HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )(
3945 ID3D12InfoQueue1 * This,
3946 _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
3947 _Inout_ SIZE_T *pFilterByteLength);
3948
3949 DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStorageFilter)
3950 void ( STDMETHODCALLTYPE *ClearStorageFilter )(
3951 ID3D12InfoQueue1 * This);
3952
3953 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyStorageFilter)
3954 HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )(
3955 ID3D12InfoQueue1 * This);
3956
3957 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfStorageFilter)
3958 HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )(
3959 ID3D12InfoQueue1 * This);
3960
3961 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushStorageFilter)
3962 HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )(
3963 ID3D12InfoQueue1 * This,
3964 _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
3965
3966 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopStorageFilter)
3967 void ( STDMETHODCALLTYPE *PopStorageFilter )(
3968 ID3D12InfoQueue1 * This);
3969
3970 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilterStackSize)
3971 UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )(
3972 ID3D12InfoQueue1 * This);
3973
3974 DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddRetrievalFilterEntries)
3975 HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )(
3976 ID3D12InfoQueue1 * This,
3977 _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
3978
3979 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilter)
3980 HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )(
3981 ID3D12InfoQueue1 * This,
3982 _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
3983 _Inout_ SIZE_T *pFilterByteLength);
3984
3985 DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearRetrievalFilter)
3986 void ( STDMETHODCALLTYPE *ClearRetrievalFilter )(
3987 ID3D12InfoQueue1 * This);
3988
3989 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyRetrievalFilter)
3990 HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )(
3991 ID3D12InfoQueue1 * This);
3992
3993 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfRetrievalFilter)
3994 HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )(
3995 ID3D12InfoQueue1 * This);
3996
3997 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushRetrievalFilter)
3998 HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )(
3999 ID3D12InfoQueue1 * This,
4000 _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
4001
4002 DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopRetrievalFilter)
4003 void ( STDMETHODCALLTYPE *PopRetrievalFilter )(
4004 ID3D12InfoQueue1 * This);
4005
4006 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilterStackSize)
4007 UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )(
4008 ID3D12InfoQueue1 * This);
4009
4010 DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddMessage)
4011 HRESULT ( STDMETHODCALLTYPE *AddMessage )(
4012 ID3D12InfoQueue1 * This,
4013 _In_ D3D12_MESSAGE_CATEGORY Category,
4014 _In_ D3D12_MESSAGE_SEVERITY Severity,
4015 _In_ D3D12_MESSAGE_ID ID,
4016 _In_ LPCSTR pDescription);
4017
4018 DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddApplicationMessage)
4019 HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )(
4020 ID3D12InfoQueue1 * This,
4021 _In_ D3D12_MESSAGE_SEVERITY Severity,
4022 _In_ LPCSTR pDescription);
4023
4024 DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnCategory)
4025 HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )(
4026 ID3D12InfoQueue1 * This,
4027 _In_ D3D12_MESSAGE_CATEGORY Category,
4028 _In_ BOOL bEnable);
4029
4030 DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnSeverity)
4031 HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )(
4032 ID3D12InfoQueue1 * This,
4033 _In_ D3D12_MESSAGE_SEVERITY Severity,
4034 _In_ BOOL bEnable);
4035
4036 DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnID)
4037 HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )(
4038 ID3D12InfoQueue1 * This,
4039 _In_ D3D12_MESSAGE_ID ID,
4040 _In_ BOOL bEnable);
4041
4042 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnCategory)
4043 BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )(
4044 ID3D12InfoQueue1 * This,
4045 _In_ D3D12_MESSAGE_CATEGORY Category);
4046
4047 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnSeverity)
4048 BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )(
4049 ID3D12InfoQueue1 * This,
4050 _In_ D3D12_MESSAGE_SEVERITY Severity);
4051
4052 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnID)
4053 BOOL ( STDMETHODCALLTYPE *GetBreakOnID )(
4054 ID3D12InfoQueue1 * This,
4055 _In_ D3D12_MESSAGE_ID ID);
4056
4057 DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMuteDebugOutput)
4058 void ( STDMETHODCALLTYPE *SetMuteDebugOutput )(
4059 ID3D12InfoQueue1 * This,
4060 _In_ BOOL bMute);
4061
4062 DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMuteDebugOutput)
4063 BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )(
4064 ID3D12InfoQueue1 * This);
4065
4066 DECLSPEC_XFGVIRT(ID3D12InfoQueue1, RegisterMessageCallback)
4067 HRESULT ( STDMETHODCALLTYPE *RegisterMessageCallback )(
4068 ID3D12InfoQueue1 * This,
4069 _In_ D3D12MessageFunc CallbackFunc,
4070 _In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags,
4071 _Inout_ void *pContext,
4072 _Inout_ DWORD *pCallbackCookie);
4073
4074 DECLSPEC_XFGVIRT(ID3D12InfoQueue1, UnregisterMessageCallback)
4075 HRESULT ( STDMETHODCALLTYPE *UnregisterMessageCallback )(
4076 ID3D12InfoQueue1 * This,
4077 _In_ DWORD CallbackCookie);
4078
4079 END_INTERFACE
4080 } ID3D12InfoQueue1Vtbl;
4081
4082 interface ID3D12InfoQueue1
4083 {
4084 CONST_VTBL struct ID3D12InfoQueue1Vtbl *lpVtbl;
4085 };
4086
4087
4088
4089#ifdef COBJMACROS
4090
4091
4092#define ID3D12InfoQueue1_QueryInterface(This,riid,ppvObject) \
4093 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4094
4095#define ID3D12InfoQueue1_AddRef(This) \
4096 ( (This)->lpVtbl -> AddRef(This) )
4097
4098#define ID3D12InfoQueue1_Release(This) \
4099 ( (This)->lpVtbl -> Release(This) )
4100
4101
4102#define ID3D12InfoQueue1_SetMessageCountLimit(This,MessageCountLimit) \
4103 ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) )
4104
4105#define ID3D12InfoQueue1_ClearStoredMessages(This) \
4106 ( (This)->lpVtbl -> ClearStoredMessages(This) )
4107
4108#define ID3D12InfoQueue1_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \
4109 ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) )
4110
4111#define ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(This) \
4112 ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) )
4113
4114#define ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(This) \
4115 ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) )
4116
4117#define ID3D12InfoQueue1_GetNumStoredMessages(This) \
4118 ( (This)->lpVtbl -> GetNumStoredMessages(This) )
4119
4120#define ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(This) \
4121 ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) )
4122
4123#define ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(This) \
4124 ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) )
4125
4126#define ID3D12InfoQueue1_GetMessageCountLimit(This) \
4127 ( (This)->lpVtbl -> GetMessageCountLimit(This) )
4128
4129#define ID3D12InfoQueue1_AddStorageFilterEntries(This,pFilter) \
4130 ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) )
4131
4132#define ID3D12InfoQueue1_GetStorageFilter(This,pFilter,pFilterByteLength) \
4133 ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) )
4134
4135#define ID3D12InfoQueue1_ClearStorageFilter(This) \
4136 ( (This)->lpVtbl -> ClearStorageFilter(This) )
4137
4138#define ID3D12InfoQueue1_PushEmptyStorageFilter(This) \
4139 ( (This)->lpVtbl -> PushEmptyStorageFilter(This) )
4140
4141#define ID3D12InfoQueue1_PushCopyOfStorageFilter(This) \
4142 ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) )
4143
4144#define ID3D12InfoQueue1_PushStorageFilter(This,pFilter) \
4145 ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) )
4146
4147#define ID3D12InfoQueue1_PopStorageFilter(This) \
4148 ( (This)->lpVtbl -> PopStorageFilter(This) )
4149
4150#define ID3D12InfoQueue1_GetStorageFilterStackSize(This) \
4151 ( (This)->lpVtbl -> GetStorageFilterStackSize(This) )
4152
4153#define ID3D12InfoQueue1_AddRetrievalFilterEntries(This,pFilter) \
4154 ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) )
4155
4156#define ID3D12InfoQueue1_GetRetrievalFilter(This,pFilter,pFilterByteLength) \
4157 ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) )
4158
4159#define ID3D12InfoQueue1_ClearRetrievalFilter(This) \
4160 ( (This)->lpVtbl -> ClearRetrievalFilter(This) )
4161
4162#define ID3D12InfoQueue1_PushEmptyRetrievalFilter(This) \
4163 ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) )
4164
4165#define ID3D12InfoQueue1_PushCopyOfRetrievalFilter(This) \
4166 ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) )
4167
4168#define ID3D12InfoQueue1_PushRetrievalFilter(This,pFilter) \
4169 ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) )
4170
4171#define ID3D12InfoQueue1_PopRetrievalFilter(This) \
4172 ( (This)->lpVtbl -> PopRetrievalFilter(This) )
4173
4174#define ID3D12InfoQueue1_GetRetrievalFilterStackSize(This) \
4175 ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) )
4176
4177#define ID3D12InfoQueue1_AddMessage(This,Category,Severity,ID,pDescription) \
4178 ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) )
4179
4180#define ID3D12InfoQueue1_AddApplicationMessage(This,Severity,pDescription) \
4181 ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) )
4182
4183#define ID3D12InfoQueue1_SetBreakOnCategory(This,Category,bEnable) \
4184 ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) )
4185
4186#define ID3D12InfoQueue1_SetBreakOnSeverity(This,Severity,bEnable) \
4187 ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) )
4188
4189#define ID3D12InfoQueue1_SetBreakOnID(This,ID,bEnable) \
4190 ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) )
4191
4192#define ID3D12InfoQueue1_GetBreakOnCategory(This,Category) \
4193 ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) )
4194
4195#define ID3D12InfoQueue1_GetBreakOnSeverity(This,Severity) \
4196 ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) )
4197
4198#define ID3D12InfoQueue1_GetBreakOnID(This,ID) \
4199 ( (This)->lpVtbl -> GetBreakOnID(This,ID) )
4200
4201#define ID3D12InfoQueue1_SetMuteDebugOutput(This,bMute) \
4202 ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) )
4203
4204#define ID3D12InfoQueue1_GetMuteDebugOutput(This) \
4205 ( (This)->lpVtbl -> GetMuteDebugOutput(This) )
4206
4207
4208#define ID3D12InfoQueue1_RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) \
4209 ( (This)->lpVtbl -> RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) )
4210
4211#define ID3D12InfoQueue1_UnregisterMessageCallback(This,CallbackCookie) \
4212 ( (This)->lpVtbl -> UnregisterMessageCallback(This,CallbackCookie) )
4213
4214#endif /* COBJMACROS */
4215
4216
4217#endif /* C style interface */
4218
4219
4220
4221
4222#endif /* __ID3D12InfoQueue1_INTERFACE_DEFINED__ */
4223
4224
4225/* interface __MIDL_itf_d3d12sdklayers_0000_0020 */
4226/* [local] */
4227
4228#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
4229#ifdef _MSC_VER
4230#pragma endregion
4231#endif
4232DEFINE_GUID(IID_ID3D12Debug,0x344488b7,0x6846,0x474b,0xb9,0x89,0xf0,0x27,0x44,0x82,0x45,0xe0);
4233DEFINE_GUID(IID_ID3D12Debug1,0xaffaa4ca,0x63fe,0x4d8e,0xb8,0xad,0x15,0x90,0x00,0xaf,0x43,0x04);
4234DEFINE_GUID(IID_ID3D12Debug2,0x93a665c4,0xa3b2,0x4e5d,0xb6,0x92,0xa2,0x6a,0xe1,0x4e,0x33,0x74);
4235DEFINE_GUID(IID_ID3D12Debug3,0x5cf4e58f,0xf671,0x4ff1,0xa5,0x42,0x36,0x86,0xe3,0xd1,0x53,0xd1);
4236DEFINE_GUID(IID_ID3D12Debug4,0x014b816e,0x9ec5,0x4a2f,0xa8,0x45,0xff,0xbe,0x44,0x1c,0xe1,0x3a);
4237DEFINE_GUID(IID_ID3D12Debug5,0x548d6b12,0x09fa,0x40e0,0x90,0x69,0x5d,0xcd,0x58,0x9a,0x52,0xc9);
4238DEFINE_GUID(IID_ID3D12Debug6,0x82a816d6,0x5d01,0x4157,0x97,0xd0,0x49,0x75,0x46,0x3f,0xd1,0xed);
4239DEFINE_GUID(IID_ID3D12DebugDevice1,0xa9b71770,0xd099,0x4a65,0xa6,0x98,0x3d,0xee,0x10,0x02,0x0f,0x88);
4240DEFINE_GUID(IID_ID3D12DebugDevice,0x3febd6dd,0x4973,0x4787,0x81,0x94,0xe4,0x5f,0x9e,0x28,0x92,0x3e);
4241DEFINE_GUID(IID_ID3D12DebugDevice2,0x60eccbc1,0x378d,0x4df1,0x89,0x4c,0xf8,0xac,0x5c,0xe4,0xd7,0xdd);
4242DEFINE_GUID(IID_ID3D12DebugCommandQueue,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3a);
4243DEFINE_GUID(IID_ID3D12DebugCommandQueue1,0x16be35a2,0xbfd6,0x49f2,0xbc,0xae,0xea,0xae,0x4a,0xff,0x86,0x2d);
4244DEFINE_GUID(IID_ID3D12DebugCommandList1,0x102ca951,0x311b,0x4b01,0xb1,0x1f,0xec,0xb8,0x3e,0x06,0x1b,0x37);
4245DEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3f);
4246DEFINE_GUID(IID_ID3D12DebugCommandList2,0xaeb575cf,0x4e06,0x48be,0xba,0x3b,0xc4,0x50,0xfc,0x96,0x65,0x2e);
4247DEFINE_GUID(IID_ID3D12DebugCommandList3,0x197d5e15,0x4d37,0x4d34,0xaf,0x78,0x72,0x4c,0xd7,0x0f,0xdb,0x1f);
4248DEFINE_GUID(IID_ID3D12SharingContract,0x0adf7d52,0x929c,0x4e61,0xad,0xdb,0xff,0xed,0x30,0xde,0x66,0xef);
4249DEFINE_GUID(IID_ID3D12ManualWriteTrackingResource,0x86ca3b85,0x49ad,0x4b6e,0xae,0xd5,0xed,0xdb,0x18,0x54,0x0f,0x41);
4250DEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58);
4251DEFINE_GUID(IID_ID3D12InfoQueue1,0x2852dd88,0xb484,0x4c0c,0xb6,0xb1,0x67,0x16,0x85,0x00,0xe6,0x00);
4252
4253
4254extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0020_v0_0_c_ifspec;
4255extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0020_v0_0_s_ifspec;
4256
4257/* Additional Prototypes for ALL interfaces */
4258
4259/* end of Additional Prototypes */
4260
4261#ifdef __cplusplus
4262}
4263#endif
4264
4265#endif
4266
4267
diff --git a/contrib/SDL-3.2.8/src/video/directx/gen_xbox_cmacros.cs b/contrib/SDL-3.2.8/src/video/directx/gen_xbox_cmacros.cs
new file mode 100644
index 0000000..5878f93
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/directx/gen_xbox_cmacros.cs
@@ -0,0 +1,91 @@
1/*
2 Simple DirectMedia Layer
3 Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
4
5 This software is provided 'as-is', without any express or implied
6 warranty. In no event will the authors be held liable for any damages
7 arising from the use of this software.
8
9 Permission is granted to anyone to use this software for any purpose,
10 including commercial applications, and to alter it and redistribute it
11 freely, subject to the following restrictions:
12
13 1. The origin of this software must not be misrepresented; you must not
14 claim that you wrote the original software. If you use this software
15 in a product, an acknowledgment in the product documentation would be
16 appreciated but is not required.
17 2. Altered source versions must be plainly marked as such, and must not be
18 misrepresented as being the original software.
19 3. This notice may not be removed or altered from any source distribution.
20*/
21
22// Build and run this any time you update d3d12.h/d3d12sdklayers.h!
23
24using System.IO;
25
26class Program
27{
28 static void GenMacros(string[] input, StreamWriter output)
29 {
30 for (int i = 0; i < input.Length; i += 1)
31 {
32 if (input[i].StartsWith("#define I"))
33 {
34 // Strip out the bad ABI calls, use D3D_CALL_RET instead!
35 if (input[i].Contains("_GetDesc(") ||
36 input[i].Contains("_GetDesc1(") ||
37 input[i].Contains("_GetCPUDescriptorHandleForHeapStart(") ||
38 input[i].Contains("_GetGPUDescriptorHandleForHeapStart(") ||
39 input[i].Contains("_GetResourceAllocationInfo(") ||
40 input[i].Contains("_GetResourceAllocationInfo1(") ||
41 input[i].Contains("_GetResourceAllocationInfo2(") ||
42 input[i].Contains("_GetResourceAllocationInfo3(") ||
43 input[i].Contains("_GetCustomHeapProperties(") ||
44 input[i].Contains("_GetAdapterLuid(") ||
45 input[i].Contains("_GetLUID(") ||
46 input[i].Contains("_GetProgramIdentifier(") ||
47 input[i].Contains("_GetNodeID(") ||
48 input[i].Contains("_GetEntrypointID("))
49 {
50 // May as well skip the next line...
51 i += 1;
52 continue;
53 }
54
55 // The first line is fine as-is.
56 output.WriteLine(input[i]);
57
58 // The second line, however...
59 i += 1;
60
61 string notThis;
62 if (input[i].LastIndexOf("This,") > -1)
63 {
64 // Function with arguments
65 notThis = "This,";
66 }
67 else
68 {
69 // Function with no arguments
70 notThis = "This";
71 }
72
73 int lastNotThis = input[i].LastIndexOf(notThis);
74 string alias = input[i].Substring(0, lastNotThis).Replace("lpVtbl -> ", "");
75 string definition = input[i].Substring(lastNotThis).Replace(notThis, "");
76 output.WriteLine(alias + definition);
77 }
78 }
79 }
80
81 static void Main(string[] args)
82 {
83 using (FileStream SDL_d3d12_xbox_cmacros_h = File.OpenWrite("SDL_d3d12_xbox_cmacros.h"))
84 using (StreamWriter output = new StreamWriter(SDL_d3d12_xbox_cmacros_h))
85 {
86 output.WriteLine("/* This file is autogenerated, DO NOT MODIFY */");
87 GenMacros(File.ReadAllLines("d3d12.h"), output);
88 GenMacros(File.ReadAllLines("d3d12sdklayers.h"), output);
89 }
90 }
91}