summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_thread.cpp
diff options
context:
space:
mode:
authorGravatar Mai M2021-06-11 14:26:54 -0400
committerGravatar GitHub2021-06-11 14:26:54 -0400
commit9951322e5a37a604e185ae7013af7c4cfc5c35f8 (patch)
tree6d765e2d635990de4acb98c1e2b6ce125546f629 /src/video_core/gpu_thread.cpp
parentMerge pull request #6443 from Morph1984/k-light-condition-variable (diff)
parentcommon/host_memory: Implement a fallback if fastmem fails. (diff)
downloadyuzu-9951322e5a37a604e185ae7013af7c4cfc5c35f8.tar.gz
yuzu-9951322e5a37a604e185ae7013af7c4cfc5c35f8.tar.xz
yuzu-9951322e5a37a604e185ae7013af7c4cfc5c35f8.zip
Merge pull request #6422 from FernandoS27/i-am-the-senate
Implement/Port Fastmem from Citra to Yuzu
Diffstat (limited to 'src/video_core/gpu_thread.cpp')
-rw-r--r--src/video_core/gpu_thread.cpp24
1 files changed, 6 insertions, 18 deletions
diff --git a/src/video_core/gpu_thread.cpp b/src/video_core/gpu_thread.cpp
index cd1fbb9bf..46f642b19 100644
--- a/src/video_core/gpu_thread.cpp
+++ b/src/video_core/gpu_thread.cpp
@@ -99,25 +99,13 @@ void ThreadManager::FlushRegion(VAddr addr, u64 size) {
99 PushCommand(FlushRegionCommand(addr, size)); 99 PushCommand(FlushRegionCommand(addr, size));
100 return; 100 return;
101 } 101 }
102 102 if (!Settings::IsGPULevelExtreme()) {
103 // Asynchronous GPU mode 103 return;
104 switch (Settings::values.gpu_accuracy.GetValue()) {
105 case Settings::GPUAccuracy::Normal:
106 PushCommand(FlushRegionCommand(addr, size));
107 break;
108 case Settings::GPUAccuracy::High:
109 // TODO(bunnei): Is this right? Preserving existing behavior for now
110 break;
111 case Settings::GPUAccuracy::Extreme: {
112 auto& gpu = system.GPU();
113 u64 fence = gpu.RequestFlush(addr, size);
114 PushCommand(GPUTickCommand(), true);
115 ASSERT(fence <= gpu.CurrentFlushRequestFence());
116 break;
117 }
118 default:
119 UNIMPLEMENTED_MSG("Unsupported gpu_accuracy {}", Settings::values.gpu_accuracy.GetValue());
120 } 104 }
105 auto& gpu = system.GPU();
106 u64 fence = gpu.RequestFlush(addr, size);
107 PushCommand(GPUTickCommand(), true);
108 ASSERT(fence <= gpu.CurrentFlushRequestFence());
121} 109}
122 110
123void ThreadManager::InvalidateRegion(VAddr addr, u64 size) { 111void ThreadManager::InvalidateRegion(VAddr addr, u64 size) {