[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