From b784561c1a0c518f2e7bfe8fcb7b9b900d427bcb Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 7 May 2018 14:47:06 -0700 Subject: [PATCH] intel/isl/storage: Don't lower most UNORM formats on gen11+ Reviewed-by: Anuj Phogat Tested-by: Anuj Phogat --- src/intel/isl/isl_storage_image.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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"); -- 2.30.2