d3d12compiler.h 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977
  1. /*-------------------------------------------------------------------------------------
  2. *
  3. * Copyright (c) Microsoft Corporation
  4. * Licensed under the MIT license
  5. *
  6. *-------------------------------------------------------------------------------------*/
  7. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  8. /* File created by MIDL compiler version 8.01.0628 */
  9. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  10. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  11. #define __REQUIRED_RPCNDR_H_VERSION__ 500
  12. #endif
  13. /* verify that the <rpcsal.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCSAL_H_VERSION__
  15. #define __REQUIRED_RPCSAL_H_VERSION__ 100
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif /* __RPCNDR_H_VERSION__ */
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __d3d12compiler_h__
  27. #define __d3d12compiler_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. #ifndef DECLSPEC_XFGVIRT
  32. #if defined(_CONTROL_FLOW_GUARD_XFG)
  33. #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
  34. #else
  35. #define DECLSPEC_XFGVIRT(base, func)
  36. #endif
  37. #endif
  38. /* Forward Declarations */
  39. #ifndef __ID3D12CompilerFactoryChild_FWD_DEFINED__
  40. #define __ID3D12CompilerFactoryChild_FWD_DEFINED__
  41. typedef interface ID3D12CompilerFactoryChild ID3D12CompilerFactoryChild;
  42. #endif /* __ID3D12CompilerFactoryChild_FWD_DEFINED__ */
  43. #ifndef __ID3D12CompilerCacheSession_FWD_DEFINED__
  44. #define __ID3D12CompilerCacheSession_FWD_DEFINED__
  45. typedef interface ID3D12CompilerCacheSession ID3D12CompilerCacheSession;
  46. #endif /* __ID3D12CompilerCacheSession_FWD_DEFINED__ */
  47. #ifndef __ID3D12CompilerStateObject_FWD_DEFINED__
  48. #define __ID3D12CompilerStateObject_FWD_DEFINED__
  49. typedef interface ID3D12CompilerStateObject ID3D12CompilerStateObject;
  50. #endif /* __ID3D12CompilerStateObject_FWD_DEFINED__ */
  51. #ifndef __ID3D12Compiler_FWD_DEFINED__
  52. #define __ID3D12Compiler_FWD_DEFINED__
  53. typedef interface ID3D12Compiler ID3D12Compiler;
  54. #endif /* __ID3D12Compiler_FWD_DEFINED__ */
  55. #ifndef __ID3D12CompilerFactory_FWD_DEFINED__
  56. #define __ID3D12CompilerFactory_FWD_DEFINED__
  57. typedef interface ID3D12CompilerFactory ID3D12CompilerFactory;
  58. #endif /* __ID3D12CompilerFactory_FWD_DEFINED__ */
  59. /* header files for imported files */
  60. #include "oaidl.h"
  61. #include "ocidl.h"
  62. #include "dxgicommon.h"
  63. #include "d3d12.h"
  64. #ifdef __cplusplus
  65. extern "C"{
  66. #endif
  67. /* interface __MIDL_itf_d3d12compiler_0000_0000 */
  68. /* [local] */
  69. #include <winapifamily.h>
  70. #pragma region App Family
  71. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
  72. typedef struct D3D12_ADAPTER_FAMILY
  73. {
  74. WCHAR szAdapterFamily[ 128 ];
  75. } D3D12_ADAPTER_FAMILY;
  76. typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_CREATE_FACTORY)(
  77. _In_ LPCWSTR pPluginCompilerDllPath,
  78. _In_ REFIID riid,
  79. _COM_Outptr_opt_ void** ppFactory );
  80. HRESULT WINAPI D3D12CompilerCreateFactory(
  81. _In_ LPCWSTR pPluginCompilerDllPath,
  82. _In_ REFIID riid, // Expected: ID3D12CompilerFactory
  83. _COM_Outptr_opt_ void** ppFactory );
  84. typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(
  85. _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
  86. _Out_ ID3DBlob** ppBlob,
  87. _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
  88. HRESULT WINAPI D3D12CompilerSerializeVersionedRootSignature(
  89. _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
  90. _Out_ ID3DBlob** ppBlob,
  91. _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
  92. extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0000_v0_0_c_ifspec;
  93. extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0000_v0_0_s_ifspec;
  94. #ifndef __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__
  95. #define __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__
  96. /* interface ID3D12CompilerFactoryChild */
  97. /* [unique][local][object][uuid] */
  98. EXTERN_C const IID IID_ID3D12CompilerFactoryChild;
  99. #if defined(__cplusplus) && !defined(CINTERFACE)
  100. MIDL_INTERFACE("e0d06420-9f31-47e8-ae9a-dd2ba25ac0bc")
  101. ID3D12CompilerFactoryChild : public IUnknown
  102. {
  103. public:
  104. virtual HRESULT STDMETHODCALLTYPE GetFactory(
  105. _In_ REFIID riid,
  106. _COM_Outptr_ void **ppCompilerFactory) = 0;
  107. };
  108. #else /* C style interface */
  109. typedef struct ID3D12CompilerFactoryChildVtbl
  110. {
  111. BEGIN_INTERFACE
  112. DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
  113. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  114. ID3D12CompilerFactoryChild * This,
  115. REFIID riid,
  116. _COM_Outptr_ void **ppvObject);
  117. DECLSPEC_XFGVIRT(IUnknown, AddRef)
  118. ULONG ( STDMETHODCALLTYPE *AddRef )(
  119. ID3D12CompilerFactoryChild * This);
  120. DECLSPEC_XFGVIRT(IUnknown, Release)
  121. ULONG ( STDMETHODCALLTYPE *Release )(
  122. ID3D12CompilerFactoryChild * This);
  123. DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory)
  124. HRESULT ( STDMETHODCALLTYPE *GetFactory )(
  125. ID3D12CompilerFactoryChild * This,
  126. _In_ REFIID riid,
  127. _COM_Outptr_ void **ppCompilerFactory);
  128. END_INTERFACE
  129. } ID3D12CompilerFactoryChildVtbl;
  130. interface ID3D12CompilerFactoryChild
  131. {
  132. CONST_VTBL struct ID3D12CompilerFactoryChildVtbl *lpVtbl;
  133. };
  134. #ifdef COBJMACROS
  135. #define ID3D12CompilerFactoryChild_QueryInterface(This,riid,ppvObject) \
  136. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  137. #define ID3D12CompilerFactoryChild_AddRef(This) \
  138. ( (This)->lpVtbl -> AddRef(This) )
  139. #define ID3D12CompilerFactoryChild_Release(This) \
  140. ( (This)->lpVtbl -> Release(This) )
  141. #define ID3D12CompilerFactoryChild_GetFactory(This,riid,ppCompilerFactory) \
  142. ( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) )
  143. #endif /* COBJMACROS */
  144. #endif /* C style interface */
  145. #endif /* __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__ */
  146. /* interface __MIDL_itf_d3d12compiler_0000_0001 */
  147. /* [local] */
  148. typedef
  149. enum D3D12_COMPILER_VALUE_TYPE
  150. {
  151. D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE = 0,
  152. D3D12_COMPILER_VALUE_TYPE_METADATA = 1,
  153. D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB = 2,
  154. D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA = 3
  155. } D3D12_COMPILER_VALUE_TYPE;
  156. typedef
  157. enum D3D12_COMPILER_VALUE_TYPE_FLAGS
  158. {
  159. D3D12_COMPILER_VALUE_TYPE_FLAGS_NONE = 0,
  160. D3D12_COMPILER_VALUE_TYPE_FLAGS_OBJECT_CODE = ( 1 << D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE ) ,
  161. D3D12_COMPILER_VALUE_TYPE_FLAGS_METADATA = ( 1 << D3D12_COMPILER_VALUE_TYPE_METADATA ) ,
  162. D3D12_COMPILER_VALUE_TYPE_FLAGS_DEBUG_PDB = ( 1 << D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB ) ,
  163. D3D12_COMPILER_VALUE_TYPE_FLAGS_PERFORMANCE_DATA = ( 1 << D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA )
  164. } D3D12_COMPILER_VALUE_TYPE_FLAGS;
  165. DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPILER_VALUE_TYPE_FLAGS )
  166. typedef struct D3D12_COMPILER_DATABASE_PATH
  167. {
  168. D3D12_COMPILER_VALUE_TYPE_FLAGS Types;
  169. LPCWSTR pPath;
  170. } D3D12_COMPILER_DATABASE_PATH;
  171. typedef struct D3D12_COMPILER_CACHE_GROUP_KEY
  172. {
  173. _Field_size_bytes_full_(KeySize) const void *pKey;
  174. UINT KeySize;
  175. } D3D12_COMPILER_CACHE_GROUP_KEY;
  176. typedef struct D3D12_COMPILER_CACHE_VALUE_KEY
  177. {
  178. _Field_size_bytes_full_(KeySize) const void *pKey;
  179. UINT KeySize;
  180. } D3D12_COMPILER_CACHE_VALUE_KEY;
  181. typedef struct D3D12_COMPILER_CACHE_VALUE
  182. {
  183. _Field_size_bytes_full_(ValueSize) void *pValue;
  184. UINT ValueSize;
  185. } D3D12_COMPILER_CACHE_VALUE;
  186. typedef struct D3D12_COMPILER_CACHE_TYPED_VALUE
  187. {
  188. D3D12_COMPILER_VALUE_TYPE Type;
  189. D3D12_COMPILER_CACHE_VALUE Value;
  190. } D3D12_COMPILER_CACHE_TYPED_VALUE;
  191. typedef struct D3D12_COMPILER_CACHE_CONST_VALUE
  192. {
  193. _Field_size_bytes_full_(ValueSize) const void *pValue;
  194. UINT ValueSize;
  195. } D3D12_COMPILER_CACHE_CONST_VALUE;
  196. typedef struct D3D12_COMPILER_CACHE_TYPED_CONST_VALUE
  197. {
  198. D3D12_COMPILER_VALUE_TYPE Type;
  199. D3D12_COMPILER_CACHE_CONST_VALUE Value;
  200. } D3D12_COMPILER_CACHE_TYPED_CONST_VALUE;
  201. typedef struct D3D12_COMPILER_TARGET
  202. {
  203. UINT AdapterFamilyIndex;
  204. UINT64 ABIVersion;
  205. } D3D12_COMPILER_TARGET;
  206. typedef void *( __stdcall *D3D12CompilerCacheSessionAllocationFunc )(
  207. SIZE_T SizeInBytes,
  208. _Inout_opt_ void *pContext);
  209. typedef void ( __stdcall *D3D12CompilerCacheSessionGroupValueKeysFunc )(
  210. _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
  211. _Inout_opt_ void *pContext);
  212. typedef void ( __stdcall *D3D12CompilerCacheSessionGroupValuesFunc )(
  213. UINT ValueKeyIndex,
  214. _In_ const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValue,
  215. _Inout_opt_ void *pContext);
  216. extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0001_v0_0_c_ifspec;
  217. extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0001_v0_0_s_ifspec;
  218. #ifndef __ID3D12CompilerCacheSession_INTERFACE_DEFINED__
  219. #define __ID3D12CompilerCacheSession_INTERFACE_DEFINED__
  220. /* interface ID3D12CompilerCacheSession */
  221. /* [unique][local][object][uuid] */
  222. EXTERN_C const IID IID_ID3D12CompilerCacheSession;
  223. #if defined(__cplusplus) && !defined(CINTERFACE)
  224. MIDL_INTERFACE("5704e5e6-054b-4738-b661-7b0d68d8dde2")
  225. ID3D12CompilerCacheSession : public ID3D12CompilerFactoryChild
  226. {
  227. public:
  228. virtual HRESULT STDMETHODCALLTYPE FindGroup(
  229. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  230. _Out_opt_ UINT *pGroupVersion) = 0;
  231. virtual HRESULT STDMETHODCALLTYPE FindGroupValueKeys(
  232. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  233. _In_opt_ const UINT *pExpectedGroupVersion,
  234. _In_ D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc,
  235. _Inout_opt_ void *pContext) = 0;
  236. virtual HRESULT STDMETHODCALLTYPE FindGroupValues(
  237. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  238. _In_opt_ const UINT *pExpectedGroupVersion,
  239. D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags,
  240. _In_opt_ D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc,
  241. _Inout_opt_ void *pContext) = 0;
  242. virtual HRESULT STDMETHODCALLTYPE FindValue(
  243. _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
  244. _Inout_count_(NumTypedValues) D3D12_COMPILER_CACHE_TYPED_VALUE *pTypedValues,
  245. UINT NumTypedValues,
  246. _In_opt_ D3D12CompilerCacheSessionAllocationFunc pCallbackFunc,
  247. _Inout_opt_ void *pContext) = 0;
  248. virtual const D3D12_APPLICATION_DESC *STDMETHODCALLTYPE GetApplicationDesc( void) = 0;
  249. #if BX_COMPILER_MSVC || (BX_COMPILER_CLANG && defined(_MSC_VER) )
  250. virtual D3D12_COMPILER_TARGET STDMETHODCALLTYPE GetCompilerTarget( void) = 0;
  251. #else
  252. virtual D3D12_COMPILER_TARGET *STDMETHODCALLTYPE GetCompilerTarget(
  253. D3D12_COMPILER_TARGET * RetVal) = 0;
  254. #endif
  255. virtual D3D12_COMPILER_VALUE_TYPE_FLAGS STDMETHODCALLTYPE GetValueTypes( void) = 0;
  256. virtual HRESULT STDMETHODCALLTYPE StoreGroupValueKeys(
  257. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  258. UINT GroupVersion,
  259. _In_reads_(NumValueKeys) const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKeys,
  260. UINT NumValueKeys) = 0;
  261. virtual HRESULT STDMETHODCALLTYPE StoreValue(
  262. _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
  263. _In_reads_(NumTypedValues) const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValues,
  264. UINT NumTypedValues) = 0;
  265. };
  266. #else /* C style interface */
  267. typedef struct ID3D12CompilerCacheSessionVtbl
  268. {
  269. BEGIN_INTERFACE
  270. DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
  271. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  272. ID3D12CompilerCacheSession * This,
  273. REFIID riid,
  274. _COM_Outptr_ void **ppvObject);
  275. DECLSPEC_XFGVIRT(IUnknown, AddRef)
  276. ULONG ( STDMETHODCALLTYPE *AddRef )(
  277. ID3D12CompilerCacheSession * This);
  278. DECLSPEC_XFGVIRT(IUnknown, Release)
  279. ULONG ( STDMETHODCALLTYPE *Release )(
  280. ID3D12CompilerCacheSession * This);
  281. DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory)
  282. HRESULT ( STDMETHODCALLTYPE *GetFactory )(
  283. ID3D12CompilerCacheSession * This,
  284. _In_ REFIID riid,
  285. _COM_Outptr_ void **ppCompilerFactory);
  286. DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroup)
  287. HRESULT ( STDMETHODCALLTYPE *FindGroup )(
  288. ID3D12CompilerCacheSession * This,
  289. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  290. _Out_opt_ UINT *pGroupVersion);
  291. DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroupValueKeys)
  292. HRESULT ( STDMETHODCALLTYPE *FindGroupValueKeys )(
  293. ID3D12CompilerCacheSession * This,
  294. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  295. _In_opt_ const UINT *pExpectedGroupVersion,
  296. _In_ D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc,
  297. _Inout_opt_ void *pContext);
  298. DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroupValues)
  299. HRESULT ( STDMETHODCALLTYPE *FindGroupValues )(
  300. ID3D12CompilerCacheSession * This,
  301. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  302. _In_opt_ const UINT *pExpectedGroupVersion,
  303. D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags,
  304. _In_opt_ D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc,
  305. _Inout_opt_ void *pContext);
  306. DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindValue)
  307. HRESULT ( STDMETHODCALLTYPE *FindValue )(
  308. ID3D12CompilerCacheSession * This,
  309. _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
  310. _Inout_count_(NumTypedValues) D3D12_COMPILER_CACHE_TYPED_VALUE *pTypedValues,
  311. UINT NumTypedValues,
  312. _In_opt_ D3D12CompilerCacheSessionAllocationFunc pCallbackFunc,
  313. _Inout_opt_ void *pContext);
  314. DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetApplicationDesc)
  315. const D3D12_APPLICATION_DESC *( STDMETHODCALLTYPE *GetApplicationDesc )(
  316. ID3D12CompilerCacheSession * This);
  317. DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetCompilerTarget)
  318. #if !defined(_WIN32)
  319. D3D12_COMPILER_TARGET ( STDMETHODCALLTYPE *GetCompilerTarget )(
  320. ID3D12CompilerCacheSession * This);
  321. #else
  322. D3D12_COMPILER_TARGET *( STDMETHODCALLTYPE *GetCompilerTarget )(
  323. ID3D12CompilerCacheSession * This,
  324. D3D12_COMPILER_TARGET * RetVal);
  325. #endif
  326. DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetValueTypes)
  327. D3D12_COMPILER_VALUE_TYPE_FLAGS ( STDMETHODCALLTYPE *GetValueTypes )(
  328. ID3D12CompilerCacheSession * This);
  329. DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, StoreGroupValueKeys)
  330. HRESULT ( STDMETHODCALLTYPE *StoreGroupValueKeys )(
  331. ID3D12CompilerCacheSession * This,
  332. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  333. UINT GroupVersion,
  334. _In_reads_(NumValueKeys) const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKeys,
  335. UINT NumValueKeys);
  336. DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, StoreValue)
  337. HRESULT ( STDMETHODCALLTYPE *StoreValue )(
  338. ID3D12CompilerCacheSession * This,
  339. _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
  340. _In_reads_(NumTypedValues) const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValues,
  341. UINT NumTypedValues);
  342. END_INTERFACE
  343. } ID3D12CompilerCacheSessionVtbl;
  344. interface ID3D12CompilerCacheSession
  345. {
  346. CONST_VTBL struct ID3D12CompilerCacheSessionVtbl *lpVtbl;
  347. };
  348. #ifdef COBJMACROS
  349. #define ID3D12CompilerCacheSession_QueryInterface(This,riid,ppvObject) \
  350. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  351. #define ID3D12CompilerCacheSession_AddRef(This) \
  352. ( (This)->lpVtbl -> AddRef(This) )
  353. #define ID3D12CompilerCacheSession_Release(This) \
  354. ( (This)->lpVtbl -> Release(This) )
  355. #define ID3D12CompilerCacheSession_GetFactory(This,riid,ppCompilerFactory) \
  356. ( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) )
  357. #define ID3D12CompilerCacheSession_FindGroup(This,pGroupKey,pGroupVersion) \
  358. ( (This)->lpVtbl -> FindGroup(This,pGroupKey,pGroupVersion) )
  359. #define ID3D12CompilerCacheSession_FindGroupValueKeys(This,pGroupKey,pExpectedGroupVersion,CallbackFunc,pContext) \
  360. ( (This)->lpVtbl -> FindGroupValueKeys(This,pGroupKey,pExpectedGroupVersion,CallbackFunc,pContext) )
  361. #define ID3D12CompilerCacheSession_FindGroupValues(This,pGroupKey,pExpectedGroupVersion,ValueTypeFlags,CallbackFunc,pContext) \
  362. ( (This)->lpVtbl -> FindGroupValues(This,pGroupKey,pExpectedGroupVersion,ValueTypeFlags,CallbackFunc,pContext) )
  363. #define ID3D12CompilerCacheSession_FindValue(This,pValueKey,pTypedValues,NumTypedValues,pCallbackFunc,pContext) \
  364. ( (This)->lpVtbl -> FindValue(This,pValueKey,pTypedValues,NumTypedValues,pCallbackFunc,pContext) )
  365. #define ID3D12CompilerCacheSession_GetApplicationDesc(This) \
  366. ( (This)->lpVtbl -> GetApplicationDesc(This) )
  367. #if !defined(_WIN32)
  368. #define ID3D12CompilerCacheSession_GetCompilerTarget(This) \
  369. ( (This)->lpVtbl -> GetCompilerTarget(This) )
  370. #else
  371. #define ID3D12CompilerCacheSession_GetCompilerTarget(This,RetVal) \
  372. ( (This)->lpVtbl -> GetCompilerTarget(This,RetVal) )
  373. #endif
  374. #define ID3D12CompilerCacheSession_GetValueTypes(This) \
  375. ( (This)->lpVtbl -> GetValueTypes(This) )
  376. #define ID3D12CompilerCacheSession_StoreGroupValueKeys(This,pGroupKey,GroupVersion,pValueKeys,NumValueKeys) \
  377. ( (This)->lpVtbl -> StoreGroupValueKeys(This,pGroupKey,GroupVersion,pValueKeys,NumValueKeys) )
  378. #define ID3D12CompilerCacheSession_StoreValue(This,pValueKey,pTypedValues,NumTypedValues) \
  379. ( (This)->lpVtbl -> StoreValue(This,pValueKey,pTypedValues,NumTypedValues) )
  380. #endif /* COBJMACROS */
  381. #endif /* C style interface */
  382. #endif /* __ID3D12CompilerCacheSession_INTERFACE_DEFINED__ */
  383. #ifndef __ID3D12CompilerStateObject_INTERFACE_DEFINED__
  384. #define __ID3D12CompilerStateObject_INTERFACE_DEFINED__
  385. /* interface ID3D12CompilerStateObject */
  386. /* [unique][local][object][uuid] */
  387. EXTERN_C const IID IID_ID3D12CompilerStateObject;
  388. #if defined(__cplusplus) && !defined(CINTERFACE)
  389. MIDL_INTERFACE("5981cca4-e8ae-44ca-9b92-4fa86f5a3a3a")
  390. ID3D12CompilerStateObject : public IUnknown
  391. {
  392. public:
  393. virtual HRESULT STDMETHODCALLTYPE GetCompiler(
  394. _In_ REFIID riid,
  395. _COM_Outptr_ void **ppCompiler) = 0;
  396. };
  397. #else /* C style interface */
  398. typedef struct ID3D12CompilerStateObjectVtbl
  399. {
  400. BEGIN_INTERFACE
  401. DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
  402. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  403. ID3D12CompilerStateObject * This,
  404. REFIID riid,
  405. _COM_Outptr_ void **ppvObject);
  406. DECLSPEC_XFGVIRT(IUnknown, AddRef)
  407. ULONG ( STDMETHODCALLTYPE *AddRef )(
  408. ID3D12CompilerStateObject * This);
  409. DECLSPEC_XFGVIRT(IUnknown, Release)
  410. ULONG ( STDMETHODCALLTYPE *Release )(
  411. ID3D12CompilerStateObject * This);
  412. DECLSPEC_XFGVIRT(ID3D12CompilerStateObject, GetCompiler)
  413. HRESULT ( STDMETHODCALLTYPE *GetCompiler )(
  414. ID3D12CompilerStateObject * This,
  415. _In_ REFIID riid,
  416. _COM_Outptr_ void **ppCompiler);
  417. END_INTERFACE
  418. } ID3D12CompilerStateObjectVtbl;
  419. interface ID3D12CompilerStateObject
  420. {
  421. CONST_VTBL struct ID3D12CompilerStateObjectVtbl *lpVtbl;
  422. };
  423. #ifdef COBJMACROS
  424. #define ID3D12CompilerStateObject_QueryInterface(This,riid,ppvObject) \
  425. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  426. #define ID3D12CompilerStateObject_AddRef(This) \
  427. ( (This)->lpVtbl -> AddRef(This) )
  428. #define ID3D12CompilerStateObject_Release(This) \
  429. ( (This)->lpVtbl -> Release(This) )
  430. #define ID3D12CompilerStateObject_GetCompiler(This,riid,ppCompiler) \
  431. ( (This)->lpVtbl -> GetCompiler(This,riid,ppCompiler) )
  432. #endif /* COBJMACROS */
  433. #endif /* C style interface */
  434. #endif /* __ID3D12CompilerStateObject_INTERFACE_DEFINED__ */
  435. /* interface __MIDL_itf_d3d12compiler_0000_0003 */
  436. /* [local] */
  437. typedef struct D3D12_COMPILER_EXISTING_COLLECTION_DESC
  438. {
  439. ID3D12CompilerStateObject *pExistingCollection;
  440. UINT NumExports;
  441. _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports;
  442. } D3D12_COMPILER_EXISTING_COLLECTION_DESC;
  443. extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0003_v0_0_c_ifspec;
  444. extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0003_v0_0_s_ifspec;
  445. #ifndef __ID3D12Compiler_INTERFACE_DEFINED__
  446. #define __ID3D12Compiler_INTERFACE_DEFINED__
  447. /* interface ID3D12Compiler */
  448. /* [unique][local][object][uuid] */
  449. EXTERN_C const IID IID_ID3D12Compiler;
  450. #if defined(__cplusplus) && !defined(CINTERFACE)
  451. MIDL_INTERFACE("8c403c12-993b-4583-80f1-6824138fa68e")
  452. ID3D12Compiler : public ID3D12CompilerFactoryChild
  453. {
  454. public:
  455. virtual HRESULT STDMETHODCALLTYPE CompilePipelineState(
  456. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  457. UINT GroupVersion,
  458. _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc) = 0;
  459. virtual HRESULT STDMETHODCALLTYPE CompileStateObject(
  460. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  461. UINT GroupVersion,
  462. _In_ const D3D12_STATE_OBJECT_DESC *pDesc,
  463. _In_ REFIID riid,
  464. _COM_Outptr_ void **ppCompilerStateObject) = 0;
  465. virtual HRESULT STDMETHODCALLTYPE CompileAddToStateObject(
  466. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  467. UINT GroupVersion,
  468. _In_ const D3D12_STATE_OBJECT_DESC *pAddition,
  469. _In_ ID3D12CompilerStateObject *pCompilerStateObjectToGrowFrom,
  470. _In_ REFIID riid,
  471. _COM_Outptr_ void **ppNewCompilerStateObject) = 0;
  472. virtual HRESULT STDMETHODCALLTYPE GetCacheSession(
  473. _In_ REFIID riid,
  474. _COM_Outptr_ void **ppCompilerCacheSession) = 0;
  475. };
  476. #else /* C style interface */
  477. typedef struct ID3D12CompilerVtbl
  478. {
  479. BEGIN_INTERFACE
  480. DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
  481. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  482. ID3D12Compiler * This,
  483. REFIID riid,
  484. _COM_Outptr_ void **ppvObject);
  485. DECLSPEC_XFGVIRT(IUnknown, AddRef)
  486. ULONG ( STDMETHODCALLTYPE *AddRef )(
  487. ID3D12Compiler * This);
  488. DECLSPEC_XFGVIRT(IUnknown, Release)
  489. ULONG ( STDMETHODCALLTYPE *Release )(
  490. ID3D12Compiler * This);
  491. DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory)
  492. HRESULT ( STDMETHODCALLTYPE *GetFactory )(
  493. ID3D12Compiler * This,
  494. _In_ REFIID riid,
  495. _COM_Outptr_ void **ppCompilerFactory);
  496. DECLSPEC_XFGVIRT(ID3D12Compiler, CompilePipelineState)
  497. HRESULT ( STDMETHODCALLTYPE *CompilePipelineState )(
  498. ID3D12Compiler * This,
  499. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  500. UINT GroupVersion,
  501. _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc);
  502. DECLSPEC_XFGVIRT(ID3D12Compiler, CompileStateObject)
  503. HRESULT ( STDMETHODCALLTYPE *CompileStateObject )(
  504. ID3D12Compiler * This,
  505. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  506. UINT GroupVersion,
  507. _In_ const D3D12_STATE_OBJECT_DESC *pDesc,
  508. _In_ REFIID riid,
  509. _COM_Outptr_ void **ppCompilerStateObject);
  510. DECLSPEC_XFGVIRT(ID3D12Compiler, CompileAddToStateObject)
  511. HRESULT ( STDMETHODCALLTYPE *CompileAddToStateObject )(
  512. ID3D12Compiler * This,
  513. _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
  514. UINT GroupVersion,
  515. _In_ const D3D12_STATE_OBJECT_DESC *pAddition,
  516. _In_ ID3D12CompilerStateObject *pCompilerStateObjectToGrowFrom,
  517. _In_ REFIID riid,
  518. _COM_Outptr_ void **ppNewCompilerStateObject);
  519. DECLSPEC_XFGVIRT(ID3D12Compiler, GetCacheSession)
  520. HRESULT ( STDMETHODCALLTYPE *GetCacheSession )(
  521. ID3D12Compiler * This,
  522. _In_ REFIID riid,
  523. _COM_Outptr_ void **ppCompilerCacheSession);
  524. END_INTERFACE
  525. } ID3D12CompilerVtbl;
  526. interface ID3D12Compiler
  527. {
  528. CONST_VTBL struct ID3D12CompilerVtbl *lpVtbl;
  529. };
  530. #ifdef COBJMACROS
  531. #define ID3D12Compiler_QueryInterface(This,riid,ppvObject) \
  532. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  533. #define ID3D12Compiler_AddRef(This) \
  534. ( (This)->lpVtbl -> AddRef(This) )
  535. #define ID3D12Compiler_Release(This) \
  536. ( (This)->lpVtbl -> Release(This) )
  537. #define ID3D12Compiler_GetFactory(This,riid,ppCompilerFactory) \
  538. ( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) )
  539. #define ID3D12Compiler_CompilePipelineState(This,pGroupKey,GroupVersion,pDesc) \
  540. ( (This)->lpVtbl -> CompilePipelineState(This,pGroupKey,GroupVersion,pDesc) )
  541. #define ID3D12Compiler_CompileStateObject(This,pGroupKey,GroupVersion,pDesc,riid,ppCompilerStateObject) \
  542. ( (This)->lpVtbl -> CompileStateObject(This,pGroupKey,GroupVersion,pDesc,riid,ppCompilerStateObject) )
  543. #define ID3D12Compiler_CompileAddToStateObject(This,pGroupKey,GroupVersion,pAddition,pCompilerStateObjectToGrowFrom,riid,ppNewCompilerStateObject) \
  544. ( (This)->lpVtbl -> CompileAddToStateObject(This,pGroupKey,GroupVersion,pAddition,pCompilerStateObjectToGrowFrom,riid,ppNewCompilerStateObject) )
  545. #define ID3D12Compiler_GetCacheSession(This,riid,ppCompilerCacheSession) \
  546. ( (This)->lpVtbl -> GetCacheSession(This,riid,ppCompilerCacheSession) )
  547. #endif /* COBJMACROS */
  548. #endif /* C style interface */
  549. #endif /* __ID3D12Compiler_INTERFACE_DEFINED__ */
  550. #ifndef __ID3D12CompilerFactory_INTERFACE_DEFINED__
  551. #define __ID3D12CompilerFactory_INTERFACE_DEFINED__
  552. /* interface ID3D12CompilerFactory */
  553. /* [unique][local][object][uuid] */
  554. EXTERN_C const IID IID_ID3D12CompilerFactory;
  555. #if defined(__cplusplus) && !defined(CINTERFACE)
  556. MIDL_INTERFACE("c1ee4b59-3f59-47a5-9b4e-a855c858a878")
  557. ID3D12CompilerFactory : public IUnknown
  558. {
  559. public:
  560. virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilies(
  561. UINT AdapterFamilyIndex,
  562. _Out_ D3D12_ADAPTER_FAMILY *pAdapterFamily) = 0;
  563. virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilyABIVersions(
  564. UINT AdapterFamilyIndex,
  565. _Inout_ UINT32 *pNumABIVersions,
  566. _Out_writes_opt_(*pNumABIVersions) UINT64 *pABIVersions) = 0;
  567. virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilyCompilerVersion(
  568. UINT AdapterFamilyIndex,
  569. _Out_ D3D12_VERSION_NUMBER *pCompilerVersion) = 0;
  570. virtual HRESULT STDMETHODCALLTYPE GetApplicationProfileVersion(
  571. _In_ const D3D12_COMPILER_TARGET *pTarget,
  572. _In_ const D3D12_APPLICATION_DESC *pApplicationDesc,
  573. _Out_ D3D12_VERSION_NUMBER *pApplicationProfileVersion) = 0;
  574. virtual HRESULT STDMETHODCALLTYPE CreateCompilerCacheSession(
  575. _In_reads_(NumPaths) const D3D12_COMPILER_DATABASE_PATH *pPaths,
  576. UINT NumPaths,
  577. _In_opt_ const D3D12_COMPILER_TARGET *pTarget,
  578. _In_opt_ const D3D12_APPLICATION_DESC *pApplicationDesc,
  579. _In_ REFIID riid,
  580. _COM_Outptr_ void **ppCompilerCacheSession) = 0;
  581. virtual HRESULT STDMETHODCALLTYPE CreateCompiler(
  582. _In_ ID3D12CompilerCacheSession *pCompilerCacheSession,
  583. _In_ REFIID riid,
  584. _COM_Outptr_ void **ppCompiler) = 0;
  585. };
  586. #else /* C style interface */
  587. typedef struct ID3D12CompilerFactoryVtbl
  588. {
  589. BEGIN_INTERFACE
  590. DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
  591. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  592. ID3D12CompilerFactory * This,
  593. REFIID riid,
  594. _COM_Outptr_ void **ppvObject);
  595. DECLSPEC_XFGVIRT(IUnknown, AddRef)
  596. ULONG ( STDMETHODCALLTYPE *AddRef )(
  597. ID3D12CompilerFactory * This);
  598. DECLSPEC_XFGVIRT(IUnknown, Release)
  599. ULONG ( STDMETHODCALLTYPE *Release )(
  600. ID3D12CompilerFactory * This);
  601. DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilies)
  602. HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilies )(
  603. ID3D12CompilerFactory * This,
  604. UINT AdapterFamilyIndex,
  605. _Out_ D3D12_ADAPTER_FAMILY *pAdapterFamily);
  606. DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilyABIVersions)
  607. HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilyABIVersions )(
  608. ID3D12CompilerFactory * This,
  609. UINT AdapterFamilyIndex,
  610. _Inout_ UINT32 *pNumABIVersions,
  611. _Out_writes_opt_(*pNumABIVersions) UINT64 *pABIVersions);
  612. DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilyCompilerVersion)
  613. HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilyCompilerVersion )(
  614. ID3D12CompilerFactory * This,
  615. UINT AdapterFamilyIndex,
  616. _Out_ D3D12_VERSION_NUMBER *pCompilerVersion);
  617. DECLSPEC_XFGVIRT(ID3D12CompilerFactory, GetApplicationProfileVersion)
  618. HRESULT ( STDMETHODCALLTYPE *GetApplicationProfileVersion )(
  619. ID3D12CompilerFactory * This,
  620. _In_ const D3D12_COMPILER_TARGET *pTarget,
  621. _In_ const D3D12_APPLICATION_DESC *pApplicationDesc,
  622. _Out_ D3D12_VERSION_NUMBER *pApplicationProfileVersion);
  623. DECLSPEC_XFGVIRT(ID3D12CompilerFactory, CreateCompilerCacheSession)
  624. HRESULT ( STDMETHODCALLTYPE *CreateCompilerCacheSession )(
  625. ID3D12CompilerFactory * This,
  626. _In_reads_(NumPaths) const D3D12_COMPILER_DATABASE_PATH *pPaths,
  627. UINT NumPaths,
  628. _In_opt_ const D3D12_COMPILER_TARGET *pTarget,
  629. _In_opt_ const D3D12_APPLICATION_DESC *pApplicationDesc,
  630. _In_ REFIID riid,
  631. _COM_Outptr_ void **ppCompilerCacheSession);
  632. DECLSPEC_XFGVIRT(ID3D12CompilerFactory, CreateCompiler)
  633. HRESULT ( STDMETHODCALLTYPE *CreateCompiler )(
  634. ID3D12CompilerFactory * This,
  635. _In_ ID3D12CompilerCacheSession *pCompilerCacheSession,
  636. _In_ REFIID riid,
  637. _COM_Outptr_ void **ppCompiler);
  638. END_INTERFACE
  639. } ID3D12CompilerFactoryVtbl;
  640. interface ID3D12CompilerFactory
  641. {
  642. CONST_VTBL struct ID3D12CompilerFactoryVtbl *lpVtbl;
  643. };
  644. #ifdef COBJMACROS
  645. #define ID3D12CompilerFactory_QueryInterface(This,riid,ppvObject) \
  646. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  647. #define ID3D12CompilerFactory_AddRef(This) \
  648. ( (This)->lpVtbl -> AddRef(This) )
  649. #define ID3D12CompilerFactory_Release(This) \
  650. ( (This)->lpVtbl -> Release(This) )
  651. #define ID3D12CompilerFactory_EnumerateAdapterFamilies(This,AdapterFamilyIndex,pAdapterFamily) \
  652. ( (This)->lpVtbl -> EnumerateAdapterFamilies(This,AdapterFamilyIndex,pAdapterFamily) )
  653. #define ID3D12CompilerFactory_EnumerateAdapterFamilyABIVersions(This,AdapterFamilyIndex,pNumABIVersions,pABIVersions) \
  654. ( (This)->lpVtbl -> EnumerateAdapterFamilyABIVersions(This,AdapterFamilyIndex,pNumABIVersions,pABIVersions) )
  655. #define ID3D12CompilerFactory_EnumerateAdapterFamilyCompilerVersion(This,AdapterFamilyIndex,pCompilerVersion) \
  656. ( (This)->lpVtbl -> EnumerateAdapterFamilyCompilerVersion(This,AdapterFamilyIndex,pCompilerVersion) )
  657. #define ID3D12CompilerFactory_GetApplicationProfileVersion(This,pTarget,pApplicationDesc,pApplicationProfileVersion) \
  658. ( (This)->lpVtbl -> GetApplicationProfileVersion(This,pTarget,pApplicationDesc,pApplicationProfileVersion) )
  659. #define ID3D12CompilerFactory_CreateCompilerCacheSession(This,pPaths,NumPaths,pTarget,pApplicationDesc,riid,ppCompilerCacheSession) \
  660. ( (This)->lpVtbl -> CreateCompilerCacheSession(This,pPaths,NumPaths,pTarget,pApplicationDesc,riid,ppCompilerCacheSession) )
  661. #define ID3D12CompilerFactory_CreateCompiler(This,pCompilerCacheSession,riid,ppCompiler) \
  662. ( (This)->lpVtbl -> CreateCompiler(This,pCompilerCacheSession,riid,ppCompiler) )
  663. #endif /* COBJMACROS */
  664. #endif /* C style interface */
  665. #endif /* __ID3D12CompilerFactory_INTERFACE_DEFINED__ */
  666. /* interface __MIDL_itf_d3d12compiler_0000_0005 */
  667. /* [local] */
  668. #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
  669. #pragma endregion
  670. DEFINE_GUID(IID_ID3D12CompilerFactoryChild,0xe0d06420,0x9f31,0x47e8,0xae,0x9a,0xdd,0x2b,0xa2,0x5a,0xc0,0xbc);
  671. DEFINE_GUID(IID_ID3D12CompilerCacheSession,0x5704e5e6,0x054b,0x4738,0xb6,0x61,0x7b,0x0d,0x68,0xd8,0xdd,0xe2);
  672. DEFINE_GUID(IID_ID3D12CompilerStateObject,0x5981cca4,0xe8ae,0x44ca,0x9b,0x92,0x4f,0xa8,0x6f,0x5a,0x3a,0x3a);
  673. DEFINE_GUID(IID_ID3D12Compiler,0x8c403c12,0x993b,0x4583,0x80,0xf1,0x68,0x24,0x13,0x8f,0xa6,0x8e);
  674. DEFINE_GUID(IID_ID3D12CompilerFactory,0xc1ee4b59,0x3f59,0x47a5,0x9b,0x4e,0xa8,0x55,0xc8,0x58,0xa8,0x78);
  675. extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0005_v0_0_c_ifspec;
  676. extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0005_v0_0_s_ifspec;
  677. /* Additional Prototypes for ALL interfaces */
  678. /* end of Additional Prototypes */
  679. #ifdef __cplusplus
  680. }
  681. #endif
  682. #endif