Mesa (master): gallium/auxiliary: Add util_format_get_depth_only() helper.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Oct 15 06:36:46 UTC 2018


Module: Mesa
Branch: master
Commit: 5849e0612cc4c21d213bdb4bd8d0a3f9531cc2b3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5849e0612cc4c21d213bdb4bd8d0a3f9531cc2b3

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Jul 30 15:20:47 2018 -0700

gallium/auxiliary: Add util_format_get_depth_only() helper.

This will be used by u_transfer_helper.c shortly, in order to split
packed depth-stencil into separate resources.

Reviewed-by: Eric Anholt <eric at anholt.net>

---

 src/gallium/auxiliary/util/u_format.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/src/gallium/auxiliary/util/u_format.h b/src/gallium/auxiliary/util/u_format.h
index f421222f85..e66849c16b 100644
--- a/src/gallium/auxiliary/util/u_format.h
+++ b/src/gallium/auxiliary/util/u_format.h
@@ -557,6 +557,27 @@ util_format_is_depth_and_stencil(enum pipe_format format)
           util_format_has_stencil(desc);
 }
 
+/**
+ * For depth-stencil formats, return the equivalent depth-only format.
+ */
+static inline boolean
+util_format_get_depth_only(enum pipe_format format)
+{
+   switch (format) {
+   case PIPE_FORMAT_Z24_UNORM_S8_UINT:
+      return PIPE_FORMAT_Z24X8_UNORM;
+
+   case PIPE_FORMAT_S8_UINT_Z24_UNORM:
+      return PIPE_FORMAT_X8Z24_UNORM;
+
+   case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:
+      return PIPE_FORMAT_Z32_FLOAT;
+
+   default:
+      return format;
+   }
+}
+
 static inline boolean
 util_format_is_yuv(enum pipe_format format)
 {




More information about the mesa-commit mailing list