From c9ec1f77272de8a828294d2348c4cb1d4577612c Mon Sep 17 00:00:00 2001 From: "Matias N. Goldberg" Date: Sat, 21 Oct 2023 11:56:37 -0300 Subject: Fix buffer updates going to the wrong cmd buffer if barriers were 0 From what I could see only SSAO & SSIL were affected when they both call: int zero[1] = { 0 }; RD::get_singleton()->buffer_update(ssao.importance_map_load_counter, 0, sizeof(uint32_t), &zero, 0); int zero[1] = { 0 }; RD::get_singleton()->buffer_update(ssil.importance_map_load_counter, 0, sizeof(uint32_t), &zero, 0); Also documented what setup_command_buffer & draw_command_buffer are for. --- drivers/vulkan/rendering_device_vulkan.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/vulkan/rendering_device_vulkan.cpp') diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index a9f77c9072..a54e5a8059 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -5995,7 +5995,7 @@ Error RenderingDeviceVulkan::buffer_update(RID p_buffer, uint32_t p_offset, uint // No barrier should be needed here. // _buffer_memory_barrier(buffer->buffer, p_offset, p_size, dst_stage_mask, VK_PIPELINE_STAGE_TRANSFER_BIT, dst_access, VK_ACCESS_TRANSFER_WRITE_BIT, true); - Error err = _buffer_update(buffer, p_offset, (uint8_t *)p_data, p_size, p_post_barrier); + Error err = _buffer_update(buffer, p_offset, (uint8_t *)p_data, p_size, true); if (err) { return err; } -- cgit v1.2.3