【问题标题】:Android: Vulkan layers have stopped functioning on deviceAndroid:Vulkan 层已停止在设备上运行
【发布时间】:2017-02-02 23:32:40
【问题描述】:

我正在使用 Vulkan 和 Google Pixel 开发应用程序。我成功地调用了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 Vulkan 层是否存在于 libvulkan.so 之外的系统中(存在并加载)?

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

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

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

【问题讨论】:

    标签: android c++ vulkan


    【解决方案1】:

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

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

    【讨论】:

    • 附带说明,由于 Snapdragon Profiler 每次启动时都会设置这些,它们会导致 Vulkan 应用程序无法运行,我不确定您应该如何使用它来分析 Vulkan 应用程序:)。
    • 您可以只运行adb shell setprop debug.vulkan.layers '""' 而不是每次都关闭设备供参考
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多