Уровни проверки
Уровни валидации (Validation) позволяют разработчикам проверять корректность использования API Vulkan в своих приложениях. Уровни валидации можно включить как в отладочных, так и в релизных сборках, в том числе в экспортированных проектах.
Примечание
Включение уровней проверки влияет на производительность, поэтому включайте их только тогда, когда вам действительно нужны выходные данные для отладки приложения.
Windows
Установите Vulkan SDK https://vulkan.lunarg.com/sdk/home, который содержит уровни проверки в составе стандартной установки. Не нужно включать дополнительные функции в установщике; достаточно установить базовый Vulkan SDK. Перезагрузка после установки SDK не требуется, но может потребоваться закрыть и снова открыть текущий терминал.
После установки Vulkan SDK запустите Godot с аргументом командной строки --gpu-validation. Вы также можете указать --gpu-abort, чтобы Godot завершил работу сразу после возникновения ошибки валидации. Это поможет предотвратить зависание системы при возникновении ошибки валидации.
macOS
Предупреждение
Официальные сборки Godot для macOS не поддерживают слои валидации, поскольку они статически связаны с Vulkan SDK. Вместо этого необходимо использовать динамическую линковку.
На практике это означает, что для использования слоёв проверки в macOS требуется использовать сборку Godot, скомпилированную с опцией use_volk=yes SCons. Компиляция для macOS. При тестировании слоёв проверки в экспортированном проекте необходимо перекомпилировать шаблон экспорта и указать его как пользовательский шаблон экспорта в настройках экспорта вашего проекта в macOS.
Установите Vulkan SDK https://vulkan.lunarg.com/sdk/home, который содержит уровни проверки в составе стандартной установки. Не нужно включать дополнительные функции в установщике; достаточно установить базовый Vulkan SDK. Перезагрузка после установки SDK не требуется, но может потребоваться закрыть и снова открыть текущий терминал.
После установки Vulkan SDK запустите исполняемый файл Godot, скомпилированный с опцией SCons use_volk=yes. Укажите --gpu-validation аргумент командной строки. Вы также можете указать --gpu-abort, чтобы Godot завершил работу сразу после возникновения ошибки валидации. Это поможет предотвратить зависание системы при возникновении ошибки валидации.
Linux, *BSD
Установите слои проверки Vulkan из репозиториев вашего дистрибутива:
vulkan-validation-layers
pacman -S vulkan-validation-layers
apt install vulkan-validationlayers
dnf install vulkan-validation-layers
pkg install graphics/vulkan-validation-layers
emerge -an media-libs/vulkan-layers
urpmi vulkan-validation-layers
pkg_add graphics/vulkan-validation-layers
zypper install vulkan-validationlayers
eopkg install -c vulkan-validation-layers
После установки слоев проверки перезагрузка не требуется, но может потребоваться закрыть и снова открыть текущий терминал.
После установки пакета запустите Godot с аргументом командной строки --gpu-validation. Вы также можете указать --gpu-abort, чтобы Godot завершил работу сразу после возникновения ошибки валидации. Это поможет предотвратить зависание системы при возникновении ошибки валидации.
iOS
Слои проверки в настоящее время не поддерживаются в iOS.
Web
Уровни проверки не поддерживаются на веб-платформе, поскольку там нет поддержки Vulkan.
Android
После включения уровней проверки на Android разработчик может увидеть ошибки и предупреждающие сообщения в выводе adb logcat.
Включение уровней проверки
Создание проверочных слоев из официальных источников
Чтобы собрать библиотеки Android, следуйте инструкциям в репозитории Khronos'. После успешной сборки библиотеки будут размещены в Vulkan-ValidationLayers/build-android/libs.
Копировать библиотеки
Скопируйте библиотеки из Vulkan-ValidationLayers/build-android/libs в godot/platform/android/java/app/libs/debug/vulkan_validation_layers.
Дерево исходных каталогов Godot должно выглядеть так, как показано на примере ниже:
godot
|-- platform
|-- android
|-- java
|-- app
|-- libs
|-- debug
|-- vulkan_validation_layers
|-- arm64-v8a
|-- armeabi-v7a
|-- x86
|-- x86_64
Если подкаталог libs/debug/vulkan_validation_layers не существует, создайте его.
Скомпилируйте и запустите приложение (app) для Android
Связанные слои валидации автоматически загружаются и включаются в отладочных сборках Android. Вы можете использовать функцию Godot Развёртывание в один клик для быстрого тестирования проекта с включёнными слоями валидации (validation).