diff --git a/dlls/vulkan-1/vulkan.c b/dlls/vulkan-1/vulkan.c index 6f7ab43c4f1..82fd868baf5 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 edaaadb5cdd..7465395603d 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 886b345a151..c507e37abc0 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 30ab62547f7..ce13b1a9b29 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 17a2d2fe75e..31f78dcb3ae 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 28563f8c8a9..148908b5117 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 1ab270161e4..490af538b40 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 */