| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 | .. _doc_vulkan_validation_layers:Validation layers=================Validation layers enable developers to verify their application's correct use ofthe Vulkan API. Validation layers can be enabled in both debug and releasebuilds, including in exported projects... note::    Enabling validation layers has a performance impact, so only enable them    when you actually need the output to debug the application.Windows-------Install the Vulkan SDK `<https://vulkan.lunarg.com/sdk/home>`__, which containsvalidation layers as part of its default installation. No need to enable anyoptional features in the installer; installing the core Vulkan SDK suffices. Youdon't need to reboot after installing the SDK, but you may need to close andreopen your current terminal.After installing the Vulkan SDK, run Godot with the ``--gpu-validation``:ref:`command line argument <doc_command_line_tutorial>`. You can also specify``--gpu-abort`` which will make Godot quit as soon as a validation error happens.This can prevent your system from freezing if a validation error occurs.macOS-----.. warning::    Official Godot macOS builds do **not** support validation layers, as these    are statically linked against the Vulkan SDK. Dynamic linking must be used    instead.    In practice, this means that using validation layers on macOS **requires**    you to use a Godot build compiled with the ``use_volk=yes`` SCons option.    :ref:`doc_compiling_for_macos`. If testing validation layers on an exported    project, you must recompile the export template and specify it as a custom    export template in your project's macOS export preset.Install the Vulkan SDK `<https://vulkan.lunarg.com/sdk/home>`__, which containsvalidation layers as part of its default installation. No need to enable anyoptional features in the installer; installing the core Vulkan SDK suffices. Youdon't need to reboot after installing the SDK, but you may need to close andreopen your current terminal.After installing the Vulkan SDK, run a Godot binary that was compiled with``use_volk=yes`` SCons option. Specify the ``--gpu-validation``:ref:`command line argument <doc_command_line_tutorial>`.You can also specify ``--gpu-abort`` which will make Godot quit as soonas a validation error happens. This can prevent your system from freezingif a validation error occurs.Linux, \*BSD------------Install Vulkan validation layers from your distribution's repositories:.. tabs::    .. tab:: Alpine Linux        ::            vulkan-validation-layers    .. tab:: Arch Linux        ::            pacman -S vulkan-validation-layers    .. tab:: Debian/Ubuntu        ::            apt install vulkan-validationlayers    .. tab:: Fedora        ::            dnf install vulkan-validation-layers    .. tab:: FreeBSD        ::            pkg install graphics/vulkan-validation-layers    .. tab:: Gentoo        ::            emerge -an media-libs/vulkan-layers    .. tab:: Mageia        ::            urpmi vulkan-validation-layers    .. tab:: OpenBSD        ::            pkg_add graphics/vulkan-validation-layers    .. tab:: openSUSE        ::            zypper install vulkan-validationlayers    .. tab:: Solus        ::            eopkg install -c vulkan-validation-layersYou don't need to reboot after installing the validation layers, but you mayneed to close and reopen your current terminal.After installing the package, run Godot with the ``--gpu-validation``:ref:`command line argument <doc_command_line_tutorial>`. You can also specify``--gpu-abort`` which will make Godot quit as soon as a validation error happens.This can prevent your system from freezing if a validation error occurs... _doc_vulkan_validation_layers_android:Android-------After enabling validation layers on Android, a developer can see errors andwarning messages in the ``adb logcat`` output.iOS---Validation layers are currently **not** supported on iOS.Web---Validation layers are **not** supported on the web platform, as there is no supportfor Vulkan there.Enabling validation layers~~~~~~~~~~~~~~~~~~~~~~~~~~Build validation layers from official sources^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^To build Android libraries, follow the instructions on`Khronos' repository  <https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/BUILD.md#building-on-android>`__.After a successful build, the libraries will be located in ``Vulkan-ValidationLayers/build-android/libs``.Copy libraries^^^^^^^^^^^^^^Copy libraries from ``Vulkan-ValidationLayers/build-android/libs`` to``godot/platform/android/java/app/libs/debug/vulkan_validation_layers``.Your Godot source directory tree should look like on the example below:::    godot    |-- platform        |-- android            |-- java                |-- app                    |-- libs                        |-- debug                            |-- vulkan_validation_layers                                |-- arm64-v8a                                |-- armeabi-v7a                                |-- x86                                |-- x86_64If the subdirectory ``libs/debug/vulkan_validation_layers`` doesn't exist, create it.Compile and run the Android app^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Linked validation layers are automatically loaded and enabled in Android debug builds.You can use Godot's :ref:`doc_one-click_deploy` feature to quickly test your project with the validation layers enabled.
 |