mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-17 11:00:38 +02:00
76f642286e
Added neural network code(turned off by default). Lots of editor and rendering fixes.
195 lines
7.3 KiB
Plaintext
195 lines
7.3 KiB
Plaintext
/*-------------------------------------------------------------------------------------
|
|
*
|
|
* Copyright (c) Microsoft Corporation
|
|
* Licensed under the MIT license
|
|
*
|
|
*-------------------------------------------------------------------------------------*/
|
|
#pragma once
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
cpp_quote("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,
|
|
D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_SYSTEM
|
|
} D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE;
|
|
|
|
interface ID3DShaderCacheInstaller;
|
|
|
|
// This interface is implemented by the game installer
|
|
[uuid(a16ee930-d9f6-4222-a514-244473e5d266), object, local, pointer_default(unique)]
|
|
interface ID3DShaderCacheInstallerClient
|
|
{
|
|
HRESULT GetInstallerName(
|
|
[annotation("_Inout_")] SIZE_T* pNameLength,
|
|
[annotation("_Out_writes_opt_(*pNameLength)")] wchar_t* pName);
|
|
|
|
D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE GetInstallerScope();
|
|
|
|
HRESULT HandleDriverUpdate(
|
|
[annotation("_In_")] ID3DShaderCacheInstaller* pInstaller);
|
|
};
|
|
|
|
typedef struct D3D_SHADER_CACHE_PSDB_PROPERTIES
|
|
{
|
|
const wchar_t* pAdapterFamily;
|
|
const wchar_t* pPsdbPath;
|
|
} D3D_SHADER_CACHE_PSDB_PROPERTIES;
|
|
|
|
[uuid(eed1bf00-f5c7-4cf7-885c-d0f9c0cb4828), object, local, pointer_default(unique)]
|
|
interface ID3DShaderCacheComponent : IUnknown
|
|
{
|
|
HRESULT GetComponentName(
|
|
[annotation("_Out_")] const wchar_t** pName);
|
|
|
|
HRESULT GetStateObjectDatabasePath(
|
|
[annotation("_Out_")] const wchar_t** pPath);
|
|
|
|
HRESULT GetPrecompiledCachePath(
|
|
[annotation("_In_")] const wchar_t* pAdapterFamily,
|
|
[annotation("_Inout_")] const wchar_t** pPath);
|
|
|
|
UINT GetPrecompiledShaderDatabaseCount();
|
|
|
|
HRESULT GetPrecompiledShaderDatabases(
|
|
UINT ArraySize,
|
|
[annotation("_Out_writes_(ArraySize)")] D3D_SHADER_CACHE_PSDB_PROPERTIES * pPSDBs);
|
|
};
|
|
|
|
typedef enum D3D_SHADER_CACHE_TARGET_FLAGS
|
|
{
|
|
D3D_SHADER_CACHE_TARGET_FLAG_NONE = 0,
|
|
}D3D_SHADER_CACHE_TARGET_FLAGS;
|
|
cpp_quote("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;
|
|
|
|
[uuid(fc688ee2-1b35-4913-93be-1ca3fa7df39e), object, local, pointer_default(unique)]
|
|
interface ID3DShaderCacheApplication : IUnknown
|
|
{
|
|
HRESULT GetExePath(
|
|
[annotation("_Out_")] const wchar_t** pExePath);
|
|
|
|
HRESULT GetDesc(
|
|
[annotation("_Out_")] D3D_SHADER_CACHE_APPLICATION_DESC* pApplicationDesc);
|
|
|
|
HRESULT RegisterComponent(
|
|
[annotation("_In_")] const wchar_t* pName,
|
|
[annotation("_In_")] const wchar_t* pStateObjectDBPath,
|
|
[annotation("_In_")] UINT NumPSDB,
|
|
[annotation("_In_reads_(NumPSDB)")] const D3D_SHADER_CACHE_PSDB_PROPERTIES* pPSDBs,
|
|
[in] REFIID riid,
|
|
[out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvComponent);
|
|
|
|
HRESULT RemoveComponent(
|
|
[annotation("_In_")] ID3DShaderCacheComponent* pComponent);
|
|
|
|
UINT GetComponentCount();
|
|
|
|
HRESULT GetComponent(
|
|
[annotation("_In_")] UINT index,
|
|
[in] REFIID riid,
|
|
[out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvComponent);
|
|
|
|
UINT GetPrecompileTargetCount(D3D_SHADER_CACHE_TARGET_FLAGS flags);
|
|
|
|
HRESULT GetPrecompileTargets(
|
|
[annotation("_In_")] UINT ArraySize,
|
|
[annotation("_In_reads_(ArraySize)")] D3D_SHADER_CACHE_COMPILER_PROPERTIES* pArray,
|
|
D3D_SHADER_CACHE_TARGET_FLAGS flags);
|
|
|
|
HRESULT GetInstallerName(
|
|
[annotation("_Out_")] const wchar_t** pInstallerName);
|
|
};
|
|
|
|
typedef struct SC_HANDLE__ *SC_HANDLE;
|
|
[uuid(bbe30de1-6318-4526-ae17-776693191bb4), object, local, pointer_default(unique)]
|
|
interface ID3DShaderCacheInstaller : IUnknown
|
|
{
|
|
HRESULT RegisterDriverUpdateListener();
|
|
HRESULT UnregisterDriverUpdateListener();
|
|
|
|
HRESULT RegisterServiceDriverUpdateTrigger(SC_HANDLE hServiceHandle);
|
|
HRESULT UnregisterServiceDriverUpdateTrigger(SC_HANDLE hServiceHandle);
|
|
|
|
HRESULT RegisterApplication(
|
|
[annotation("_In_")] const wchar_t* pExePath,
|
|
[annotation("_In_")] const D3D_SHADER_CACHE_APPLICATION_DESC* pApplicationDesc,
|
|
[in] REFIID riid,
|
|
[out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvApp); // Expected: ID3DShaderCacheApplication
|
|
|
|
HRESULT RemoveApplication(
|
|
[annotation("_In_")] ID3DShaderCacheApplication* pApplication); // Expected: ID3DShaderCacheApplication
|
|
|
|
UINT GetApplicationCount();
|
|
|
|
HRESULT GetApplication(
|
|
[annotation("_In_")] UINT index,
|
|
[in] REFIID riid,
|
|
[out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvApp); // Expected: ID3DShaderCacheApplication
|
|
|
|
HRESULT ClearAllState();
|
|
|
|
UINT GetMaxPrecompileTargetCount();
|
|
|
|
HRESULT GetPrecompileTargets(
|
|
[annotation("_In_opt_")] const D3D_SHADER_CACHE_APPLICATION_DESC* pApplicationDesc,
|
|
[annotation("_Inout_")] UINT* pArraySize,
|
|
[annotation("_Out_writes_(*pArraySize)")] D3D_SHADER_CACHE_COMPILER_PROPERTIES* pArray,
|
|
D3D_SHADER_CACHE_TARGET_FLAGS flags);
|
|
};
|
|
|
|
[uuid(90432322-32f5-487f-9264-e9390fa58b2a), object, local, pointer_default(unique)]
|
|
interface ID3DShaderCacheExplorer : IUnknown
|
|
{
|
|
HRESULT GetApplicationFromExePath(
|
|
[annotation("_In_")] const wchar_t* pFullExePath,
|
|
[in] REFIID riid,
|
|
[out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvApp); // Expected: ID3DShaderCacheApplication
|
|
};
|
|
|
|
[uuid(09b2dfe4-840f-401a-804c-0dd8aadc9e9f), object, local, pointer_default(unique)]
|
|
interface ID3DShaderCacheInstallerFactory : IUnknown
|
|
{
|
|
HRESULT CreateInstaller(
|
|
[annotation("_In_")] ID3DShaderCacheInstallerClient* pClient,
|
|
[in] REFIID riid,
|
|
[out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvInstaller);
|
|
|
|
HRESULT CreateExplorer(
|
|
[in] IUnknown* pUnknown, // Expected: ID3D12Device, IDXCoreAdapter, IDXGIAdapter
|
|
[in] REFIID riid,
|
|
[out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvExplorer); // Expected: ID3DShaderCacheExplorer
|
|
};
|
|
|
|
cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheInstallerClient,0xa16ee930,0xd9f6,0x4222,0xa5,0x14,0x24,0x44,0x73,0xe5,0xd2,0x66);" )
|
|
cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheComponent,0xeed1bf00,0xf5c7,0x4cf7,0x88,0x5c,0xd0,0xf9,0xc0,0xcb,0x48,0x28);" )
|
|
cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheApplication,0xfc688ee2,0x1b35,0x4913,0x93,0xbe,0x1c,0xa3,0xfa,0x7d,0xf3,0x9e);" )
|
|
cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheInstaller,0xbbe30de1,0x6318,0x4526,0xae,0x17,0x77,0x66,0x93,0x19,0x1b,0xb4);" )
|
|
cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheExplorer,0x90432322,0x32f5,0x487f,0x92,0x64,0xe9,0x39,0x0f,0xa5,0x8b,0x2a);" )
|
|
cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheInstallerFactory,0x09b2dfe4,0x840f,0x401a,0x80,0x4c,0x0d,0xd8,0xaa,0xdc,0x9e,0x9f);" )
|