master
1/*** Autogenerated by WIDL 10.4 from include/d3d11on12.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __d3d11on12_h__
17#define __d3d11on12_h__
18
19/* Forward declarations */
20
21#ifndef __ID3D11On12Device_FWD_DEFINED__
22#define __ID3D11On12Device_FWD_DEFINED__
23typedef interface ID3D11On12Device ID3D11On12Device;
24#ifdef __cplusplus
25interface ID3D11On12Device;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __ID3D11On12Device1_FWD_DEFINED__
30#define __ID3D11On12Device1_FWD_DEFINED__
31typedef interface ID3D11On12Device1 ID3D11On12Device1;
32#ifdef __cplusplus
33interface ID3D11On12Device1;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __ID3D11On12Device2_FWD_DEFINED__
38#define __ID3D11On12Device2_FWD_DEFINED__
39typedef interface ID3D11On12Device2 ID3D11On12Device2;
40#ifdef __cplusplus
41interface ID3D11On12Device2;
42#endif /* __cplusplus */
43#endif
44
45/* Headers for imported files */
46
47#include <oaidl.h>
48#include <ocidl.h>
49#include <d3d11.h>
50#include <d3d12.h>
51
52#ifdef __cplusplus
53extern "C" {
54#endif
55
56typedef struct D3D11_RESOURCE_FLAGS {
57 UINT BindFlags;
58 UINT MiscFlags;
59 UINT CPUAccessFlags;
60 UINT StructureByteStride;
61} D3D11_RESOURCE_FLAGS;
62/*****************************************************************************
63 * ID3D11On12Device interface
64 */
65#ifndef __ID3D11On12Device_INTERFACE_DEFINED__
66#define __ID3D11On12Device_INTERFACE_DEFINED__
67
68DEFINE_GUID(IID_ID3D11On12Device, 0x85611e73, 0x70a9, 0x490e, 0x96,0x14, 0xa9,0xe3,0x02,0x77,0x79,0x04);
69#if defined(__cplusplus) && !defined(CINTERFACE)
70MIDL_INTERFACE("85611e73-70a9-490e-9614-a9e302777904")
71ID3D11On12Device : public IUnknown
72{
73 virtual HRESULT STDMETHODCALLTYPE CreateWrappedResource(
74 IUnknown *d3d12_resource,
75 const D3D11_RESOURCE_FLAGS *flags,
76 D3D12_RESOURCE_STATES input_state,
77 D3D12_RESOURCE_STATES output_state,
78 REFIID iid,
79 void **d3d11_resource) = 0;
80
81 virtual void STDMETHODCALLTYPE ReleaseWrappedResources(
82 ID3D11Resource *const *resources,
83 UINT count) = 0;
84
85 virtual void STDMETHODCALLTYPE AcquireWrappedResources(
86 ID3D11Resource *const *resources,
87 UINT count) = 0;
88
89};
90#ifdef __CRT_UUID_DECL
91__CRT_UUID_DECL(ID3D11On12Device, 0x85611e73, 0x70a9, 0x490e, 0x96,0x14, 0xa9,0xe3,0x02,0x77,0x79,0x04)
92#endif
93#else
94typedef struct ID3D11On12DeviceVtbl {
95 BEGIN_INTERFACE
96
97 /*** IUnknown methods ***/
98 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
99 ID3D11On12Device *This,
100 REFIID riid,
101 void **ppvObject);
102
103 ULONG (STDMETHODCALLTYPE *AddRef)(
104 ID3D11On12Device *This);
105
106 ULONG (STDMETHODCALLTYPE *Release)(
107 ID3D11On12Device *This);
108
109 /*** ID3D11On12Device methods ***/
110 HRESULT (STDMETHODCALLTYPE *CreateWrappedResource)(
111 ID3D11On12Device *This,
112 IUnknown *d3d12_resource,
113 const D3D11_RESOURCE_FLAGS *flags,
114 D3D12_RESOURCE_STATES input_state,
115 D3D12_RESOURCE_STATES output_state,
116 REFIID iid,
117 void **d3d11_resource);
118
119 void (STDMETHODCALLTYPE *ReleaseWrappedResources)(
120 ID3D11On12Device *This,
121 ID3D11Resource *const *resources,
122 UINT count);
123
124 void (STDMETHODCALLTYPE *AcquireWrappedResources)(
125 ID3D11On12Device *This,
126 ID3D11Resource *const *resources,
127 UINT count);
128
129 END_INTERFACE
130} ID3D11On12DeviceVtbl;
131
132interface ID3D11On12Device {
133 CONST_VTBL ID3D11On12DeviceVtbl* lpVtbl;
134};
135
136#ifdef COBJMACROS
137#ifndef WIDL_C_INLINE_WRAPPERS
138/*** IUnknown methods ***/
139#define ID3D11On12Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
140#define ID3D11On12Device_AddRef(This) (This)->lpVtbl->AddRef(This)
141#define ID3D11On12Device_Release(This) (This)->lpVtbl->Release(This)
142/*** ID3D11On12Device methods ***/
143#define ID3D11On12Device_CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource) (This)->lpVtbl->CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource)
144#define ID3D11On12Device_ReleaseWrappedResources(This,resources,count) (This)->lpVtbl->ReleaseWrappedResources(This,resources,count)
145#define ID3D11On12Device_AcquireWrappedResources(This,resources,count) (This)->lpVtbl->AcquireWrappedResources(This,resources,count)
146#else
147/*** IUnknown methods ***/
148static inline HRESULT ID3D11On12Device_QueryInterface(ID3D11On12Device* This,REFIID riid,void **ppvObject) {
149 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
150}
151static inline ULONG ID3D11On12Device_AddRef(ID3D11On12Device* This) {
152 return This->lpVtbl->AddRef(This);
153}
154static inline ULONG ID3D11On12Device_Release(ID3D11On12Device* This) {
155 return This->lpVtbl->Release(This);
156}
157/*** ID3D11On12Device methods ***/
158static inline HRESULT ID3D11On12Device_CreateWrappedResource(ID3D11On12Device* This,IUnknown *d3d12_resource,const D3D11_RESOURCE_FLAGS *flags,D3D12_RESOURCE_STATES input_state,D3D12_RESOURCE_STATES output_state,REFIID iid,void **d3d11_resource) {
159 return This->lpVtbl->CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource);
160}
161static inline void ID3D11On12Device_ReleaseWrappedResources(ID3D11On12Device* This,ID3D11Resource *const *resources,UINT count) {
162 This->lpVtbl->ReleaseWrappedResources(This,resources,count);
163}
164static inline void ID3D11On12Device_AcquireWrappedResources(ID3D11On12Device* This,ID3D11Resource *const *resources,UINT count) {
165 This->lpVtbl->AcquireWrappedResources(This,resources,count);
166}
167#endif
168#endif
169
170#endif
171
172
173#endif /* __ID3D11On12Device_INTERFACE_DEFINED__ */
174
175HRESULT __stdcall D3D11On12CreateDevice(IUnknown *device,UINT flags,const D3D_FEATURE_LEVEL *feature_levels,UINT feature_level_count,IUnknown *const *queues,UINT queue_count,UINT node_mask,ID3D11Device **d3d11_device,ID3D11DeviceContext **d3d11_immediate_context,D3D_FEATURE_LEVEL *obtained_feature_level);
176
177typedef HRESULT (__stdcall *PFN_D3D11ON12_CREATE_DEVICE)(IUnknown *device,UINT flags,const D3D_FEATURE_LEVEL *feature_levels,UINT feature_level_count,IUnknown *const *queues,UINT queue_count,UINT node_mask,ID3D11Device **d3d11_device,ID3D11DeviceContext **d3d11_immediate_context,D3D_FEATURE_LEVEL *obtained_feature_level);
178/*****************************************************************************
179 * ID3D11On12Device1 interface
180 */
181#ifndef __ID3D11On12Device1_INTERFACE_DEFINED__
182#define __ID3D11On12Device1_INTERFACE_DEFINED__
183
184DEFINE_GUID(IID_ID3D11On12Device1, 0xbdb64df4, 0xea2f, 0x4c70, 0xb8,0x61, 0xaa,0xab,0x12,0x58,0xbb,0x5d);
185#if defined(__cplusplus) && !defined(CINTERFACE)
186MIDL_INTERFACE("bdb64df4-ea2f-4c70-b861-aaab1258bb5d")
187ID3D11On12Device1 : public ID3D11On12Device
188{
189 virtual HRESULT STDMETHODCALLTYPE GetD3D12Device(
190 REFIID iid,
191 ID3D12Device **d3d12_device) = 0;
192
193};
194#ifdef __CRT_UUID_DECL
195__CRT_UUID_DECL(ID3D11On12Device1, 0xbdb64df4, 0xea2f, 0x4c70, 0xb8,0x61, 0xaa,0xab,0x12,0x58,0xbb,0x5d)
196#endif
197#else
198typedef struct ID3D11On12Device1Vtbl {
199 BEGIN_INTERFACE
200
201 /*** IUnknown methods ***/
202 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
203 ID3D11On12Device1 *This,
204 REFIID riid,
205 void **ppvObject);
206
207 ULONG (STDMETHODCALLTYPE *AddRef)(
208 ID3D11On12Device1 *This);
209
210 ULONG (STDMETHODCALLTYPE *Release)(
211 ID3D11On12Device1 *This);
212
213 /*** ID3D11On12Device methods ***/
214 HRESULT (STDMETHODCALLTYPE *CreateWrappedResource)(
215 ID3D11On12Device1 *This,
216 IUnknown *d3d12_resource,
217 const D3D11_RESOURCE_FLAGS *flags,
218 D3D12_RESOURCE_STATES input_state,
219 D3D12_RESOURCE_STATES output_state,
220 REFIID iid,
221 void **d3d11_resource);
222
223 void (STDMETHODCALLTYPE *ReleaseWrappedResources)(
224 ID3D11On12Device1 *This,
225 ID3D11Resource *const *resources,
226 UINT count);
227
228 void (STDMETHODCALLTYPE *AcquireWrappedResources)(
229 ID3D11On12Device1 *This,
230 ID3D11Resource *const *resources,
231 UINT count);
232
233 /*** ID3D11On12Device1 methods ***/
234 HRESULT (STDMETHODCALLTYPE *GetD3D12Device)(
235 ID3D11On12Device1 *This,
236 REFIID iid,
237 ID3D12Device **d3d12_device);
238
239 END_INTERFACE
240} ID3D11On12Device1Vtbl;
241
242interface ID3D11On12Device1 {
243 CONST_VTBL ID3D11On12Device1Vtbl* lpVtbl;
244};
245
246#ifdef COBJMACROS
247#ifndef WIDL_C_INLINE_WRAPPERS
248/*** IUnknown methods ***/
249#define ID3D11On12Device1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
250#define ID3D11On12Device1_AddRef(This) (This)->lpVtbl->AddRef(This)
251#define ID3D11On12Device1_Release(This) (This)->lpVtbl->Release(This)
252/*** ID3D11On12Device methods ***/
253#define ID3D11On12Device1_CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource) (This)->lpVtbl->CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource)
254#define ID3D11On12Device1_ReleaseWrappedResources(This,resources,count) (This)->lpVtbl->ReleaseWrappedResources(This,resources,count)
255#define ID3D11On12Device1_AcquireWrappedResources(This,resources,count) (This)->lpVtbl->AcquireWrappedResources(This,resources,count)
256/*** ID3D11On12Device1 methods ***/
257#define ID3D11On12Device1_GetD3D12Device(This,iid,d3d12_device) (This)->lpVtbl->GetD3D12Device(This,iid,d3d12_device)
258#else
259/*** IUnknown methods ***/
260static inline HRESULT ID3D11On12Device1_QueryInterface(ID3D11On12Device1* This,REFIID riid,void **ppvObject) {
261 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
262}
263static inline ULONG ID3D11On12Device1_AddRef(ID3D11On12Device1* This) {
264 return This->lpVtbl->AddRef(This);
265}
266static inline ULONG ID3D11On12Device1_Release(ID3D11On12Device1* This) {
267 return This->lpVtbl->Release(This);
268}
269/*** ID3D11On12Device methods ***/
270static inline HRESULT ID3D11On12Device1_CreateWrappedResource(ID3D11On12Device1* This,IUnknown *d3d12_resource,const D3D11_RESOURCE_FLAGS *flags,D3D12_RESOURCE_STATES input_state,D3D12_RESOURCE_STATES output_state,REFIID iid,void **d3d11_resource) {
271 return This->lpVtbl->CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource);
272}
273static inline void ID3D11On12Device1_ReleaseWrappedResources(ID3D11On12Device1* This,ID3D11Resource *const *resources,UINT count) {
274 This->lpVtbl->ReleaseWrappedResources(This,resources,count);
275}
276static inline void ID3D11On12Device1_AcquireWrappedResources(ID3D11On12Device1* This,ID3D11Resource *const *resources,UINT count) {
277 This->lpVtbl->AcquireWrappedResources(This,resources,count);
278}
279/*** ID3D11On12Device1 methods ***/
280static inline HRESULT ID3D11On12Device1_GetD3D12Device(ID3D11On12Device1* This,REFIID iid,ID3D12Device **d3d12_device) {
281 return This->lpVtbl->GetD3D12Device(This,iid,d3d12_device);
282}
283#endif
284#endif
285
286#endif
287
288
289#endif /* __ID3D11On12Device1_INTERFACE_DEFINED__ */
290
291/*****************************************************************************
292 * ID3D11On12Device2 interface
293 */
294#ifndef __ID3D11On12Device2_INTERFACE_DEFINED__
295#define __ID3D11On12Device2_INTERFACE_DEFINED__
296
297DEFINE_GUID(IID_ID3D11On12Device2, 0xdc90f331, 0x4740, 0x43fa, 0x86,0x6e, 0x67,0xf1,0x2c,0xb5,0x82,0x23);
298#if defined(__cplusplus) && !defined(CINTERFACE)
299MIDL_INTERFACE("dc90f331-4740-43fa-866e-67f12cb58223")
300ID3D11On12Device2 : public ID3D11On12Device1
301{
302 virtual HRESULT STDMETHODCALLTYPE UnwrapUnderlyingResource(
303 ID3D11Resource *d3d11_resource,
304 ID3D12CommandQueue *d3d12_command_queue,
305 REFIID iid,
306 void **d3d12_resource) = 0;
307
308 virtual HRESULT STDMETHODCALLTYPE ReturnUnderlyingResource(
309 ID3D11Resource *d3d11_resource,
310 UINT num_sync,
311 UINT64 *signal_values,
312 ID3D12Fence **fences) = 0;
313
314};
315#ifdef __CRT_UUID_DECL
316__CRT_UUID_DECL(ID3D11On12Device2, 0xdc90f331, 0x4740, 0x43fa, 0x86,0x6e, 0x67,0xf1,0x2c,0xb5,0x82,0x23)
317#endif
318#else
319typedef struct ID3D11On12Device2Vtbl {
320 BEGIN_INTERFACE
321
322 /*** IUnknown methods ***/
323 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
324 ID3D11On12Device2 *This,
325 REFIID riid,
326 void **ppvObject);
327
328 ULONG (STDMETHODCALLTYPE *AddRef)(
329 ID3D11On12Device2 *This);
330
331 ULONG (STDMETHODCALLTYPE *Release)(
332 ID3D11On12Device2 *This);
333
334 /*** ID3D11On12Device methods ***/
335 HRESULT (STDMETHODCALLTYPE *CreateWrappedResource)(
336 ID3D11On12Device2 *This,
337 IUnknown *d3d12_resource,
338 const D3D11_RESOURCE_FLAGS *flags,
339 D3D12_RESOURCE_STATES input_state,
340 D3D12_RESOURCE_STATES output_state,
341 REFIID iid,
342 void **d3d11_resource);
343
344 void (STDMETHODCALLTYPE *ReleaseWrappedResources)(
345 ID3D11On12Device2 *This,
346 ID3D11Resource *const *resources,
347 UINT count);
348
349 void (STDMETHODCALLTYPE *AcquireWrappedResources)(
350 ID3D11On12Device2 *This,
351 ID3D11Resource *const *resources,
352 UINT count);
353
354 /*** ID3D11On12Device1 methods ***/
355 HRESULT (STDMETHODCALLTYPE *GetD3D12Device)(
356 ID3D11On12Device2 *This,
357 REFIID iid,
358 ID3D12Device **d3d12_device);
359
360 /*** ID3D11On12Device2 methods ***/
361 HRESULT (STDMETHODCALLTYPE *UnwrapUnderlyingResource)(
362 ID3D11On12Device2 *This,
363 ID3D11Resource *d3d11_resource,
364 ID3D12CommandQueue *d3d12_command_queue,
365 REFIID iid,
366 void **d3d12_resource);
367
368 HRESULT (STDMETHODCALLTYPE *ReturnUnderlyingResource)(
369 ID3D11On12Device2 *This,
370 ID3D11Resource *d3d11_resource,
371 UINT num_sync,
372 UINT64 *signal_values,
373 ID3D12Fence **fences);
374
375 END_INTERFACE
376} ID3D11On12Device2Vtbl;
377
378interface ID3D11On12Device2 {
379 CONST_VTBL ID3D11On12Device2Vtbl* lpVtbl;
380};
381
382#ifdef COBJMACROS
383#ifndef WIDL_C_INLINE_WRAPPERS
384/*** IUnknown methods ***/
385#define ID3D11On12Device2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
386#define ID3D11On12Device2_AddRef(This) (This)->lpVtbl->AddRef(This)
387#define ID3D11On12Device2_Release(This) (This)->lpVtbl->Release(This)
388/*** ID3D11On12Device methods ***/
389#define ID3D11On12Device2_CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource) (This)->lpVtbl->CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource)
390#define ID3D11On12Device2_ReleaseWrappedResources(This,resources,count) (This)->lpVtbl->ReleaseWrappedResources(This,resources,count)
391#define ID3D11On12Device2_AcquireWrappedResources(This,resources,count) (This)->lpVtbl->AcquireWrappedResources(This,resources,count)
392/*** ID3D11On12Device1 methods ***/
393#define ID3D11On12Device2_GetD3D12Device(This,iid,d3d12_device) (This)->lpVtbl->GetD3D12Device(This,iid,d3d12_device)
394/*** ID3D11On12Device2 methods ***/
395#define ID3D11On12Device2_UnwrapUnderlyingResource(This,d3d11_resource,d3d12_command_queue,iid,d3d12_resource) (This)->lpVtbl->UnwrapUnderlyingResource(This,d3d11_resource,d3d12_command_queue,iid,d3d12_resource)
396#define ID3D11On12Device2_ReturnUnderlyingResource(This,d3d11_resource,num_sync,signal_values,fences) (This)->lpVtbl->ReturnUnderlyingResource(This,d3d11_resource,num_sync,signal_values,fences)
397#else
398/*** IUnknown methods ***/
399static inline HRESULT ID3D11On12Device2_QueryInterface(ID3D11On12Device2* This,REFIID riid,void **ppvObject) {
400 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
401}
402static inline ULONG ID3D11On12Device2_AddRef(ID3D11On12Device2* This) {
403 return This->lpVtbl->AddRef(This);
404}
405static inline ULONG ID3D11On12Device2_Release(ID3D11On12Device2* This) {
406 return This->lpVtbl->Release(This);
407}
408/*** ID3D11On12Device methods ***/
409static inline HRESULT ID3D11On12Device2_CreateWrappedResource(ID3D11On12Device2* This,IUnknown *d3d12_resource,const D3D11_RESOURCE_FLAGS *flags,D3D12_RESOURCE_STATES input_state,D3D12_RESOURCE_STATES output_state,REFIID iid,void **d3d11_resource) {
410 return This->lpVtbl->CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource);
411}
412static inline void ID3D11On12Device2_ReleaseWrappedResources(ID3D11On12Device2* This,ID3D11Resource *const *resources,UINT count) {
413 This->lpVtbl->ReleaseWrappedResources(This,resources,count);
414}
415static inline void ID3D11On12Device2_AcquireWrappedResources(ID3D11On12Device2* This,ID3D11Resource *const *resources,UINT count) {
416 This->lpVtbl->AcquireWrappedResources(This,resources,count);
417}
418/*** ID3D11On12Device1 methods ***/
419static inline HRESULT ID3D11On12Device2_GetD3D12Device(ID3D11On12Device2* This,REFIID iid,ID3D12Device **d3d12_device) {
420 return This->lpVtbl->GetD3D12Device(This,iid,d3d12_device);
421}
422/*** ID3D11On12Device2 methods ***/
423static inline HRESULT ID3D11On12Device2_UnwrapUnderlyingResource(ID3D11On12Device2* This,ID3D11Resource *d3d11_resource,ID3D12CommandQueue *d3d12_command_queue,REFIID iid,void **d3d12_resource) {
424 return This->lpVtbl->UnwrapUnderlyingResource(This,d3d11_resource,d3d12_command_queue,iid,d3d12_resource);
425}
426static inline HRESULT ID3D11On12Device2_ReturnUnderlyingResource(ID3D11On12Device2* This,ID3D11Resource *d3d11_resource,UINT num_sync,UINT64 *signal_values,ID3D12Fence **fences) {
427 return This->lpVtbl->ReturnUnderlyingResource(This,d3d11_resource,num_sync,signal_values,fences);
428}
429#endif
430#endif
431
432#endif
433
434
435#endif /* __ID3D11On12Device2_INTERFACE_DEFINED__ */
436
437/* Begin additional prototypes for all interfaces */
438
439
440/* End additional prototypes */
441
442#ifdef __cplusplus
443}
444#endif
445
446#endif /* __d3d11on12_h__ */