Fix: Vector Blur node produce wrong output sometimes

The Vector Blur node sometimes produces wrong output. That's because no
proper memory barriers existed for the SSBO written to by the velocity
dilation pass, so ensure a proper barrier exist.
This commit is contained in:
Omar Emara
2024-04-01 16:04:49 +02:00
parent 62b39c14a3
commit 2d6aae8011

View File

@@ -15,6 +15,7 @@
#include "GPU_compute.hh"
#include "GPU_shader.hh"
#include "GPU_state.hh"
#include "GPU_storage_buffer.hh"
#include "GPU_vertex_buffer.hh"
@@ -172,6 +173,7 @@ class VectorBlurOperation : public NodeOperation {
max_tile_velocity.bind_as_texture(shader, "max_velocity_tx");
GPU_memory_barrier(GPU_BARRIER_SHADER_STORAGE);
const int slot = GPU_shader_get_ssbo_binding(shader, "tile_indirection_buf");
GPU_storagebuf_bind(tile_indirection_buffer, slot);