diff options
| author | 2022-10-22 13:06:03 +0200 | |
|---|---|---|
| committer | 2022-10-22 13:06:03 +0200 | |
| commit | 0860fffd78e5c0a833bd0285d651a4615d29c4f4 (patch) | |
| tree | b9a87dee479da5e0bffbfd29f762c1bbde56c3af /src/video_core/engines/puller.cpp | |
| parent | Merge pull request #9106 from lioncash/copy-err (diff) | |
| parent | Maxwell3D/Puller: Fix regressions and syncing issues. (diff) | |
| download | yuzu-0860fffd78e5c0a833bd0285d651a4615d29c4f4.tar.gz yuzu-0860fffd78e5c0a833bd0285d651a4615d29c4f4.tar.xz yuzu-0860fffd78e5c0a833bd0285d651a4615d29c4f4.zip | |
Merge pull request #9095 from FernandoS27/meat-good-vegetable-bad
Maxwell3D/Puller: Fix regressions and syncing issues.
Diffstat (limited to 'src/video_core/engines/puller.cpp')
| -rw-r--r-- | src/video_core/engines/puller.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/video_core/engines/puller.cpp b/src/video_core/engines/puller.cpp index cca890792..3977bb0fb 100644 --- a/src/video_core/engines/puller.cpp +++ b/src/video_core/engines/puller.cpp | |||
| @@ -75,11 +75,10 @@ void Puller::ProcessSemaphoreTriggerMethod() { | |||
| 75 | if (op == GpuSemaphoreOperation::WriteLong) { | 75 | if (op == GpuSemaphoreOperation::WriteLong) { |
| 76 | const GPUVAddr sequence_address{regs.semaphore_address.SemaphoreAddress()}; | 76 | const GPUVAddr sequence_address{regs.semaphore_address.SemaphoreAddress()}; |
| 77 | const u32 payload = regs.semaphore_sequence; | 77 | const u32 payload = regs.semaphore_sequence; |
| 78 | std::function<void()> operation([this, sequence_address, payload] { | 78 | [this, sequence_address, payload] { |
| 79 | memory_manager.Write<u64>(sequence_address + sizeof(u64), gpu.GetTicks()); | 79 | memory_manager.Write<u64>(sequence_address + sizeof(u64), gpu.GetTicks()); |
| 80 | memory_manager.Write<u64>(sequence_address, payload); | 80 | memory_manager.Write<u64>(sequence_address, payload); |
| 81 | }); | 81 | }(); |
| 82 | rasterizer->SignalFence(std::move(operation)); | ||
| 83 | } else { | 82 | } else { |
| 84 | do { | 83 | do { |
| 85 | const u32 word{memory_manager.Read<u32>(regs.semaphore_address.SemaphoreAddress())}; | 84 | const u32 word{memory_manager.Read<u32>(regs.semaphore_address.SemaphoreAddress())}; |