diff --git a/docs/contents.rst b/docs/contents.rst index 5f2d0309690..cc578d4adc6 100644 --- a/docs/contents.rst +++ b/docs/contents.rst @@ -50,6 +50,7 @@ :caption: Drivers :hidden: + drivers/d3d12 drivers/freedreno drivers/llvmpipe drivers/openswr diff --git a/docs/drivers/d3d12.rst b/docs/drivers/d3d12.rst new file mode 100644 index 00000000000..aa03481055a --- /dev/null +++ b/docs/drivers/d3d12.rst @@ -0,0 +1,49 @@ +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