From 5d13a90e37b8459bf04b2d9f346dffe49f781f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Mon, 18 Sep 2023 00:18:00 +0300 Subject: [PATCH] include: Add DirectX 12 Agility SDK definitions. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This ports parts of commit 83625459c8227b0bd7b86c18946a35d3a806c80d from wine.git into vkd3d. Signed-off-by: Martin Storsjö --- include/vkd3d_d3d12.idl | 20 ++++++++++++++++++++ include/vkd3d_unknown.idl | 2 ++ include/vkd3d_windows.h | 3 +++ 3 files changed, 25 insertions(+) diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index 46eba4d0..7a043d81 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -4983,6 +4983,22 @@ interface ID3D12Tools : IUnknown BOOL ShaderInstrumentationEnabled(); } +cpp_quote("DEFINE_GUID(CLSID_D3D12Debug, 0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f);") +cpp_quote("DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8);") +cpp_quote("DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2);") +cpp_quote("DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce);") + +[ + uuid(e9eb5314-33aa-42b2-a718-d77f58b1f1c7), + object, + local, + pointer_default(unique) +] +interface ID3D12SDKConfiguration : IUnknown +{ + HRESULT SetSDKVersion(UINT version, const char *path); +} + typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)( const void *data, SIZE_T data_size, REFIID iid, void **deserializer); @@ -5022,3 +5038,7 @@ typedef HRESULT (__stdcall *PFN_D3D12_GET_DEBUG_INTERFACE)(REFIID iid, void **de [local] HRESULT __stdcall D3D12EnableExperimentalFeatures(UINT feature_count, const IID *iids, void *configurations, UINT *configurations_sizes); + +typedef HRESULT (__stdcall *PFN_D3D12_GET_INTERFACE)(REFCLSID clsid, REFIID iid, void **debug); + +[local] HRESULT __stdcall D3D12GetInterface(REFCLSID clsid, REFIID iid, void **debug); diff --git a/include/vkd3d_unknown.idl b/include/vkd3d_unknown.idl index 9a7198c8..3353e6f8 100644 --- a/include/vkd3d_unknown.idl +++ b/include/vkd3d_unknown.idl @@ -23,6 +23,8 @@ cpp_quote("#define __VKD3D_UNKNOWN_H") cpp_quote("#if 0") typedef IID *REFIID; typedef IID *REFGUID; +typedef GUID CLSID,*LPCLSID; +typedef CLSID *REFCLSID; cpp_quote("#endif") cpp_quote("#if !defined(_WIN32)") diff --git a/include/vkd3d_windows.h b/include/vkd3d_windows.h index 2daa74e9..d53fd00b 100644 --- a/include/vkd3d_windows.h +++ b/include/vkd3d_windows.h @@ -125,6 +125,7 @@ typedef struct _GUID # endif typedef GUID IID; +typedef GUID CLSID; # ifdef INITGUID # ifndef __cplusplus @@ -223,9 +224,11 @@ typedef struct SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES; # if defined(__cplusplus) && !defined(CINTERFACE) # define REFIID const IID & # define REFGUID const GUID & +# define REFCLSID const CLSID & # else # define REFIID const IID * const # define REFGUID const GUID * const +# define REFCLSID const CLSID * const # endif #if defined(__cplusplus) && !defined(CINTERFACE)