yuzu icon indicating copy to clipboard operation
yuzu copied to clipboard

GPU: Implement channel scheduling.

Open FernandoS27 opened this issue 5 months ago • 13 comments

This allows scheduling channels in the GPU and avoids games that have multiple channels from running a channel before another.

The scheduling algorithm is pretty simple and does not take into account timeslices. It just tries to give every channel an equal opportunity to run and lets channels yield when they are blocked by another.

It needs testing.

This may be needed for multiprocess emulation when one process's GPU channel requires a shared resource from another process's GPU channel to be finished.

Games that use multiple channels are very few and don't seem impacted by this.

~~EDIT: this seems to crash renderdocs~~

FernandoS27 avatar Jan 31 '24 16:01 FernandoS27