=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: winevulkan: Support VK_NO_PROTOTYPES in our Vulkan header.

Alexandre Julliard julliard at winehq.org
Tue Apr 3 15:39:07 CDT 2018


Module: wine
Branch: master
Commit: 6380d57c698d157f21e11bd6f16382a2d8effc47
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=6380d57c698d157f21e11bd6f16382a2d8effc47

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Tue Apr  3 11:13:10 2018 +0200

winevulkan: Support VK_NO_PROTOTYPES in our Vulkan header.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/vulkan-1/vulkan.c           | 1 +
 dlls/winevulkan/make_vulkan      | 7 ++-----
 dlls/winevulkan/vulkan.c         | 4 ----
 dlls/winevulkan/vulkan_private.h | 6 ++++++
 dlls/winevulkan/vulkan_thunks.c  | 4 ----
 dlls/winex11.drv/vulkan.c        | 1 +
 include/wine/vulkan.h            | 2 ++
 7 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/dlls/vulkan-1/vulkan.c b/dlls/vulkan-1/vulkan.c
index 6f7ab43..82fd868 100644
--- a/dlls/vulkan-1/vulkan.c
+++ b/dlls/vulkan-1/vulkan.c
@@ -23,6 +23,7 @@
 #include "winbase.h"
 
 #include "wine/debug.h"
+#define VK_NO_PROTOTYPES
 #include "wine/vulkan.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(vulkan);
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index edaaadb..7465395 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -1792,10 +1792,6 @@ class VkGenerator(object):
         f.write("#include \"config.h\"\n")
         f.write("#include \"wine/port.h\"\n\n")
 
-        f.write("#include \"wine/debug.h\"\n")
-        f.write("#include \"wine/heap.h\"\n")
-        f.write("#include \"wine/vulkan.h\"\n")
-        f.write("#include \"wine/vulkan_driver.h\"\n")
         f.write("#include \"vulkan_private.h\"\n\n")
 
         f.write("WINE_DEFAULT_DEBUG_CHANNEL(vulkan);\n\n")
@@ -2071,6 +2067,7 @@ class VkGenerator(object):
             LOGGER.debug("Generating struct: {0}".format(struct.name))
             f.write(struct.definition(align=True))
 
+        f.write("#ifndef VK_NO_PROTOTYPES\n")
         for func in self.registry.funcs.values():
             if not func.is_required():
                 LOGGER.debug("Skipping API definition for: {0}".format(func.name))
@@ -2078,7 +2075,7 @@ class VkGenerator(object):
 
             LOGGER.debug("Generating API definition for: {0}".format(func.name))
             f.write("{0};\n".format(func.prototype(call_conv="VKAPI_CALL")))
-        f.write("\n")
+        f.write("#endif /* VK_NO_PROTOTYPES */\n\n")
 
         f.write("#endif /* __WINE_VULKAN_H */\n")
 
diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c
index 886b345..c507e37 100644
--- a/dlls/winevulkan/vulkan.c
+++ b/dlls/winevulkan/vulkan.c
@@ -23,10 +23,6 @@
 #include "winbase.h"
 #include "winuser.h"
 
-#include "wine/debug.h"
-#include "wine/heap.h"
-#include "wine/vulkan.h"
-#include "wine/vulkan_driver.h"
 #include "vulkan_private.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(vulkan);
diff --git a/dlls/winevulkan/vulkan_private.h b/dlls/winevulkan/vulkan_private.h
index 30ab625..ce13b1a 100644
--- a/dlls/winevulkan/vulkan_private.h
+++ b/dlls/winevulkan/vulkan_private.h
@@ -25,6 +25,12 @@
 #define USE_STRUCT_CONVERSION
 #endif
 
+#include "wine/debug.h"
+#include "wine/heap.h"
+#define VK_NO_PROTOTYPES
+#include "wine/vulkan.h"
+#include "wine/vulkan_driver.h"
+
 #include "vulkan_thunks.h"
 
 /* Magic value defined by Vulkan ICD / Loader spec */
diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c
index 17a2d2f..31f78dc 100644
--- a/dlls/winevulkan/vulkan_thunks.c
+++ b/dlls/winevulkan/vulkan_thunks.c
@@ -3,10 +3,6 @@
 #include "config.h"
 #include "wine/port.h"
 
-#include "wine/debug.h"
-#include "wine/heap.h"
-#include "wine/vulkan.h"
-#include "wine/vulkan_driver.h"
 #include "vulkan_private.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(vulkan);
diff --git a/dlls/winex11.drv/vulkan.c b/dlls/winex11.drv/vulkan.c
index 28563f8..148908b 100644
--- a/dlls/winex11.drv/vulkan.c
+++ b/dlls/winex11.drv/vulkan.c
@@ -33,6 +33,7 @@
 
 /* We only want host compatible structures and don't need alignment. */
 #define WINE_VK_ALIGN(x)
+#define VK_NO_PROTOTYPES
 
 #include "wine/vulkan.h"
 #include "wine/vulkan_driver.h"
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index 1ab2701..490af53 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -2617,6 +2617,7 @@ typedef struct VkPhysicalDeviceProperties2KHR
     VkPhysicalDeviceProperties WINE_VK_ALIGN(8) properties;
 } VkPhysicalDeviceProperties2KHR;
 
+#ifndef VK_NO_PROTOTYPES
 VkResult VKAPI_CALL vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t *pImageIndex);
 VkResult VKAPI_CALL vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers);
 VkResult VKAPI_CALL vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo, VkDescriptorSet *pDescriptorSets);
@@ -2783,5 +2784,6 @@ void VKAPI_CALL vkUnmapMemory(VkDevice device, VkDeviceMemory memory);
 void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void *pData);
 void VKAPI_CALL vkUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet *pDescriptorCopies);
 VkResult VKAPI_CALL vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences, VkBool32 waitAll, uint64_t timeout);
+#endif /* VK_NO_PROTOTYPES */
 
 #endif /* __WINE_VULKAN_H */




More information about the wine-cvs mailing list