我正在尝试使用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上的图层工厂构建图层的过程,有人是否有任何建议?
答案 0 :(得分:-1)
您是否在https://vulkan.lunarg.com/doc/sdk/1.1.101.0/linux/layer_factory.html上查看了使用VLF的文档?