From: Axel Davy Date: Sat, 16 May 2015 20:41:26 +0000 (+0200) Subject: st/nine: Fix Swizzle for ATI2 format X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=74de849bd44ee4a99d36d4d0c43d2a82a6ec07c2;p=mesa.git st/nine: Fix Swizzle for ATI2 format We had red and green in the wrong channels for the ATI2 format (RGTC2). Found thanks to wine tests. Signed-off-by: Axel Davy Reviewed-by: David Heidelberg --- diff --git a/src/gallium/state_trackers/nine/basetexture9.c b/src/gallium/state_trackers/nine/basetexture9.c index 17a8f448ee6..eabf32bd68a 100644 --- a/src/gallium/state_trackers/nine/basetexture9.c +++ b/src/gallium/state_trackers/nine/basetexture9.c @@ -530,6 +530,11 @@ NineBaseTexture9_UpdateSamplerView( struct NineBaseTexture9 *This, swizzle[2] = PIPE_SWIZZLE_RED; swizzle[3] = PIPE_SWIZZLE_RED; } + } else if (resource->format == PIPE_FORMAT_RGTC2_UNORM) { + swizzle[0] = PIPE_SWIZZLE_GREEN; + swizzle[1] = PIPE_SWIZZLE_RED; + swizzle[2] = PIPE_SWIZZLE_ONE; + swizzle[3] = PIPE_SWIZZLE_ONE; } else if (resource->format != PIPE_FORMAT_A8_UNORM && resource->format != PIPE_FORMAT_RGTC1_UNORM) { /* exceptions: