[Mesa-dev] [PATCH 00/18] anv/pipeline: Do cross-stage linking
Jason Ekstrand
jason at jlekstrand.net
Wed Jul 11 21:18:02 UTC 2018
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
More information about the mesa-dev
mailing list