From 4fd6343fb9b0d3c071dc12a50dc44d80a2dd681e Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Sun, 10 Aug 2025 16:04:24 +0200 Subject: [PATCH] Fix missing memory barrier on particle indirect args building to ensure buffer copies are done afetr whole buffer update ends --- Source/Engine/Particles/Particles.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Source/Engine/Particles/Particles.cpp b/Source/Engine/Particles/Particles.cpp index 98fc230c6..46649f82a 100644 --- a/Source/Engine/Particles/Particles.cpp +++ b/Source/Engine/Particles/Particles.cpp @@ -813,6 +813,9 @@ void DrawEmittersGPU(RenderContextBatch& renderContextBatch) // Upload default arguments context->UpdateBuffer(GPUIndirectArgsBuffer, indirectArgsMemory, indirectArgsOffset); + // Wait for whole buffer write end before submitting buffer copies + pass.MemoryBarrier(); + // Copy particle counts into draw commands indirectArgsOffset = 0; for (GPUEmitterDraw& draw : GPUEmitterDraws)