On Fri, May 20, 2016 at 06:12:34PM -0700, Jason Ekstrand wrote: > This little series effectively moves the surface format table from > brw_surface_formats.c into ISL. Previously, it got built into > libi965_compiler.la because we needed to share it between drivers and > didn't have a better place to put it. Now it can live in ISL where it > belongs. > > When we pull it into ISL, we also clean up the API for querying a bit. > Instead of simply having a table with gen numbers in it, everything uses > isl_format_supports_* queries. This allows us to special-case things in > cases where the table just doesn't quite work. For instance, there are a > number of formats that become avilable for vertex fetch on Haswell and Bay > Trail but don't exist on Ivy Bridge. This isn't something the current > table-based approach can handle properly. >
Pulling the table into ISL seems like a great idea and helpers shouldn't hurt. It seems like the problem helpers would solve is the case when a format loses its support in a future generation - has this happened with a Gen introduction? For the example you stated, I think we could fix it by giving Baytrail a gen number between 70 and 75. This would require scaling up all brw_device_info::gen fields by 10 of course. - Nanley > Jason Ekstrand (6): > i965/surface_formats: Update the VB column for new formats added on > BYT > isl: Add support for quering the string name of a format > isl: Add the ISL_FORMAT_R32G32_FLOAT_LD format > isl: Add per-gen format introspection > anv/formats: Use isl_format_supports* for format introspection > i965: Use ISL for surface format introspection > > Nanley Chery (1): > i965: Unset alpha blend for R10G10B10_SNORM_A2_UNORM > > src/intel/isl/isl.h | 21 ++ > src/intel/isl/isl_format.c | 386 > ++++++++++++++++++++++++ > src/intel/isl/isl_format_layout.csv | 1 + > src/intel/isl/isl_format_layout_gen.bash | 3 +- > src/intel/vulkan/anv_formats.c | 41 ++- > src/mesa/drivers/dri/i965/Makefile.sources | 3 +- > src/mesa/drivers/dri/i965/brw_context.h | 2 - > src/mesa/drivers/dri/i965/brw_state.h | 1 - > src/mesa/drivers/dri/i965/brw_state_dump.c | 8 +- > src/mesa/drivers/dri/i965/brw_surface_formats.c | 344 +-------------------- > src/mesa/drivers/dri/i965/brw_surface_formats.h | 43 --- > src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 5 +- > 12 files changed, 448 insertions(+), 410 deletions(-) > delete mode 100644 src/mesa/drivers/dri/i965/brw_surface_formats.h > > -- > 2.5.0.400.gff86faf > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev