如何在 ubuntu 上使用 vulkan 层工厂构建自定义层?



我正在尝试使用 vulkan 层工厂在 ubuntu 上创建自定义层。我可以通过这样做在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,以便它指向/home/user/VulkanTools/build/layers/中的.so文件。

但是我收到此错误

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它可以工作,但是如果我将starter_layer的.json文件更改为指向.so文件,/home/user/VulkanTools/build/layers/则会出现与上述相同的错误。

我通过 apt-get 安装了 lunarg sdk,并尝试通过指定以下内容来构建该层:

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 上使用层工厂构建层的过程有任何建议?

您是否查看了在 https://vulkan.lunarg.com/doc/sdk/1.1.101.0/linux/layer_factory.html 使用 VLF 的文档?

最新更新