summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichal Krol <michal@vmware.com>2009-12-08 20:48:47 +0100
committerMichal Krol <michal@vmware.com>2009-12-08 20:48:47 +0100
commiteb926ddf9eee1095c7fc12013f0b8375bbaeca6f (patch)
tree304702202339b784ac2fa721538b26979c4ea912 /src
parent876a785a182d7987786377ff0a44ee40628254f3 (diff)
Simplify the redundant meaning of format layout.
We really just need to know whether the format is compressed or not. For more detailed information format colorspace should suffice.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/util/u_format.h7
-rwxr-xr-xsrc/gallium/auxiliary/util/u_format_table.py10
-rw-r--r--src/gallium/drivers/llvmpipe/lp_screen.c8
-rw-r--r--src/gallium/drivers/r300/r300_state_inlines.h6
-rw-r--r--src/mesa/state_tracker/st_format.c5
5 files changed, 15 insertions, 21 deletions
diff --git a/src/gallium/auxiliary/util/u_format.h b/src/gallium/auxiliary/util/u_format.h
index 25a06a8f7d..bb7c2add5c 100644
--- a/src/gallium/auxiliary/util/u_format.h
+++ b/src/gallium/auxiliary/util/u_format.h
@@ -34,11 +34,8 @@
enum util_format_layout {
- 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
+ UTIL_FORMAT_LAYOUT_PLAIN = 0, /*< RGB, depth-stencil */
+ UTIL_FORMAT_LAYOUT_DXT = 1
};
diff --git a/src/gallium/auxiliary/util/u_format_table.py b/src/gallium/auxiliary/util/u_format_table.py
index 8713594376..c772a75e61 100755
--- a/src/gallium/auxiliary/util/u_format_table.py
+++ b/src/gallium/auxiliary/util/u_format_table.py
@@ -35,8 +35,12 @@ import sys
from u_format_parse import *
-def layout_map(layout):
- return 'UTIL_FORMAT_LAYOUT_' + str(layout).upper()
+layout_map = {
+ 'arith': 'UTIL_FORMAT_LAYOUT_PLAIN',
+ 'array': 'UTIL_FORMAT_LAYOUT_PLAIN',
+ 'yuv': 'UTIL_FORMAT_LAYOUT_PLAIN',
+ 'dxt': 'UTIL_FORMAT_LAYOUT_DXT',
+}
def colorspace_map(colorspace):
@@ -104,7 +108,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 a6ecaa0b2b..3641e1dccb 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -158,9 +158,7 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
format_desc->block.height != 1)
return FALSE;
- if(format_desc->layout != UTIL_FORMAT_LAYOUT_SCALAR &&
- format_desc->layout != UTIL_FORMAT_LAYOUT_ARITH &&
- format_desc->layout != UTIL_FORMAT_LAYOUT_ARRAY)
+ if(format_desc->layout != UTIL_FORMAT_LAYOUT_PLAIN)
return FALSE;
if(format_desc->colorspace != UTIL_FORMAT_COLORSPACE_RGB &&
@@ -188,9 +186,7 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
format_desc->block.height != 1)
return FALSE;
- if(format_desc->layout != UTIL_FORMAT_LAYOUT_SCALAR &&
- format_desc->layout != UTIL_FORMAT_LAYOUT_ARITH &&
- format_desc->layout != UTIL_FORMAT_LAYOUT_ARRAY)
+ if(format_desc->layout != UTIL_FORMAT_LAYOUT_PLAIN)
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 7cd1f87630..c71305edc2 100644
--- a/src/gallium/drivers/r300/r300_state_inlines.h
+++ b/src/gallium/drivers/r300/r300_state_inlines.h
@@ -476,8 +476,7 @@ r300_translate_vertex_data_type(enum pipe_format format) {
desc = util_format_description(format);
- if (desc->layout != UTIL_FORMAT_LAYOUT_ARITH &&
- desc->layout != UTIL_FORMAT_LAYOUT_ARRAY) {
+ if (desc->layout != UTIL_FORMAT_LAYOUT_PLAIN) {
debug_printf("r300: Bad format %s in %s:%d\n", pf_name(format),
__FUNCTION__, __LINE__);
assert(0);
@@ -541,8 +540,7 @@ r300_translate_vertex_data_swizzle(enum pipe_format format) {
assert(format);
- if (desc->layout != UTIL_FORMAT_LAYOUT_ARITH &&
- desc->layout != UTIL_FORMAT_LAYOUT_ARRAY) {
+ if (desc->layout != UTIL_FORMAT_LAYOUT_PLAIN) {
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 329ae03db2..2056dce7fb 100644
--- a/src/mesa/state_tracker/st_format.c
+++ b/src/mesa/state_tracker/st_format.c
@@ -83,8 +83,7 @@ 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_ARITH ||
- desc->layout == UTIL_FORMAT_LAYOUT_ARRAY) {
+ if (desc->layout == UTIL_FORMAT_LAYOUT_PLAIN) {
#if 0
printf("%s\n", pf_name( format ) );
#endif
@@ -147,7 +146,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->layout == UTIL_FORMAT_LAYOUT_YUV) {
+ else if (desc->colorspace == UTIL_FORMAT_COLORSPACE_YUV) {
pinfo->mesa_format = MESA_FORMAT_YCBCR;
pinfo->datatype = GL_UNSIGNED_SHORT;
pinfo->size = 2; /* two bytes per "texel" */