From d1ef31346622c8e6d1c934c0c379560b2da9b528 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Wed, 5 Jun 2024 16:46:03 +0300 Subject: [PATCH] anv: add barrier flags handling for preprocess buffers Signed-off-by: Lionel Landwerlin Acked-by: Alyssa Rosenzweig Part-of: --- src/intel/vulkan/genX_cmd_buffer.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 643482cca6b..c1a54aaec56 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -4599,6 +4599,12 @@ anv_pipe_flush_bits_for_access_flags(struct anv_cmd_buffer *cmd_buffer, */ pipe_bits |= ANV_PIPE_CS_STALL_BIT | ANV_PIPE_INVALIDATE_BITS; break; + case VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT: + /* Preprocess writes are all going through the data cache */ + pipe_bits |= ANV_PIPE_UNTYPED_DATAPORT_CACHE_FLUSH_BIT; + pipe_bits |= ANV_PIPE_HDC_PIPELINE_FLUSH_BIT; + pipe_bits |= ANV_PIPE_DATA_CACHE_FLUSH_BIT; + break; default: break; /* Nothing to do */ } @@ -4761,6 +4767,10 @@ anv_pipe_invalidate_bits_for_access_flags(struct anv_cmd_buffer *cmd_buffer, case VK_ACCESS_2_SAMPLER_HEAP_READ_BIT_EXT: pipe_bits |= ANV_PIPE_STATE_CACHE_INVALIDATE_BIT; break; + case VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT: + /* Preprocess can generate push constant data */ + pipe_bits |= ANV_PIPE_CONSTANT_CACHE_INVALIDATE_BIT; + break; default: break; /* Nothing to do */ }