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