On Fri, Dec 15, 2017 at 05:08:58PM -0800, Jason Ekstrand wrote:
> 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.

I had a small nit in patch 11 but otherwise I couldn't find anything amiss:

Reviewed-by: Topi Pohjolainen <topi.pohjolai...@intel.com>

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

Reply via email to