安卓系统:Vulkan层已停止在设备上运行

Android: Vulkan layers have stopped functioning on device

本文关键字:运行 系统 Vulkan      更新时间:2023-10-16

我正在使用Vulkan和谷歌像素开发一个应用程序。我成功地调用了vkCreateInstance,并进行了渲染。然而,现在当我调用vkCreateInstance时,我得到了VK_ERROR_LAYER_NOT_PRESENT。我没有请求任何层,我只是尝试加载VK_KHR_SWAPCHAIN_EXTENSION_NAMEVK_KHR_SURFACE_EXTENSION_NAMEVK_KHR_ANDROID_SURFACE_EXTENSION_NAME扩展(代码与工作内容没有变化)。

如果我下载其他Vulkan应用程序,它们会报告相同的问题(例如,Vulkan的硬件CapsViewer)。此外,在加载应用程序时,我还会收到以下消息:

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'

在某个时候,我想获得一个帧捕捉,以获得关于我在谷歌像素上遇到的图形问题的更好的数据。我加载了英伟达Tegra事件探查器和Snapdragon事件探查器。我怀疑其中一个工具改变了我设备上的某些东西,导致它停止工作。

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

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

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

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

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

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