summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-02-18 16:26:31 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-04-22 17:36:12 +0200
commite84eb64e511cd4699cc2371744fccd24628c0749 (patch)
tree43a80c0ecc15f781cf5fdba70deaaa46260683ec /src/video_core/renderer_opengl
parentThreadManager: Sync async reads on accurate gpu. (diff)
downloadyuzu-e84eb64e511cd4699cc2371744fccd24628c0749.tar
yuzu-e84eb64e511cd4699cc2371744fccd24628c0749.tar.gz
yuzu-e84eb64e511cd4699cc2371744fccd24628c0749.tar.bz2
yuzu-e84eb64e511cd4699cc2371744fccd24628c0749.tar.lz
yuzu-e84eb64e511cd4699cc2371744fccd24628c0749.tar.xz
yuzu-e84eb64e511cd4699cc2371744fccd24628c0749.tar.zst
yuzu-e84eb64e511cd4699cc2371744fccd24628c0749.zip
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index bbf37a00d..ffa0a0429 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -682,10 +682,20 @@ void RasterizerOpenGL::SyncGuestHost() {
}
void RasterizerOpenGL::SignalFence(GPUVAddr addr, u32 value) {
+ auto& gpu{system.GPU()};
+ if (!gpu.IsAsync()) {
+ auto& memory_manager{gpu.MemoryManager()};
+ memory_manager.Write<u32>(addr, value);
+ return;
+ }
fence_manager.SignalFence(addr, value);
}
void RasterizerOpenGL::ReleaseFences() {
+ auto& gpu{system.GPU()};
+ if (!gpu.IsAsync()) {
+ return;
+ }
fence_manager.WaitPendingFences();
}