aboutsummaryrefslogtreecommitdiff
path: root/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.idl
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.idl')
-rw-r--r--contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.idl291
1 files changed, 291 insertions, 0 deletions
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.idl
new file mode 100644
index 0000000..c8ae4b4
--- /dev/null
+++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.idl
@@ -0,0 +1,291 @@
1/*-------------------------------------------------------------------------------------
2 *
3 * Copyright (c) Microsoft Corporation
4 * Licensed under the MIT license
5 *
6 *-------------------------------------------------------------------------------------*/
7import "oaidl.idl";
8import "ocidl.idl";
9
10import "dxgicommon.idl";
11import "d3d12.idl";
12
13cpp_quote("#include <winapifamily.h>")
14
15#pragma region App Family
16cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)")
17
18
19typedef struct D3D12_ADAPTER_FAMILY
20{
21 WCHAR szAdapterFamily[128];
22} D3D12_ADAPTER_FAMILY;
23
24cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_CREATE_FACTORY)( ")
25cpp_quote(" _In_ LPCWSTR pPluginCompilerDllPath,")
26cpp_quote(" _In_ REFIID riid,")
27cpp_quote(" _COM_Outptr_opt_ void** ppFactory );")
28cpp_quote("")
29cpp_quote("HRESULT WINAPI D3D12CompilerCreateFactory(")
30cpp_quote(" _In_ LPCWSTR pPluginCompilerDllPath,")
31cpp_quote(" _In_ REFIID riid, // Expected: ID3D12CompilerFactory")
32cpp_quote(" _COM_Outptr_opt_ void** ppFactory );")
33cpp_quote("")
34cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(")
35cpp_quote(" _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,")
36cpp_quote(" _Out_ ID3DBlob** ppBlob,")
37cpp_quote(" _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);")
38cpp_quote("")
39cpp_quote("HRESULT WINAPI D3D12CompilerSerializeVersionedRootSignature(")
40cpp_quote(" _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,")
41cpp_quote(" _Out_ ID3DBlob** ppBlob,")
42cpp_quote(" _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);")
43cpp_quote("")
44
45[uuid(e0d06420-9f31-47e8-ae9a-dd2ba25ac0bc), object, local, pointer_default(unique)]
46interface ID3D12CompilerFactoryChild
47 : IUnknown
48{
49 HRESULT GetFactory(
50 [annotation("_In_")] REFIID riid, // ID3D12CompilerFactory
51 [annotation("_COM_Outptr_")] void** ppCompilerFactory
52 );
53};
54
55typedef enum D3D12_COMPILER_VALUE_TYPE
56{
57 D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE = 0,
58 D3D12_COMPILER_VALUE_TYPE_METADATA = 1,
59 D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB = 2,
60 D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA = 3,
61
62} D3D12_COMPILER_VALUE_TYPE;
63
64typedef enum D3D12_COMPILER_VALUE_TYPE_FLAGS
65{
66 D3D12_COMPILER_VALUE_TYPE_FLAGS_NONE = 0x00000000,
67 D3D12_COMPILER_VALUE_TYPE_FLAGS_OBJECT_CODE = (1 << D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE),
68 D3D12_COMPILER_VALUE_TYPE_FLAGS_METADATA = (1 << D3D12_COMPILER_VALUE_TYPE_METADATA),
69 D3D12_COMPILER_VALUE_TYPE_FLAGS_DEBUG_PDB = (1 << D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB),
70 D3D12_COMPILER_VALUE_TYPE_FLAGS_PERFORMANCE_DATA = (1 << D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA),
71
72
73} D3D12_COMPILER_VALUE_TYPE_FLAGS;
74cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPILER_VALUE_TYPE_FLAGS )")
75
76typedef struct D3D12_COMPILER_DATABASE_PATH
77{
78 D3D12_COMPILER_VALUE_TYPE_FLAGS Types;
79 LPCWSTR pPath;
80} D3D12_COMPILER_DATABASE_PATH;
81
82typedef struct D3D12_COMPILER_CACHE_GROUP_KEY
83{
84 [annotation("_Field_size_bytes_full_(KeySize)")] const void* pKey;
85 UINT KeySize;
86} D3D12_COMPILER_CACHE_GROUP_KEY;
87
88typedef struct D3D12_COMPILER_CACHE_VALUE_KEY
89{
90 [annotation("_Field_size_bytes_full_(KeySize)")] const void* pKey;
91 UINT KeySize;
92} D3D12_COMPILER_CACHE_VALUE_KEY;
93
94typedef struct D3D12_COMPILER_CACHE_VALUE
95{
96 [annotation("_Field_size_bytes_full_(ValueSize)")] void* pValue;
97 UINT ValueSize;
98} D3D12_COMPILER_CACHE_VALUE;
99
100typedef struct D3D12_COMPILER_CACHE_TYPED_VALUE
101{
102 D3D12_COMPILER_VALUE_TYPE Type;
103 D3D12_COMPILER_CACHE_VALUE Value;
104} D3D12_COMPILER_CACHE_TYPED_VALUE;
105
106typedef struct D3D12_COMPILER_CACHE_CONST_VALUE
107{
108 [annotation("_Field_size_bytes_full_(ValueSize)")] const void* pValue;
109 UINT ValueSize;
110} D3D12_COMPILER_CACHE_CONST_VALUE;
111
112typedef struct D3D12_COMPILER_CACHE_TYPED_CONST_VALUE
113{
114 D3D12_COMPILER_VALUE_TYPE Type;
115 D3D12_COMPILER_CACHE_CONST_VALUE Value;
116} D3D12_COMPILER_CACHE_TYPED_CONST_VALUE;
117
118typedef struct D3D12_COMPILER_TARGET
119{
120 UINT AdapterFamilyIndex;
121 UINT64 ABIVersion;
122} D3D12_COMPILER_TARGET;
123
124typedef void* (__stdcall* D3D12CompilerCacheSessionAllocationFunc) (
125 SIZE_T SizeInBytes,
126 [annotation("_Inout_opt_")] void* pContext
127 );
128
129typedef void(__stdcall* D3D12CompilerCacheSessionGroupValueKeysFunc) (
130 [annotation("_In_")] const D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey,
131 [annotation("_Inout_opt_")] void* pContext
132 );
133
134typedef void(__stdcall* D3D12CompilerCacheSessionGroupValuesFunc) (
135 UINT ValueKeyIndex,
136 [annotation("_In_")] const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE* pTypedValue,
137 [annotation("_Inout_opt_")] void* pContext
138 );
139
140[uuid(5704e5e6-054b-4738-b661-7b0d68d8dde2), object, local, pointer_default(unique)]
141interface ID3D12CompilerCacheSession
142 : ID3D12CompilerFactoryChild
143{
144 HRESULT FindGroup(
145 [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey,
146 [annotation("_Out_opt_")] UINT* pGroupVersion
147 );
148
149 HRESULT FindGroupValueKeys(
150 [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey,
151 [annotation("_In_opt_")] const UINT* pExpectedGroupVersion,
152 [annotation("_In_")] D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc,
153 [annotation("_Inout_opt_")] void* pContext
154 );
155
156 HRESULT FindGroupValues(
157 [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey,
158 [annotation("_In_opt_")] const UINT* pExpectedGroupVersion,
159 D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags,
160 [annotation("_In_opt_")] D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc,
161 [annotation("_Inout_opt_")] void* pContext
162 );
163
164 HRESULT FindValue(
165 [annotation("_In_")] const D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey,
166 [annotation("_Inout_count_(NumTypedValues)")] D3D12_COMPILER_CACHE_TYPED_VALUE* pTypedValues,
167 UINT NumTypedValues,
168 [annotation("_In_opt_")] D3D12CompilerCacheSessionAllocationFunc pCallbackFunc,
169 [annotation("_Inout_opt_")] void* pContext
170 );
171
172 const D3D12_APPLICATION_DESC* GetApplicationDesc();
173
174 D3D12_COMPILER_TARGET GetCompilerTarget();
175
176 D3D12_COMPILER_VALUE_TYPE_FLAGS GetValueTypes();
177
178 HRESULT StoreGroupValueKeys(
179 [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey,
180 UINT GroupVersion,
181 [annotation("_In_reads_(NumValueKeys)")] const D3D12_COMPILER_CACHE_VALUE_KEY* pValueKeys,
182 UINT NumValueKeys
183 );
184
185 HRESULT StoreValue(
186 [annotation("_In_")] const D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey,
187 [annotation("_In_reads_(NumTypedValues)")] const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE* pTypedValues,
188 UINT NumTypedValues
189 );
190};
191
192[uuid(5981cca4-e8ae-44ca-9b92-4fa86f5a3a3a), object, local, pointer_default(unique)]
193interface ID3D12CompilerStateObject
194 : IUnknown
195{
196 HRESULT GetCompiler(
197 [annotation("_In_")] REFIID riid, // ID3D12Compiler
198 [annotation("_COM_Outptr_")] void** ppCompiler
199 );
200};
201
202typedef struct D3D12_COMPILER_EXISTING_COLLECTION_DESC
203{
204 ID3D12CompilerStateObject* pExistingCollection;
205 UINT NumExports; // Optional, if 0 all exports in the library/collection will be surfaced
206 [annotation("_In_reads_(NumExports)")] const D3D12_EXPORT_DESC* pExports;
207} D3D12_COMPILER_EXISTING_COLLECTION_DESC;
208
209[uuid(8c403c12-993b-4583-80f1-6824138fa68e), object, local, pointer_default(unique)]
210interface ID3D12Compiler
211 : ID3D12CompilerFactoryChild
212{
213 HRESULT CompilePipelineState(
214 [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey,
215 UINT GroupVersion,
216 [annotation("_In_")] const D3D12_PIPELINE_STATE_STREAM_DESC* pDesc
217 );
218
219 HRESULT CompileStateObject(
220 [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey,
221 UINT GroupVersion,
222 [annotation("_In_")] const D3D12_STATE_OBJECT_DESC* pDesc,
223 [annotation("_In_")] REFIID riid, // ID3D12CompilerStateObject
224 [annotation("_COM_Outptr_")] void** ppCompilerStateObject
225 );
226
227 HRESULT CompileAddToStateObject(
228 [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey,
229 UINT GroupVersion,
230 [annotation("_In_")] const D3D12_STATE_OBJECT_DESC* pAddition,
231 [annotation("_In_")] ID3D12CompilerStateObject* pCompilerStateObjectToGrowFrom,
232 [annotation("_In_")] REFIID riid, // ID3D12CompilerStateObject
233 [annotation("_COM_Outptr_")] void** ppNewCompilerStateObject
234 );
235
236 HRESULT GetCacheSession(
237 [annotation("_In_")] REFIID riid, // ID3D12CompilerCacheSession
238 [annotation("_COM_Outptr_")] void** ppCompilerCacheSession
239 );
240};
241
242[uuid(c1ee4b59-3f59-47a5-9b4e-a855c858a878), object, local, pointer_default(unique)]
243interface ID3D12CompilerFactory
244 : IUnknown
245{
246 HRESULT EnumerateAdapterFamilies(
247 UINT AdapterFamilyIndex,
248 [annotation("_Out_")] D3D12_ADAPTER_FAMILY* pAdapterFamily
249 );
250
251 HRESULT EnumerateAdapterFamilyABIVersions(
252 UINT AdapterFamilyIndex,
253 [annotation("_Inout_")] UINT32* pNumABIVersions,
254 [annotation("_Out_writes_opt_(*pNumABIVersions)")] UINT64 * pABIVersions
255 );
256
257 HRESULT EnumerateAdapterFamilyCompilerVersion(
258 UINT AdapterFamilyIndex,
259 [annotation("_Out_")] D3D12_VERSION_NUMBER* pCompilerVersion
260 );
261
262 HRESULT GetApplicationProfileVersion(
263 [annotation("_In_")] const D3D12_COMPILER_TARGET* pTarget,
264 [annotation("_In_")] const D3D12_APPLICATION_DESC* pApplicationDesc,
265 [annotation("_Out_")] D3D12_VERSION_NUMBER* pApplicationProfileVersion
266 );
267
268 HRESULT CreateCompilerCacheSession(
269 [annotation("_In_reads_(NumPaths)")] const D3D12_COMPILER_DATABASE_PATH* pPaths,
270 UINT NumPaths,
271 [annotation("_In_opt_")] const D3D12_COMPILER_TARGET* pTarget,
272 [annotation("_In_opt_")] const D3D12_APPLICATION_DESC* pApplicationDesc,
273 [annotation("_In_")] REFIID riid, // ID3D12CompilerCacheSession
274 [annotation("_COM_Outptr_")] void** ppCompilerCacheSession
275 );
276
277 HRESULT CreateCompiler(
278 [annotation("_In_")] ID3D12CompilerCacheSession* pCompilerCacheSession,
279 [annotation("_In_")] REFIID riid, // ID3D12Compiler
280 [annotation("_COM_Outptr_")] void** ppCompiler
281 );
282};
283
284cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */")
285#pragma endregion
286
287cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerFactoryChild,0xe0d06420,0x9f31,0x47e8,0xae,0x9a,0xdd,0x2b,0xa2,0x5a,0xc0,0xbc);" )
288cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerCacheSession,0x5704e5e6,0x054b,0x4738,0xb6,0x61,0x7b,0x0d,0x68,0xd8,0xdd,0xe2);" )
289cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerStateObject,0x5981cca4,0xe8ae,0x44ca,0x9b,0x92,0x4f,0xa8,0x6f,0x5a,0x3a,0x3a);" )
290cpp_quote( "DEFINE_GUID(IID_ID3D12Compiler,0x8c403c12,0x993b,0x4583,0x80,0xf1,0x68,0x24,0x13,0x8f,0xa6,0x8e);" )
291cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerFactory,0xc1ee4b59,0x3f59,0x47a5,0x9b,0x4e,0xa8,0x55,0xc8,0x58,0xa8,0x78);" )