[Mesa-dev] [PATCH v2 00/34] i965: Use ISL for emitting surface state
Jason Ekstrand
jason at jlekstrand.net
Thu Jun 23 20:59:59 UTC 2016
This series is largely a resend of the earlier series. Most of the
precursor ISL cleanup patches have been pushed and tagged for 12.0 for
Vulkan. These are the patches actually needed to convert the i965 driver
over.
The primary change since v1 is a rework of the way color compression
surfaces are handled. After a very long chat with Chad on Tuesday, we
decided my approach wasn't quite what we wanted and took a different tack.
Other than that and the few refactors required for it, the series should be
basically the same.
Jason Ekstrand (34):
genxml: Add enough XML for gens 4, 4.5, and 5 to get SURFACE_STATE
genxml: Make X/Y Offset field of SURFACE_STATE a uint
genxml: Add macros and #includes for gens 4-6
isl: Add an ISL_DEV_IS_G4X macro
isl: Add support for filling out surface states all the way back to
gen4
isl/state: Add support for OffsetX/Y in surface state
isl: Add surface formats for color compression surfaces
isl: Add an auxiliary surface layout enum
isl/state: Add support for handling color control surfaces
i965/miptree: Add a helper for getting an isl_surf from a miptree
i965/miptree: Add a helper for getting the ISL clear color from a
miptree
i965/miptree: Add a helper for getting the aux isl_surf from a miptree
i965/blorp: Add a generic ISL-based surface state emit path
i965/blorp: Use the generic ISL path for renderbuffer surfaces on
gen8-9
i965/blorp: Use the generic ISL path for renderbuffer surfaces on gen7
i965/blorp: Use the generic ISL path for texture surfaces on gen7
i965/blorp: Use the generic ISL path for renderbuffer surfaces on gen6
i965/blorp: Use the generic ISL path for texture surfaces on gen6
i965/state: Add a helper for emitting a surface state using isl
i965/blorp: Use a generic ISL path for texture surfaces on gen8
i965/state: Use ISL for emitting image surfaces
i965/surface_state: Rename brw_update to gen4_update
i965/state: Add generic surface update functions based on ISL
i965/gen8: Use the generic ISL-based path for texture surfaces
i965/gen8: Use the generic ISL-based path for renderbuffer surfaces
i965/gen7: Use the generic ISL-based path for texture surfaces
i965/gen7: Use the generic ISL-based path for renderbuffer surfaces
i965/gen6: Use the generic ISL-based path for renderbuffer surfaces
i965/gen4-6: Use the generic ISL-based path for texture surfaces
isl/formats: Mark RAW as having a block size of 1 byte
i965/state: Account for the element size in emit_buffer_surface_state
i965: Use ISL for emitting buffer surface states
i965: Get rid of gen6_surface_state.c
i965/context: Remove some unnecessary vfuncs
src/intel/genxml/Android.mk | 15 +
src/intel/genxml/Makefile.am | 3 +
src/intel/genxml/Makefile.sources | 3 +
src/intel/genxml/gen4.xml | 52 +++
src/intel/genxml/gen45.xml | 56 +++
src/intel/genxml/gen5.xml | 56 +++
src/intel/genxml/gen6.xml | 4 +-
src/intel/genxml/gen7.xml | 4 +-
src/intel/genxml/gen75.xml | 4 +-
src/intel/genxml/gen8.xml | 4 +-
src/intel/genxml/gen9.xml | 4 +-
src/intel/genxml/genX_pack.h | 10 +-
src/intel/genxml/gen_macros.h | 15 +-
src/intel/isl/Android.mk | 60 +++
src/intel/isl/Makefile.am | 12 +
src/intel/isl/Makefile.sources | 13 +-
src/intel/isl/isl.c | 22 +
src/intel/isl/isl.h | 61 +++
src/intel/isl/isl_format_layout.csv | 16 +-
src/intel/isl/isl_priv.h | 24 +
src/intel/isl/isl_surface_state.c | 105 ++++-
src/mesa/drivers/dri/i965/Makefile.sources | 1 -
src/mesa/drivers/dri/i965/brw_binding_tables.c | 2 +-
src/mesa/drivers/dri/i965/brw_blorp.c | 148 +++++++
src/mesa/drivers/dri/i965/brw_blorp.h | 6 +
src/mesa/drivers/dri/i965/brw_context.h | 25 --
src/mesa/drivers/dri/i965/brw_state.h | 49 ++-
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 511 +++++++++++++++-------
src/mesa/drivers/dri/i965/gen6_blorp.c | 83 +---
src/mesa/drivers/dri/i965/gen6_surface_state.c | 146 -------
src/mesa/drivers/dri/i965/gen7_blorp.c | 105 +----
src/mesa/drivers/dri/i965/gen7_cs_state.c | 2 +-
src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 408 +----------------
src/mesa/drivers/dri/i965/gen8_blorp.c | 146 ++-----
src/mesa/drivers/dri/i965/gen8_surface_state.c | 502 +--------------------
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 284 +++++++++++-
src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 15 +
37 files changed, 1409 insertions(+), 1567 deletions(-)
create mode 100644 src/intel/genxml/gen4.xml
create mode 100644 src/intel/genxml/gen45.xml
create mode 100644 src/intel/genxml/gen5.xml
delete mode 100644 src/mesa/drivers/dri/i965/gen6_surface_state.c
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list