Я разрабатываю приложение с помощью 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 для 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]
Возможно ли, что эти (или, возможно, некоторые свойства) могут привести к прекращению загрузки слоев?