[Mesa-dev] [PATCH 00/17] anv: Rework state tracking to better separate
Jason Ekstrand
jason at jlekstrand.net
Sat Dec 16 01:08:58 UTC 2017
This series is intended to address a bug filed in September:
https://bugs.freedesktop.org/show_bug.cgi?id=102897
Unfortunately, the fix is either a lot of patches or very messy. This
series (as is common for me) takes the lots of patches approach. The
general idea is to break out a large chunk of anv_cmd_state into sub-
structs for graphics and compute. This way, it's very clear when you're
accessing any bit of state that you're pulling from one or the other. By
giving these a base struct, we can also make clear that a certain set of
states are are per-pipeline-bind-point. In order to reduce churn in the
patches which actually move state from one struct to another, there are
several patches which just make us make better use of helper functions and
temporary variables.
Jason Ekstrand (17):
anv/pipeline: Don't assert on more than 32 samplers
anv/cmd_state: Drop the scratch_size field
anv/cmd_buffer: Get rid of the meta query workaround
anv/cmd_buffer: Rework anv_cmd_state_reset
anv/cmd_buffer: Use some pre-existing pipeline temporaries
anv/cmd_buffer: Add substructs to anv_cmd_state for graphics and
compute
anv: Remove semicolons from vk_error[f] definitions
anv/cmd_buffer: Refactor ensure_push_descriptor_set
anv/cmd_buffer: Add a helper for binding descriptor sets
anv/cmd_buffer: Use anv_descriptor_for_binding for samplers
anv: Separate compute and graphics descriptor sets
anv/cmd_buffer: Move dirty bits into anv_cmd_*_state
anv/cmd_buffer: Move vb_dirty bits into anv_cmd_graphics_state
anv/cmd_buffer: Use a temporary variable for dynamic state
anv/cmd_buffer: Move dynamic state to graphics state
anv/cmd_buffer: Move num_workgroups to compute state
anv/cmd_buffer: Move gen7 index buffer state to graphics state
src/intel/vulkan/anv_cmd_buffer.c | 274 +++++++++++++++++++---------------
src/intel/vulkan/anv_descriptor_set.c | 2 +
src/intel/vulkan/anv_private.h | 85 ++++++++---
src/intel/vulkan/gen7_cmd_buffer.c | 67 ++++-----
src/intel/vulkan/gen8_cmd_buffer.c | 91 ++++++-----
src/intel/vulkan/genX_blorp_exec.c | 4 +-
src/intel/vulkan/genX_cmd_buffer.c | 121 ++++++++-------
src/intel/vulkan/genX_gpu_memcpy.c | 2 +-
src/intel/vulkan/genX_pipeline.c | 8 +-
src/intel/vulkan/genX_query.c | 14 --
10 files changed, 369 insertions(+), 299 deletions(-)
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list