[PATCH] winevulkan: Introduce WINE_VK_HOST to explicitly request 'host' Vulkan headers.
Józef Kucia
jkucia at codeweavers.com
Fri Jun 1 06:10:22 CDT 2018
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
dlls/d3d12/d3d12_main.c | 2 +-
dlls/dxgi/swapchain.c | 3 +--
dlls/winevulkan/make_vulkan | 7 ++++++-
dlls/winex11.drv/vulkan.c | 3 +--
include/wine/vulkan.h | 7 ++++++-
5 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/dlls/d3d12/d3d12_main.c b/dlls/d3d12/d3d12_main.c
index 91525b49a790..be0bd7acdf74 100644
--- a/dlls/d3d12/d3d12_main.c
+++ b/dlls/d3d12/d3d12_main.c
@@ -23,7 +23,7 @@
#define VK_NO_PROTOTYPES
#define VKD3D_NO_VULKAN_H
#define VKD3D_NO_WIN32_TYPES
-#define WINE_VK_ALIGN(x)
+#define WINE_VK_HOST
#include "wine/debug.h"
#include "wine/heap.h"
diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c
index 57862ac689b2..080541c90462 100644
--- a/dlls/dxgi/swapchain.c
+++ b/dlls/dxgi/swapchain.c
@@ -24,11 +24,10 @@
#ifdef SONAME_LIBVKD3D
#define VK_NO_PROTOTYPES
-#define VKAPI_CALL
#define VKD3D_NO_PROTOTYPES
#define VKD3D_NO_VULKAN_H
#define VKD3D_NO_WIN32_TYPES
-#define WINE_VK_ALIGN(x)
+#define WINE_VK_HOST
#include "wine/library.h"
#include "wine/vulkan.h"
#include "wine/vulkan_driver.h"
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index f0583b400385..2265ddc80b7d 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -2009,6 +2009,12 @@ class VkGenerator(object):
f.write("#include <windef.h>\n")
f.write("#include <stdint.h>\n\n")
+ f.write("/* Define WINE_VK_HOST to get 'host' headers. */\n")
+ f.write("#ifdef WINE_VK_HOST\n")
+ f.write("#define VKAPI_CALL\n")
+ f.write('#define WINE_VK_ALIGN(x)\n')
+ f.write("#endif\n\n")
+
f.write("#ifndef VKAPI_CALL\n")
f.write("#define VKAPI_CALL __stdcall\n")
f.write("#endif\n\n")
@@ -2017,7 +2023,6 @@ class VkGenerator(object):
f.write("#define VKAPI_PTR VKAPI_CALL\n")
f.write("#endif\n\n")
- f.write("/* Callers can override WINE_VK_ALIGN if they want 'host' headers. */\n")
f.write("#ifndef WINE_VK_ALIGN\n")
f.write("#define WINE_VK_ALIGN DECLSPEC_ALIGN\n")
f.write("#endif\n\n")
diff --git a/dlls/winex11.drv/vulkan.c b/dlls/winex11.drv/vulkan.c
index a72be33be341..7e252326b5ac 100644
--- a/dlls/winex11.drv/vulkan.c
+++ b/dlls/winex11.drv/vulkan.c
@@ -31,9 +31,8 @@
#include "wine/library.h"
#include "x11drv.h"
-/* We only want host compatible structures and don't need alignment. */
-#define WINE_VK_ALIGN(x)
#define VK_NO_PROTOTYPES
+#define WINE_VK_HOST
#include "wine/vulkan.h"
#include "wine/vulkan_driver.h"
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index 7c938cd88fb2..d44687fabf7b 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -6,6 +6,12 @@
#include <windef.h>
#include <stdint.h>
+/* Define WINE_VK_HOST to get 'host' headers. */
+#ifdef WINE_VK_HOST
+#define VKAPI_CALL
+#define WINE_VK_ALIGN(x)
+#endif
+
#ifndef VKAPI_CALL
#define VKAPI_CALL __stdcall
#endif
@@ -14,7 +20,6 @@
#define VKAPI_PTR VKAPI_CALL
#endif
-/* Callers can override WINE_VK_ALIGN if they want 'host' headers. */
#ifndef WINE_VK_ALIGN
#define WINE_VK_ALIGN DECLSPEC_ALIGN
#endif
--
2.16.4
More information about the wine-devel
mailing list