From b54a1a6c2b54e6096733b9fbecb0b056b30cf74b Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Tue, 31 Aug 2021 11:26:01 +0200 Subject: [PATCH] vkd3d: Fix MSVC build. Signed-off-by: Hans-Kristian Arntzen --- include/private/vkd3d_common.h | 6 ++++++ libs/vkd3d/device.c | 2 +- libs/vkd3d/device_vkd3d_ext.c | 2 +- libs/vkd3d/vulkan_procs.h | 14 +++++++------- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/include/private/vkd3d_common.h b/include/private/vkd3d_common.h index 47a99b22..f0d9c8ba 100644 --- a/include/private/vkd3d_common.h +++ b/include/private/vkd3d_common.h @@ -271,4 +271,10 @@ static inline void *void_ptr_offset(void *ptr, size_t offset) return ((char*)ptr) + offset; } +#ifdef _MSC_VER +#define VKD3D_THREAD_LOCAL __declspec(thread) +#else +#define VKD3D_THREAD_LOCAL __thread +#endif + #endif /* __VKD3D_COMMON_H */ diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 2bdd08b2..93d9ee93 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -3457,7 +3457,7 @@ static void STDMETHODCALLTYPE d3d12_device_CreateShaderResourceView(d3d12_device device, unsafe_impl_from_ID3D12Resource(resource), desc); } -__thread struct D3D12_UAV_INFO *d3d12_uav_info = NULL; +VKD3D_THREAD_LOCAL struct D3D12_UAV_INFO *d3d12_uav_info = NULL; static void STDMETHODCALLTYPE d3d12_device_CreateUnorderedAccessView(d3d12_device_iface *iface, ID3D12Resource *resource, ID3D12Resource *counter_resource, diff --git a/libs/vkd3d/device_vkd3d_ext.c b/libs/vkd3d/device_vkd3d_ext.c index 401c9c1f..c55116e7 100644 --- a/libs/vkd3d/device_vkd3d_ext.c +++ b/libs/vkd3d/device_vkd3d_ext.c @@ -198,7 +198,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_vkd3d_ext_GetCudaSurfaceObject(ID3 return S_OK; } -extern __thread struct D3D12_UAV_INFO *d3d12_uav_info; +extern VKD3D_THREAD_LOCAL struct D3D12_UAV_INFO *d3d12_uav_info; static HRESULT STDMETHODCALLTYPE d3d12_device_vkd3d_ext_CaptureUAVInfo(ID3D12DeviceExt *iface, D3D12_UAV_INFO *uav_info) { diff --git a/libs/vkd3d/vulkan_procs.h b/libs/vkd3d/vulkan_procs.h index e434c3d9..dd9c79be 100644 --- a/libs/vkd3d/vulkan_procs.h +++ b/libs/vkd3d/vulkan_procs.h @@ -278,15 +278,15 @@ VK_DEVICE_EXT_PFN(vkQueuePresentKHR) VK_DEVICE_EXT_PFN(vkCmdWriteBufferMarkerAMD) /* VK_NVX_binary_import */ -VK_DEVICE_EXT_PFN(vkCreateCuModuleNVX); -VK_DEVICE_EXT_PFN(vkCreateCuFunctionNVX); -VK_DEVICE_EXT_PFN(vkDestroyCuModuleNVX); -VK_DEVICE_EXT_PFN(vkDestroyCuFunctionNVX); -VK_DEVICE_EXT_PFN(vkCmdCuLaunchKernelNVX); +VK_DEVICE_EXT_PFN(vkCreateCuModuleNVX) +VK_DEVICE_EXT_PFN(vkCreateCuFunctionNVX) +VK_DEVICE_EXT_PFN(vkDestroyCuModuleNVX) +VK_DEVICE_EXT_PFN(vkDestroyCuFunctionNVX) +VK_DEVICE_EXT_PFN(vkCmdCuLaunchKernelNVX) /* VK_NVX_image_view_handle */ -VK_DEVICE_EXT_PFN(vkGetImageViewHandleNVX); -VK_DEVICE_EXT_PFN(vkGetImageViewAddressNVX); +VK_DEVICE_EXT_PFN(vkGetImageViewHandleNVX) +VK_DEVICE_EXT_PFN(vkGetImageViewAddressNVX) #undef VK_INSTANCE_PFN #undef VK_INSTANCE_EXT_PFN