Hello,
I'm currently developing an Android App that uses the Android Studio NDK's Vulkan library.
I've been trying to test my code on a Samsung SM-T510 Tablet (with an ARM Mali G71), it seems like it's having an issue with one of the Vulkan function calls.
The device has no problem calling functions for enumerating physical devices, creating an instance, devices, and buffers.
However, calling vkCreateComputePipeline is returning an error code. (VK_ERROR_INITIALIZATION_FAILED)
I have tried running with both sample and empty kernel code but the issue was still there.
Is there anything that I need to do to enable compute pipelines? Or does this device don't support compute pipelines in the first place?
If it helps, the app is currently on GitHub: the high-level functionality is here:
https://github.com/MangoShip/LitmusTestAndroid/blob/main/app/src/main/cpp/native-lib.cpp
The Vulkan calls are wrapped in "easyvk" library, and the problematic line is here:
https://github.com/MangoShip/LitmusTestAndroid/blob/6b0cb391d7ddc5b04cb2ed9df3b4ed8e7f181cd2/app/src/main/cpp/easyvk/easyvk.cpp#L346
Here is a couple of additional things that I've tried:
Notes:
Thank you!
Also, the Khronos validation layers correctly identify the problem:
I/vulkan: Loaded layer VK_LAYER_KHRONOS_validation I/VALIDATION: VUID-VkShaderModuleCreateInfo-pCode-04147(ERROR / SPEC): msgNum: 1028204675 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-04147 ] Object 0: handle = 0x6eabd14ac0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x3d492883 | vkCreateShaderModule(): The SPIR-V Extension (SPV_KHR_storage_buffer_storage_class) was declared, but none of the requirements were met to use it. The Vulkan spec states: If pCode declares any of the SPIR-V extensions listed in the SPIR-V Environment appendix, one of the corresponding requirements must be satisfied (www.khronos.org/.../vkspec.html Objects: 1 [0] 0x6eabd14ac0, type: 3, name: NULL /VALIDATION: VUID-VkShaderModuleCreateInfo-pCode-04147(ERROR / SPEC): msgNum: 1028204675 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-04147 ] Object 0: handle = 0x6eabd14ac0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x3d492883 | vkCreateShaderModule(): The SPIR-V Extension (SPV_KHR_non_semantic_info) was declared, but none of the requirements were met to use it. The Vulkan spec states: If pCode declares any of the SPIR-V extensions listed in the SPIR-V Environment appendix, one of the corresponding requirements must be satisfied (www.khronos.org/.../vkspec.html Objects: 1 [0] 0x6eabd14ac0, type: 3, name: NULL