From bc88c17a36370bb191bba740a7e50af7a601d04e Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Thu, 3 May 2018 03:20:41 +0200 Subject: [PATCH] vrclient: Add DXVK interop header --- vrclient_x64/dxvk-interop.h | 283 ++++++++++++++++++++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 vrclient_x64/dxvk-interop.h diff --git a/vrclient_x64/dxvk-interop.h b/vrclient_x64/dxvk-interop.h new file mode 100644 index 00000000..2e5d39d2 --- /dev/null +++ b/vrclient_x64/dxvk-interop.h @@ -0,0 +1,283 @@ +/*** Autogenerated by WIDL 3.5 from /home/yorha-2b/Valve/Proton/wine/include/wine/dxvk-interop.idl - Do not edit ***/ + +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include +#include + +#ifndef COM_NO_WINDOWS_H +#include +#include +#endif + +#ifndef __dxvk_interop_h__ +#define __dxvk_interop_h__ + +/* Forward declarations */ + +#ifndef __IDXGIVkInteropSurface_FWD_DEFINED__ +#define __IDXGIVkInteropSurface_FWD_DEFINED__ +typedef interface IDXGIVkInteropSurface IDXGIVkInteropSurface; +#ifdef __cplusplus +interface IDXGIVkInteropSurface; +#endif /* __cplusplus */ +#endif + +#ifndef __IDXGIVkInteropDevice_FWD_DEFINED__ +#define __IDXGIVkInteropDevice_FWD_DEFINED__ +typedef interface IDXGIVkInteropDevice IDXGIVkInteropDevice; +#ifdef __cplusplus +interface IDXGIVkInteropDevice; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************************************************************** + * IDXGIVkInteropSurface interface + */ +#ifndef __IDXGIVkInteropSurface_INTERFACE_DEFINED__ +#define __IDXGIVkInteropSurface_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDXGIVkInteropSurface, 0x5546cf8c, 0x77e7, 0x4341, 0xb0,0x5d, 0x8d,0x4d,0x50,0x00,0xe7,0x7d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5546cf8c-77e7-4341-b05d-8d4d5000e77d") +IDXGIVkInteropSurface : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetDevice( + IDXGIVkInteropDevice** ppDevice) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVulkanImageInfo( + VkImage *pHandle, + VkImageLayout *pLayout, + VkImageCreateInfo *pInfo) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDXGIVkInteropSurface, 0x5546cf8c, 0x77e7, 0x4341, 0xb0,0x5d, 0x8d,0x4d,0x50,0x00,0xe7,0x7d) +#endif +#else +typedef struct IDXGIVkInteropSurfaceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDXGIVkInteropSurface *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDXGIVkInteropSurface *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDXGIVkInteropSurface *This); + + /*** IDXGIVkInteropSurface methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + IDXGIVkInteropSurface *This, + IDXGIVkInteropDevice **ppDevice); + + HRESULT (STDMETHODCALLTYPE *GetVulkanImageInfo)( + IDXGIVkInteropSurface *This, + VkImage *pHandle, + VkImageLayout *pLayout, + VkImageCreateInfo *pInfo); + + END_INTERFACE +} IDXGIVkInteropSurfaceVtbl; + +interface IDXGIVkInteropSurface { + CONST_VTBL IDXGIVkInteropSurfaceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDXGIVkInteropSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDXGIVkInteropSurface_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDXGIVkInteropSurface_Release(This) (This)->lpVtbl->Release(This) +/*** IDXGIVkInteropSurface methods ***/ +#define IDXGIVkInteropSurface_GetVulkanImageInfo(This,pHandle,pLayout,pInfo) (This)->lpVtbl->GetVulkanImageInfo(This,pHandle,pLayout,pInfo) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT IDXGIVkInteropSurface_QueryInterface(IDXGIVkInteropSurface* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG IDXGIVkInteropSurface_AddRef(IDXGIVkInteropSurface* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG IDXGIVkInteropSurface_Release(IDXGIVkInteropSurface* This) { + return This->lpVtbl->Release(This); +} +/*** IDXGIVkInteropSurface methods ***/ +static FORCEINLINE HRESULT IDXGIVkInteropSurface_GetVulkanImageInfo(IDXGIVkInteropSurface* This,VkImage *pHandle,VkImageLayout *pLayout,VkImageCreateInfo *pInfo) { + return This->lpVtbl->GetVulkanImageInfo(This,pHandle,pLayout,pInfo); +} +#endif +#endif + +#endif + + +#endif /* __IDXGIVkInteropSurface_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDXGIVkInteropDevice interface + */ +#ifndef __IDXGIVkInteropDevice_INTERFACE_DEFINED__ +#define __IDXGIVkInteropDevice_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDXGIVkInteropDevice, 0xe2ef5fa5, 0xdc21, 0x4af7, 0x90,0xc4, 0xf6,0x7e,0xf6,0xa0,0x93,0x23); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e2ef5fa5-dc21-4af7-90c4-f67ef6a09323") +IDXGIVkInteropDevice : public IUnknown +{ + virtual void STDMETHODCALLTYPE GetVulkanHandles( + VkInstance *pInstance, + VkPhysicalDevice *pPhysDev, + VkDevice *pDevice) = 0; + + virtual void STDMETHODCALLTYPE GetSubmissionQueue( + VkQueue *pQueue, + uint32_t *pQueueFamilyIndex) = 0; + + virtual void STDMETHODCALLTYPE TransitionSurfaceLayout( + IDXGIVkInteropSurface *pSurface, + const VkImageSubresourceRange *pSubresources, + VkImageLayout OldLayout, + VkImageLayout NewLayout) = 0; + + virtual void STDMETHODCALLTYPE FlushRenderingCommands( + ) = 0; + + virtual void STDMETHODCALLTYPE LockSubmissionQueue( + ) = 0; + + virtual void STDMETHODCALLTYPE ReleaseSubmissionQueue( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDXGIVkInteropDevice, 0xe2ef5fa5, 0xdc21, 0x4af7, 0x90,0xc4, 0xf6,0x7e,0xf6,0xa0,0x93,0x23) +#endif +#else +typedef struct IDXGIVkInteropDeviceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDXGIVkInteropDevice *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDXGIVkInteropDevice *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDXGIVkInteropDevice *This); + + /*** IDXGIVkInteropDevice methods ***/ + void (STDMETHODCALLTYPE *GetVulkanHandles)( + IDXGIVkInteropDevice *This, + VkInstance *pInstance, + VkPhysicalDevice *pPhysDev, + VkDevice *pDevice); + + void (STDMETHODCALLTYPE *GetSubmissionQueue)( + IDXGIVkInteropDevice *This, + VkQueue *pQueue, + uint32_t *pQueueFamilyIndex); + + void (STDMETHODCALLTYPE *TransitionSurfaceLayout)( + IDXGIVkInteropDevice *This, + IDXGIVkInteropSurface *pSurface, + const VkImageSubresourceRange *pSubresources, + VkImageLayout OldLayout, + VkImageLayout NewLayout); + + void (STDMETHODCALLTYPE *FlushRenderingCommands)( + IDXGIVkInteropDevice *This); + + void (STDMETHODCALLTYPE *LockSubmissionQueue)( + IDXGIVkInteropDevice *This); + + void (STDMETHODCALLTYPE *ReleaseSubmissionQueue)( + IDXGIVkInteropDevice *This); + + END_INTERFACE +} IDXGIVkInteropDeviceVtbl; + +interface IDXGIVkInteropDevice { + CONST_VTBL IDXGIVkInteropDeviceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDXGIVkInteropDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDXGIVkInteropDevice_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDXGIVkInteropDevice_Release(This) (This)->lpVtbl->Release(This) +/*** IDXGIVkInteropDevice methods ***/ +#define IDXGIVkInteropDevice_GetVulkanHandles(This,pInstance,pPhysDev,pDevice) (This)->lpVtbl->GetVulkanHandles(This,pInstance,pPhysDev,pDevice) +#define IDXGIVkInteropDevice_GetSubmissionQueue(This,pQueue,pQueueFamilyIndex) (This)->lpVtbl->GetSubmissionQueue(This,pQueue,pQueueFamilyIndex) +#define IDXGIVkInteropDevice_TransitionSurfaceLayout(This,pSurface,pSubresources,OldLayout,NewLayout) (This)->lpVtbl->TransitionSurfaceLayout(This,pSurface,pSubresources,OldLayout,NewLayout) +#define IDXGIVkInteropDevice_FlushRenderingCommands(This) (This)->lpVtbl->FlushRenderingCommands(This) +#define IDXGIVkInteropDevice_LockSubmissionQueue(This) (This)->lpVtbl->LockSubmissionQueue(This) +#define IDXGIVkInteropDevice_ReleaseSubmissionQueue(This) (This)->lpVtbl->ReleaseSubmissionQueue(This) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT IDXGIVkInteropDevice_QueryInterface(IDXGIVkInteropDevice* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG IDXGIVkInteropDevice_AddRef(IDXGIVkInteropDevice* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG IDXGIVkInteropDevice_Release(IDXGIVkInteropDevice* This) { + return This->lpVtbl->Release(This); +} +/*** IDXGIVkInteropDevice methods ***/ +static FORCEINLINE void IDXGIVkInteropDevice_GetVulkanHandles(IDXGIVkInteropDevice* This,VkInstance *pInstance,VkPhysicalDevice *pPhysDev,VkDevice *pDevice) { + This->lpVtbl->GetVulkanHandles(This,pInstance,pPhysDev,pDevice); +} +static FORCEINLINE void IDXGIVkInteropDevice_GetSubmissionQueue(IDXGIVkInteropDevice* This,VkQueue *pQueue,uint32_t *pQueueFamilyIndex) { + This->lpVtbl->GetSubmissionQueue(This,pQueue,pQueueFamilyIndex); +} +static FORCEINLINE void IDXGIVkInteropDevice_TransitionSurfaceLayout(IDXGIVkInteropDevice* This,IDXGIVkInteropSurface *pSurface,const VkImageSubresourceRange *pSubresources,VkImageLayout OldLayout,VkImageLayout NewLayout) { + This->lpVtbl->TransitionSurfaceLayout(This,pSurface,pSubresources,OldLayout,NewLayout); +} +static FORCEINLINE void IDXGIVkInteropDevice_FlushRenderingCommands(IDXGIVkInteropDevice* This) { + This->lpVtbl->FlushRenderingCommands(This); +} +static FORCEINLINE void IDXGIVkInteropDevice_LockSubmissionQueue(IDXGIVkInteropDevice* This) { + This->lpVtbl->LockSubmissionQueue(This); +} +static FORCEINLINE void IDXGIVkInteropDevice_ReleaseSubmissionQueue(IDXGIVkInteropDevice* This) { + This->lpVtbl->ReleaseSubmissionQueue(This); +} +#endif +#endif + +#endif + + +#endif /* __IDXGIVkInteropDevice_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __dxvk_interop_h__ */