我正在使用Google Pixel使用Vulkan开发应用。我成功地调用了vkCreateInstance
和渲染。但是,现在当我致电vkCreateInstance
时,我得到VK_ERROR_LAYER_NOT_PRESENT
。我没有请求任何图层,我只是尝试加载VK_KHR_SWAPCHAIN_EXTENSION_NAME
,VK_KHR_SURFACE_EXTENSION_NAME
,VK_KHR_ANDROID_SURFACE_EXTENSION_NAME
扩展名(代码与正在运行的代码保持不变)。
如果我下载其他Vulkan应用,则会报告相同的问题(例如Hardware CapsViewer for Vulkan)。此外,在加载应用时,我还会收到以下消息:
02-02 09:14:34.603 28290 28308 D vulkan : searching for layers in '/data/app/de.saschawillems.vulkancapsviewer-1/lib/arm'
02-02 09:14:34.603 28290 28308 D vulkan : searching for layers in '/system/fake-libs'
02-02 09:14:34.603 28290 28308 D vulkan : searching for layers in '/data/app/de.saschawillems.vulkancapsviewer-1/base.apk!/lib/armeabi-v7a'
在某些时候,我想获得一个帧捕获,以获得有关我在Google Pixel上遇到的图形问题的更好数据。我加载了Nvidia Tegra Profiler和Snapdragon Profiler。我怀疑其中一个工具改变了我的设备上的某些东西,导致它停止运作。
libvulkan.so之外的系统中是否存在所需的Android Vulkan层(存在并加载)?
当我运行adb shell getprop
时,这两个匹配' vulkan':
[debug.vulkan.layer.1]: [sdp]
[debug.vulkan.profiler]: [1]
这些(或许某些属性)可能导致它停止加载图层?
答案 0 :(得分:2)
这是属性。显然它们是由Snapdragon Profiler添加的,它没有正确关闭。如果我再次打开它并关闭它,它会在关机时设置这些属性,一切都会再次运行。
[debug.vulkan.layer.1]: []
[debug.vulkan.profiler]: [0]