RetroArch
d3d11on12.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------------------
2  *
3  * Copyright (c) Microsoft Corporation
4  *
5  *-------------------------------------------------------------------------------------*/
6 
7 
8 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
9 
10 
11  /* File created by MIDL compiler version 8.00.0613 */
12 
13 
14 
15 /* verify that the <rpcndr.h> version is high enough to compile this file*/
16 #ifndef __REQUIRED_RPCNDR_H_VERSION__
17 #define __REQUIRED_RPCNDR_H_VERSION__ 475
18 #endif
19 
20 /* verify that the <rpcsal.h> version is high enough to compile this file*/
21 #ifndef __REQUIRED_RPCSAL_H_VERSION__
22 #define __REQUIRED_RPCSAL_H_VERSION__ 100
23 #endif
24 
25 #include "rpc.h"
26 #include "rpcndr.h"
27 
28 #ifndef __RPCNDR_H_VERSION__
29 #error this stub requires an updated version of <rpcndr.h>
30 #endif /* __RPCNDR_H_VERSION__ */
31 
32 #ifndef COM_NO_WINDOWS_H
33 #include "windows.h"
34 #include "ole2.h"
35 #endif /*COM_NO_WINDOWS_H*/
36 
37 #ifndef __d3d11on12_h__
38 #define __d3d11on12_h__
39 
40 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
41 #pragma once
42 #endif
43 
44 /* Forward Declarations */
45 
46 #ifndef __ID3D11On12Device_FWD_DEFINED__
47 #define __ID3D11On12Device_FWD_DEFINED__
49 
50 #endif /* __ID3D11On12Device_FWD_DEFINED__ */
51 
52 
53 /* header files for imported files */
54 #include "oaidl.h"
55 #include "ocidl.h"
56 #include "d3d11.h"
57 #include "d3d12.h"
58 
59 #ifdef __cplusplus
60 extern "C"{
61 #endif
62 
63 
64 /* interface __MIDL_itf_d3d11on12_0000_0000 */
65 /* [local] */
66 
67 /*#include <winapifamily.h>*/
68 /*#pragma region App Family*/
69 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)*/
70 
72 // D3D11On12CreateDevice
73 // ------------------
74 //
75 // pDevice
76 // Specifies a pre-existing D3D12 device to use for D3D11 interop.
77 // May not be NULL.
78 // Flags
79 // Any of those documented for D3D11CreateDeviceAndSwapChain.
80 // pFeatureLevels
81 // Array of any of the following:
82 // D3D_FEATURE_LEVEL_12_1
83 // D3D_FEATURE_LEVEL_12_0
84 // D3D_FEATURE_LEVEL_11_1
85 // D3D_FEATURE_LEVEL_11_0
86 // D3D_FEATURE_LEVEL_10_1
87 // D3D_FEATURE_LEVEL_10_0
88 // D3D_FEATURE_LEVEL_9_3
89 // D3D_FEATURE_LEVEL_9_2
90 // D3D_FEATURE_LEVEL_9_1
91 // The first feature level which is less than or equal to the
92 // D3D12 device's feature level will be used to perform D3D11 validation.
93 // Creation will fail if no acceptable feature levels are provided.
94 // Providing NULL will default to the D3D12 device's feature level.
95 // FeatureLevels
96 // Size of feature levels array.
97 // ppCommandQueues
98 // Array of unique queues for D3D11On12 to use. Valid queue types:
99 // 3D command queue.
100 // Flags must be compatible with device flags, and its NodeMask must
101 // be a subset of the NodeMask provided to this API.
102 // NumQueues
103 // Size of command queue array.
104 // NodeMask
105 // Which node of the D3D12 device to use. Only 1 bit may be set.
106 // ppDevice
107 // Pointer to returned interface. May be NULL.
108 // ppImmediateContext
109 // Pointer to returned interface. May be NULL.
110 // pChosenFeatureLevel
111 // Pointer to returned feature level. May be NULL.
112 //
113 // Return Values
114 // Any of those documented for
115 // D3D11CreateDevice
116 //
118 typedef HRESULT (WINAPI* PFN_D3D11ON12_CREATE_DEVICE)( _In_ IUnknown*, UINT,
119  _In_reads_opt_( FeatureLevels ) CONST D3D_FEATURE_LEVEL*, UINT FeatureLevels,
120  _In_reads_opt_( NumQueues ) IUnknown* CONST*, UINT NumQueues,
121  UINT, _COM_Outptr_opt_ ID3D11Device**, _COM_Outptr_opt_ ID3D11DeviceContext**,
122  _Out_opt_ D3D_FEATURE_LEVEL* );
123 
125  _In_ IUnknown* pDevice,
126  UINT Flags,
127  _In_reads_opt_( FeatureLevels ) CONST D3D_FEATURE_LEVEL* pFeatureLevels,
128  UINT FeatureLevels,
129  _In_reads_opt_( NumQueues ) IUnknown* CONST* ppCommandQueues,
130  UINT NumQueues,
131  UINT NodeMask,
132  _COM_Outptr_opt_ ID3D11Device** ppDevice,
133  _COM_Outptr_opt_ ID3D11DeviceContext** ppImmediateContext,
134  _Out_opt_ D3D_FEATURE_LEVEL* pChosenFeatureLevel );
135 
136 typedef struct D3D11_RESOURCE_FLAGS
137  {
143 
144 
145 
148 
149 #ifndef __ID3D11On12Device_INTERFACE_DEFINED__
150 #define __ID3D11On12Device_INTERFACE_DEFINED__
151 
152 /* interface ID3D11On12Device */
153 /* [unique][local][object][uuid] */
154 
155 
156 EXTERN_C const IID IID_ID3D11On12Device;
157 
158 #if defined(__cplusplus) && !defined(CINTERFACE)
159 
160  MIDL_INTERFACE("85611e73-70a9-490e-9614-a9e302777904")
161  ID3D11On12Device : public IUnknown
162  {
163  public:
164  virtual HRESULT STDMETHODCALLTYPE CreateWrappedResource(
165  _In_ IUnknown *pResource12,
166  _In_ const D3D11_RESOURCE_FLAGS *pFlags11,
167  D3D12_RESOURCE_STATES InState,
168  D3D12_RESOURCE_STATES OutState,
169  REFIID riid,
170  _COM_Outptr_opt_ void **ppResource11) = 0;
171 
172  virtual void STDMETHODCALLTYPE ReleaseWrappedResources(
173  _In_reads_( NumResources ) ID3D11Resource *const *ppResources,
174  UINT NumResources) = 0;
175 
176  virtual void STDMETHODCALLTYPE AcquireWrappedResources(
177  _In_reads_( NumResources ) ID3D11Resource *const *ppResources,
178  UINT NumResources) = 0;
179 
180  };
181 
182 
183 #else /* C style interface */
184 
185  typedef struct ID3D11On12DeviceVtbl
186  {
187  BEGIN_INTERFACE
188 
189  HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
190  ID3D11On12Device * This,
191  REFIID riid,
192  _COM_Outptr_ void **ppvObject);
193 
194  ULONG ( STDMETHODCALLTYPE *AddRef )(
195  ID3D11On12Device * This);
196 
197  ULONG ( STDMETHODCALLTYPE *Release )(
198  ID3D11On12Device * This);
199 
200  HRESULT ( STDMETHODCALLTYPE *CreateWrappedResource )(
201  ID3D11On12Device * This,
202  _In_ IUnknown *pResource12,
203  _In_ const D3D11_RESOURCE_FLAGS *pFlags11,
206  REFIID riid,
207  _COM_Outptr_opt_ void **ppResource11);
208 
209  void ( STDMETHODCALLTYPE *ReleaseWrappedResources )(
210  ID3D11On12Device * This,
211  _In_reads_( NumResources ) ID3D11Resource *const *ppResources,
213 
214  void ( STDMETHODCALLTYPE *AcquireWrappedResources )(
215  ID3D11On12Device * This,
216  _In_reads_( NumResources ) ID3D11Resource *const *ppResources,
218 
219  END_INTERFACE
221 
222  interface ID3D11On12Device
223  {
224  CONST_VTBL struct ID3D11On12DeviceVtbl *lpVtbl;
225  };
226 
227 
228 
229 #ifdef COBJMACROS
230 
231 
232 #define ID3D11On12Device_QueryInterface(This,riid,ppvObject) \
233  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
234 
235 #define ID3D11On12Device_AddRef(This) \
236  ( (This)->lpVtbl -> AddRef(This) )
237 
238 #define ID3D11On12Device_Release(This) \
239  ( (This)->lpVtbl -> Release(This) )
240 
241 
242 #define ID3D11On12Device_CreateWrappedResource(This,pResource12,pFlags11,InState,OutState,riid,ppResource11) \
243  ( (This)->lpVtbl -> CreateWrappedResource(This,pResource12,pFlags11,InState,OutState,riid,ppResource11) )
244 
245 #define ID3D11On12Device_ReleaseWrappedResources(This,ppResources,NumResources) \
246  ( (This)->lpVtbl -> ReleaseWrappedResources(This,ppResources,NumResources) )
247 
248 #define ID3D11On12Device_AcquireWrappedResources(This,ppResources,NumResources) \
249  ( (This)->lpVtbl -> AcquireWrappedResources(This,ppResources,NumResources) )
250 
251 #endif /* COBJMACROS */
252 
253 
254 #endif /* C style interface */
255 
256 
257 
258 
259 #endif /* __ID3D11On12Device_INTERFACE_DEFINED__ */
260 
261 
262 /* interface __MIDL_itf_d3d11on12_0000_0001 */
263 /* [local] */
264 
265 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
266 /*#pragma endregion*/
267 DEFINE_GUID(IID_ID3D11On12Device,0x85611e73,0x70a9,0x490e,0x96,0x14,0xa9,0xe3,0x02,0x77,0x79,0x04);
268 
269 
272 
273 /* Additional Prototypes for ALL interfaces */
274 
275 /* end of Additional Prototypes */
276 
277 #ifdef __cplusplus
278 }
279 #endif
280 
281 #endif
282 
283 
BEGIN_INTERFACE REFIID _COM_Outptr_ void ** ppvObject
Definition: d3d11on12.h:191
D3D_FEATURE_LEVEL
Definition: d3dcommon.h:79
_In_ IUnknown _In_ const D3D11_RESOURCE_FLAGS D3D12_RESOURCE_STATES D3D12_RESOURCE_STATES REFIID _COM_Outptr_opt_ void ** ppResource11
Definition: d3d11on12.h:202
interface ID3D11Resource ID3D11Resource
Definition: d3d11.h:77
DEFINE_GUID(IID_ID3D11On12Device, 0x85611e73, 0x70a9, 0x490e, 0x96, 0x14, 0xa9, 0xe3, 0x02, 0x77, 0x79, 0x04)
interface ID3D11On12Device ID3D11On12Device
Definition: d3d11on12.h:48
interface ID3D11Device ID3D11Device
Definition: d3d11.h:329
UINT MiscFlags
Definition: d3d11on12.h:139
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
HRESULT WINAPI D3D11On12CreateDevice(_In_ IUnknown *pDevice, UINT Flags, _In_reads_opt_(FeatureLevels) CONST D3D_FEATURE_LEVEL *pFeatureLevels, UINT FeatureLevels, _In_reads_opt_(NumQueues) IUnknown *CONST *ppCommandQueues, UINT NumQueues, UINT NodeMask, _COM_Outptr_opt_ ID3D11Device **ppDevice, _COM_Outptr_opt_ ID3D11DeviceContext **ppImmediateContext, _Out_opt_ D3D_FEATURE_LEVEL *pChosenFeatureLevel)
_In_ IUnknown _In_ const D3D11_RESOURCE_FLAGS D3D12_RESOURCE_STATES InState
Definition: d3d11on12.h:202
RPC_IF_HANDLE __MIDL_itf_d3d11on12_0000_0000_v0_0_s_ifspec
_In_ IUnknown _In_ const D3D11_RESOURCE_FLAGS D3D12_RESOURCE_STATES D3D12_RESOURCE_STATES OutState
Definition: d3d11on12.h:202
BEGIN_INTERFACE REFIID riid
Definition: d3d11on12.h:191
_In_reads_(NumResources) ID3D11Resource *const *ppResources
RPC_IF_HANDLE __MIDL_itf_d3d11on12_0000_0001_v0_0_s_ifspec
D3D12_RESOURCE_STATES
Definition: d3d12.h:2309
ULONG(STDMETHODCALLTYPE *AddRef)(ID3D11On12Device *This)
void(STDMETHODCALLTYPE *ReleaseWrappedResources)(ID3D11On12Device *This
_In_ IUnknown * pResource12
Definition: d3d11on12.h:202
struct ID3D11On12DeviceVtbl ID3D11On12DeviceVtbl
RPC_IF_HANDLE __MIDL_itf_d3d11on12_0000_0001_v0_0_c_ifspec
HRESULT(WINAPI * PFN_D3D11ON12_CREATE_DEVICE)(_In_ IUnknown *, UINT, _In_reads_opt_(FeatureLevels) CONST D3D_FEATURE_LEVEL *, UINT FeatureLevels, _In_reads_opt_(NumQueues) IUnknown *CONST *, UINT NumQueues, UINT, _COM_Outptr_opt_ ID3D11Device **, _COM_Outptr_opt_ ID3D11DeviceContext **, _Out_opt_ D3D_FEATURE_LEVEL *)
Definition: d3d11on12.h:118
UINT StructureByteStride
Definition: d3d11on12.h:141
UINT NumResources
Definition: d3d11on12.h:212
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
_In_ IUnknown _In_ const D3D11_RESOURCE_FLAGS D3D12_RESOURCE_STATES D3D12_RESOURCE_STATES REFIID riid
Definition: d3d11on12.h:202
RPC_IF_HANDLE __MIDL_itf_d3d11on12_0000_0000_v0_0_c_ifspec
interface ID3D11DeviceContext ID3D11DeviceContext
Definition: d3d11.h:252
struct D3D11_RESOURCE_FLAGS D3D11_RESOURCE_FLAGS
Definition: glslang_tab.cpp:136
Definition: d3d11on12.h:185
UINT BindFlags
Definition: d3d11on12.h:138
Definition: glslang_tab.cpp:133
BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)(ID3D11On12Device *This
UINT CPUAccessFlags
Definition: d3d11on12.h:140
_In_ IUnknown _In_ const D3D11_RESOURCE_FLAGS * pFlags11
Definition: d3d11on12.h:202
EXTERN_C const IID IID_ID3D11On12Device
Definition: d3d11on12.h:156
Definition: d3d11on12.h:136