xref: /aosp_15_r20/external/mesa3d/docs/drivers/d3d12.rst (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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