vulkan: Add new cast macros for VkIcd types
We can't import the latest vk_icd.h because the new header breaks the Mesa build. This patch defines new casting macros, ICD_DEFINE_NONDISP_HANDLE_CASTS() and ICD_FROM_HANDLE(), which can handle both the old and new vk_icd.h, and will prevent the build from breaking when we update the header. In the old vk_icd.h, types were defined as: typedef struct _VkIcdFoo { ... } VkIcdFoo; Commit 6ebba1f6 in the Vulkan loader changed the above to typedef { ... } VkIcdFoo; because the old definitions violated the C and C++ specs. According to the specs, identifiers that begins with an underscore followed by an uppercase letter are reserved. (It's pedantic, I know), See the Github issue referenced below. References: https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/7 References: https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/commit/6ebba1f630015af7a78767a15c1e74ba9b23601c Reviewed-by:Emil Velikov <emil.velikov@collabora.com> Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit c085bfce)
- src/amd/vulkan/radv_wsi.c 6 additions, 6 deletionssrc/amd/vulkan/radv_wsi.c
- src/intel/vulkan/anv_wsi.c 6 additions, 6 deletionssrc/intel/vulkan/anv_wsi.c
- src/vulkan/wsi/wsi_common.h 19 additions, 1 deletionsrc/vulkan/wsi/wsi_common.h
- src/vulkan/wsi/wsi_common_wayland.c 1 addition, 1 deletionsrc/vulkan/wsi/wsi_common_wayland.c
- src/vulkan/wsi/wsi_common_x11.c 2 additions, 2 deletionssrc/vulkan/wsi/wsi_common_x11.c