(also I think the actual problem isn't a generic D3D9 emulation, but that a good emulation needs to implement thousands of game-specific performance and compatibility hacks which are usually taken care of by the GPU vendor or Microsoft)
(also I think the actual problem isn't a generic D3D9 emulation, but that a good emulation needs to implement thousands of game-specific performance and compatibility hacks which are usually taken care of by the GPU vendor or Microsoft)
Unfortunately, it looks like it's up to the application developer to support it, unless I'm reading it wrong.
[1] https://arstechnica.com/gadgets/2022/08/intel-turns-to-code-...
They may be using both of those. They mention in the video linked from the article that the driver is choosing between native and the hybrid approach where appropriate, depending on what game/app is running. Maybe they also choose between different hybrid options as well?
There's zero sense in writing a DX9 driver today. Not with the performance you can get out of DXVK. Most of the remaining popular games on DX9 will be moved to native Vulkan or DX12 at a point regardless.
And no, you cannot fully emulate all of these early 3D games, some of them will still crawl in software.
Finally, how do you port a game you do not have the source code for ?