【发布时间】:2017-02-02 23:32:40
【问题描述】:
我正在使用 Vulkan 和 Google Pixel 开发应用程序。我成功地调用了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。我怀疑其中一个工具更改了我设备上的某些内容,导致其停止运行。
所需的 Android Vulkan 层是否存在于 libvulkan.so 之外的系统中(存在并加载)?
当我运行adb shell getprop 时,这两个匹配'vulkan':
[debug.vulkan.layer.1]: [sdp]
[debug.vulkan.profiler]: [1]
这些(或某些属性)可能会导致它停止加载图层?
【问题讨论】: