You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-06 12:20:30 +00:00
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.
This commit is contained in:
@@ -1015,8 +1015,13 @@ class RenderingDeviceVulkan : public RenderingDevice {
|
||||
List<ComputePipeline> compute_pipelines_to_dispose_of;
|
||||
|
||||
VkCommandPool command_pool = VK_NULL_HANDLE;
|
||||
VkCommandBuffer setup_command_buffer = VK_NULL_HANDLE; // Used at the beginning of every frame for set-up.
|
||||
VkCommandBuffer draw_command_buffer = VK_NULL_HANDLE; // Used at the beginning of every frame for set-up.
|
||||
// Used for filling up newly created buffers with data provided on creation.
|
||||
// Primarily intended to be accessed by worker threads.
|
||||
// Ideally this cmd buffer should use an async transfer queue.
|
||||
VkCommandBuffer setup_command_buffer = VK_NULL_HANDLE;
|
||||
// The main cmd buffer for drawing and compute.
|
||||
// Primarily intended to be used by the main thread to do most stuff.
|
||||
VkCommandBuffer draw_command_buffer = VK_NULL_HANDLE;
|
||||
|
||||
struct Timestamp {
|
||||
String description;
|
||||
|
||||
Reference in New Issue
Block a user