Я пытаюсь создать пользовательский слой в Ubuntu, используя фабрику слоев vulkan.Я могу успешно построить его на ветке sdk-1.1.101
, выполнив следующее:
cd VulkanTools
mkdir build
cd build
../scripts/update_deps.py
cmake -C helper.cmake ..
cmake --build .
Однако я не уверен, как на самом деле установить / запустить слой.Одно решение, которое я нашел, состоит в том, чтобы установить VK_LAYER_PATH=/home/user/VulkanTools/build/layers/staging-json/
и отредактировать .json для моего слоя так, чтобы он указывал на файл .so
в /home/user/VulkanTools/build/layers/
.
Однако я получаю эту ошибку
vk_image: /home/user/VulkanTools/build/Vulkan-ValidationLayers/build/install/include/vk_layer_logging.h:959: bool log_msg(const debug_report_data*, VkFlags, VkDebugReportObjectTypeEXT, uint64_t, std::__cxx11::string, const char*, ...): Assertion `0' failed.
Если я запускаю VK_LAYER_LUNARG_starter_layer
, он работает, однако, если я изменяю файл .json
для starter_layer, чтобы он указывал на файл .so
в /home/user/VulkanTools/build/layers/
, я получаю ту же ошибку, что и выше.
У меня установлен пакет lunarg sdk через apt-get, и я попытался построить слой, указав:
cmake -DCMAKE_INSTALL_PREFIX=build/install -DVULKAN_HEADERS_INSTALL_DIR=/usr/ -DVULKAN_LOADER_INSTALL_DIR=/usr/ -DVULKAN_VALIDATIONLAYERS_INSTALL_DIR=/usr/ ..
Но это приводит к:
[ 3%] Building CXX object layer_factory/CMakeFiles/VkLayer_assistant_layer.dir/layer_factory.cpp.o
/home/user/VulkanTools/build/layer_factory/layer_factory.cpp:31:10: fatal error: vk_loader_platform.h: No such file or directory
#include "vk_loader_platform.h"
^~~~~~~~~~~~~~~~~~~~~~
У кого-нибудь есть какие-либо советы относительнопроцесс построения слоев с использованием фабрики слоев на Ubuntu 18.04?