Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Multiple implementations suck because implementors rarely aim for full compliance, and now you have to have as many code paths as there are implementations to account for the differences between them. Best to have a single implementation that everybody agrees on -- like the winner of the graphics API wars, Direct3D.


I don't know what you are talking about. Direct3D is Windows only. Metal is iOS and Mac only. Vulkan is in theory supported on all platforms but UWP doesn't allow it and Mac requires a compatibility wrapper.

If anything the graphics API war is still going on.


Vulkan is only supported on the Switch, in what concerns game consoles.

And even there one can choose GL 4.5 and NVN as well.

Most native titles end up going with NVN.


> Best to have a single implementation that everybody agrees on -- like the winner of the graphics API wars, Direct3D.

Ah yes, D3D, well known for its broad cross platform support! In all seriousness, would a Linux D3D driver even be legal? I have to assume that major legal or technical barriers exist, otherwise why wouldn't a GPU vendor have developed one at some point?


Mesa actually does support D3D9 natively for AMD (and, sort of, Intel) GPUs via the Gallium Nine project, and there is a branch of Wine that uses it.

But these days that's mostly superseded by DXVK (which implements D3D9 through 11 over Vulkan, kind of like Zink in the OP) and VKD3D (D3D12 over Vulkan).


D3D drivers for Linux exist but it's through a compatibility layer. https://github.com/doitsujin/dxvk


I don't think a compatibility layer implemented in software is the same as a driver implemented by the vendor that interacts directly with the hardware.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: