I sent out a series for this almost a year ago and it just sat on the list rotting away. You can find the original series here:
https://patchwork.freedesktop.org/series/32809/ This v2 is a rebase of that series. I believe Tim reviewed most of the original but the rebase was painful enough that it probably merits a second look-over. I still have yet to actually be able to tie this to performance data on anything. I know there are some Skyrim shaders that are affected by it but it runs at the same speed before and after. Jason Ekstrand (18): anv/pipeline: Fix up deref modes if we delete a FS output anv: Restrict the nuber of color regions to those actually written anv/pipeline: More aggressively optimize away color attachments anv/pipeline: Rework the parameters to populate_wm_prog_key anv/pipeline: Add populate_tcs/tes_key helpers anv/pipline: Add a helper struct for per-stage info anv/pipeline: Populate keys up-front anv/pipeline: Hash the entire pipeline in one go anv/pipeline: Call anv_pipeline_compile_* in a loop anv/pipeline: Pull shader compilation out into a helper. anv/pipeline: Drop anv_pipeline_add_compiled_stage anv/pipeline: Recompile all shaders if any are missing from the cache anv/pipeline: Compile to NIR in compile_graphics anv/pipeline: Add a separate "link" stage anv/pipeline: Pull most of the anv_pipeline_compile_* into common code nir/lower_indirect: Bail early if modes == 0 anv/pipeline: Do cross-stage linking optimizations anv/pipeline: Disable FS dispatch for pointless fragment shaders src/compiler/nir/nir_lower_indirect_derefs.c | 3 + src/intel/compiler/brw_compiler.h | 1 + src/intel/vulkan/anv_pipeline.c | 1110 +++++++++--------- src/intel/vulkan/anv_private.h | 2 +- src/intel/vulkan/genX_pipeline.c | 2 - 5 files changed, 581 insertions(+), 537 deletions(-) -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev