[Mesa-dev] [PATCH 0/7] i965, anv: Use ISL for querying surface format capabilities

Nanley Chery nanleychery at gmail.com
Mon May 23 17:41:19 UTC 2016


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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list