So I have been implementing syncing mechanisms to yuzu's switch emulator, aka Tegra X1 emulation and I already have: Semaphores, Syncpoints and Queries to some extent. I'm missing the barriers (GPU waits for CPU):
I got this from RE:
Barrier mode has priority (from highest to lowest):
1) 0x08 sets needsWfi=0 -> highest priority, does puller refcnt + split(0,0) + 0x100 NoOperation + rest of cmds + split(1,1)
2) 0x01 sets needsWfi=0 -> uses 0x0110 Serialize/"WaitForIdle"
3) 0x02 sets needsWfi=1 -> uses 0xDE0 (??)
4) 0x04 sets needsWfi=1 -> uses 0xF7C (??) <-- tile related? Used by nvnQueue_ctrlTiledDownsample
5) nothing; sets needsWfi=0
Do you guys know any info on this and how the GPU must behave in each situation. For instance, on Serialize, what should the GPU be waiting for? I do know you guys use that one not sure on the rest.
_______________________________________________ Nouveau mailing list Nouveau@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/nouveau