Still gotta emulate a very modern AMD GPU :)
Just the shader translation (from GCN -> SPIR-V so it can be passed to the host gfx driver) is quite a challenging task actually.
Not to mention the fact that the PS4 has an APU and utilizes Uniform memory access (UMA). A simplified explanation is that both the GPU and CPU can read/write the same memory (with _very_ high bandwidth compared to conventional PCs), which will likely make optimizing high-end games that take advantage of this difficult.
Thanks for that explanation; I read documents about the PS4 arch and those things seemed to be far more mainstream than how you explain it. Any good documents about those details or could I only know this if I was a PS4 (licensed) dev?
On paper it would be possible but at the very least the graphics drivers are going to get in your way (on purpose, for robustness and other reasons) so you'd need to be running like... a custom kernel module or custom graphics driver to do this. It's not safe to let a regular user-mode application do what a PS4 game can do. (The PS4 does security at a hypervisor level instead, and generally your game is not about to steal credit card numbers from another user-mode process on the console like it could on a desktop PC)
Not to mention the fact that the PS4 has an APU and utilizes Uniform memory access (UMA). A simplified explanation is that both the GPU and CPU can read/write the same memory (with _very_ high bandwidth compared to conventional PCs), which will likely make optimizing high-end games that take advantage of this difficult.