anv/formats: Fix build on gcc-4 and earlier
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 30 Sep 2016 20:00:22 +0000 (23:00 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 3 Oct 2016 12:45:28 +0000 (15:45 +0300)
commit2fef0d108aa52e5e7e7c2b394d18131952a829a6
treef46a27cc5f76d768c72e5a2b6897c08f6a6e8f5e
parent4d6d55deef291b489af4d7870c6f5eb223c8da5d
anv/formats: Fix build on gcc-4 and earlier

gcc-4 and earlier don't allow compound literals where a constant
is required in -std=c99/gnu99 mode, so we can't use ISL_SWIZZLE()
when populating the anv_formats[] array. There are a few ways around
it: First one would be -std=c89/gnu89, but the rest of the code
depends on c99 so it's not really an option. The second option
would be to upgrade to gcc-5+ where the compiler behaviour was relaxed
a bit [1]. And the third option is just to avoid using compound
literals. I chose the last option since it keeps gcc-4 and earlier
working.

[1] https://gcc.gnu.org/gcc-5/porting_to.html

Cc: Jason Ekstrand <jason@jlekstrand.net>
Cc: Topi Pohjolainen <topi.pohjolainen@intel.com>
Fixes: 7ddb21708c80 ("intel/isl: Add an isl_swizzle structure and use it for isl_view swizzles")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/vulkan/anv_formats.c