mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-09 19:00:20 +02:00
When thunks are jumping out, games are jumping /entirely/ out of their controlled code, which means we don't need to save and restore NZCV,PF,AF. Some CPUs don't fully rename direct accesses to this register which adds up during thunking. FPCR is also in the same situation where it'll force pipeline flushes and isn't renamed away, but we can't really avoid that. Improves performance at least in Detroit: Become human where the game spends ~48% CPU time inside of the thunk trampoline for `vkUpdateDescriptorSets`. I plan on a follow-up PR where I converge all these options into a struct argument instead, but that's a follow-up since I don't want to burn a bunch of time right now.