Fix missing memory barrier on particle indirect args building to ensure buffer copies are done afetr whole buffer update ends
This commit is contained in:
@@ -813,6 +813,9 @@ void DrawEmittersGPU(RenderContextBatch& renderContextBatch)
|
|||||||
// Upload default arguments
|
// Upload default arguments
|
||||||
context->UpdateBuffer(GPUIndirectArgsBuffer, indirectArgsMemory, indirectArgsOffset);
|
context->UpdateBuffer(GPUIndirectArgsBuffer, indirectArgsMemory, indirectArgsOffset);
|
||||||
|
|
||||||
|
// Wait for whole buffer write end before submitting buffer copies
|
||||||
|
pass.MemoryBarrier();
|
||||||
|
|
||||||
// Copy particle counts into draw commands
|
// Copy particle counts into draw commands
|
||||||
indirectArgsOffset = 0;
|
indirectArgsOffset = 0;
|
||||||
for (GPUEmitterDraw& draw : GPUEmitterDraws)
|
for (GPUEmitterDraw& draw : GPUEmitterDraws)
|
||||||
|
|||||||
Reference in New Issue
Block a user