summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_core/gpu_thread.cpp4
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp3
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp4
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
86void ThreadManager::FlushRegion(VAddr addr, u64 size) { 86void 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
655bool RasterizerOpenGL::MustFlushRegion(VAddr addr, u64 size) { 655bool 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
521bool RasterizerVulkan::MustFlushRegion(VAddr addr, u64 size) { 522bool 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