We are trying to figure out using SSBO for Tensorflow Lite on Android Devices. The behavior is different between Adreno GPUs and Mali GPUs even for the same bit of compute shader code. Even among MALI GPUs, there are various differences. Could you provide a better working code and is there any way we can debug through the shader code for errors. We tried multiple devices like Honor Play, Samsung A8+, Moto C Plus. We believe the code is somewhat good as it is giving some kind of output in Adreno devices. Could you provide us with a complete working android app code using compute shaders, to test out the basic functionality of GPU in the mobile devices. We have also opened upon couple of issues in the Tensorflow Github page, thinking error could be on tensorflow side. In honor play and Moto C plus, the error is that the program could not be created and linked. Whereas, in Samsung A8+, the error is an invalid bitmap format.
Is it that the shader codes are different for Mali and Adreno devices??
Update:
We found one more forum discussion with respect to the similar case, we are facing..
https://community.arm.com/developer/tools-software/graphics/f/discussions/9432/is-extension-gl_oes_egl_image_external_essl3-not-working-properly-in-compute-shader-on-mali-g71-gpu
How do we know the specific GPU driver of the mobile phone, we are using. And is there any way in which we could update it ourselves??
Hi Santhosh,
For compute demo did you have a look at our OpenGL ES SDK on GitHub? There is a sample there using Compute shaders https://github.com/ARM-software/opengl-es-sdk-for-android/tree/master/samples/advanced_samples/ComputeParticles
Santhosh Kumar said:How do we know the specific GPU driver of the mobile phone
There are many ways. Easy one is to open Chrome browser on your device and navigate to "about://gpu" and look at the GL_VERSION string.
Santhosh Kumar said:Is it that the shader codes are different for Mali and Adreno devices??
It shouldn't be if there are no extensions used in the shader which are not present on both devices.
Santhosh Kumar said:And is there any way in which we could update it ourselves??
This is not possible if you are using an off the shelf device. You might be able to update drivers for development boards if the supplier provides build scripts and updated drivers.
Hope this helps?
Wasim