Hacker News new | ask | show | jobs
by reroute22 956 days ago
I've no idea exactly how MS licenses uses of DX, but just for context Imagination Technologies just released a custom GPU design that implements DirectX Feature Level 11_0 (which corresponds to earlier versions of DX 12 [1]): https://www.imaginationtech.com/news/imagination-launches-br...

Imagination Technologies is a near 40 year old British silicon IP company that has been doing GPUs for quite some time, just not ones supporting DX up until now, and it has nothing to do with MS (in terms of ownership / rights / etc).

[1] https://learn.microsoft.com/en-us/windows/win32/direct3d11/o...

1 comments

The way that works isn't that IMG ships a full directx implementation, but that they ship some kernel and user mode components that plug in to Microsoft's directx implementation such that when taken together, directx is accelerated by IMG's hardware.

Similarly, Microsoft would need to release the non GPU specific bits for macos to fit the same model.

Wow, that sounds like a very impressive level of separation of concerns. May I kindly ask for some links for further reading? If you have any handy.
It's a pretty standard driver model internal abstraction layer.

In kernel space you as the hardware manufacturer implement a display miniport driver, and heavily lean on dxgkrnl.sys

https://learn.microsoft.com/en-us/windows-hardware/drivers/d...

And implement interfaces like this one for D3D12 https://learn.microsoft.com/en-us/windows-hardware/drivers/d...

There's quite a bit though and it's kind of spread across several sections on MSDN.

Thanks!
FWIW, this is also how Metal and OpenGL work on macOS. It's hard work, for sure, but it's also a pretty common pattern.