From eab3b83a2ea5145c86e6cc3be04db85d16ccf1ac Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Mon, 6 Jan 2020 19:58:22 -0400 Subject: [PATCH] Fix a hard freeze on AMD+Windows systems when the internal buffers used for automatic batching are resized. --- src/modules/graphics/opengl/StreamBuffer.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/modules/graphics/opengl/StreamBuffer.cpp b/src/modules/graphics/opengl/StreamBuffer.cpp index 0bf8f59c1..605bcd31b 100644 --- a/src/modules/graphics/opengl/StreamBuffer.cpp +++ b/src/modules/graphics/opengl/StreamBuffer.cpp @@ -454,12 +454,9 @@ public: { if (vbo != 0) { - // Make sure the GPU has completed work using the memory before - // freeing it. TODO: Do we need a full glFinish() or is this - // sufficient? - glFlush(); - for (FenceSync &sync : syncs) - sync.cpuWait(); + // Make sure the GPU has completed all work before freeing the + // memory. glFlush+sync.cpuWait doesn't seem to be enough. + glFinish(); gl.bindBuffer(mode, vbo); gl.deleteBuffer(vbo);