From: Dave Airlie <[email protected]> The copr repo from che was using LTO and he reported radv broke recently with it. When testing with lto builds here I noticed that we weren't seeing any instance extensions reported.
It appears LTO was treating the const without extern as an empty struct, this is possibly a gcc bug, but we can work around it just by marking these with extern. Signed-off-by: Dave Airlie <[email protected]> --- src/amd/vulkan/radv_extensions.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py index db37d617f9..ae9396c43a 100644 --- a/src/amd/vulkan/radv_extensions.py +++ b/src/amd/vulkan/radv_extensions.py @@ -199,9 +199,9 @@ struct radv_device_extension_table { }; }; -const VkExtensionProperties radv_instance_extensions[RADV_INSTANCE_EXTENSION_COUNT]; -const VkExtensionProperties radv_device_extensions[RADV_DEVICE_EXTENSION_COUNT]; -const struct radv_instance_extension_table radv_supported_instance_extensions; +extern const VkExtensionProperties radv_instance_extensions[RADV_INSTANCE_EXTENSION_COUNT]; +extern const VkExtensionProperties radv_device_extensions[RADV_DEVICE_EXTENSION_COUNT]; +extern const struct radv_instance_extension_table radv_supported_instance_extensions; struct radv_physical_device; -- 2.14.3 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
