r600g: explicity set sign bits for RGTC
authorDave Airlie <airlied@redhat.com>
Thu, 24 Feb 2011 23:13:14 +0000 (09:13 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 24 Feb 2011 23:18:42 +0000 (09:18 +1000)
src/gallium/drivers/r600/r600_texture.c

index 87143ee..3a85a25 100644 (file)
@@ -878,12 +878,14 @@ uint32_t r600_translate_texformat(enum pipe_format format,
                        goto out_unknown;
 
                switch (format) {
-               case PIPE_FORMAT_RGTC1_UNORM:
                case PIPE_FORMAT_RGTC1_SNORM:
+                       word4 |= sign_bit[0];
+               case PIPE_FORMAT_RGTC1_UNORM:
                        result = FMT_BC4;
                        goto out_word4;
-               case PIPE_FORMAT_RGTC2_UNORM:
                case PIPE_FORMAT_RGTC2_SNORM:
+                       word4 |= sign_bit[0] | sign_bit[1];
+               case PIPE_FORMAT_RGTC2_UNORM:
                        result = FMT_BC5;
                        goto out_word4;
                default: