gl_rasterizer: Flush L2 caches before glFlush on GLASM

This commit is contained in:
ReinUsesLisp 2021-05-08 16:36:51 -03:00 committed by ameerj
parent 2c81ad8311
commit dc02cb92e4
1 changed files with 8 additions and 0 deletions

View File

@ -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();
}