[Mesa-stable] [PATCH 3/4] anv/cmd_buffer: Flush the VF cache at the top of all primaries

Emil Velikov emil.l.velikov at gmail.com
Wed Apr 12 11:04:55 UTC 2017


On 1 April 2017 at 00:17, Jason Ekstrand <jason at jlekstrand.net> wrote:
> Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org>
> ---
>  src/intel/vulkan/genX_cmd_buffer.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
> index 1ce549a..b5297f4 100644
> --- a/src/intel/vulkan/genX_cmd_buffer.c
> +++ b/src/intel/vulkan/genX_cmd_buffer.c
> @@ -597,6 +597,18 @@ genX(BeginCommandBuffer)(
>
>     genX(cmd_buffer_emit_state_base_address)(cmd_buffer);
>
> +   /* We sometimes store vertex data in the dynamic state buffer for blorp
> +    * operations and our dynamic state stream may re-use data from previous
> +    * command buffers.  In order to prevent stale cache data, we flush the VF
> +    * cache.  We could do this on every blorp call but that's not really
> +    * needed as all of the data will get written by the CPU prior to the GPU
> +    * executing anything.  The chances are fairly high that they will use
> +    * blorp at least once per primary command buffer so it shouldn't be
> +    * wasted.
> +    */
> +   if (cmd_buffer->level == VK_COMMAND_BUFFER_LEVEL_PRIMARY)
> +      cmd_buffer->state.pending_pipe_bits |= ANV_PIPE_VF_CACHE_INVALIDATE_BIT;
> +
>     VkResult result = VK_SUCCESS;
>     if (cmd_buffer->usage_flags &
>         VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT) {
Friendly poke:

Jason, patches 1&2 are queued for 17.0, yet 3&4 seems to have not made
it in master.
Are they superseded, rejected or fell through the cracks?

Thanks
Emil


More information about the mesa-stable mailing list