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

时间:2019-03-29 06:55:27

标签: 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,使其指向.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,它可以工作,但是如果我将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上的图层工厂构建图层的过程,有人是否有任何建议?

1 个答案:

答案 0 :(得分:-1)

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