aboutsummaryrefslogtreecommitdiff
path: root/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.idl
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.idl')
-rw-r--r--contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.idl195
1 files changed, 195 insertions, 0 deletions
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.idl
new file mode 100644
index 0000000..7dcc53d
--- /dev/null
+++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.idl
@@ -0,0 +1,195 @@
1/*-------------------------------------------------------------------------------------
2 *
3 * Copyright (c) Microsoft Corporation
4 * Licensed under the MIT license
5 *
6 *-------------------------------------------------------------------------------------*/
7#pragma once
8import "oaidl.idl";
9import "ocidl.idl";
10
11cpp_quote("DEFINE_GUID(CLSID_D3DShaderCacheInstallerFactory, 0x16195a0b, 0x607c, 0x41f1, 0xbf, 0x03, 0xc7, 0x69, 0x4d, 0x60, 0xa8, 0xd4);")
12
13typedef enum D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE
14{
15 D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_USER,
16 D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_SYSTEM
17} D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE;
18
19interface ID3DShaderCacheInstaller;
20
21// This interface is implemented by the game installer
22[uuid(a16ee930-d9f6-4222-a514-244473e5d266), object, local, pointer_default(unique)]
23interface ID3DShaderCacheInstallerClient
24{
25 HRESULT GetInstallerName(
26 [annotation("_Inout_")] SIZE_T* pNameLength,
27 [annotation("_Out_writes_opt_(*pNameLength)")] wchar_t* pName);
28
29 D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE GetInstallerScope();
30
31 HRESULT HandleDriverUpdate(
32 [annotation("_In_")] ID3DShaderCacheInstaller* pInstaller);
33};
34
35typedef struct D3D_SHADER_CACHE_PSDB_PROPERTIES
36{
37 const wchar_t* pAdapterFamily;
38 const wchar_t* pPsdbPath;
39} D3D_SHADER_CACHE_PSDB_PROPERTIES;
40
41[uuid(eed1bf00-f5c7-4cf7-885c-d0f9c0cb4828), object, local, pointer_default(unique)]
42interface ID3DShaderCacheComponent : IUnknown
43{
44 HRESULT GetComponentName(
45 [annotation("_Out_")] const wchar_t** pName);
46
47 HRESULT GetStateObjectDatabasePath(
48 [annotation("_Out_")] const wchar_t** pPath);
49
50 HRESULT GetPrecompiledCachePath(
51 [annotation("_In_")] const wchar_t* pAdapterFamily,
52 [annotation("_Inout_")] const wchar_t** pPath);
53
54 UINT GetPrecompiledShaderDatabaseCount();
55
56 HRESULT GetPrecompiledShaderDatabases(
57 UINT ArraySize,
58 [annotation("_Out_writes_(ArraySize)")] D3D_SHADER_CACHE_PSDB_PROPERTIES * pPSDBs);
59};
60
61typedef enum D3D_SHADER_CACHE_TARGET_FLAGS
62{
63 D3D_SHADER_CACHE_TARGET_FLAG_NONE = 0,
64}D3D_SHADER_CACHE_TARGET_FLAGS;
65cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D_SHADER_CACHE_TARGET_FLAGS )")
66
67typedef union D3D_VERSION_NUMBER
68{
69 UINT64 Version;
70 UINT16 VersionParts[4];
71} D3D_VERSION_NUMBER;
72
73typedef struct D3D_SHADER_CACHE_COMPILER_PROPERTIES
74{
75 wchar_t szAdapterFamily[128];
76 UINT64 MinimumABISupportVersion;
77 UINT64 MaximumABISupportVersion;
78 D3D_VERSION_NUMBER CompilerVersion;
79 D3D_VERSION_NUMBER ApplicationProfileVersion;
80} D3D_SHADER_CACHE_COMPILER_PROPERTIES;
81
82typedef struct D3D_SHADER_CACHE_APPLICATION_DESC
83{
84 const wchar_t* pExeFilename;
85 const wchar_t* pName;
86 D3D_VERSION_NUMBER Version;
87 const wchar_t* pEngineName;
88 D3D_VERSION_NUMBER EngineVersion;
89} D3D_SHADER_CACHE_APPLICATION_DESC;
90
91[uuid(fc688ee2-1b35-4913-93be-1ca3fa7df39e), object, local, pointer_default(unique)]
92interface ID3DShaderCacheApplication : IUnknown
93{
94 HRESULT GetExePath(
95 [annotation("_Out_")] const wchar_t** pExePath);
96
97 HRESULT GetDesc(
98 [annotation("_Out_")] D3D_SHADER_CACHE_APPLICATION_DESC* pApplicationDesc);
99
100 HRESULT RegisterComponent(
101 [annotation("_In_")] const wchar_t* pName,
102 [annotation("_In_")] const wchar_t* pStateObjectDBPath,
103 [annotation("_In_")] UINT NumPSDB,
104 [annotation("_In_reads_(NumPSDB)")] const D3D_SHADER_CACHE_PSDB_PROPERTIES* pPSDBs,
105 [in] REFIID riid,
106 [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvComponent);
107
108 HRESULT RemoveComponent(
109 [annotation("_In_")] ID3DShaderCacheComponent* pComponent);
110
111 UINT GetComponentCount();
112
113 HRESULT GetComponent(
114 [annotation("_In_")] UINT index,
115 [in] REFIID riid,
116 [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvComponent);
117
118 UINT GetPrecompileTargetCount(D3D_SHADER_CACHE_TARGET_FLAGS flags);
119
120 HRESULT GetPrecompileTargets(
121 [annotation("_In_")] UINT ArraySize,
122 [annotation("_In_reads_(ArraySize)")] D3D_SHADER_CACHE_COMPILER_PROPERTIES* pArray,
123 D3D_SHADER_CACHE_TARGET_FLAGS flags);
124
125 HRESULT GetInstallerName(
126 [annotation("_Out_")] const wchar_t** pInstallerName);
127};
128
129typedef struct SC_HANDLE__ *SC_HANDLE;
130[uuid(bbe30de1-6318-4526-ae17-776693191bb4), object, local, pointer_default(unique)]
131interface ID3DShaderCacheInstaller : IUnknown
132{
133 HRESULT RegisterDriverUpdateListener();
134 HRESULT UnregisterDriverUpdateListener();
135
136 HRESULT RegisterServiceDriverUpdateTrigger(SC_HANDLE hServiceHandle);
137 HRESULT UnregisterServiceDriverUpdateTrigger(SC_HANDLE hServiceHandle);
138
139 HRESULT RegisterApplication(
140 [annotation("_In_")] const wchar_t* pExePath,
141 [annotation("_In_")] const D3D_SHADER_CACHE_APPLICATION_DESC* pApplicationDesc,
142 [in] REFIID riid,
143 [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvApp); // Expected: ID3DShaderCacheApplication
144
145 HRESULT RemoveApplication(
146 [annotation("_In_")] ID3DShaderCacheApplication* pApplication); // Expected: ID3DShaderCacheApplication
147
148 UINT GetApplicationCount();
149
150 HRESULT GetApplication(
151 [annotation("_In_")] UINT index,
152 [in] REFIID riid,
153 [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvApp); // Expected: ID3DShaderCacheApplication
154
155 HRESULT ClearAllState();
156
157 UINT GetMaxPrecompileTargetCount();
158
159 HRESULT GetPrecompileTargets(
160 [annotation("_In_opt_")] const D3D_SHADER_CACHE_APPLICATION_DESC* pApplicationDesc,
161 [annotation("_Inout_")] UINT* pArraySize,
162 [annotation("_Out_writes_(*pArraySize)")] D3D_SHADER_CACHE_COMPILER_PROPERTIES* pArray,
163 D3D_SHADER_CACHE_TARGET_FLAGS flags);
164};
165
166[uuid(90432322-32f5-487f-9264-e9390fa58b2a), object, local, pointer_default(unique)]
167interface ID3DShaderCacheExplorer : IUnknown
168{
169 HRESULT GetApplicationFromExePath(
170 [annotation("_In_")] const wchar_t* pFullExePath,
171 [in] REFIID riid,
172 [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvApp); // Expected: ID3DShaderCacheApplication
173};
174
175[uuid(09b2dfe4-840f-401a-804c-0dd8aadc9e9f), object, local, pointer_default(unique)]
176interface ID3DShaderCacheInstallerFactory : IUnknown
177{
178 HRESULT CreateInstaller(
179 [annotation("_In_")] ID3DShaderCacheInstallerClient* pClient,
180 [in] REFIID riid,
181 [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvInstaller);
182
183 HRESULT CreateExplorer(
184 [in] IUnknown* pUnknown, // Expected: ID3D12Device, IDXCoreAdapter, IDXGIAdapter
185 [in] REFIID riid,
186 [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvExplorer); // Expected: ID3DShaderCacheExplorer
187};
188
189
190cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheInstallerClient,0xa16ee930,0xd9f6,0x4222,0xa5,0x14,0x24,0x44,0x73,0xe5,0xd2,0x66);" )
191cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheComponent,0xeed1bf00,0xf5c7,0x4cf7,0x88,0x5c,0xd0,0xf9,0xc0,0xcb,0x48,0x28);" )
192cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheApplication,0xfc688ee2,0x1b35,0x4913,0x93,0xbe,0x1c,0xa3,0xfa,0x7d,0xf3,0x9e);" )
193cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheInstaller,0xbbe30de1,0x6318,0x4526,0xae,0x17,0x77,0x66,0x93,0x19,0x1b,0xb4);" )
194cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheExplorer,0x90432322,0x32f5,0x487f,0x92,0x64,0xe9,0x39,0x0f,0xa5,0x8b,0x2a);" )
195cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheInstallerFactory,0x09b2dfe4,0x840f,0x401a,0x80,0x4c,0x0d,0xd8,0xaa,0xdc,0x9e,0x9f);" )