summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_thread.cpp
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2021-06-07 02:04:35 +0200
committerGravatar Markus Wick2021-06-11 17:27:17 +0200
commit588ab44470e65d4e2ec010aa48bb5f430d301f81 (patch)
treef803a81a823eaea6b37b5303976cd32a56f3a202 /src/video_core/gpu_thread.cpp
parentrasterizer: Update pages in batches (diff)
downloadyuzu-588ab44470e65d4e2ec010aa48bb5f430d301f81.tar.gz
yuzu-588ab44470e65d4e2ec010aa48bb5f430d301f81.tar.xz
yuzu-588ab44470e65d4e2ec010aa48bb5f430d301f81.zip
GPUTHread: Remove async reads from Normal Accuracy.
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) {