diff options
Diffstat (limited to 'src')
| -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) { | |||
| 84 | } | 84 | } |
| 85 | 85 | ||
| 86 | void ThreadManager::FlushRegion(VAddr addr, u64 size) { | 86 | void ThreadManager::FlushRegion(VAddr addr, u64 size) { |
| 87 | if (!Settings::IsGPULevelHigh()) { | ||
| 88 | PushCommand(FlushRegionCommand(addr, size)); | ||
| 89 | return; | ||
| 90 | } | ||
| 87 | if (!Settings::IsGPULevelExtreme()) { | 91 | if (!Settings::IsGPULevelExtreme()) { |
| 88 | return; | 92 | return; |
| 89 | } | 93 | } |
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) { | |||
| 653 | } | 653 | } |
| 654 | 654 | ||
| 655 | bool RasterizerOpenGL::MustFlushRegion(VAddr addr, u64 size) { | 655 | bool RasterizerOpenGL::MustFlushRegion(VAddr addr, u64 size) { |
| 656 | if (!Settings::IsGPULevelHigh()) { | ||
| 657 | return buffer_cache.MustFlushRegion(addr, size); | ||
| 658 | } | ||
| 656 | return texture_cache.MustFlushRegion(addr, size) || buffer_cache.MustFlushRegion(addr, size); | 659 | return texture_cache.MustFlushRegion(addr, size) || buffer_cache.MustFlushRegion(addr, size); |
| 657 | } | 660 | } |
| 658 | 661 | ||
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 @@ | |||
| 17 | #include "common/microprofile.h" | 17 | #include "common/microprofile.h" |
| 18 | #include "core/core.h" | 18 | #include "core/core.h" |
| 19 | #include "core/memory.h" | 19 | #include "core/memory.h" |
| 20 | #include "core/settings.h" | ||
| 20 | #include "video_core/engines/kepler_compute.h" | 21 | #include "video_core/engines/kepler_compute.h" |
| 21 | #include "video_core/engines/maxwell_3d.h" | 22 | #include "video_core/engines/maxwell_3d.h" |
| 22 | #include "video_core/renderer_vulkan/fixed_pipeline_state.h" | 23 | #include "video_core/renderer_vulkan/fixed_pipeline_state.h" |
| @@ -519,6 +520,9 @@ void RasterizerVulkan::FlushRegion(VAddr addr, u64 size) { | |||
| 519 | } | 520 | } |
| 520 | 521 | ||
| 521 | bool RasterizerVulkan::MustFlushRegion(VAddr addr, u64 size) { | 522 | bool RasterizerVulkan::MustFlushRegion(VAddr addr, u64 size) { |
| 523 | if (!Settings::IsGPULevelHigh()) { | ||
| 524 | return buffer_cache.MustFlushRegion(addr, size); | ||
| 525 | } | ||
| 522 | return texture_cache.MustFlushRegion(addr, size) || buffer_cache.MustFlushRegion(addr, size); | 526 | return texture_cache.MustFlushRegion(addr, size) || buffer_cache.MustFlushRegion(addr, size); |
| 523 | } | 527 | } |
| 524 | 528 | ||