D3D12 ===== Overview -------- The D3D12 driver is a Gallium driver that emits API calls for Microsoft's :abbr:`D3D12 (Direct3D 12)` API instead of targeting a specific GPU architecture. This can be used to get full desktop OpenGL 3.3 support on devices that only support D3D12. Debugging --------- There's a few tools that are useful for debugging D3D12, such as these environment variables: .. envvar:: D3D12_DEBUG ("") ``verbose`` Enable verbose output to stdout ``blit`` Trace blit and copy resource calls ``experimental`` Enable experimental shader models feature ``dxil`` Dump DXIL during program compile ``disass`` Dump disassambly of created DXIL shader ``res`` Debug resources ``debuglayer`` Enable `debug layer`_ ``gpuvalidator`` Enable `GPU validator`_ .. envvar:: DXIL_DEBUG ("") ``verbose`` Enable verbose output to stdout ``dump_blob`` Write shader blobs ``trace`` Trace instruction conversion ``dump_module`` dump module tree to stderr .. _debug layer: https://docs.microsoft.com/en-us/windows/win32/direct3d12/understanding-the-d3d12-debug-layer .. _GPU validator: https://docs.microsoft.com/en-us/windows/win32/direct3d12/using-d3d12-debug-layer-gpu-based-validation Utilities --------- Environment variables that control the behavior of the D3D12 driver. .. envvar:: MESA_D3D12_DEFAULT_ADAPTER_NAME ("") Specifies a substring to search for when chosing a default adapter to run on. The first adapter matching the substring is chosen. The substring is not case sensitive.