From 0cab02ca9b821ea7c1c59e9568f185e2f2767542 Mon Sep 17 00:00:00 2001 From: Sagar Ghuge Date: Tue, 21 May 2024 17:42:07 -0700 Subject: [PATCH] anv: Implement flush_buffer_write_cp callbck Signed-off-by: Sagar Ghuge Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/vulkan/anv_cmd_buffer.c | 14 ++++++++++++++ src/intel/vulkan/anv_private.h | 2 ++ 2 files changed, 16 insertions(+) diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c index 021f0890c81..bbd1e028779 100644 --- a/src/intel/vulkan/anv_cmd_buffer.c +++ b/src/intel/vulkan/anv_cmd_buffer.c @@ -1555,3 +1555,17 @@ anv_cmd_write_buffer_cp(VkCommandBuffer commandBuffer, anv_genX(cmd_buffer->device->info, cmd_write_buffer_cp)(cmd_buffer, dstAddr, data, size); } + +void +anv_cmd_flush_buffer_write_cp(VkCommandBuffer commandBuffer) +{ + /* TODO: cmd_write_buffer_cp is implemented with MI store + + * ForceWriteCompletionCheck so that should make the content globally + * observable. + * + * If we encounter any functional or perf bottleneck issues, let's revisit + * this helper and add ANV_PIPE_HDC_PIPELINE_FLUSH_BIT + + * ANV_PIPE_UNTYPED_DATAPORT_CACHE_FLUSH_BIT + + * ANV_PIPE_DATA_CACHE_FLUSH_BIT. + */ +} diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 04afaf180a1..f762eb36ffe 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -5910,6 +5910,8 @@ anv_cmd_write_buffer_cp(VkCommandBuffer cmd_buffer, VkDeviceAddress dstAddr, void *data, uint32_t size); +void +anv_cmd_flush_buffer_write_cp(VkCommandBuffer cmd_buffer); VkResult anv_cmd_buffer_ensure_rcs_companion(struct anv_cmd_buffer *cmd_buffer);