diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-04-28 07:14:11 +0200 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-04-28 07:18:12 +0200 |
commit | fe931ac9761a813c8e7d195cf99bf68ff324839c (patch) | |
tree | 7a1b2a9c2a85ee0e93a19953f03b50530d085c5f /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
parent | Merge pull request #3766 from ReinUsesLisp/renderpass-cache-key (diff) | |
download | yuzu-fe931ac9761a813c8e7d195cf99bf68ff324839c.tar yuzu-fe931ac9761a813c8e7d195cf99bf68ff324839c.tar.gz yuzu-fe931ac9761a813c8e7d195cf99bf68ff324839c.tar.bz2 yuzu-fe931ac9761a813c8e7d195cf99bf68ff324839c.tar.lz yuzu-fe931ac9761a813c8e7d195cf99bf68ff324839c.tar.xz yuzu-fe931ac9761a813c8e7d195cf99bf68ff324839c.tar.zst yuzu-fe931ac9761a813c8e7d195cf99bf68ff324839c.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 6fe155bcc..0d07d2422 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -725,6 +725,17 @@ void RasterizerOpenGL::FlushAndInvalidateRegion(VAddr addr, u64 size) { InvalidateRegion(addr, size); } +void RasterizerOpenGL::WaitForIdle() { + // Place a barrier on everything that is not framebuffer related. + // This is related to another flag that is not currently implemented. + glMemoryBarrier(GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT | GL_ELEMENT_ARRAY_BARRIER_BIT | + GL_UNIFORM_BARRIER_BIT | GL_TEXTURE_FETCH_BARRIER_BIT | + GL_SHADER_IMAGE_ACCESS_BARRIER_BIT | GL_COMMAND_BARRIER_BIT | + GL_PIXEL_BUFFER_BARRIER_BIT | GL_TEXTURE_UPDATE_BARRIER_BIT | + GL_BUFFER_UPDATE_BARRIER_BIT | GL_TRANSFORM_FEEDBACK_BARRIER_BIT | + GL_SHADER_STORAGE_BARRIER_BIT | GL_QUERY_BUFFER_BARRIER_BIT); +} + void RasterizerOpenGL::FlushCommands() { // Only flush when we have commands queued to OpenGL. if (num_queued_commands == 0) { |