Module: Mesa Branch: master Commit: 939337e49fb8a6e16f83e4e030743f91b1b05cc5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=939337e49fb8a6e16f83e4e030743f91b1b05cc5
Author: Jason Ekstrand <[email protected]> Date: Fri Mar 31 15:33:51 2017 -0700 anv/blorp: Flush the texture cache in UpdateBuffer Reviewed-by: Lionel Landwerlin <[email protected]> Cc: "13.0 17.0" <[email protected]> --- src/intel/vulkan/anv_blorp.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c index 4904ee3a5f..1755663e2a 100644 --- a/src/intel/vulkan/anv_blorp.c +++ b/src/intel/vulkan/anv_blorp.c @@ -690,12 +690,19 @@ 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 + * texture cache so we don't get anything stale. + */ + cmd_buffer->state.pending_pipe_bits |= ANV_PIPE_TEXTURE_CACHE_INVALIDATE_BIT; + while (dataSize) { const uint32_t copy_size = MIN2(dataSize, max_update_size); struct anv_state tmp_data = anv_cmd_buffer_alloc_dynamic_state(cmd_buffer, copy_size, 64); + anv_state_flush(cmd_buffer->device, tmp_data); + memcpy(tmp_data.map, pData, copy_size); int bs = 16; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
