From 74de849bd44ee4a99d36d4d0c43d2a82a6ec07c2 Mon Sep 17 00:00:00 2001 From: Axel Davy Date: Sat, 16 May 2015 22:41:26 +0200 Subject: [PATCH] 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 --- src/gallium/state_trackers/nine/basetexture9.c | 5 +++++ 1 file changed, 5 insertions(+) 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: -- 2.30.2