|
@@ -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=<...>
|
|
|
-
|
|
|
-.. 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.
|
|
|
+ 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:: 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
|
|
|
----------------------------
|