From d743f9589dd1747757a4631bdc3d80065ac3d37a Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Fri, 14 Jan 2022 10:06:31 +0200 Subject: [PATCH] anv: flush tile cache with query copy command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes the test_resolve_non_issued_query_data vkd3d-proton test. This change is required on TGL+ (maybe ICL?) because on all platforms 3D pipeline writes are not coherent with CS. On previous platform we fixed this by flushing the render cache to make sure data is visble to CS before it writes to memory. But on more recently platforms, flushing the render cache leaves the data in the tile cache which is still not coherent with CS, so we need to flush that one too. Signed-off-by: Lionel Landwerlin Cc: mesa-stable Reviewed-by: Tapani Pälli Part-of: (cherry picked from commit 8b71118aa066ab125b7440912ed1e14da79c9451) --- src/intel/vulkan/genX_query.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/intel/vulkan/genX_query.c b/src/intel/vulkan/genX_query.c index c65ce036197..ef1a7a424b7 100644 --- a/src/intel/vulkan/genX_query.c +++ b/src/intel/vulkan/genX_query.c @@ -1380,6 +1380,7 @@ void genX(CmdCopyQueryPoolResults)( */ if (cmd_buffer->state.pending_pipe_bits & ANV_PIPE_RENDER_TARGET_BUFFER_WRITES) { anv_add_pending_pipe_bits(cmd_buffer, + ANV_PIPE_TILE_CACHE_FLUSH_BIT | ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT, "CopyQueryPoolResults"); }