Android:Vulkan 层已停止在设备上运行

Android: Vulkan layers have stopped functioning on device

我正在使用 Google Pixel 使用 Vulkan 开发应用程序。我成功地调用了 vkCreateInstance,并进行了渲染。但是,现在当我调用 vkCreateInstance 时,我得到 VK_ERROR_LAYER_NOT_PRESENT。我没有请求任何层,我只是试图加载 VK_KHR_SWAPCHAIN_EXTENSION_NAMEVK_KHR_SURFACE_EXTENSION_NAMEVK_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。我怀疑其中一个工具更改了我设备上的某些内容,导致它停止运行。

Android 系统中是否存在所需的 Android Vulkan 层 libvulkan.so(存在并加载)?

当我运行adb shell getprop,这两个匹配'vulkan':

[debug.vulkan.layer.1]: [sdp]
[debug.vulkan.profiler]: [1]

这些(或者可能是某些属性)可能会导致它停止加载图层?

是属性。显然它们是由 Snapdragon Profiler 添加的,它没有正确关闭。如果我再次打开它,然后关闭它,它会在关机时设置这些属性,然后一切都会再次正常。

[debug.vulkan.layer.1]: []
[debug.vulkan.profiler]: [0]