[Mesa-dev] [PATCH 2/2] i965/formats: Update the RGB_DXT1 mappings

Tapani Pälli tapani.palli at intel.com
Fri May 12 06:07:19 UTC 2017


Yep, this fixes the issue, also other DXT tests what I have are passing 
fine.

Acked-by: Tapani Pälli <tapani.palli at intel.com>

On 05/12/2017 02:46 AM, Nanley Chery wrote:
> The DXT1_RGB* format does not provide the correct behavior for OpenGL in
> the case where color_0 <= color_1. BC1_RGB_UNORM with a alpha set to 1
> provides the behavior which matches the spec.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100925
> Cc: <mesa-stable at lists.freedesktop.org>
> Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
> ---
>   src/mesa/drivers/dri/i965/brw_surface_formats.c | 15 ++-------------
>   1 file changed, 2 insertions(+), 13 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_surface_formats.c b/src/mesa/drivers/dri/i965/brw_surface_formats.c
> index 7b17e11125..b176a21c22 100644
> --- a/src/mesa/drivers/dri/i965/brw_surface_formats.c
> +++ b/src/mesa/drivers/dri/i965/brw_surface_formats.c
> @@ -94,14 +94,14 @@ brw_isl_format_for_mesa_format(mesa_format mesa_format)
>         [MESA_FORMAT_L_SRGB8] = ISL_FORMAT_L8_UNORM_SRGB,
>         [MESA_FORMAT_L8A8_SRGB] = ISL_FORMAT_L8A8_UNORM_SRGB,
>         [MESA_FORMAT_A8L8_SRGB] = 0,
> -      [MESA_FORMAT_SRGB_DXT1] = ISL_FORMAT_DXT1_RGB_SRGB,
> +      [MESA_FORMAT_SRGB_DXT1] = ISL_FORMAT_BC1_UNORM_SRGB,
>         [MESA_FORMAT_SRGBA_DXT1] = ISL_FORMAT_BC1_UNORM_SRGB,
>         [MESA_FORMAT_SRGBA_DXT3] = ISL_FORMAT_BC2_UNORM_SRGB,
>         [MESA_FORMAT_SRGBA_DXT5] = ISL_FORMAT_BC3_UNORM_SRGB,
>   
>         [MESA_FORMAT_RGB_FXT1] = ISL_FORMAT_FXT1,
>         [MESA_FORMAT_RGBA_FXT1] = ISL_FORMAT_FXT1,
> -      [MESA_FORMAT_RGB_DXT1] = ISL_FORMAT_DXT1_RGB,
> +      [MESA_FORMAT_RGB_DXT1] = ISL_FORMAT_BC1_UNORM,
>         [MESA_FORMAT_RGBA_DXT1] = ISL_FORMAT_BC1_UNORM,
>         [MESA_FORMAT_RGBA_DXT3] = ISL_FORMAT_BC2_UNORM,
>         [MESA_FORMAT_RGBA_DXT5] = ISL_FORMAT_BC3_UNORM,
> @@ -541,17 +541,6 @@ translate_tex_format(struct brw_context *brw,
>          */
>         return ISL_FORMAT_R32G32B32A32_FLOAT;
>   
> -   case MESA_FORMAT_SRGB_DXT1:
> -      if (brw->gen == 4 && !brw->is_g4x) {
> -         /* Work around missing SRGB DXT1 support on original gen4 by just
> -          * skipping SRGB decode.  It's not worth not supporting sRGB in
> -          * general to prevent this.
> -          */
> -         WARN_ONCE(true, "Demoting sRGB DXT1 texture to non-sRGB\n");
> -         mesa_format = MESA_FORMAT_RGB_DXT1;
> -      }
> -      return brw_isl_format_for_mesa_format(mesa_format);
> -
>      case MESA_FORMAT_RGBA_ASTC_4x4:
>      case MESA_FORMAT_RGBA_ASTC_5x4:
>      case MESA_FORMAT_RGBA_ASTC_5x5:
> 


More information about the mesa-dev mailing list