Module: Mesa Branch: main Commit: 5176f75e0d2d43f7c432c110e1f450ec710ba10c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5176f75e0d2d43f7c432c110e1f450ec710ba10c
Author: Samuel Pitoiset <samuel.pitoi...@gmail.com> Date: Thu Oct 26 10:04:38 2023 +0200 radv: remove unnecessary VS_PARTIAL_FLUSH for NGG streamout This used to be a PS_PARTIAL_FLUSH to fix synchronization issues with NGG streamout on RDNA2 but it's no longer needed for RDNA3. It's already synchronized in CmdEndTransformFeedbackEXT(). Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25903> --- src/amd/vulkan/radv_cmd_buffer.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index dfb011f10d7..bfd4b5c3865 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -10960,17 +10960,8 @@ radv_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstC struct radeon_cmdbuf *cs = cmd_buffer->cs; assert(firstCounterBuffer + counterBufferCount <= MAX_SO_BUFFERS); - if (cmd_buffer->device->physical_device->use_ngg_streamout) { - /* Sync because the next streamout operation will overwrite GDS and we - * have to make sure it's idle. - * TODO: Improve by tracking if there is a streamout operation in - * flight. - */ - cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_VS_PARTIAL_FLUSH; - si_emit_cache_flush(cmd_buffer); - } else { + if (!cmd_buffer->device->physical_device->use_ngg_streamout) radv_flush_vgt_streamout(cmd_buffer); - } ASSERTED unsigned cdw_max = radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, MAX_SO_BUFFERS * 10);