|
|
|
@ -473,6 +473,14 @@ void RasterizerOpenGL::FlushCommands() {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
num_queued_commands = 0;
|
|
|
|
|
|
|
|
|
|
// Make sure memory stored from the previous GL command stream is visible
|
|
|
|
|
// This is only needed on assembly shaders where we write to GPU memory with raw pointers
|
|
|
|
|
// TODO: Call this only when NV_shader_buffer_load or NV_shader_buffer_store have been used
|
|
|
|
|
// and prefer using NV_shader_storage_buffer_object when possible
|
|
|
|
|
if (Settings::values.use_assembly_shaders.GetValue()) {
|
|
|
|
|
glMemoryBarrier(GL_BUFFER_UPDATE_BARRIER_BIT);
|
|
|
|
|
}
|
|
|
|
|
glFlush();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|