Brief explanation on what is and how DirectX* (DX) Direct3D9on12 (D3D9on12 or DX9on12)* works.
I don't understand D3D9On12*. What is it and how does it work?
D3D9On12 is a translation layer that maps graphics commands from D3D9 to D3D12. When an application creates a D3D9 device, they may choose for it to be a D3D9On12 device, rather than a native D3D9 device. When this happens, d3d9on12.dll is loaded by the D3D9 runtime and initialized. When the application calls rendering commands, D3D9 will validate those commands, and then will convert those commands to the D3D9 Device Driver Interface (DDI) and send it to D3D9On12, just like any D3D9 driver. D3D9On12 will take these commands and convert them into D3D12 API calls, which are further validated by the D3D12 runtime, optionally including the D3D12 debug layer, which are then converted to the D3D12 DDI and sent to the D3D12 driver.
If you encounter issues such as visual errors, artifacts, flickering, or even crashes, please contact Intel Support for help.
DX* is property of and is sustained by Microsoft. Troubleshooting of DX* apps and games issues require Intel to promote any findings to Microsoft Support so they can include the proper fixes in their next update of the operating system and the DX APIs.