Как создать пользовательский слой с фабрикой слоев вулканов на Ubuntu? - PullRequest
2 голосов
/ 29 марта 2019

Я пытаюсь создать пользовательский слой в 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?

1 Ответ

0 голосов
/ 29 марта 2019

Вы смотрели документацию по использованию VLF на https://vulkan.lunarg.com/doc/sdk/1.1.101.0/linux/layer_factory.html?

...