diff --git a/contributing/development/compiling/compiling_for_windows.rst b/contributing/development/compiling/compiling_for_windows.rst index 716208569..3cf268d19 100644 --- a/contributing/development/compiling/compiling_for_windows.rst +++ b/contributing/development/compiling/compiling_for_windows.rst @@ -178,7 +178,7 @@ To compile Godot with Direct3D 12 support you need at least the following: it anywhere, unzip it and remember the path to the unzipped folder, you will need it below. - `godot-nir-static library `_. - We compile the MESA libraries you will need into a static library. Download it + We compile the Mesa libraries you will need into a static library. Download it anywhere, unzip it and remember the path to the unzipped folder, you will need it below. @@ -197,29 +197,47 @@ To compile Godot with Direct3D 12 support you need at least the following: Optionally, you can compile with the following for additional features: -- `Pix `_: Download the - WinPixEventRuntime package. You will be taken to a NuGet package page where - you can click "Download package" to get it. Once downloaded, change the file - extension to .zip and unzip the file to some path. -- `Agility SDK `_: Download - the latest Agility SDK package. You will be taken to a NuGet package page where - you can click "Download package" to get it. Once downloaded, change the file - extension to .zip and unzip the file to some path. +- `PIX `_ is a performance tuning + and debugging application for Direct3D12 applications. If you compile-in + support for it, you can get much more detailed information through PIX that + will help you optimize your game and troubleshoot graphics bugs. To use it, + download the WinPixEventRuntime package. You will be taken to a NuGet package + page where you can click "Download package" to get it. Once downloaded, change + the file extension to .zip and unzip the file to some path. +- `Agility SDK `_ can + be used to provide access to the latest Direct3D 12 features without relying + on driver updates. To use it, download the latest Agility SDK package. You + will be taken to a NuGet package page where you can click "Download package" + to get it. Once downloaded, change the file extension to .zip and unzip the + file to some path. -.. note:: If you use a preview version of the Agility SDK, remember to enable developer mode in Windows; otherwise it won't be used. +.. note:: If you use a preview version of the Agility SDK, remember to enable + developer mode in Windows; otherwise it won't be used. -When building Godot, you will need to tell SCons to use Direct3D 12 and where to look for the additional libraries:: +When building Godot, you will need to tell SCons to use Direct3D 12 and where to +look for the additional libraries:: - C:\godot> scons platform=windows d3d12=yes DXC_PATH=<...> plus mesa_libs=<...> + C:\godot> scons platform=windows d3d12=yes dxc_path=<...> mesa_libs=<...> Or, with all options enabled:: - C:\godot> scons platform=windows d3d12=yes DXC_PATH=<...> plus mesa_libs=<...> AGILITY_SDK_PATH=<...> PIX_PATH=<...> + C:\godot> scons platform=windows d3d12=yes dxc_path=<...> mesa_libs=<...> agility_sdk_path=<...> pix_path=<...> -.. note:: The build process will copy dxil.dll from the bin// directory in the DXC folder to the Godot binary directory and the appropriate bin/ file in the Godot binary directory. Direct3D 12-enabled Godot packages for distribution to end users must include the dxil.dll (and relevant folders if using multi-arch), both for the editor and games. - At runtime, the renderer will try to load the DLL from the arch-specific folders, and will fall back to the same directory as the Godot executable if the appropriate arch isn't found. +.. note:: The build process will copy ``dxil.dll`` from the ``bin//`` + directory in the DXC folder to the Godot binary directory and the + appropriate ``bin/`` file in the Godot binary directory. + Direct3D 12-enabled Godot packages for distribution to end users must + include the ``dxil.dll`` (and relevant folders if using multi-arch), + both for the editor and games. At runtime, the renderer will try to + load the DLL from the arch-specific folders, and will fall back to the + same directory as the Godot executable if the appropriate arch isn't + found. -.. note:: For the Agility SDK's DLLs you have to explicitly choose the kind of workflow. Single-arch is the default (DLLs copied to bin/). If you pass ``agility_sdk_multi_arch=yes`` to SCons, you'll opt-in for multi-arch. DLLs will be copied to the appropiate bin// subdirectories and at runtime the right one will be loaded. +.. note:: For the Agility SDK's DLLs you have to explicitly choose the kind of + workflow. Single-arch is the default (DLLs copied to ``bin/``). If you + pass ``agility_sdk_multi_arch=yes`` to SCons, you'll opt-in for + multi-arch. DLLs will be copied to the appropriate ``bin//`` + subdirectories and at runtime the right one will be loaded. Development in Visual Studio ----------------------------