summaryrefslogtreecommitdiff
path: root/src/video_core/engines/puller.cpp
diff options
context:
space:
mode:
authorGravatar Fernando S2022-10-22 13:06:03 +0200
committerGravatar GitHub2022-10-22 13:06:03 +0200
commit0860fffd78e5c0a833bd0285d651a4615d29c4f4 (patch)
treeb9a87dee479da5e0bffbfd29f762c1bbde56c3af /src/video_core/engines/puller.cpp
parentMerge pull request #9106 from lioncash/copy-err (diff)
parentMaxwell3D/Puller: Fix regressions and syncing issues. (diff)
downloadyuzu-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.cpp5
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())};