Path: blob/master/thirdparty/directx_headers/include/directx/d3d12compiler.h
14728 views
/*-------------------------------------------------------------------------------------1*2* Copyright (c) Microsoft Corporation3* Licensed under the MIT license4*5*-------------------------------------------------------------------------------------*/678/* this ALWAYS GENERATED file contains the definitions for the interfaces */91011/* File created by MIDL compiler version 8.01.0628 */12131415/* 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__ 50018#endif1920/* 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__ 10023#endif2425#include "rpc.h"26#include "rpcndr.h"2728#ifndef __RPCNDR_H_VERSION__29#error this stub requires an updated version of <rpcndr.h>30#endif /* __RPCNDR_H_VERSION__ */3132#ifndef COM_NO_WINDOWS_H33#include "windows.h"34#include "ole2.h"35#endif /*COM_NO_WINDOWS_H*/3637#ifndef __d3d12compiler_h__38#define __d3d12compiler_h__3940#if defined(_MSC_VER) && (_MSC_VER >= 1020)41#pragma once42#endif4344#ifndef DECLSPEC_XFGVIRT45#if defined(_CONTROL_FLOW_GUARD_XFG)46#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))47#else48#define DECLSPEC_XFGVIRT(base, func)49#endif50#endif5152/* Forward Declarations */5354#ifndef __ID3D12CompilerFactoryChild_FWD_DEFINED__55#define __ID3D12CompilerFactoryChild_FWD_DEFINED__56typedef interface ID3D12CompilerFactoryChild ID3D12CompilerFactoryChild;5758#endif /* __ID3D12CompilerFactoryChild_FWD_DEFINED__ */596061#ifndef __ID3D12CompilerCacheSession_FWD_DEFINED__62#define __ID3D12CompilerCacheSession_FWD_DEFINED__63typedef interface ID3D12CompilerCacheSession ID3D12CompilerCacheSession;6465#endif /* __ID3D12CompilerCacheSession_FWD_DEFINED__ */666768#ifndef __ID3D12CompilerStateObject_FWD_DEFINED__69#define __ID3D12CompilerStateObject_FWD_DEFINED__70typedef interface ID3D12CompilerStateObject ID3D12CompilerStateObject;7172#endif /* __ID3D12CompilerStateObject_FWD_DEFINED__ */737475#ifndef __ID3D12Compiler_FWD_DEFINED__76#define __ID3D12Compiler_FWD_DEFINED__77typedef interface ID3D12Compiler ID3D12Compiler;7879#endif /* __ID3D12Compiler_FWD_DEFINED__ */808182#ifndef __ID3D12CompilerFactory_FWD_DEFINED__83#define __ID3D12CompilerFactory_FWD_DEFINED__84typedef interface ID3D12CompilerFactory ID3D12CompilerFactory;8586#endif /* __ID3D12CompilerFactory_FWD_DEFINED__ */878889/* header files for imported files */90#include "oaidl.h"91#include "ocidl.h"92#include "dxgicommon.h"93#include "d3d12.h"9495#ifdef __cplusplus96extern "C"{97#endif9899100/* interface __MIDL_itf_d3d12compiler_0000_0000 */101/* [local] */102103#include <winapifamily.h>104#pragma region App Family105#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)106typedef struct D3D12_ADAPTER_FAMILY107{108WCHAR szAdapterFamily[ 128 ];109} D3D12_ADAPTER_FAMILY;110111typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_CREATE_FACTORY)(112_In_ LPCWSTR pPluginCompilerDllPath,113_In_ REFIID riid,114_COM_Outptr_opt_ void** ppFactory );115116HRESULT WINAPI D3D12CompilerCreateFactory(117_In_ LPCWSTR pPluginCompilerDllPath,118_In_ REFIID riid, // Expected: ID3D12CompilerFactory119_COM_Outptr_opt_ void** ppFactory );120121typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(122_In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,123_Out_ ID3DBlob** ppBlob,124_Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);125126HRESULT WINAPI D3D12CompilerSerializeVersionedRootSignature(127_In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,128_Out_ ID3DBlob** ppBlob,129_Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);130131132133extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0000_v0_0_c_ifspec;134extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0000_v0_0_s_ifspec;135136#ifndef __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__137#define __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__138139/* interface ID3D12CompilerFactoryChild */140/* [unique][local][object][uuid] */141142143EXTERN_C const IID IID_ID3D12CompilerFactoryChild;144145#if defined(__cplusplus) && !defined(CINTERFACE)146147MIDL_INTERFACE("e0d06420-9f31-47e8-ae9a-dd2ba25ac0bc")148ID3D12CompilerFactoryChild : public IUnknown149{150public:151virtual HRESULT STDMETHODCALLTYPE GetFactory(152_In_ REFIID riid,153_COM_Outptr_ void **ppCompilerFactory) = 0;154155};156157158#else /* C style interface */159160typedef struct ID3D12CompilerFactoryChildVtbl161{162BEGIN_INTERFACE163164DECLSPEC_XFGVIRT(IUnknown, QueryInterface)165HRESULT ( STDMETHODCALLTYPE *QueryInterface )(166ID3D12CompilerFactoryChild * This,167REFIID riid,168_COM_Outptr_ void **ppvObject);169170DECLSPEC_XFGVIRT(IUnknown, AddRef)171ULONG ( STDMETHODCALLTYPE *AddRef )(172ID3D12CompilerFactoryChild * This);173174DECLSPEC_XFGVIRT(IUnknown, Release)175ULONG ( STDMETHODCALLTYPE *Release )(176ID3D12CompilerFactoryChild * This);177178DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory)179HRESULT ( STDMETHODCALLTYPE *GetFactory )(180ID3D12CompilerFactoryChild * This,181_In_ REFIID riid,182_COM_Outptr_ void **ppCompilerFactory);183184END_INTERFACE185} ID3D12CompilerFactoryChildVtbl;186187interface ID3D12CompilerFactoryChild188{189CONST_VTBL struct ID3D12CompilerFactoryChildVtbl *lpVtbl;190};191192193194#ifdef COBJMACROS195196197#define ID3D12CompilerFactoryChild_QueryInterface(This,riid,ppvObject) \198( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )199200#define ID3D12CompilerFactoryChild_AddRef(This) \201( (This)->lpVtbl -> AddRef(This) )202203#define ID3D12CompilerFactoryChild_Release(This) \204( (This)->lpVtbl -> Release(This) )205206207#define ID3D12CompilerFactoryChild_GetFactory(This,riid,ppCompilerFactory) \208( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) )209210#endif /* COBJMACROS */211212213#endif /* C style interface */214215216217218#endif /* __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__ */219220221/* interface __MIDL_itf_d3d12compiler_0000_0001 */222/* [local] */223224typedef225enum D3D12_COMPILER_VALUE_TYPE226{227D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE = 0,228D3D12_COMPILER_VALUE_TYPE_METADATA = 1,229D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB = 2,230D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA = 3231} D3D12_COMPILER_VALUE_TYPE;232233typedef234enum D3D12_COMPILER_VALUE_TYPE_FLAGS235{236D3D12_COMPILER_VALUE_TYPE_FLAGS_NONE = 0,237D3D12_COMPILER_VALUE_TYPE_FLAGS_OBJECT_CODE = ( 1 << D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE ) ,238D3D12_COMPILER_VALUE_TYPE_FLAGS_METADATA = ( 1 << D3D12_COMPILER_VALUE_TYPE_METADATA ) ,239D3D12_COMPILER_VALUE_TYPE_FLAGS_DEBUG_PDB = ( 1 << D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB ) ,240D3D12_COMPILER_VALUE_TYPE_FLAGS_PERFORMANCE_DATA = ( 1 << D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA )241} D3D12_COMPILER_VALUE_TYPE_FLAGS;242243DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPILER_VALUE_TYPE_FLAGS )244typedef struct D3D12_COMPILER_DATABASE_PATH245{246D3D12_COMPILER_VALUE_TYPE_FLAGS Types;247LPCWSTR pPath;248} D3D12_COMPILER_DATABASE_PATH;249250typedef struct D3D12_COMPILER_CACHE_GROUP_KEY251{252_Field_size_bytes_full_(KeySize) const void *pKey;253UINT KeySize;254} D3D12_COMPILER_CACHE_GROUP_KEY;255256typedef struct D3D12_COMPILER_CACHE_VALUE_KEY257{258_Field_size_bytes_full_(KeySize) const void *pKey;259UINT KeySize;260} D3D12_COMPILER_CACHE_VALUE_KEY;261262typedef struct D3D12_COMPILER_CACHE_VALUE263{264_Field_size_bytes_full_(ValueSize) void *pValue;265UINT ValueSize;266} D3D12_COMPILER_CACHE_VALUE;267268typedef struct D3D12_COMPILER_CACHE_TYPED_VALUE269{270D3D12_COMPILER_VALUE_TYPE Type;271D3D12_COMPILER_CACHE_VALUE Value;272} D3D12_COMPILER_CACHE_TYPED_VALUE;273274typedef struct D3D12_COMPILER_CACHE_CONST_VALUE275{276_Field_size_bytes_full_(ValueSize) const void *pValue;277UINT ValueSize;278} D3D12_COMPILER_CACHE_CONST_VALUE;279280typedef struct D3D12_COMPILER_CACHE_TYPED_CONST_VALUE281{282D3D12_COMPILER_VALUE_TYPE Type;283D3D12_COMPILER_CACHE_CONST_VALUE Value;284} D3D12_COMPILER_CACHE_TYPED_CONST_VALUE;285286typedef struct D3D12_COMPILER_TARGET287{288UINT AdapterFamilyIndex;289UINT64 ABIVersion;290} D3D12_COMPILER_TARGET;291292typedef void *( __stdcall *D3D12CompilerCacheSessionAllocationFunc )(293SIZE_T SizeInBytes,294_Inout_opt_ void *pContext);295296typedef void ( __stdcall *D3D12CompilerCacheSessionGroupValueKeysFunc )(297_In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,298_Inout_opt_ void *pContext);299300typedef void ( __stdcall *D3D12CompilerCacheSessionGroupValuesFunc )(301UINT ValueKeyIndex,302_In_ const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValue,303_Inout_opt_ void *pContext);304305306307extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0001_v0_0_c_ifspec;308extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0001_v0_0_s_ifspec;309310#ifndef __ID3D12CompilerCacheSession_INTERFACE_DEFINED__311#define __ID3D12CompilerCacheSession_INTERFACE_DEFINED__312313/* interface ID3D12CompilerCacheSession */314/* [unique][local][object][uuid] */315316317EXTERN_C const IID IID_ID3D12CompilerCacheSession;318319#if defined(__cplusplus) && !defined(CINTERFACE)320321MIDL_INTERFACE("5704e5e6-054b-4738-b661-7b0d68d8dde2")322ID3D12CompilerCacheSession : public ID3D12CompilerFactoryChild323{324public:325virtual HRESULT STDMETHODCALLTYPE FindGroup(326_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,327_Out_opt_ UINT *pGroupVersion) = 0;328329virtual HRESULT STDMETHODCALLTYPE FindGroupValueKeys(330_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,331_In_opt_ const UINT *pExpectedGroupVersion,332_In_ D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc,333_Inout_opt_ void *pContext) = 0;334335virtual HRESULT STDMETHODCALLTYPE FindGroupValues(336_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,337_In_opt_ const UINT *pExpectedGroupVersion,338D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags,339_In_opt_ D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc,340_Inout_opt_ void *pContext) = 0;341342virtual HRESULT STDMETHODCALLTYPE FindValue(343_In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,344_Inout_count_(NumTypedValues) D3D12_COMPILER_CACHE_TYPED_VALUE *pTypedValues,345UINT NumTypedValues,346_In_opt_ D3D12CompilerCacheSessionAllocationFunc pCallbackFunc,347_Inout_opt_ void *pContext) = 0;348349virtual const D3D12_APPLICATION_DESC *STDMETHODCALLTYPE GetApplicationDesc( void) = 0;350351#if defined(_MSC_VER) || !defined(_WIN32)352virtual D3D12_COMPILER_TARGET STDMETHODCALLTYPE GetCompilerTarget( void) = 0;353#else354virtual D3D12_COMPILER_TARGET *STDMETHODCALLTYPE GetCompilerTarget(355D3D12_COMPILER_TARGET * RetVal) = 0;356#endif357358virtual D3D12_COMPILER_VALUE_TYPE_FLAGS STDMETHODCALLTYPE GetValueTypes( void) = 0;359360virtual HRESULT STDMETHODCALLTYPE StoreGroupValueKeys(361_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,362UINT GroupVersion,363_In_reads_(NumValueKeys) const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKeys,364UINT NumValueKeys) = 0;365366virtual HRESULT STDMETHODCALLTYPE StoreValue(367_In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,368_In_reads_(NumTypedValues) const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValues,369UINT NumTypedValues) = 0;370371};372373374#else /* C style interface */375376typedef struct ID3D12CompilerCacheSessionVtbl377{378BEGIN_INTERFACE379380DECLSPEC_XFGVIRT(IUnknown, QueryInterface)381HRESULT ( STDMETHODCALLTYPE *QueryInterface )(382ID3D12CompilerCacheSession * This,383REFIID riid,384_COM_Outptr_ void **ppvObject);385386DECLSPEC_XFGVIRT(IUnknown, AddRef)387ULONG ( STDMETHODCALLTYPE *AddRef )(388ID3D12CompilerCacheSession * This);389390DECLSPEC_XFGVIRT(IUnknown, Release)391ULONG ( STDMETHODCALLTYPE *Release )(392ID3D12CompilerCacheSession * This);393394DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory)395HRESULT ( STDMETHODCALLTYPE *GetFactory )(396ID3D12CompilerCacheSession * This,397_In_ REFIID riid,398_COM_Outptr_ void **ppCompilerFactory);399400DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroup)401HRESULT ( STDMETHODCALLTYPE *FindGroup )(402ID3D12CompilerCacheSession * This,403_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,404_Out_opt_ UINT *pGroupVersion);405406DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroupValueKeys)407HRESULT ( STDMETHODCALLTYPE *FindGroupValueKeys )(408ID3D12CompilerCacheSession * This,409_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,410_In_opt_ const UINT *pExpectedGroupVersion,411_In_ D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc,412_Inout_opt_ void *pContext);413414DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroupValues)415HRESULT ( STDMETHODCALLTYPE *FindGroupValues )(416ID3D12CompilerCacheSession * This,417_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,418_In_opt_ const UINT *pExpectedGroupVersion,419D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags,420_In_opt_ D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc,421_Inout_opt_ void *pContext);422423DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindValue)424HRESULT ( STDMETHODCALLTYPE *FindValue )(425ID3D12CompilerCacheSession * This,426_In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,427_Inout_count_(NumTypedValues) D3D12_COMPILER_CACHE_TYPED_VALUE *pTypedValues,428UINT NumTypedValues,429_In_opt_ D3D12CompilerCacheSessionAllocationFunc pCallbackFunc,430_Inout_opt_ void *pContext);431432DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetApplicationDesc)433const D3D12_APPLICATION_DESC *( STDMETHODCALLTYPE *GetApplicationDesc )(434ID3D12CompilerCacheSession * This);435436DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetCompilerTarget)437#if !defined(_WIN32)438D3D12_COMPILER_TARGET ( STDMETHODCALLTYPE *GetCompilerTarget )(439ID3D12CompilerCacheSession * This);440441#else442D3D12_COMPILER_TARGET *( STDMETHODCALLTYPE *GetCompilerTarget )(443ID3D12CompilerCacheSession * This,444D3D12_COMPILER_TARGET * RetVal);445446#endif447448DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetValueTypes)449D3D12_COMPILER_VALUE_TYPE_FLAGS ( STDMETHODCALLTYPE *GetValueTypes )(450ID3D12CompilerCacheSession * This);451452DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, StoreGroupValueKeys)453HRESULT ( STDMETHODCALLTYPE *StoreGroupValueKeys )(454ID3D12CompilerCacheSession * This,455_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,456UINT GroupVersion,457_In_reads_(NumValueKeys) const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKeys,458UINT NumValueKeys);459460DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, StoreValue)461HRESULT ( STDMETHODCALLTYPE *StoreValue )(462ID3D12CompilerCacheSession * This,463_In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,464_In_reads_(NumTypedValues) const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValues,465UINT NumTypedValues);466467END_INTERFACE468} ID3D12CompilerCacheSessionVtbl;469470interface ID3D12CompilerCacheSession471{472CONST_VTBL struct ID3D12CompilerCacheSessionVtbl *lpVtbl;473};474475476477#ifdef COBJMACROS478479480#define ID3D12CompilerCacheSession_QueryInterface(This,riid,ppvObject) \481( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )482483#define ID3D12CompilerCacheSession_AddRef(This) \484( (This)->lpVtbl -> AddRef(This) )485486#define ID3D12CompilerCacheSession_Release(This) \487( (This)->lpVtbl -> Release(This) )488489490#define ID3D12CompilerCacheSession_GetFactory(This,riid,ppCompilerFactory) \491( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) )492493494#define ID3D12CompilerCacheSession_FindGroup(This,pGroupKey,pGroupVersion) \495( (This)->lpVtbl -> FindGroup(This,pGroupKey,pGroupVersion) )496497#define ID3D12CompilerCacheSession_FindGroupValueKeys(This,pGroupKey,pExpectedGroupVersion,CallbackFunc,pContext) \498( (This)->lpVtbl -> FindGroupValueKeys(This,pGroupKey,pExpectedGroupVersion,CallbackFunc,pContext) )499500#define ID3D12CompilerCacheSession_FindGroupValues(This,pGroupKey,pExpectedGroupVersion,ValueTypeFlags,CallbackFunc,pContext) \501( (This)->lpVtbl -> FindGroupValues(This,pGroupKey,pExpectedGroupVersion,ValueTypeFlags,CallbackFunc,pContext) )502503#define ID3D12CompilerCacheSession_FindValue(This,pValueKey,pTypedValues,NumTypedValues,pCallbackFunc,pContext) \504( (This)->lpVtbl -> FindValue(This,pValueKey,pTypedValues,NumTypedValues,pCallbackFunc,pContext) )505506#define ID3D12CompilerCacheSession_GetApplicationDesc(This) \507( (This)->lpVtbl -> GetApplicationDesc(This) )508#if !defined(_WIN32)509510#define ID3D12CompilerCacheSession_GetCompilerTarget(This) \511( (This)->lpVtbl -> GetCompilerTarget(This) )512#else513#define ID3D12CompilerCacheSession_GetCompilerTarget(This,RetVal) \514( (This)->lpVtbl -> GetCompilerTarget(This,RetVal) )515#endif516517#define ID3D12CompilerCacheSession_GetValueTypes(This) \518( (This)->lpVtbl -> GetValueTypes(This) )519520#define ID3D12CompilerCacheSession_StoreGroupValueKeys(This,pGroupKey,GroupVersion,pValueKeys,NumValueKeys) \521( (This)->lpVtbl -> StoreGroupValueKeys(This,pGroupKey,GroupVersion,pValueKeys,NumValueKeys) )522523#define ID3D12CompilerCacheSession_StoreValue(This,pValueKey,pTypedValues,NumTypedValues) \524( (This)->lpVtbl -> StoreValue(This,pValueKey,pTypedValues,NumTypedValues) )525526#endif /* COBJMACROS */527528529#endif /* C style interface */530531532533534#endif /* __ID3D12CompilerCacheSession_INTERFACE_DEFINED__ */535536537#ifndef __ID3D12CompilerStateObject_INTERFACE_DEFINED__538#define __ID3D12CompilerStateObject_INTERFACE_DEFINED__539540/* interface ID3D12CompilerStateObject */541/* [unique][local][object][uuid] */542543544EXTERN_C const IID IID_ID3D12CompilerStateObject;545546#if defined(__cplusplus) && !defined(CINTERFACE)547548MIDL_INTERFACE("5981cca4-e8ae-44ca-9b92-4fa86f5a3a3a")549ID3D12CompilerStateObject : public IUnknown550{551public:552virtual HRESULT STDMETHODCALLTYPE GetCompiler(553_In_ REFIID riid,554_COM_Outptr_ void **ppCompiler) = 0;555556};557558559#else /* C style interface */560561typedef struct ID3D12CompilerStateObjectVtbl562{563BEGIN_INTERFACE564565DECLSPEC_XFGVIRT(IUnknown, QueryInterface)566HRESULT ( STDMETHODCALLTYPE *QueryInterface )(567ID3D12CompilerStateObject * This,568REFIID riid,569_COM_Outptr_ void **ppvObject);570571DECLSPEC_XFGVIRT(IUnknown, AddRef)572ULONG ( STDMETHODCALLTYPE *AddRef )(573ID3D12CompilerStateObject * This);574575DECLSPEC_XFGVIRT(IUnknown, Release)576ULONG ( STDMETHODCALLTYPE *Release )(577ID3D12CompilerStateObject * This);578579DECLSPEC_XFGVIRT(ID3D12CompilerStateObject, GetCompiler)580HRESULT ( STDMETHODCALLTYPE *GetCompiler )(581ID3D12CompilerStateObject * This,582_In_ REFIID riid,583_COM_Outptr_ void **ppCompiler);584585END_INTERFACE586} ID3D12CompilerStateObjectVtbl;587588interface ID3D12CompilerStateObject589{590CONST_VTBL struct ID3D12CompilerStateObjectVtbl *lpVtbl;591};592593594595#ifdef COBJMACROS596597598#define ID3D12CompilerStateObject_QueryInterface(This,riid,ppvObject) \599( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )600601#define ID3D12CompilerStateObject_AddRef(This) \602( (This)->lpVtbl -> AddRef(This) )603604#define ID3D12CompilerStateObject_Release(This) \605( (This)->lpVtbl -> Release(This) )606607608#define ID3D12CompilerStateObject_GetCompiler(This,riid,ppCompiler) \609( (This)->lpVtbl -> GetCompiler(This,riid,ppCompiler) )610611#endif /* COBJMACROS */612613614#endif /* C style interface */615616617618619#endif /* __ID3D12CompilerStateObject_INTERFACE_DEFINED__ */620621622/* interface __MIDL_itf_d3d12compiler_0000_0003 */623/* [local] */624625typedef struct D3D12_COMPILER_EXISTING_COLLECTION_DESC626{627ID3D12CompilerStateObject *pExistingCollection;628UINT NumExports;629_In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports;630} D3D12_COMPILER_EXISTING_COLLECTION_DESC;631632633634extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0003_v0_0_c_ifspec;635extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0003_v0_0_s_ifspec;636637#ifndef __ID3D12Compiler_INTERFACE_DEFINED__638#define __ID3D12Compiler_INTERFACE_DEFINED__639640/* interface ID3D12Compiler */641/* [unique][local][object][uuid] */642643644EXTERN_C const IID IID_ID3D12Compiler;645646#if defined(__cplusplus) && !defined(CINTERFACE)647648MIDL_INTERFACE("8c403c12-993b-4583-80f1-6824138fa68e")649ID3D12Compiler : public ID3D12CompilerFactoryChild650{651public:652virtual HRESULT STDMETHODCALLTYPE CompilePipelineState(653_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,654UINT GroupVersion,655_In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc) = 0;656657virtual HRESULT STDMETHODCALLTYPE CompileStateObject(658_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,659UINT GroupVersion,660_In_ const D3D12_STATE_OBJECT_DESC *pDesc,661_In_ REFIID riid,662_COM_Outptr_ void **ppCompilerStateObject) = 0;663664virtual HRESULT STDMETHODCALLTYPE CompileAddToStateObject(665_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,666UINT GroupVersion,667_In_ const D3D12_STATE_OBJECT_DESC *pAddition,668_In_ ID3D12CompilerStateObject *pCompilerStateObjectToGrowFrom,669_In_ REFIID riid,670_COM_Outptr_ void **ppNewCompilerStateObject) = 0;671672virtual HRESULT STDMETHODCALLTYPE GetCacheSession(673_In_ REFIID riid,674_COM_Outptr_ void **ppCompilerCacheSession) = 0;675676};677678679#else /* C style interface */680681typedef struct ID3D12CompilerVtbl682{683BEGIN_INTERFACE684685DECLSPEC_XFGVIRT(IUnknown, QueryInterface)686HRESULT ( STDMETHODCALLTYPE *QueryInterface )(687ID3D12Compiler * This,688REFIID riid,689_COM_Outptr_ void **ppvObject);690691DECLSPEC_XFGVIRT(IUnknown, AddRef)692ULONG ( STDMETHODCALLTYPE *AddRef )(693ID3D12Compiler * This);694695DECLSPEC_XFGVIRT(IUnknown, Release)696ULONG ( STDMETHODCALLTYPE *Release )(697ID3D12Compiler * This);698699DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory)700HRESULT ( STDMETHODCALLTYPE *GetFactory )(701ID3D12Compiler * This,702_In_ REFIID riid,703_COM_Outptr_ void **ppCompilerFactory);704705DECLSPEC_XFGVIRT(ID3D12Compiler, CompilePipelineState)706HRESULT ( STDMETHODCALLTYPE *CompilePipelineState )(707ID3D12Compiler * This,708_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,709UINT GroupVersion,710_In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc);711712DECLSPEC_XFGVIRT(ID3D12Compiler, CompileStateObject)713HRESULT ( STDMETHODCALLTYPE *CompileStateObject )(714ID3D12Compiler * This,715_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,716UINT GroupVersion,717_In_ const D3D12_STATE_OBJECT_DESC *pDesc,718_In_ REFIID riid,719_COM_Outptr_ void **ppCompilerStateObject);720721DECLSPEC_XFGVIRT(ID3D12Compiler, CompileAddToStateObject)722HRESULT ( STDMETHODCALLTYPE *CompileAddToStateObject )(723ID3D12Compiler * This,724_In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,725UINT GroupVersion,726_In_ const D3D12_STATE_OBJECT_DESC *pAddition,727_In_ ID3D12CompilerStateObject *pCompilerStateObjectToGrowFrom,728_In_ REFIID riid,729_COM_Outptr_ void **ppNewCompilerStateObject);730731DECLSPEC_XFGVIRT(ID3D12Compiler, GetCacheSession)732HRESULT ( STDMETHODCALLTYPE *GetCacheSession )(733ID3D12Compiler * This,734_In_ REFIID riid,735_COM_Outptr_ void **ppCompilerCacheSession);736737END_INTERFACE738} ID3D12CompilerVtbl;739740interface ID3D12Compiler741{742CONST_VTBL struct ID3D12CompilerVtbl *lpVtbl;743};744745746747#ifdef COBJMACROS748749750#define ID3D12Compiler_QueryInterface(This,riid,ppvObject) \751( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )752753#define ID3D12Compiler_AddRef(This) \754( (This)->lpVtbl -> AddRef(This) )755756#define ID3D12Compiler_Release(This) \757( (This)->lpVtbl -> Release(This) )758759760#define ID3D12Compiler_GetFactory(This,riid,ppCompilerFactory) \761( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) )762763764#define ID3D12Compiler_CompilePipelineState(This,pGroupKey,GroupVersion,pDesc) \765( (This)->lpVtbl -> CompilePipelineState(This,pGroupKey,GroupVersion,pDesc) )766767#define ID3D12Compiler_CompileStateObject(This,pGroupKey,GroupVersion,pDesc,riid,ppCompilerStateObject) \768( (This)->lpVtbl -> CompileStateObject(This,pGroupKey,GroupVersion,pDesc,riid,ppCompilerStateObject) )769770#define ID3D12Compiler_CompileAddToStateObject(This,pGroupKey,GroupVersion,pAddition,pCompilerStateObjectToGrowFrom,riid,ppNewCompilerStateObject) \771( (This)->lpVtbl -> CompileAddToStateObject(This,pGroupKey,GroupVersion,pAddition,pCompilerStateObjectToGrowFrom,riid,ppNewCompilerStateObject) )772773#define ID3D12Compiler_GetCacheSession(This,riid,ppCompilerCacheSession) \774( (This)->lpVtbl -> GetCacheSession(This,riid,ppCompilerCacheSession) )775776#endif /* COBJMACROS */777778779#endif /* C style interface */780781782783784#endif /* __ID3D12Compiler_INTERFACE_DEFINED__ */785786787#ifndef __ID3D12CompilerFactory_INTERFACE_DEFINED__788#define __ID3D12CompilerFactory_INTERFACE_DEFINED__789790/* interface ID3D12CompilerFactory */791/* [unique][local][object][uuid] */792793794EXTERN_C const IID IID_ID3D12CompilerFactory;795796#if defined(__cplusplus) && !defined(CINTERFACE)797798MIDL_INTERFACE("c1ee4b59-3f59-47a5-9b4e-a855c858a878")799ID3D12CompilerFactory : public IUnknown800{801public:802virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilies(803UINT AdapterFamilyIndex,804_Out_ D3D12_ADAPTER_FAMILY *pAdapterFamily) = 0;805806virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilyABIVersions(807UINT AdapterFamilyIndex,808_Inout_ UINT32 *pNumABIVersions,809_Out_writes_opt_(*pNumABIVersions) UINT64 *pABIVersions) = 0;810811virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilyCompilerVersion(812UINT AdapterFamilyIndex,813_Out_ D3D12_VERSION_NUMBER *pCompilerVersion) = 0;814815virtual HRESULT STDMETHODCALLTYPE GetApplicationProfileVersion(816_In_ const D3D12_COMPILER_TARGET *pTarget,817_In_ const D3D12_APPLICATION_DESC *pApplicationDesc,818_Out_ D3D12_VERSION_NUMBER *pApplicationProfileVersion) = 0;819820virtual HRESULT STDMETHODCALLTYPE CreateCompilerCacheSession(821_In_reads_(NumPaths) const D3D12_COMPILER_DATABASE_PATH *pPaths,822UINT NumPaths,823_In_opt_ const D3D12_COMPILER_TARGET *pTarget,824_In_opt_ const D3D12_APPLICATION_DESC *pApplicationDesc,825_In_ REFIID riid,826_COM_Outptr_ void **ppCompilerCacheSession) = 0;827828virtual HRESULT STDMETHODCALLTYPE CreateCompiler(829_In_ ID3D12CompilerCacheSession *pCompilerCacheSession,830_In_ REFIID riid,831_COM_Outptr_ void **ppCompiler) = 0;832833};834835836#else /* C style interface */837838typedef struct ID3D12CompilerFactoryVtbl839{840BEGIN_INTERFACE841842DECLSPEC_XFGVIRT(IUnknown, QueryInterface)843HRESULT ( STDMETHODCALLTYPE *QueryInterface )(844ID3D12CompilerFactory * This,845REFIID riid,846_COM_Outptr_ void **ppvObject);847848DECLSPEC_XFGVIRT(IUnknown, AddRef)849ULONG ( STDMETHODCALLTYPE *AddRef )(850ID3D12CompilerFactory * This);851852DECLSPEC_XFGVIRT(IUnknown, Release)853ULONG ( STDMETHODCALLTYPE *Release )(854ID3D12CompilerFactory * This);855856DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilies)857HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilies )(858ID3D12CompilerFactory * This,859UINT AdapterFamilyIndex,860_Out_ D3D12_ADAPTER_FAMILY *pAdapterFamily);861862DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilyABIVersions)863HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilyABIVersions )(864ID3D12CompilerFactory * This,865UINT AdapterFamilyIndex,866_Inout_ UINT32 *pNumABIVersions,867_Out_writes_opt_(*pNumABIVersions) UINT64 *pABIVersions);868869DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilyCompilerVersion)870HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilyCompilerVersion )(871ID3D12CompilerFactory * This,872UINT AdapterFamilyIndex,873_Out_ D3D12_VERSION_NUMBER *pCompilerVersion);874875DECLSPEC_XFGVIRT(ID3D12CompilerFactory, GetApplicationProfileVersion)876HRESULT ( STDMETHODCALLTYPE *GetApplicationProfileVersion )(877ID3D12CompilerFactory * This,878_In_ const D3D12_COMPILER_TARGET *pTarget,879_In_ const D3D12_APPLICATION_DESC *pApplicationDesc,880_Out_ D3D12_VERSION_NUMBER *pApplicationProfileVersion);881882DECLSPEC_XFGVIRT(ID3D12CompilerFactory, CreateCompilerCacheSession)883HRESULT ( STDMETHODCALLTYPE *CreateCompilerCacheSession )(884ID3D12CompilerFactory * This,885_In_reads_(NumPaths) const D3D12_COMPILER_DATABASE_PATH *pPaths,886UINT NumPaths,887_In_opt_ const D3D12_COMPILER_TARGET *pTarget,888_In_opt_ const D3D12_APPLICATION_DESC *pApplicationDesc,889_In_ REFIID riid,890_COM_Outptr_ void **ppCompilerCacheSession);891892DECLSPEC_XFGVIRT(ID3D12CompilerFactory, CreateCompiler)893HRESULT ( STDMETHODCALLTYPE *CreateCompiler )(894ID3D12CompilerFactory * This,895_In_ ID3D12CompilerCacheSession *pCompilerCacheSession,896_In_ REFIID riid,897_COM_Outptr_ void **ppCompiler);898899END_INTERFACE900} ID3D12CompilerFactoryVtbl;901902interface ID3D12CompilerFactory903{904CONST_VTBL struct ID3D12CompilerFactoryVtbl *lpVtbl;905};906907908909#ifdef COBJMACROS910911912#define ID3D12CompilerFactory_QueryInterface(This,riid,ppvObject) \913( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )914915#define ID3D12CompilerFactory_AddRef(This) \916( (This)->lpVtbl -> AddRef(This) )917918#define ID3D12CompilerFactory_Release(This) \919( (This)->lpVtbl -> Release(This) )920921922#define ID3D12CompilerFactory_EnumerateAdapterFamilies(This,AdapterFamilyIndex,pAdapterFamily) \923( (This)->lpVtbl -> EnumerateAdapterFamilies(This,AdapterFamilyIndex,pAdapterFamily) )924925#define ID3D12CompilerFactory_EnumerateAdapterFamilyABIVersions(This,AdapterFamilyIndex,pNumABIVersions,pABIVersions) \926( (This)->lpVtbl -> EnumerateAdapterFamilyABIVersions(This,AdapterFamilyIndex,pNumABIVersions,pABIVersions) )927928#define ID3D12CompilerFactory_EnumerateAdapterFamilyCompilerVersion(This,AdapterFamilyIndex,pCompilerVersion) \929( (This)->lpVtbl -> EnumerateAdapterFamilyCompilerVersion(This,AdapterFamilyIndex,pCompilerVersion) )930931#define ID3D12CompilerFactory_GetApplicationProfileVersion(This,pTarget,pApplicationDesc,pApplicationProfileVersion) \932( (This)->lpVtbl -> GetApplicationProfileVersion(This,pTarget,pApplicationDesc,pApplicationProfileVersion) )933934#define ID3D12CompilerFactory_CreateCompilerCacheSession(This,pPaths,NumPaths,pTarget,pApplicationDesc,riid,ppCompilerCacheSession) \935( (This)->lpVtbl -> CreateCompilerCacheSession(This,pPaths,NumPaths,pTarget,pApplicationDesc,riid,ppCompilerCacheSession) )936937#define ID3D12CompilerFactory_CreateCompiler(This,pCompilerCacheSession,riid,ppCompiler) \938( (This)->lpVtbl -> CreateCompiler(This,pCompilerCacheSession,riid,ppCompiler) )939940#endif /* COBJMACROS */941942943#endif /* C style interface */944945946947948#endif /* __ID3D12CompilerFactory_INTERFACE_DEFINED__ */949950951/* interface __MIDL_itf_d3d12compiler_0000_0005 */952/* [local] */953954#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */955#pragma endregion956DEFINE_GUID(IID_ID3D12CompilerFactoryChild,0xe0d06420,0x9f31,0x47e8,0xae,0x9a,0xdd,0x2b,0xa2,0x5a,0xc0,0xbc);957DEFINE_GUID(IID_ID3D12CompilerCacheSession,0x5704e5e6,0x054b,0x4738,0xb6,0x61,0x7b,0x0d,0x68,0xd8,0xdd,0xe2);958DEFINE_GUID(IID_ID3D12CompilerStateObject,0x5981cca4,0xe8ae,0x44ca,0x9b,0x92,0x4f,0xa8,0x6f,0x5a,0x3a,0x3a);959DEFINE_GUID(IID_ID3D12Compiler,0x8c403c12,0x993b,0x4583,0x80,0xf1,0x68,0x24,0x13,0x8f,0xa6,0x8e);960DEFINE_GUID(IID_ID3D12CompilerFactory,0xc1ee4b59,0x3f59,0x47a5,0x9b,0x4e,0xa8,0x55,0xc8,0x58,0xa8,0x78);961962963extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0005_v0_0_c_ifspec;964extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0005_v0_0_s_ifspec;965966/* Additional Prototypes for ALL interfaces */967968/* end of Additional Prototypes */969970#ifdef __cplusplus971}972#endif973974#endif975976977978979