diff options
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 10 | ||||
| -rw-r--r-- | src/video_core/texture_cache/texture_cache.h | 2 |
2 files changed, 11 insertions, 1 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() { | |||
| 682 | } | 682 | } |
| 683 | 683 | ||
| 684 | void RasterizerOpenGL::SignalFence(GPUVAddr addr, u32 value) { | 684 | void RasterizerOpenGL::SignalFence(GPUVAddr addr, u32 value) { |
| 685 | auto& gpu{system.GPU()}; | ||
| 686 | if (!gpu.IsAsync()) { | ||
| 687 | auto& memory_manager{gpu.MemoryManager()}; | ||
| 688 | memory_manager.Write<u32>(addr, value); | ||
| 689 | return; | ||
| 690 | } | ||
| 685 | fence_manager.SignalFence(addr, value); | 691 | fence_manager.SignalFence(addr, value); |
| 686 | } | 692 | } |
| 687 | 693 | ||
| 688 | void RasterizerOpenGL::ReleaseFences() { | 694 | void RasterizerOpenGL::ReleaseFences() { |
| 695 | auto& gpu{system.GPU()}; | ||
| 696 | if (!gpu.IsAsync()) { | ||
| 697 | return; | ||
| 698 | } | ||
| 689 | fence_manager.WaitPendingFences(); | 699 | fence_manager.WaitPendingFences(); |
| 690 | } | 700 | } |
| 691 | 701 | ||
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index e251a30c3..e1a1edbd2 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h | |||
| @@ -252,7 +252,7 @@ public: | |||
| 252 | auto& surface = render_targets[index].target; | 252 | auto& surface = render_targets[index].target; |
| 253 | surface->MarkAsRenderTarget(false, NO_RT); | 253 | surface->MarkAsRenderTarget(false, NO_RT); |
| 254 | const auto& cr_params = surface->GetSurfaceParams(); | 254 | const auto& cr_params = surface->GetSurfaceParams(); |
| 255 | if (!cr_params.is_tiled) { | 255 | if (!cr_params.is_tiled && Settings::values.use_asynchronous_gpu_emulation) { |
| 256 | AsyncFlushSurface(surface); | 256 | AsyncFlushSurface(surface); |
| 257 | } | 257 | } |
| 258 | } | 258 | } |