Maxwell3D/Puller: Fix regressions and syncing issues.

This commit is contained in:
Fernando Sahmkow
2022-10-19 06:21:51 +02:00
parent c3cae9d992
commit 3cb4498142
2 changed files with 9 additions and 13 deletions

View File

@ -75,11 +75,10 @@ void Puller::ProcessSemaphoreTriggerMethod() {
if (op == GpuSemaphoreOperation::WriteLong) {
const GPUVAddr sequence_address{regs.semaphore_address.SemaphoreAddress()};
const u32 payload = regs.semaphore_sequence;
std::function<void()> operation([this, sequence_address, payload] {
[this, sequence_address, payload] {
memory_manager.Write<u64>(sequence_address + sizeof(u64), gpu.GetTicks());
memory_manager.Write<u64>(sequence_address, payload);
});
rasterizer->SignalFence(std::move(operation));
}();
} else {
do {
const u32 word{memory_manager.Read<u32>(regs.semaphore_address.SemaphoreAddress())};