From e1161d2ea7b47fc8d13114216ed02ac00b6caeba Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Wed, 13 Mar 2019 00:07:02 +0100 Subject: [PATCH] turnip: Fix GCC compiles. Apparently GCC does not consider static const variables to be integer constants, and hence the array size and the static assert result in compile failures. Fixes: 4b9f967cd1a "turnip: add a more complete format table" Reviewed-by: Eric Engestrom Reviewed-by: Kristian H. Kristensen --- src/freedreno/vulkan/tu_formats.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/freedreno/vulkan/tu_formats.c b/src/freedreno/vulkan/tu_formats.c index 8df568b476c..537b59d25e1 100644 --- a/src/freedreno/vulkan/tu_formats.c +++ b/src/freedreno/vulkan/tu_formats.c @@ -45,9 +45,7 @@ #define TU_FORMAT_TABLE(var) \ static const VkFormat var##_first = TU_FORMAT_TABLE_FIRST; \ static const VkFormat var##_last = TU_FORMAT_TABLE_LAST; \ - static const size_t var##_count = \ - TU_FORMAT_TABLE_LAST - TU_FORMAT_TABLE_FIRST + 1; \ - static const struct tu_native_format var[var##_count] + static const struct tu_native_format var[TU_FORMAT_TABLE_LAST - TU_FORMAT_TABLE_FIRST + 1] #undef TU_FORMAT_TABLE_FIRST #undef TU_FORMAT_TABLE_LAST @@ -321,9 +319,8 @@ tu6_get_native_format(VkFormat format) { const struct tu_native_format *fmt = NULL; - static_assert(tu6_format_table0_first == 0, ""); - if (format <= tu6_format_table0_last) - fmt = &tu6_format_table0[format]; + if (format >= tu6_format_table0_first && format <= tu6_format_table0_last) + fmt = &tu6_format_table0[format - tu6_format_table0_first]; return (fmt && fmt->present) ? fmt : NULL; } -- 2.30.2