Mesa (pipe-format-simplify): Revert " Simplify the redundant meaning of format layout."

Michał Król michal at kemper.freedesktop.org
Wed Dec 9 05:23:11 PST 2009


Module: Mesa
Branch: pipe-format-simplify
Commit: dfdf83d714c0d32d9182eb3001cf642aa6cb5c87
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfdf83d714c0d32d9182eb3001cf642aa6cb5c87

Author: Michal Krol <michal at vmware.com>
Date:   Wed Dec  9 14:22:30 2009 +0100

Revert "Simplify the redundant meaning of format layout."

This reverts commit eb926ddf9eee1095c7fc12013f0b8375bbaeca6f.

---

 src/gallium/auxiliary/util/u_format.h         |    7 +++++--
 src/gallium/auxiliary/util/u_format_table.py  |   10 +++-------
 src/gallium/drivers/llvmpipe/lp_screen.c      |    8 ++++++--
 src/gallium/drivers/r300/r300_state_inlines.h |    6 ++++--
 src/mesa/state_tracker/st_format.c            |    5 +++--
 5 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_format.h b/src/gallium/auxiliary/util/u_format.h
index bb7c2ad..25a06a8 100644
--- a/src/gallium/auxiliary/util/u_format.h
+++ b/src/gallium/auxiliary/util/u_format.h
@@ -34,8 +34,11 @@
 
 
 enum util_format_layout {
-   UTIL_FORMAT_LAYOUT_PLAIN = 0, /*< RGB, depth-stencil */
-   UTIL_FORMAT_LAYOUT_DXT = 1
+   UTIL_FORMAT_LAYOUT_SCALAR = 0,
+   UTIL_FORMAT_LAYOUT_ARITH = 1,
+   UTIL_FORMAT_LAYOUT_ARRAY = 2,
+   UTIL_FORMAT_LAYOUT_YUV = 3,
+   UTIL_FORMAT_LAYOUT_DXT = 4
 };
 
 
diff --git a/src/gallium/auxiliary/util/u_format_table.py b/src/gallium/auxiliary/util/u_format_table.py
index c772a75..8713594 100755
--- a/src/gallium/auxiliary/util/u_format_table.py
+++ b/src/gallium/auxiliary/util/u_format_table.py
@@ -35,12 +35,8 @@ import sys
 from u_format_parse import *
 
 
-layout_map = {
-    'arith': 'UTIL_FORMAT_LAYOUT_PLAIN',
-    'array': 'UTIL_FORMAT_LAYOUT_PLAIN',
-    'yuv':   'UTIL_FORMAT_LAYOUT_PLAIN',
-    'dxt':   'UTIL_FORMAT_LAYOUT_DXT',
-}
+def layout_map(layout):
+    return 'UTIL_FORMAT_LAYOUT_' + str(layout).upper()
 
 
 def colorspace_map(colorspace):
@@ -108,7 +104,7 @@ def write_format_table(formats):
         print "      %s," % (format.name,)
         print "      \"%s\"," % (format.name,)
         print "      {%u, %u, %u}, /* block */" % (format.block_width, format.block_height, format.block_size())
-        print "      %s," % (layout_map[format.layout],)
+        print "      %s," % (layout_map(format.layout),)
         print "      {"
         for i in range(4):
             type = format.in_types[i]
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
index 3641e1d..a6ecaa0 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -158,7 +158,9 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
          format_desc->block.height != 1)
          return FALSE;
 
-      if(format_desc->layout != UTIL_FORMAT_LAYOUT_PLAIN)
+      if(format_desc->layout != UTIL_FORMAT_LAYOUT_SCALAR &&
+         format_desc->layout != UTIL_FORMAT_LAYOUT_ARITH &&
+         format_desc->layout != UTIL_FORMAT_LAYOUT_ARRAY)
          return FALSE;
 
       if(format_desc->colorspace != UTIL_FORMAT_COLORSPACE_RGB &&
@@ -186,7 +188,9 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
          format_desc->block.height != 1)
          return FALSE;
 
-      if(format_desc->layout != UTIL_FORMAT_LAYOUT_PLAIN)
+      if(format_desc->layout != UTIL_FORMAT_LAYOUT_SCALAR &&
+         format_desc->layout != UTIL_FORMAT_LAYOUT_ARITH &&
+         format_desc->layout != UTIL_FORMAT_LAYOUT_ARRAY)
          return FALSE;
 
       if(format_desc->colorspace != UTIL_FORMAT_COLORSPACE_RGB &&
diff --git a/src/gallium/drivers/r300/r300_state_inlines.h b/src/gallium/drivers/r300/r300_state_inlines.h
index c71305e..7cd1f87 100644
--- a/src/gallium/drivers/r300/r300_state_inlines.h
+++ b/src/gallium/drivers/r300/r300_state_inlines.h
@@ -476,7 +476,8 @@ r300_translate_vertex_data_type(enum pipe_format format) {
 
     desc = util_format_description(format);
 
-    if (desc->layout != UTIL_FORMAT_LAYOUT_PLAIN) {
+    if (desc->layout != UTIL_FORMAT_LAYOUT_ARITH &&
+        desc->layout != UTIL_FORMAT_LAYOUT_ARRAY) {
         debug_printf("r300: Bad format %s in %s:%d\n", pf_name(format),
             __FUNCTION__, __LINE__);
         assert(0);
@@ -540,7 +541,8 @@ r300_translate_vertex_data_swizzle(enum pipe_format format) {
 
     assert(format);
 
-    if (desc->layout != UTIL_FORMAT_LAYOUT_PLAIN) {
+    if (desc->layout != UTIL_FORMAT_LAYOUT_ARITH &&
+        desc->layout != UTIL_FORMAT_LAYOUT_ARRAY) {
         debug_printf("r300: Bad format %s in %s:%d\n",
             pf_name(format), __FUNCTION__, __LINE__);
         return 0;
diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
index 2056dce..329ae03 100644
--- a/src/mesa/state_tracker/st_format.c
+++ b/src/mesa/state_tracker/st_format.c
@@ -83,7 +83,8 @@ st_get_format_info(enum pipe_format format, struct pipe_format_info *pinfo)
    desc = util_format_description(format);
    assert(desc);
 
-   if (desc->layout == UTIL_FORMAT_LAYOUT_PLAIN) {
+   if (desc->layout == UTIL_FORMAT_LAYOUT_ARITH ||
+       desc->layout == UTIL_FORMAT_LAYOUT_ARRAY) {
 #if 0
       printf("%s\n", pf_name( format ) );
 #endif
@@ -146,7 +147,7 @@ st_get_format_info(enum pipe_format format, struct pipe_format_info *pinfo)
 
       pinfo->mesa_format = st_pipe_format_to_mesa_format(format);
    }
-   else if (desc->colorspace == UTIL_FORMAT_COLORSPACE_YUV) {
+   else if (desc->layout == UTIL_FORMAT_LAYOUT_YUV) {
       pinfo->mesa_format = MESA_FORMAT_YCBCR;
       pinfo->datatype = GL_UNSIGNED_SHORT;
       pinfo->size = 2; /* two bytes per "texel" */



More information about the mesa-commit mailing list