4 ms·
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 direc
by monocasa 3y 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.
- reroute22 3y agoWow, 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.
- monocasa 3y agoIt'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/display/directx-graphics-kernel-subsystem 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/ddi/d3d12umddi/ 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.
- reroute22 3y agoThanks!
- valleyer 3y agoFWIW, this is also how Metal and OpenGL work on macOS. It's hard work, for sure, but it's also a pretty common pattern.