I'm an Android developer, and my users are reporting problem with my GLSL shaders on ARM Mali GPUs. I'm looking for suggestions on (cheap) ways to test and debug my shaders against Mali. Currently I use appthwack.com and apkudo.com to do really basic testing on a wide variety of Android devices. This gets me some exposure to Mali GPUs, but the turn-around is pretty long.
Short of purchasing a device with a Mali GPU, are there any resources for testing shaders available on the Internet? Ideally, testing in the form of an Android app would be appreciated, but I'm happy to rip my shaders out and develop them in other contexts.
Hi Bitiotic,
In terms of language correctness and testing whether the Mali compiler accepts the shader code at all you can download our offline compiler from the Mali Developer site. This lets you at least check that your code is legal (Mali's compiler is generally a little stricter on spec compliance than some of our competitors).
Develop for Mali « Mali Developer Center
Rendering correctness is harder - in general you'll need access to a device because OpenGL ES isn't a bit exact specification. Differences in rendering are to be expected, and often hard to predict just from looking at the code. One area which often causes problems is precision in the shader source code; the Mali-2/3/400 and Mali-450 GPUs only have fp16 support in their fragment shader arithmetic units, so code relying on floating point being higher precision than this is likely to run into issues.
If you know which applications are causing problems are are willing to share a reproducer test case or APK with our community developer relations engineers, chrisvarns and Michael McGeagh, then we may be able to shed some light on the problem.
HTH, Pete
Hi,
Are you in need of any more support here or able to provide a reproducer as Pete suggests?