mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 08:40:11 +01:00
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:
parent
876a785a18
commit
eb926ddf9e
5 changed files with 15 additions and 21 deletions
|
|
@ -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" */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue