nv50,nvc0: add X8Z24_UNORM, fix stencil-only formats
authorIlia Mirkin <imirkin@alum.mit.edu>
Sat, 3 May 2014 03:46:28 +0000 (23:46 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Mon, 5 May 2014 00:05:44 +0000 (20:05 -0400)
S8_UINT will become useful when ARB_texture_stencil8 becomes supported by
mesa. The other stencil formats are needed for ARB_stencil_texturing.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/nv50/nv50_formats.c

index fa93ce871b6a116af47c4494a5dc15d4c1e5d4ca..3af34c17fdbbd3243aec18d5aea1e36cf86d26e4 100644 (file)
 #define SZB(p, n, r, g, b, a, t, s, u)                                  \
    TBLENT_B_(p, NV50_ZETA_FORMAT_##n,                                   \
              r, g, b, ONE_FLOAT, UINT, t, UINT, UINT, s, u)
+#define SXB(p, r, s, u)                                                 \
+   TBLENT_B_(p, NV50_ZETA_FORMAT_NONE,                                  \
+             r, r, r, r, UINT, UINT, UINT, UINT, s, u)
 
 #define F3A(p, n, r, g, b, a, t, s, u)          \
    C4A(p, n, r, g, b, ONE_FLOAT, t, s, u, 0)
@@ -180,13 +183,16 @@ const struct nv50_format nv50_format_table[PIPE_FORMAT_COUNT] =
    ZXB(Z16_UNORM, Z16_UNORM, C0, C0, C0, xx, UNORM, Z16, TZ),
    ZXB(Z32_FLOAT, Z32_FLOAT, C0, C0, C0, xx, FLOAT, Z32, TZ),
    ZXB(Z24X8_UNORM, Z24_X8_UNORM, C0, C0, C0, xx, UNORM, Z24_X8, TZ),
+   SZB(X8Z24_UNORM, S8_Z24_UNORM, C1, C1, C1, xx, UNORM, S8_Z24, TZ),
    ZSB(Z24_UNORM_S8_UINT, Z24_S8_UNORM, C0, C0, C0, xx, UNORM, Z24_S8, TZ),
-   ZSB(X24S8_UINT, NONE, C1, C1, C1, xx, UNORM, Z24_S8, T),
    SZB(S8_UINT_Z24_UNORM, S8_Z24_UNORM, C1, C1, C1, xx, UNORM, S8_Z24, TZ),
-   SZB(S8X24_UINT, NONE, C0, C0, C0, xx, UNORM, S8_Z24, T),
    ZSB(Z32_FLOAT_S8X24_UINT, Z32_S8_X24_FLOAT, C0, C0, C0, xx, FLOAT,
        Z32_S8_X24, TZ),
-   ZSB(X32_S8X24_UINT, NONE, C1, C1, C1, xx, FLOAT, Z32_S8_X24, T),
+
+   SXB(S8_UINT, C0, 8, T),
+   SXB(X24S8_UINT, C1, Z24_S8, T),
+   SXB(S8X24_UINT, C0, S8_Z24, T),
+   SXB(X32_S8X24_UINT, C1, Z32_S8_X24, T),
 
    F3B(B5G6R5_UNORM, B5G6R5_UNORM, C2, C1, C0, xx, UNORM, 5_6_5, T),
    C4B(B5G5R5A1_UNORM, BGR5_A1_UNORM, C2, C1, C0, C3, UNORM, 5_5_5_1, TB),