On Fri, May 15, 2015 at 10:06:18PM -0700, Ben Widawsky wrote: > It's true that not all surfaces apply for every gen, but for the most part > this > is what we want. (The unfortunate case is when we use an valid surface, but > not > for the specific GEN). > > This was automated with a vim macro. > > v2: Shortened common forms such as R8G8B8A8->RGBA8. Note that this makes some > of > the sample output in subsequent commits slightly incorrect. > > v3: Use the name from the table (Ken). This requires declaring the surface > format array as extern, and declaring the struct in the .h file. > > Signed-off-by: Ben Widawsky <b...@bwidawsk.net>
Patches 1 and 2 are also: Reviewed-by: Topi Pohjolainen <topi.pohjolai...@intel.com> > --- > src/mesa/drivers/dri/i965/brw_context.h | 14 ++++++++++++++ > src/mesa/drivers/dri/i965/brw_state_dump.c | 9 +-------- > src/mesa/drivers/dri/i965/brw_surface_formats.c | 14 -------------- > 3 files changed, 15 insertions(+), 22 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_context.h > b/src/mesa/drivers/dri/i965/brw_context.h > index 2dcc23c..49f5269 100644 > --- a/src/mesa/drivers/dri/i965/brw_context.h > +++ b/src/mesa/drivers/dri/i965/brw_context.h > @@ -1738,6 +1738,20 @@ void brw_upload_abo_surfaces(struct brw_context *brw, > struct brw_stage_prog_data *prog_data); > > /* brw_surface_formats.c */ > +struct surface_format_info { > + bool exists; > + int sampling; > + int filtering; > + int shadow_compare; > + int chroma_key; > + int render_target; > + int alpha_blend; > + int input_vb; > + int streamed_output_vb; > + int color_processing; > + const char *name; > +}; > +extern const struct surface_format_info surface_formats[]; > bool brw_render_target_supported(struct brw_context *brw, > struct gl_renderbuffer *rb); > uint32_t brw_depth_format(struct brw_context *brw, mesa_format format); > diff --git a/src/mesa/drivers/dri/i965/brw_state_dump.c > b/src/mesa/drivers/dri/i965/brw_state_dump.c > index 530f5a8..aa63c15 100644 > --- a/src/mesa/drivers/dri/i965/brw_state_dump.c > +++ b/src/mesa/drivers/dri/i965/brw_state_dump.c > @@ -67,14 +67,7 @@ get_965_surfacetype(unsigned int surfacetype) > static const char * > get_965_surface_format(unsigned int surface_format) > { > - switch (surface_format) { > - case 0x000: return "r32g32b32a32_float"; > - case 0x0c1: return "b8g8r8a8_unorm"; > - case 0x100: return "b5g6r5_unorm"; > - case 0x102: return "b5g5r5a1_unorm"; > - case 0x104: return "b4g4r4a4_unorm"; > - default: return "unknown"; > - } > + return surface_formats[surface_format].name; > } > > static void dump_vs_state(struct brw_context *brw, uint32_t offset) > diff --git a/src/mesa/drivers/dri/i965/brw_surface_formats.c > b/src/mesa/drivers/dri/i965/brw_surface_formats.c > index 97136d0..dce3091 100644 > --- a/src/mesa/drivers/dri/i965/brw_surface_formats.c > +++ b/src/mesa/drivers/dri/i965/brw_surface_formats.c > @@ -28,20 +28,6 @@ > #include "brw_defines.h" > #include "brw_wm.h" > > -struct surface_format_info { > - bool exists; > - int sampling; > - int filtering; > - int shadow_compare; > - int chroma_key; > - int render_target; > - int alpha_blend; > - int input_vb; > - int streamed_output_vb; > - int color_processing; > - const char *name; > -}; > - > /* This macro allows us to write the table almost as it appears in the PRM, > * while restructuring it to turn it into the C code we want. > */ > -- > 2.4.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev