diff options
| author | 2021-05-08 16:36:51 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:30 -0400 | |
| commit | dc02cb92e43d2ef05197e4edb2573116d7ae58c1 (patch) | |
| tree | d75b0e2dd0db4bceb9503ae4da5ad0d1009b70b6 /src | |
| parent | glasm: Initial GLASM compute implementation for testing (diff) | |
| download | yuzu-dc02cb92e43d2ef05197e4edb2573116d7ae58c1.tar.gz yuzu-dc02cb92e43d2ef05197e4edb2573116d7ae58c1.tar.xz yuzu-dc02cb92e43d2ef05197e4edb2573116d7ae58c1.zip | |
gl_rasterizer: Flush L2 caches before glFlush on GLASM
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 8 |
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 | ||