1D3D12 2===== 3 4Overview 5-------- 6 7The D3D12 driver is a Gallium driver that emits API calls for Microsoft's 8:abbr:`D3D12 (Direct3D 12)` API instead of targeting a specific GPU 9architecture. This can be used to get full desktop OpenGL 3.3 support on 10devices that only support D3D12. 11 12Debugging 13--------- 14 15There's a few tools that are useful for debugging D3D12, such as these 16environment variables: 17 18.. envvar:: D3D12_DEBUG 19 20 Accepts the following comma-separated list of flags: 21 22 ``verbose`` 23 Enable verbose output to stdout 24 ``blit`` 25 Trace blit and copy resource calls 26 ``experimental`` 27 Enable experimental shader models feature 28 ``dxil`` 29 Dump DXIL during program compile 30 ``disass`` 31 Dump disassambly of created DXIL shader 32 ``res`` 33 Debug resources 34 ``debuglayer`` 35 Enable `debug layer`_ 36 ``gpuvalidator`` 37 Enable `GPU validator`_ 38 39.. envvar:: DXIL_DEBUG 40 41 Accepts the following comma-separated list of flags: 42 43 ``verbose`` 44 Enable verbose output to stdout 45 ``dump_blob`` 46 Write shader blobs 47 ``trace`` 48 Trace instruction conversion 49 ``dump_module`` 50 dump module tree to stderr 51 52.. _debug layer: https://learn.microsoft.com/en-us/windows/win32/direct3d12/understanding-the-d3d12-debug-layer 53.. _GPU validator: https://learn.microsoft.com/en-us/windows/win32/direct3d12/using-d3d12-debug-layer-gpu-based-validation 54 55Utilities 56--------- 57 58Environment variables that control the behavior of the D3D12 driver. 59 60.. envvar:: MESA_D3D12_DEFAULT_ADAPTER_NAME 61 62 Specifies a substring to search for when choosing a default adapter to 63 run on. The first adapter matching the substring is chosen. The substring 64 is not case sensitive. 65 66