Issue with Vulkan's vkCreateComputePipeline call on Samsung SM-T510 Tablet (ARM Mali G71)

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:

  1. I have confirmed that ARM Mali G71 does support Vulkan API. (https://developer.arm.com/ip-products/graphics-and-multimedia/mali-gpus/mali-g71-gpu)
  2. There is an app called Hardware CapsViewer for Vulkan (https://play.google.com/store/apps/details?id=de.saschawillems.vulkancapsviewer) in Google Play Store. I wasn't able to download it on the device. It said the app was not compatible with this device.
  3. When I tested my code on Android Studio's emulators and a different Android device (with Qualcomm Adreno 610), the app ran successfully.

Notes:

  • I have updated the device to the latest Android version. (Android version 11 and API 30)
  • The device has Samsung Exynos Octa 7904 CPU and ARM Mali G71 GPU.

Thank you!