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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev