This is not true. UTIL_FORMAT_LAYOUT_* are needed for code generation in
u_format_access.py and llvmpipe.

It seems here what you want is a is-compressed or not flag. If so add
that flag to util_format_description, modify u_format_table.py to
generate that flag, and leave UTIL_FORMAT_LAYOUT untouched.

Jose

On Tue, 2009-12-08 at 11:49 -0800, Micha?? Kr??l wrote:
> Module: Mesa
> Branch: pipe-format-simplify
> Commit: eb926ddf9eee1095c7fc12013f0b8375bbaeca6f
> URL:    
> http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb926ddf9eee1095c7fc12013f0b8375bbaeca6f
> 
> Author: Michal Krol <mic...@vmware.com>
> Date:   Tue Dec  8 20:48:47 2009 +0100
> 
> 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.
> 
> ---
> 
>  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, 15 insertions(+), 21 deletions(-)
> 
> diff --git a/src/gallium/auxiliary/util/u_format.h 
> b/src/gallium/auxiliary/util/u_format.h
> index 25a06a8..bb7c2ad 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 8713594..c772a75 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 a6ecaa0..3641e1d 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 7cd1f87..c71305e 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 329ae03..2056dce 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" */
> 
> _______________________________________________
> mesa-commit mailing list
> mesa-com...@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-commit



------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to