From: Jason Ekstrand Date: Mon, 16 May 2016 18:02:57 +0000 (-0700) Subject: anv/formats: Add support for VK_FORMAT_B4G4R4A4_UNORM pre-gen8 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b6c4d46a580df5e1c9c21adae70fc0879190d53a;p=mesa.git anv/formats: Add support for VK_FORMAT_B4G4R4A4_UNORM pre-gen8 --- diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c index bd8d11fb2b2..b52c7ca20f4 100644 --- a/src/intel/vulkan/anv_formats.c +++ b/src/intel/vulkan/anv_formats.c @@ -287,6 +287,16 @@ anv_get_format(const struct brw_device_info *devinfo, VkFormat vk_format, } } + /* The B4G4R4A4 format isn't available prior to Sky Lake so we have to fall + * back to a format with a more complex swizzle. + */ + if (vk_format == VK_FORMAT_B4G4R4A4_UNORM_PACK16 && devinfo->gen < 9) { + return (struct anv_format) { + .isl_format = ISL_FORMAT_B4G4R4A4_UNORM, + .swizzle = ISL_SWIZZLE(GREEN, RED, ALPHA, BLUE), + }; + } + return format; }