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.
This commit is contained in:
@@ -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
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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 &&
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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" */
|
||||
|
||||
Reference in New Issue
Block a user