summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index e527b76ba..4834d58f0 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -473,6 +473,14 @@ void RasterizerOpenGL::FlushCommands() {
473 return; 473 return;
474 } 474 }
475 num_queued_commands = 0; 475 num_queued_commands = 0;
476
477 // Make sure memory stored from the previous GL command stream is visible
478 // This is only needed on assembly shaders where we write to GPU memory with raw pointers
479 // TODO: Call this only when NV_shader_buffer_load or NV_shader_buffer_store have been used
480 // and prefer using NV_shader_storage_buffer_object when possible
481 if (Settings::values.use_assembly_shaders.GetValue()) {
482 glMemoryBarrier(GL_BUFFER_UPDATE_BARRIER_BIT);
483 }
476 glFlush(); 484 glFlush();
477} 485}
478 486