r600g: add support for S8, X24S8 and S8X24 sampler formats.
authorDave Airlie <airlied@redhat.com>
Thu, 7 Oct 2010 03:01:37 +0000 (13:01 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 12 Oct 2010 23:30:04 +0000 (09:30 +1000)
src/gallium/drivers/r600/r600_texture.c

index db88346..496b28a 100644 (file)
@@ -498,14 +498,22 @@ uint32_t r600_translate_texformat(enum pipe_format format,
                case PIPE_FORMAT_Z16_UNORM:
                        result = V_0280A0_COLOR_16;
                        goto out_word4;
+               case PIPE_FORMAT_X24S8_USCALED:
+                       word4 |= S_038010_NUM_FORMAT_ALL(V_038010_SQ_NUM_FORMAT_INT);
                case PIPE_FORMAT_Z24X8_UNORM:
                case PIPE_FORMAT_Z24_UNORM_S8_USCALED:
                        result = V_0280A0_COLOR_8_24;
                        goto out_word4;
+               case PIPE_FORMAT_S8X24_USCALED:
+                       word4 |= S_038010_NUM_FORMAT_ALL(V_038010_SQ_NUM_FORMAT_INT);
                case PIPE_FORMAT_X8Z24_UNORM:
                case PIPE_FORMAT_S8_USCALED_Z24_UNORM:
                        result = V_0280A0_COLOR_24_8;
                        goto out_word4;
+               case PIPE_FORMAT_S8_USCALED:
+                       result = V_0280A0_COLOR_8;
+                       word4 |= S_038010_NUM_FORMAT_ALL(V_038010_SQ_NUM_FORMAT_INT);
+                       goto out_word4;
                default:
                        goto out_unknown;
                }