diff options
| author | 2021-06-07 02:04:35 +0200 | |
|---|---|---|
| committer | 2021-06-11 17:27:17 +0200 | |
| commit | 588ab44470e65d4e2ec010aa48bb5f430d301f81 (patch) | |
| tree | f803a81a823eaea6b37b5303976cd32a56f3a202 /src/video_core/gpu_thread.cpp | |
| parent | rasterizer: Update pages in batches (diff) | |
| download | yuzu-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.cpp | 24 |
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 | ||
| 123 | void ThreadManager::InvalidateRegion(VAddr addr, u64 size) { | 111 | void ThreadManager::InvalidateRegion(VAddr addr, u64 size) { |