Apply suggestions from code review

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
This commit is contained in:
Clay John
2023-12-12 14:04:34 -07:00
committed by clayjohn
parent 26d2ef09f3
commit 671a844be4

View File

@@ -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 <https://github.com/godotengine/godot-nir-static/releases/>`_.
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 <https://devblogs.microsoft.com/pix/download>`_: 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 <https://devblogs.microsoft.com/directx/directx12agility>`_: 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 <https://devblogs.microsoft.com/pix/download>`_ 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 <https://devblogs.microsoft.com/directx/directx12agility>`_ 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/<arch>/ directory in the DXC folder to the Godot binary directory and the appropriate bin/<arch> 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/<arch>/``
directory in the DXC folder to the Godot binary directory and the
appropriate ``bin/<arch>`` 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/<arch>/ 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/<arch>/``
subdirectories and at runtime the right one will be loaded.
Development in Visual Studio
----------------------------