[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