diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-04-19 19:47:45 +0200 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-04-22 17:36:26 +0200 |
commit | 39e5b7294898c45cf247b61e46ef735bd16e96ae (patch) | |
tree | 5386810c59b46a2f81087be1ca8a58dd319995bb /src/video_core | |
parent | MaxwellDMA: Correct copying on accuracy level. (diff) | |
download | yuzu-39e5b7294898c45cf247b61e46ef735bd16e96ae.tar yuzu-39e5b7294898c45cf247b61e46ef735bd16e96ae.tar.gz yuzu-39e5b7294898c45cf247b61e46ef735bd16e96ae.tar.bz2 yuzu-39e5b7294898c45cf247b61e46ef735bd16e96ae.tar.lz yuzu-39e5b7294898c45cf247b61e46ef735bd16e96ae.tar.xz yuzu-39e5b7294898c45cf247b61e46ef735bd16e96ae.tar.zst yuzu-39e5b7294898c45cf247b61e46ef735bd16e96ae.zip |
Diffstat (limited to 'src/video_core')
-rw-r--r-- | src/video_core/gpu_thread.cpp | 4 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 3 | ||||
-rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/gpu_thread.cpp b/src/video_core/gpu_thread.cpp index 7df854a2f..c3bb4fe06 100644 --- a/src/video_core/gpu_thread.cpp +++ b/src/video_core/gpu_thread.cpp @@ -84,6 +84,10 @@ void ThreadManager::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) { } void ThreadManager::FlushRegion(VAddr addr, u64 size) { + if (!Settings::IsGPULevelHigh()) { + PushCommand(FlushRegionCommand(addr, size)); + return; + } if (!Settings::IsGPULevelExtreme()) { return; } diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index d662657cf..4c16c89d2 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -653,6 +653,9 @@ void RasterizerOpenGL::FlushRegion(VAddr addr, u64 size) { } bool RasterizerOpenGL::MustFlushRegion(VAddr addr, u64 size) { + if (!Settings::IsGPULevelHigh()) { + return buffer_cache.MustFlushRegion(addr, size); + } return texture_cache.MustFlushRegion(addr, size) || buffer_cache.MustFlushRegion(addr, size); } diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 2350cd5f4..0dc997916 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp @@ -17,6 +17,7 @@ #include "common/microprofile.h" #include "core/core.h" #include "core/memory.h" +#include "core/settings.h" #include "video_core/engines/kepler_compute.h" #include "video_core/engines/maxwell_3d.h" #include "video_core/renderer_vulkan/fixed_pipeline_state.h" @@ -519,6 +520,9 @@ void RasterizerVulkan::FlushRegion(VAddr addr, u64 size) { } bool RasterizerVulkan::MustFlushRegion(VAddr addr, u64 size) { + if (!Settings::IsGPULevelHigh()) { + return buffer_cache.MustFlushRegion(addr, size); + } return texture_cache.MustFlushRegion(addr, size) || buffer_cache.MustFlushRegion(addr, size); } |