Hacker News new | ask | show | jobs
by monocasa 956 days ago
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.

1 comments

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.