Thats not what you are doing when developing a high performance emulator. The API entry points are located and intercepted and wrapped around existing APIs. Of course if you want to have a slow emulator you can optionally try to emulate the GPU at HW level.That's not true for most consoles ... (the HLE strategy you mentioned isn't going to work for modern consoles)
Console games do offline compilation for their shaders and ship native GPU bytecode which is why runtime shader/pipeline compilation (increased load times/stutter) doesn't exist on consoles compared to PC ...
Console gfx APIs like GNM or Xbox D3D are statically linked (anti-HLE) too so it's totally pointless to reimplement APIs when games emit PM4 packets. You obviously have no understanding about GPU emulation at all ...
That having said, a few things typically need to be emulated - for instance non existing texture formats and similar things if not directly supported by the target HW. Shaders need to be translated either statically or dynamically - but thats what you need to do anyway - independent of the question if the CPU is ARM or not.
In addition - and as far as Direct3d is concerned - offline precompiled shaders are in binary DXIL format and are still HW independent.
Last edited: