[Mesa-dev] [PATCH 4/4] anv/blorp: Flush the texture cache in UpdateBuffer
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Wed Apr 12 21:30:25 UTC 2017
On 12/04/17 12:57, Jason Ekstrand wrote:
> On Wed, Apr 12, 2017 at 12:25 PM, Lionel Landwerlin
> <lionel.g.landwerlin at intel.com <mailto:lionel.g.landwerlin at intel.com>>
> wrote:
>
> On 31/03/17 16:17, Jason Ekstrand wrote:
>
> Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org
> <mailto:mesa-stable at lists.freedesktop.org>>
> ---
> src/intel/vulkan/anv_blorp.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/src/intel/vulkan/anv_blorp.c
> b/src/intel/vulkan/anv_blorp.c
> index 72a468a..f26f5e5 100644
> --- a/src/intel/vulkan/anv_blorp.c
> +++ b/src/intel/vulkan/anv_blorp.c
> @@ -690,6 +690,11 @@ void anv_CmdUpdateBuffer(
> assert(max_update_size < MAX_SURFACE_DIM * 4);
> + /* We're about to read data that was written from the
> CPU. Flush the
>
> Did you mean GPU?
>
>
> No, I mean CPU. We copy the data provided by the user into a chunk of
> the dynamic state pool and then use blorp to copy it to the buffer
> specified by the user.
Right, for some reason the phrasing got me confused :/
> + * texture cache so we don't get anything stale.
> + */
> + cmd_buffer->state.pending_pipe_bits |=
> ANV_PIPE_TEXTURE_CACHE_INVALIDATE_BIT;
>
>
> Why just the texture cache? Should we add data cache + render target?
>
>
> Because we're not writing from the GPU and we're not using image load
> store.
Thanks, I should have read the do_buffer_copy()...
I think we might need a anv_state_flush() on tmp_data.
With that :
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170412/5e361067/attachment.html>
More information about the mesa-dev
mailing list