From: Jason Ekstrand Date: Mon, 7 May 2018 21:47:06 +0000 (-0700) Subject: intel/isl/storage: Don't lower most UNORM formats on gen11+ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b784561c1a0c518f2e7bfe8fcb7b9b900d427bcb;p=mesa.git intel/isl/storage: Don't lower most UNORM formats on gen11+ Reviewed-by: Anuj Phogat Tested-by: Anuj Phogat --- diff --git a/src/intel/isl/isl_storage_image.c b/src/intel/isl/isl_storage_image.c index 20f6fd5faf6..ed1c6008aeb 100644 --- a/src/intel/isl/isl_storage_image.c +++ b/src/intel/isl/isl_storage_image.c @@ -161,32 +161,36 @@ isl_lower_storage_image_format(const struct gen_device_info *devinfo, /* No normalized fixed-point formats are supported by the hardware. */ case ISL_FORMAT_R16G16B16A16_UNORM: case ISL_FORMAT_R16G16B16A16_SNORM: - return (devinfo->gen >= 8 || devinfo->is_haswell ? + return (devinfo->gen >= 11 ? format : + devinfo->gen >= 8 || devinfo->is_haswell ? ISL_FORMAT_R16G16B16A16_UINT : ISL_FORMAT_R32G32_UINT); case ISL_FORMAT_R8G8B8A8_UNORM: case ISL_FORMAT_R8G8B8A8_SNORM: - return (devinfo->gen >= 8 || devinfo->is_haswell ? + return (devinfo->gen >= 11 ? format : + devinfo->gen >= 8 || devinfo->is_haswell ? ISL_FORMAT_R8G8B8A8_UINT : ISL_FORMAT_R32_UINT); case ISL_FORMAT_R16G16_UNORM: case ISL_FORMAT_R16G16_SNORM: - return (devinfo->gen >= 8 || devinfo->is_haswell ? + return (devinfo->gen >= 11 ? format : + devinfo->gen >= 8 || devinfo->is_haswell ? ISL_FORMAT_R16G16_UINT : ISL_FORMAT_R32_UINT); case ISL_FORMAT_R8G8_UNORM: case ISL_FORMAT_R8G8_SNORM: - return (devinfo->gen >= 8 || devinfo->is_haswell ? + return (devinfo->gen >= 11 ? format : + devinfo->gen >= 8 || devinfo->is_haswell ? ISL_FORMAT_R8G8_UINT : ISL_FORMAT_R16_UINT); case ISL_FORMAT_R16_UNORM: case ISL_FORMAT_R16_SNORM: - return ISL_FORMAT_R16_UINT; + return (devinfo->gen >= 11 ? format : ISL_FORMAT_R16_UINT); case ISL_FORMAT_R8_UNORM: case ISL_FORMAT_R8_SNORM: - return ISL_FORMAT_R8_UINT; + return (devinfo->gen >= 11 ? format : ISL_FORMAT_R8_UINT); default: assert(!"Unknown image format");