gallium/format: add X32_S8X24_USCALED format.
authorDave Airlie <airlied@redhat.com>
Thu, 7 Oct 2010 06:14:59 +0000 (16:14 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 12 Oct 2010 23:30:03 +0000 (09:30 +1000)
Has similiar use cases to the S8X24 and X24S8 formats.

src/gallium/auxiliary/util/u_format.csv
src/gallium/auxiliary/util/u_format_zs.c
src/gallium/auxiliary/util/u_format_zs.h
src/gallium/include/pipe/p_format.h

index 5c0f8db1b25b046d8a12dc585dbc556f28c6fdd3..1fbd83841c1ee0bc991c1e28bcc1f67c0ac490ff 100644 (file)
@@ -114,6 +114,7 @@ PIPE_FORMAT_S8X24_USCALED           , plain, 1, 1, u8  , x24 ,     ,     , _x__,
 PIPE_FORMAT_Z24X8_UNORM             , plain, 1, 1, un24, x8  ,     ,     , x___, zs
 PIPE_FORMAT_X8Z24_UNORM             , plain, 1, 1, x8  , un24,     ,     , y___, zs
 PIPE_FORMAT_Z32_FLOAT_S8X24_USCALED , plain, 1, 1, f32,  u8  , x24 ,     , xy__, zs
+PIPE_FORMAT_X32_S8X24_USCALED       , plain, 1, 1, x32,  u8  , x24 ,     , _y__, zs
 
 # YUV formats
 # http://www.fourcc.org/yuv.php#UYVY
index fdadcec984f427875b38e1fd19eece6163cbf571..80081e22f7c88e3d0eb08e83d59ce96d93395bff 100644 (file)
@@ -950,3 +950,24 @@ util_format_s8x24_uscaled_pack_s_8uscaled(uint8_t *dst_row, unsigned dst_stride,
                                                      src_row, src_stride,
                                                      width, height);
 }
+
+void
+util_format_x32_s8x24_uscaled_unpack_s_8uscaled(uint8_t *dst_row, unsigned dst_stride,
+                                               const uint8_t *src_row, unsigned src_stride,
+                                               unsigned width, unsigned height)
+{
+   util_format_z32_float_s8x24_uscaled_unpack_s_8uscaled(dst_row, dst_stride,
+                                                        src_row, src_stride,
+                                                        width, height);
+
+}
+
+void
+util_format_x32_s8x24_uscaled_pack_s_8uscaled(uint8_t *dst_row, unsigned dst_stride,
+                                             const uint8_t *src_row, unsigned src_stride,
+                                             unsigned width, unsigned height)
+{
+   util_format_z32_float_s8x24_uscaled_pack_s_8uscaled(dst_row, dst_stride,
+                                                       src_row, src_stride,
+                                                      width, height);
+}
index d412ca4c11072ee33393fc2132da150a50945e6f..1604cc3eee2b04cfb443f21933e64629c72a5fa2 100644 (file)
@@ -204,4 +204,9 @@ util_format_s8x24_uscaled_unpack_s_8uscaled(uint8_t *dst_row, unsigned dst_strid
 void
 util_format_s8x24_uscaled_pack_s_8uscaled(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
 
+void
+util_format_x32_s8x24_uscaled_unpack_s_8uscaled(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
+
+void
+util_format_x32_s8x24_uscaled_pack_s_8uscaled(uint8_t *dst_row, unsigned dst_sride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
 #endif /* U_FORMAT_ZS_H_ */
index 9978e5236fa1fb1aaac7b2848b9141683d6d05e9..22cc7aa18a25fc2f5cb65c646c9b5af0cb6d57ff 100644 (file)
@@ -189,6 +189,7 @@ enum pipe_format {
    /* some stencil samplers formats */
    PIPE_FORMAT_X24S8_USCALED           = 136,
    PIPE_FORMAT_S8X24_USCALED           = 137,
+   PIPE_FORMAT_X32_S8X24_USCALED       = 138,
    PIPE_FORMAT_COUNT
 };