diff --git a/app/src/main/cpp/skyline/services/nvdrv/devices/nvhost/gpu_channel.cpp b/app/src/main/cpp/skyline/services/nvdrv/devices/nvhost/gpu_channel.cpp index cf9b5f4d..2291634f 100644 --- a/app/src/main/cpp/skyline/services/nvdrv/devices/nvhost/gpu_channel.cpp +++ b/app/src/main/cpp/skyline/services/nvdrv/devices/nvhost/gpu_channel.cpp @@ -108,13 +108,13 @@ namespace skyline::service::nvdrv::device::nvhost { } } - channelCtx->gpfifo.Push(gpEntries.subspan(0, numEntries)); - fence.id = channelSyncpoint; u32 increment{(flags.fenceIncrement ? 2 : 0) + (flags.incrementWithValue ? fence.threshold : 0)}; fence.threshold = core.syncpointManager.IncrementSyncpointMaxExt(channelSyncpoint, increment); + channelCtx->gpfifo.Push(gpEntries.subspan(0, numEntries)); + if (flags.fenceIncrement) { // Wraparound if (pushBufferMemoryOffset + SyncpointIncrCmdMaxLen >= pushBufferMemory.size())