diff options
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.idl | 291 |
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 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | import "oaidl.idl"; | ||
| 8 | import "ocidl.idl"; | ||
| 9 | |||
| 10 | import "dxgicommon.idl"; | ||
| 11 | import "d3d12.idl"; | ||
| 12 | |||
| 13 | cpp_quote("#include <winapifamily.h>") | ||
| 14 | |||
| 15 | #pragma region App Family | ||
| 16 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)") | ||
| 17 | |||
| 18 | |||
| 19 | typedef struct D3D12_ADAPTER_FAMILY | ||
| 20 | { | ||
| 21 | WCHAR szAdapterFamily[128]; | ||
| 22 | } D3D12_ADAPTER_FAMILY; | ||
| 23 | |||
| 24 | cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_CREATE_FACTORY)( ") | ||
| 25 | cpp_quote(" _In_ LPCWSTR pPluginCompilerDllPath,") | ||
| 26 | cpp_quote(" _In_ REFIID riid,") | ||
| 27 | cpp_quote(" _COM_Outptr_opt_ void** ppFactory );") | ||
| 28 | cpp_quote("") | ||
| 29 | cpp_quote("HRESULT WINAPI D3D12CompilerCreateFactory(") | ||
| 30 | cpp_quote(" _In_ LPCWSTR pPluginCompilerDllPath,") | ||
| 31 | cpp_quote(" _In_ REFIID riid, // Expected: ID3D12CompilerFactory") | ||
| 32 | cpp_quote(" _COM_Outptr_opt_ void** ppFactory );") | ||
| 33 | cpp_quote("") | ||
| 34 | cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(") | ||
| 35 | cpp_quote(" _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,") | ||
| 36 | cpp_quote(" _Out_ ID3DBlob** ppBlob,") | ||
| 37 | cpp_quote(" _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);") | ||
| 38 | cpp_quote("") | ||
| 39 | cpp_quote("HRESULT WINAPI D3D12CompilerSerializeVersionedRootSignature(") | ||
| 40 | cpp_quote(" _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,") | ||
| 41 | cpp_quote(" _Out_ ID3DBlob** ppBlob,") | ||
| 42 | cpp_quote(" _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);") | ||
| 43 | cpp_quote("") | ||
| 44 | |||
| 45 | [uuid(e0d06420-9f31-47e8-ae9a-dd2ba25ac0bc), object, local, pointer_default(unique)] | ||
| 46 | interface ID3D12CompilerFactoryChild | ||
| 47 | : IUnknown | ||
| 48 | { | ||
| 49 | HRESULT GetFactory( | ||
| 50 | [annotation("_In_")] REFIID riid, // ID3D12CompilerFactory | ||
| 51 | [annotation("_COM_Outptr_")] void** ppCompilerFactory | ||
| 52 | ); | ||
| 53 | }; | ||
| 54 | |||
| 55 | typedef 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 | |||
| 64 | typedef 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; | ||
| 74 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPILER_VALUE_TYPE_FLAGS )") | ||
| 75 | |||
| 76 | typedef struct D3D12_COMPILER_DATABASE_PATH | ||
| 77 | { | ||
| 78 | D3D12_COMPILER_VALUE_TYPE_FLAGS Types; | ||
| 79 | LPCWSTR pPath; | ||
| 80 | } D3D12_COMPILER_DATABASE_PATH; | ||
| 81 | |||
| 82 | typedef 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 | |||
| 88 | typedef 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 | |||
| 94 | typedef struct D3D12_COMPILER_CACHE_VALUE | ||
| 95 | { | ||
| 96 | [annotation("_Field_size_bytes_full_(ValueSize)")] void* pValue; | ||
| 97 | UINT ValueSize; | ||
| 98 | } D3D12_COMPILER_CACHE_VALUE; | ||
| 99 | |||
| 100 | typedef 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 | |||
| 106 | typedef 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 | |||
| 112 | typedef 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 | |||
| 118 | typedef struct D3D12_COMPILER_TARGET | ||
| 119 | { | ||
| 120 | UINT AdapterFamilyIndex; | ||
| 121 | UINT64 ABIVersion; | ||
| 122 | } D3D12_COMPILER_TARGET; | ||
| 123 | |||
| 124 | typedef void* (__stdcall* D3D12CompilerCacheSessionAllocationFunc) ( | ||
| 125 | SIZE_T SizeInBytes, | ||
| 126 | [annotation("_Inout_opt_")] void* pContext | ||
| 127 | ); | ||
| 128 | |||
| 129 | typedef void(__stdcall* D3D12CompilerCacheSessionGroupValueKeysFunc) ( | ||
| 130 | [annotation("_In_")] const D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey, | ||
| 131 | [annotation("_Inout_opt_")] void* pContext | ||
| 132 | ); | ||
| 133 | |||
| 134 | typedef 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)] | ||
| 141 | interface 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)] | ||
| 193 | interface ID3D12CompilerStateObject | ||
| 194 | : IUnknown | ||
| 195 | { | ||
| 196 | HRESULT GetCompiler( | ||
| 197 | [annotation("_In_")] REFIID riid, // ID3D12Compiler | ||
| 198 | [annotation("_COM_Outptr_")] void** ppCompiler | ||
| 199 | ); | ||
| 200 | }; | ||
| 201 | |||
| 202 | typedef 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)] | ||
| 210 | interface 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)] | ||
| 243 | interface 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 | |||
| 284 | cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */") | ||
| 285 | #pragma endregion | ||
| 286 | |||
| 287 | cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerFactoryChild,0xe0d06420,0x9f31,0x47e8,0xae,0x9a,0xdd,0x2b,0xa2,0x5a,0xc0,0xbc);" ) | ||
| 288 | cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerCacheSession,0x5704e5e6,0x054b,0x4738,0xb6,0x61,0x7b,0x0d,0x68,0xd8,0xdd,0xe2);" ) | ||
| 289 | cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerStateObject,0x5981cca4,0xe8ae,0x44ca,0x9b,0x92,0x4f,0xa8,0x6f,0x5a,0x3a,0x3a);" ) | ||
| 290 | cpp_quote( "DEFINE_GUID(IID_ID3D12Compiler,0x8c403c12,0x993b,0x4583,0x80,0xf1,0x68,0x24,0x13,0x8f,0xa6,0x8e);" ) | ||
| 291 | cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerFactory,0xc1ee4b59,0x3f59,0x47a5,0x9b,0x4e,0xa8,0x55,0xc8,0x58,0xa8,0x78);" ) | ||
