Vulkan: A broken image on ZTE Blade A530(PowerVR GE8100)

Hi! I have a broken image during running simple app from:

I have attached apk and screenshot.


tutorial05_triangle.apk.zip (1.9 MB)

Note: You need to fix code to running this sample, because PowerVR GE8100 supports Vulkan 1.0

.apiVersion = VK_MAKE_VERSION(1, 0, 0),

Hello,

Thanks for raising this issue, we will look into it.

1 Like

I tried to run app on couple of devices, but I was not able to replicate the issue. What ddk version are you using? Could you provide us a pvrcarbon recording of the glitch?

Hi @Tytus Thank you for your responce.
Where can I find DDK version ?
I tried to use GL ES viewer:

I Will try pvrcarbon.

We tried to use PVRCarbon Sign in to Imagination - Imagination Developers - Imagination Developer
Ubuntu 20.04.3

Also I tried on Mac OS Ventura:


PRVCarbod apk failed to install

Your DDK version is 1.9, it is under shading language field. We will not be able to reproduce this issue, because ddk and android version is old. I suspect this issue might be happening because this frame buffer format might be not supported on old version of driver. I recommend that you try to run this app on higher driver version. As for the carbon issue, do you maybe have “Wait for debbuger” selected in developer settings? If so, you can try turning it off.

Hi @Tytus

We have no assert failed:

So, we have a valid supported format. What do you mean ? We have correct result from
vkGetPhysicalDeviceSurfaceFormatsKHR but, even in this case might be not supported on driver?

We cannot update driver separetly, how to update driver for ZTE Blade A530 smartphone ?

It’s already off

Some issues can apppear and not be catched by assers or validation layers. Could you try to use different VkImageTiling? There are 2 of them, VK_IMAGE_TILING_OPTIMAL and VK_IMAGE_TILING_LINEAR. Could you try change one to another and see if this helps your issue?

As for taking a carbon recoring, please make sure that your adb is working correctly, and usb debbuging is enabled. Follow this steps to take a carbon recording on linux, I verified them on Ubuntu:

  • Got to Downloads - Imagination Developers
  • Download PVRCarbon for linux 64 bit
  • Give download executable permissions: chmod +x PVRCarbonSetup-2023_R1.run-x64, replace with actuall file name
  • Run installer with admin privilages: sudo ./PVRCarbonSetup-2023_R1.run-x64
  • Make sure your adb is working, and you can see device after entering adb devices
  • Go to location where carbon is installed: `cd “/opt/Imagination Technologies/PowerVR_Graphics/PowerVR_Tools/PVRCarbon/GUI/Linux_x86_64”
  • run PVRCarbon with: ./PVRCarbonGUI
  • Click capture
  • Select your device, as connection set adb.
  • Select an app to run
  • Most of the time you do not have to worry about any basic or advanced options, just press start recording
  • It might be necessary to accept popup message on your phone, just allow it
  • Press stop recording when part of app you wanted to capture is finished

I hope this helps your issue. When you menage to take a capture, please share it here.

Hi!

We are using is already created VkImage’s list from vkGetSwapchainImagesKHR

so we cannot change Image tiling for SwapChain images at all.

Hi,
ah yes, this app is rendering directly to the swapchain.
I noticed that example you are using does not have validation layers enabled. Could you enable validation layers and send me logcat of your app? We could see if some validation errors are accuring on your device.

Alternatively, if you do not have necessity to use google example, there are plenty of repositories, that do similar things. You can check out our example that draws triangle in Vulkan, HelloAPI requires version 1.0: https://github.com/powervr-graphics/Native_SDK/tree/master/examples/Vulkan/01_HelloAPI

Hi @Tytus

I have example with Vaulkan Validation Layers, with debug-apk, source code and logcat

VVL can’t load : vulkan com…example.vulkan.tutorials.five E failed to load layer library ‘/data/app/com.android.example.vulkan.tutorials.five-Y8CnSMmRSJC5KHY1IrL2Fg==/base.apk!/lib/arm64-v8a/libVkLayer_khronos_validation.so’: dlopen failed: cannot locate symbol “pthread_cond_clockwait” referenced by “/data/app/com.android.example.vulkan.tutorials.five-Y8CnSMmRSJC5KHY1IrL2Fg==/base.apk!/lib/arm64-v8a/libVkLayer_khronos_validation.so”…

May be need another version of VVL

Hi Andrey,

As informed by Tytus, your app runs fine on any higher DDK version / HW so this stands to be a DDK issue specific to 1.9 for which we won’t be able to provide any support as we’ve decided to stop providing any support for such old drivers.

Best Regards,
Nagnath

1 Like

Thank you!, we will disable Vulkan’s using for this case using a specific value:
VkPhysicalDeviceProperties::driverVersion;
VkPhysicalDeviceProperties::vendorID;
VkPhysicalDeviceProperties::deviceID;

1 Like