From 6c8ae19be66cee247980a48e736a4e05d14de179 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Tue, 2 Dec 2025 16:39:36 -0800 Subject: Immediate-mode renderer, triangle demo, shader compilation in cmake, Agility SDK --- .../include/directx/d3dshadercacheregistration.h | 998 +++++++++++++++++++++ 1 file changed, 998 insertions(+) create mode 100644 contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h (limited to 'contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h') diff --git a/contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h b/contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h new file mode 100644 index 0000000..671866a --- /dev/null +++ b/contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h @@ -0,0 +1,998 @@ +/*------------------------------------------------------------------------------------- + * + * Copyright (c) Microsoft Corporation + * Licensed under the MIT license + * + *-------------------------------------------------------------------------------------*/ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 8.01.0628 */ + + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 500 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif /* __RPCNDR_H_VERSION__ */ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __d3dshadercacheregistration_h__ +#define __d3dshadercacheregistration_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#ifndef DECLSPEC_XFGVIRT +#if defined(_CONTROL_FLOW_GUARD_XFG) +#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) +#else +#define DECLSPEC_XFGVIRT(base, func) +#endif +#endif + +/* Forward Declarations */ + +#ifndef __ID3DShaderCacheInstallerClient_FWD_DEFINED__ +#define __ID3DShaderCacheInstallerClient_FWD_DEFINED__ +typedef interface ID3DShaderCacheInstallerClient ID3DShaderCacheInstallerClient; + +#endif /* __ID3DShaderCacheInstallerClient_FWD_DEFINED__ */ + + +#ifndef __ID3DShaderCacheComponent_FWD_DEFINED__ +#define __ID3DShaderCacheComponent_FWD_DEFINED__ +typedef interface ID3DShaderCacheComponent ID3DShaderCacheComponent; + +#endif /* __ID3DShaderCacheComponent_FWD_DEFINED__ */ + + +#ifndef __ID3DShaderCacheApplication_FWD_DEFINED__ +#define __ID3DShaderCacheApplication_FWD_DEFINED__ +typedef interface ID3DShaderCacheApplication ID3DShaderCacheApplication; + +#endif /* __ID3DShaderCacheApplication_FWD_DEFINED__ */ + + +#ifndef __ID3DShaderCacheInstaller_FWD_DEFINED__ +#define __ID3DShaderCacheInstaller_FWD_DEFINED__ +typedef interface ID3DShaderCacheInstaller ID3DShaderCacheInstaller; + +#endif /* __ID3DShaderCacheInstaller_FWD_DEFINED__ */ + + +#ifndef __ID3DShaderCacheExplorer_FWD_DEFINED__ +#define __ID3DShaderCacheExplorer_FWD_DEFINED__ +typedef interface ID3DShaderCacheExplorer ID3DShaderCacheExplorer; + +#endif /* __ID3DShaderCacheExplorer_FWD_DEFINED__ */ + + +#ifndef __ID3DShaderCacheInstallerFactory_FWD_DEFINED__ +#define __ID3DShaderCacheInstallerFactory_FWD_DEFINED__ +typedef interface ID3DShaderCacheInstallerFactory ID3DShaderCacheInstallerFactory; + +#endif /* __ID3DShaderCacheInstallerFactory_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" +#include "ocidl.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_d3dshadercacheregistration_0000_0000 */ +/* [local] */ + +#pragma once +DEFINE_GUID(CLSID_D3DShaderCacheInstallerFactory, 0x16195a0b, 0x607c, 0x41f1, 0xbf, 0x03, 0xc7, 0x69, 0x4d, 0x60, 0xa8, 0xd4); +typedef +enum D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE + { + D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_USER = 0, + D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_SYSTEM = ( D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_USER + 1 ) + } D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE; + + + + +extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0000_v0_0_s_ifspec; + +#ifndef __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__ +#define __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__ + +/* interface ID3DShaderCacheInstallerClient */ +/* [unique][local][object][uuid] */ + + +EXTERN_C const IID IID_ID3DShaderCacheInstallerClient; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("a16ee930-d9f6-4222-a514-244473e5d266") + ID3DShaderCacheInstallerClient + { + public: + BEGIN_INTERFACE + virtual HRESULT STDMETHODCALLTYPE GetInstallerName( + _Inout_ SIZE_T *pNameLength, + _Out_writes_opt_(*pNameLength) wchar_t *pName) = 0; + + virtual D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE STDMETHODCALLTYPE GetInstallerScope( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE HandleDriverUpdate( + _In_ ID3DShaderCacheInstaller *pInstaller) = 0; + + END_INTERFACE + }; + + +#else /* C style interface */ + + typedef struct ID3DShaderCacheInstallerClientVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, GetInstallerName) + HRESULT ( STDMETHODCALLTYPE *GetInstallerName )( + ID3DShaderCacheInstallerClient * This, + _Inout_ SIZE_T *pNameLength, + _Out_writes_opt_(*pNameLength) wchar_t *pName); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, GetInstallerScope) + D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE ( STDMETHODCALLTYPE *GetInstallerScope )( + ID3DShaderCacheInstallerClient * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, HandleDriverUpdate) + HRESULT ( STDMETHODCALLTYPE *HandleDriverUpdate )( + ID3DShaderCacheInstallerClient * This, + _In_ ID3DShaderCacheInstaller *pInstaller); + + END_INTERFACE + } ID3DShaderCacheInstallerClientVtbl; + + interface ID3DShaderCacheInstallerClient + { + CONST_VTBL struct ID3DShaderCacheInstallerClientVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ID3DShaderCacheInstallerClient_GetInstallerName(This,pNameLength,pName) \ + ( (This)->lpVtbl -> GetInstallerName(This,pNameLength,pName) ) + +#define ID3DShaderCacheInstallerClient_GetInstallerScope(This) \ + ( (This)->lpVtbl -> GetInstallerScope(This) ) + +#define ID3DShaderCacheInstallerClient_HandleDriverUpdate(This,pInstaller) \ + ( (This)->lpVtbl -> HandleDriverUpdate(This,pInstaller) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_d3dshadercacheregistration_0000_0001 */ +/* [local] */ + +typedef struct D3D_SHADER_CACHE_PSDB_PROPERTIES + { + const wchar_t *pAdapterFamily; + const wchar_t *pPsdbPath; + } D3D_SHADER_CACHE_PSDB_PROPERTIES; + + + +extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0001_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0001_v0_0_s_ifspec; + +#ifndef __ID3DShaderCacheComponent_INTERFACE_DEFINED__ +#define __ID3DShaderCacheComponent_INTERFACE_DEFINED__ + +/* interface ID3DShaderCacheComponent */ +/* [unique][local][object][uuid] */ + + +EXTERN_C const IID IID_ID3DShaderCacheComponent; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("eed1bf00-f5c7-4cf7-885c-d0f9c0cb4828") + ID3DShaderCacheComponent : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetComponentName( + _Out_ const wchar_t **pName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStateObjectDatabasePath( + _Out_ const wchar_t **pPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPrecompiledCachePath( + _In_ const wchar_t *pAdapterFamily, + _Inout_ const wchar_t **pPath) = 0; + + virtual UINT STDMETHODCALLTYPE GetPrecompiledShaderDatabaseCount( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPrecompiledShaderDatabases( + UINT ArraySize, + _Out_writes_(ArraySize) D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ID3DShaderCacheComponentVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ID3DShaderCacheComponent * This, + REFIID riid, + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ID3DShaderCacheComponent * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ID3DShaderCacheComponent * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetComponentName) + HRESULT ( STDMETHODCALLTYPE *GetComponentName )( + ID3DShaderCacheComponent * This, + _Out_ const wchar_t **pName); + + DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetStateObjectDatabasePath) + HRESULT ( STDMETHODCALLTYPE *GetStateObjectDatabasePath )( + ID3DShaderCacheComponent * This, + _Out_ const wchar_t **pPath); + + DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledCachePath) + HRESULT ( STDMETHODCALLTYPE *GetPrecompiledCachePath )( + ID3DShaderCacheComponent * This, + _In_ const wchar_t *pAdapterFamily, + _Inout_ const wchar_t **pPath); + + DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledShaderDatabaseCount) + UINT ( STDMETHODCALLTYPE *GetPrecompiledShaderDatabaseCount )( + ID3DShaderCacheComponent * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledShaderDatabases) + HRESULT ( STDMETHODCALLTYPE *GetPrecompiledShaderDatabases )( + ID3DShaderCacheComponent * This, + UINT ArraySize, + _Out_writes_(ArraySize) D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs); + + END_INTERFACE + } ID3DShaderCacheComponentVtbl; + + interface ID3DShaderCacheComponent + { + CONST_VTBL struct ID3DShaderCacheComponentVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ID3DShaderCacheComponent_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ID3DShaderCacheComponent_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ID3DShaderCacheComponent_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ID3DShaderCacheComponent_GetComponentName(This,pName) \ + ( (This)->lpVtbl -> GetComponentName(This,pName) ) + +#define ID3DShaderCacheComponent_GetStateObjectDatabasePath(This,pPath) \ + ( (This)->lpVtbl -> GetStateObjectDatabasePath(This,pPath) ) + +#define ID3DShaderCacheComponent_GetPrecompiledCachePath(This,pAdapterFamily,pPath) \ + ( (This)->lpVtbl -> GetPrecompiledCachePath(This,pAdapterFamily,pPath) ) + +#define ID3DShaderCacheComponent_GetPrecompiledShaderDatabaseCount(This) \ + ( (This)->lpVtbl -> GetPrecompiledShaderDatabaseCount(This) ) + +#define ID3DShaderCacheComponent_GetPrecompiledShaderDatabases(This,ArraySize,pPSDBs) \ + ( (This)->lpVtbl -> GetPrecompiledShaderDatabases(This,ArraySize,pPSDBs) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ID3DShaderCacheComponent_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_d3dshadercacheregistration_0000_0002 */ +/* [local] */ + +typedef +enum D3D_SHADER_CACHE_TARGET_FLAGS + { + D3D_SHADER_CACHE_TARGET_FLAG_NONE = 0 + } D3D_SHADER_CACHE_TARGET_FLAGS; + +DEFINE_ENUM_FLAG_OPERATORS( D3D_SHADER_CACHE_TARGET_FLAGS ) +typedef union D3D_VERSION_NUMBER + { + UINT64 Version; + UINT16 VersionParts[ 4 ]; + } D3D_VERSION_NUMBER; + +typedef struct D3D_SHADER_CACHE_COMPILER_PROPERTIES + { + wchar_t szAdapterFamily[ 128 ]; + UINT64 MinimumABISupportVersion; + UINT64 MaximumABISupportVersion; + D3D_VERSION_NUMBER CompilerVersion; + D3D_VERSION_NUMBER ApplicationProfileVersion; + } D3D_SHADER_CACHE_COMPILER_PROPERTIES; + +typedef struct D3D_SHADER_CACHE_APPLICATION_DESC + { + const wchar_t *pExeFilename; + const wchar_t *pName; + D3D_VERSION_NUMBER Version; + const wchar_t *pEngineName; + D3D_VERSION_NUMBER EngineVersion; + } D3D_SHADER_CACHE_APPLICATION_DESC; + + + +extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0002_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0002_v0_0_s_ifspec; + +#ifndef __ID3DShaderCacheApplication_INTERFACE_DEFINED__ +#define __ID3DShaderCacheApplication_INTERFACE_DEFINED__ + +/* interface ID3DShaderCacheApplication */ +/* [unique][local][object][uuid] */ + + +EXTERN_C const IID IID_ID3DShaderCacheApplication; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("fc688ee2-1b35-4913-93be-1ca3fa7df39e") + ID3DShaderCacheApplication : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetExePath( + _Out_ const wchar_t **pExePath) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDesc( + _Out_ D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterComponent( + _In_ const wchar_t *pName, + _In_ const wchar_t *pStateObjectDBPath, + _In_ UINT NumPSDB, + _In_reads_(NumPSDB) const D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs, + REFIID riid, + _COM_Outptr_ void **ppvComponent) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveComponent( + _In_ ID3DShaderCacheComponent *pComponent) = 0; + + virtual UINT STDMETHODCALLTYPE GetComponentCount( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetComponent( + _In_ UINT index, + REFIID riid, + _COM_Outptr_ void **ppvComponent) = 0; + + virtual UINT STDMETHODCALLTYPE GetPrecompileTargetCount( + D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPrecompileTargets( + _In_ UINT ArraySize, + _In_reads_(ArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray, + D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInstallerName( + _Out_ const wchar_t **pInstallerName) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ID3DShaderCacheApplicationVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ID3DShaderCacheApplication * This, + REFIID riid, + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ID3DShaderCacheApplication * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ID3DShaderCacheApplication * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetExePath) + HRESULT ( STDMETHODCALLTYPE *GetExePath )( + ID3DShaderCacheApplication * This, + _Out_ const wchar_t **pExePath); + + DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetDesc) + HRESULT ( STDMETHODCALLTYPE *GetDesc )( + ID3DShaderCacheApplication * This, + _Out_ D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc); + + DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, RegisterComponent) + HRESULT ( STDMETHODCALLTYPE *RegisterComponent )( + ID3DShaderCacheApplication * This, + _In_ const wchar_t *pName, + _In_ const wchar_t *pStateObjectDBPath, + _In_ UINT NumPSDB, + _In_reads_(NumPSDB) const D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs, + REFIID riid, + _COM_Outptr_ void **ppvComponent); + + DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, RemoveComponent) + HRESULT ( STDMETHODCALLTYPE *RemoveComponent )( + ID3DShaderCacheApplication * This, + _In_ ID3DShaderCacheComponent *pComponent); + + DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetComponentCount) + UINT ( STDMETHODCALLTYPE *GetComponentCount )( + ID3DShaderCacheApplication * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetComponent) + HRESULT ( STDMETHODCALLTYPE *GetComponent )( + ID3DShaderCacheApplication * This, + _In_ UINT index, + REFIID riid, + _COM_Outptr_ void **ppvComponent); + + DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetPrecompileTargetCount) + UINT ( STDMETHODCALLTYPE *GetPrecompileTargetCount )( + ID3DShaderCacheApplication * This, + D3D_SHADER_CACHE_TARGET_FLAGS flags); + + DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetPrecompileTargets) + HRESULT ( STDMETHODCALLTYPE *GetPrecompileTargets )( + ID3DShaderCacheApplication * This, + _In_ UINT ArraySize, + _In_reads_(ArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray, + D3D_SHADER_CACHE_TARGET_FLAGS flags); + + DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetInstallerName) + HRESULT ( STDMETHODCALLTYPE *GetInstallerName )( + ID3DShaderCacheApplication * This, + _Out_ const wchar_t **pInstallerName); + + END_INTERFACE + } ID3DShaderCacheApplicationVtbl; + + interface ID3DShaderCacheApplication + { + CONST_VTBL struct ID3DShaderCacheApplicationVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ID3DShaderCacheApplication_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ID3DShaderCacheApplication_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ID3DShaderCacheApplication_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ID3DShaderCacheApplication_GetExePath(This,pExePath) \ + ( (This)->lpVtbl -> GetExePath(This,pExePath) ) + +#define ID3DShaderCacheApplication_GetDesc(This,pApplicationDesc) \ + ( (This)->lpVtbl -> GetDesc(This,pApplicationDesc) ) + +#define ID3DShaderCacheApplication_RegisterComponent(This,pName,pStateObjectDBPath,NumPSDB,pPSDBs,riid,ppvComponent) \ + ( (This)->lpVtbl -> RegisterComponent(This,pName,pStateObjectDBPath,NumPSDB,pPSDBs,riid,ppvComponent) ) + +#define ID3DShaderCacheApplication_RemoveComponent(This,pComponent) \ + ( (This)->lpVtbl -> RemoveComponent(This,pComponent) ) + +#define ID3DShaderCacheApplication_GetComponentCount(This) \ + ( (This)->lpVtbl -> GetComponentCount(This) ) + +#define ID3DShaderCacheApplication_GetComponent(This,index,riid,ppvComponent) \ + ( (This)->lpVtbl -> GetComponent(This,index,riid,ppvComponent) ) + +#define ID3DShaderCacheApplication_GetPrecompileTargetCount(This,flags) \ + ( (This)->lpVtbl -> GetPrecompileTargetCount(This,flags) ) + +#define ID3DShaderCacheApplication_GetPrecompileTargets(This,ArraySize,pArray,flags) \ + ( (This)->lpVtbl -> GetPrecompileTargets(This,ArraySize,pArray,flags) ) + +#define ID3DShaderCacheApplication_GetInstallerName(This,pInstallerName) \ + ( (This)->lpVtbl -> GetInstallerName(This,pInstallerName) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ID3DShaderCacheApplication_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_d3dshadercacheregistration_0000_0003 */ +/* [local] */ + +typedef struct SC_HANDLE__ *SC_HANDLE; + + + +extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0003_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0003_v0_0_s_ifspec; + +#ifndef __ID3DShaderCacheInstaller_INTERFACE_DEFINED__ +#define __ID3DShaderCacheInstaller_INTERFACE_DEFINED__ + +/* interface ID3DShaderCacheInstaller */ +/* [unique][local][object][uuid] */ + + +EXTERN_C const IID IID_ID3DShaderCacheInstaller; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("bbe30de1-6318-4526-ae17-776693191bb4") + ID3DShaderCacheInstaller : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE RegisterDriverUpdateListener( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterDriverUpdateListener( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterServiceDriverUpdateTrigger( + SC_HANDLE hServiceHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterServiceDriverUpdateTrigger( + SC_HANDLE hServiceHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterApplication( + _In_ const wchar_t *pExePath, + _In_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc, + REFIID riid, + _COM_Outptr_ void **ppvApp) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveApplication( + _In_ ID3DShaderCacheApplication *pApplication) = 0; + + virtual UINT STDMETHODCALLTYPE GetApplicationCount( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetApplication( + _In_ UINT index, + REFIID riid, + _COM_Outptr_ void **ppvApp) = 0; + + virtual HRESULT STDMETHODCALLTYPE ClearAllState( void) = 0; + + virtual UINT STDMETHODCALLTYPE GetMaxPrecompileTargetCount( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPrecompileTargets( + _In_opt_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc, + _Inout_ UINT *pArraySize, + _Out_writes_(*pArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray, + D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ID3DShaderCacheInstallerVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ID3DShaderCacheInstaller * This, + REFIID riid, + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ID3DShaderCacheInstaller * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ID3DShaderCacheInstaller * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterDriverUpdateListener) + HRESULT ( STDMETHODCALLTYPE *RegisterDriverUpdateListener )( + ID3DShaderCacheInstaller * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, UnregisterDriverUpdateListener) + HRESULT ( STDMETHODCALLTYPE *UnregisterDriverUpdateListener )( + ID3DShaderCacheInstaller * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterServiceDriverUpdateTrigger) + HRESULT ( STDMETHODCALLTYPE *RegisterServiceDriverUpdateTrigger )( + ID3DShaderCacheInstaller * This, + SC_HANDLE hServiceHandle); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, UnregisterServiceDriverUpdateTrigger) + HRESULT ( STDMETHODCALLTYPE *UnregisterServiceDriverUpdateTrigger )( + ID3DShaderCacheInstaller * This, + SC_HANDLE hServiceHandle); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterApplication) + HRESULT ( STDMETHODCALLTYPE *RegisterApplication )( + ID3DShaderCacheInstaller * This, + _In_ const wchar_t *pExePath, + _In_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc, + REFIID riid, + _COM_Outptr_ void **ppvApp); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RemoveApplication) + HRESULT ( STDMETHODCALLTYPE *RemoveApplication )( + ID3DShaderCacheInstaller * This, + _In_ ID3DShaderCacheApplication *pApplication); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetApplicationCount) + UINT ( STDMETHODCALLTYPE *GetApplicationCount )( + ID3DShaderCacheInstaller * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetApplication) + HRESULT ( STDMETHODCALLTYPE *GetApplication )( + ID3DShaderCacheInstaller * This, + _In_ UINT index, + REFIID riid, + _COM_Outptr_ void **ppvApp); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, ClearAllState) + HRESULT ( STDMETHODCALLTYPE *ClearAllState )( + ID3DShaderCacheInstaller * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetMaxPrecompileTargetCount) + UINT ( STDMETHODCALLTYPE *GetMaxPrecompileTargetCount )( + ID3DShaderCacheInstaller * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetPrecompileTargets) + HRESULT ( STDMETHODCALLTYPE *GetPrecompileTargets )( + ID3DShaderCacheInstaller * This, + _In_opt_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc, + _Inout_ UINT *pArraySize, + _Out_writes_(*pArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray, + D3D_SHADER_CACHE_TARGET_FLAGS flags); + + END_INTERFACE + } ID3DShaderCacheInstallerVtbl; + + interface ID3DShaderCacheInstaller + { + CONST_VTBL struct ID3DShaderCacheInstallerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ID3DShaderCacheInstaller_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ID3DShaderCacheInstaller_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ID3DShaderCacheInstaller_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ID3DShaderCacheInstaller_RegisterDriverUpdateListener(This) \ + ( (This)->lpVtbl -> RegisterDriverUpdateListener(This) ) + +#define ID3DShaderCacheInstaller_UnregisterDriverUpdateListener(This) \ + ( (This)->lpVtbl -> UnregisterDriverUpdateListener(This) ) + +#define ID3DShaderCacheInstaller_RegisterServiceDriverUpdateTrigger(This,hServiceHandle) \ + ( (This)->lpVtbl -> RegisterServiceDriverUpdateTrigger(This,hServiceHandle) ) + +#define ID3DShaderCacheInstaller_UnregisterServiceDriverUpdateTrigger(This,hServiceHandle) \ + ( (This)->lpVtbl -> UnregisterServiceDriverUpdateTrigger(This,hServiceHandle) ) + +#define ID3DShaderCacheInstaller_RegisterApplication(This,pExePath,pApplicationDesc,riid,ppvApp) \ + ( (This)->lpVtbl -> RegisterApplication(This,pExePath,pApplicationDesc,riid,ppvApp) ) + +#define ID3DShaderCacheInstaller_RemoveApplication(This,pApplication) \ + ( (This)->lpVtbl -> RemoveApplication(This,pApplication) ) + +#define ID3DShaderCacheInstaller_GetApplicationCount(This) \ + ( (This)->lpVtbl -> GetApplicationCount(This) ) + +#define ID3DShaderCacheInstaller_GetApplication(This,index,riid,ppvApp) \ + ( (This)->lpVtbl -> GetApplication(This,index,riid,ppvApp) ) + +#define ID3DShaderCacheInstaller_ClearAllState(This) \ + ( (This)->lpVtbl -> ClearAllState(This) ) + +#define ID3DShaderCacheInstaller_GetMaxPrecompileTargetCount(This) \ + ( (This)->lpVtbl -> GetMaxPrecompileTargetCount(This) ) + +#define ID3DShaderCacheInstaller_GetPrecompileTargets(This,pApplicationDesc,pArraySize,pArray,flags) \ + ( (This)->lpVtbl -> GetPrecompileTargets(This,pApplicationDesc,pArraySize,pArray,flags) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ID3DShaderCacheInstaller_INTERFACE_DEFINED__ */ + + +#ifndef __ID3DShaderCacheExplorer_INTERFACE_DEFINED__ +#define __ID3DShaderCacheExplorer_INTERFACE_DEFINED__ + +/* interface ID3DShaderCacheExplorer */ +/* [unique][local][object][uuid] */ + + +EXTERN_C const IID IID_ID3DShaderCacheExplorer; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("90432322-32f5-487f-9264-e9390fa58b2a") + ID3DShaderCacheExplorer : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetApplicationFromExePath( + _In_ const wchar_t *pFullExePath, + REFIID riid, + _COM_Outptr_ void **ppvApp) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ID3DShaderCacheExplorerVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ID3DShaderCacheExplorer * This, + REFIID riid, + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ID3DShaderCacheExplorer * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ID3DShaderCacheExplorer * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheExplorer, GetApplicationFromExePath) + HRESULT ( STDMETHODCALLTYPE *GetApplicationFromExePath )( + ID3DShaderCacheExplorer * This, + _In_ const wchar_t *pFullExePath, + REFIID riid, + _COM_Outptr_ void **ppvApp); + + END_INTERFACE + } ID3DShaderCacheExplorerVtbl; + + interface ID3DShaderCacheExplorer + { + CONST_VTBL struct ID3DShaderCacheExplorerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ID3DShaderCacheExplorer_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ID3DShaderCacheExplorer_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ID3DShaderCacheExplorer_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ID3DShaderCacheExplorer_GetApplicationFromExePath(This,pFullExePath,riid,ppvApp) \ + ( (This)->lpVtbl -> GetApplicationFromExePath(This,pFullExePath,riid,ppvApp) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ID3DShaderCacheExplorer_INTERFACE_DEFINED__ */ + + +#ifndef __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__ +#define __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__ + +/* interface ID3DShaderCacheInstallerFactory */ +/* [unique][local][object][uuid] */ + + +EXTERN_C const IID IID_ID3DShaderCacheInstallerFactory; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("09b2dfe4-840f-401a-804c-0dd8aadc9e9f") + ID3DShaderCacheInstallerFactory : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE CreateInstaller( + _In_ ID3DShaderCacheInstallerClient *pClient, + REFIID riid, + _COM_Outptr_ void **ppvInstaller) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateExplorer( + IUnknown *pUnknown, + REFIID riid, + _COM_Outptr_ void **ppvExplorer) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ID3DShaderCacheInstallerFactoryVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ID3DShaderCacheInstallerFactory * This, + REFIID riid, + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ID3DShaderCacheInstallerFactory * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ID3DShaderCacheInstallerFactory * This); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerFactory, CreateInstaller) + HRESULT ( STDMETHODCALLTYPE *CreateInstaller )( + ID3DShaderCacheInstallerFactory * This, + _In_ ID3DShaderCacheInstallerClient *pClient, + REFIID riid, + _COM_Outptr_ void **ppvInstaller); + + DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerFactory, CreateExplorer) + HRESULT ( STDMETHODCALLTYPE *CreateExplorer )( + ID3DShaderCacheInstallerFactory * This, + IUnknown *pUnknown, + REFIID riid, + _COM_Outptr_ void **ppvExplorer); + + END_INTERFACE + } ID3DShaderCacheInstallerFactoryVtbl; + + interface ID3DShaderCacheInstallerFactory + { + CONST_VTBL struct ID3DShaderCacheInstallerFactoryVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ID3DShaderCacheInstallerFactory_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ID3DShaderCacheInstallerFactory_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ID3DShaderCacheInstallerFactory_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ID3DShaderCacheInstallerFactory_CreateInstaller(This,pClient,riid,ppvInstaller) \ + ( (This)->lpVtbl -> CreateInstaller(This,pClient,riid,ppvInstaller) ) + +#define ID3DShaderCacheInstallerFactory_CreateExplorer(This,pUnknown,riid,ppvExplorer) \ + ( (This)->lpVtbl -> CreateExplorer(This,pUnknown,riid,ppvExplorer) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_d3dshadercacheregistration_0000_0006 */ +/* [local] */ + +DEFINE_GUID(IID_ID3DShaderCacheInstallerClient,0xa16ee930,0xd9f6,0x4222,0xa5,0x14,0x24,0x44,0x73,0xe5,0xd2,0x66); +DEFINE_GUID(IID_ID3DShaderCacheComponent,0xeed1bf00,0xf5c7,0x4cf7,0x88,0x5c,0xd0,0xf9,0xc0,0xcb,0x48,0x28); +DEFINE_GUID(IID_ID3DShaderCacheApplication,0xfc688ee2,0x1b35,0x4913,0x93,0xbe,0x1c,0xa3,0xfa,0x7d,0xf3,0x9e); +DEFINE_GUID(IID_ID3DShaderCacheInstaller,0xbbe30de1,0x6318,0x4526,0xae,0x17,0x77,0x66,0x93,0x19,0x1b,0xb4); +DEFINE_GUID(IID_ID3DShaderCacheExplorer,0x90432322,0x32f5,0x487f,0x92,0x64,0xe9,0x39,0x0f,0xa5,0x8b,0x2a); +DEFINE_GUID(IID_ID3DShaderCacheInstallerFactory,0x09b2dfe4,0x840f,0x401a,0x80,0x4c,0x0d,0xd8,0xaa,0xdc,0x9e,0x9f); + + +extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0006_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0006_v0_0_s_ifspec; + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + -- cgit v1.2.3