Hi!
I have a game in Google Play and I'm having problems with (at least) one of the devices, the Galaxy S3 mini with a Mali-400MP.
There's a shader which takes 20 to 30 seconds to be compiled, leading to users thinking that the device just crashed. The shader is this
#ifdef GL_ES precision highp float; precision mediump int; #endif uniform - Pastebin.com (nothing specially complex, I think)
and the issue with more information is here:
Weird freeze compiling shader on Galaxy S3 Mini · Issue #2496 · mono/MonoGame · GitHub
Any ideas?
Thanks!
p.s. Can I use Mali graphics debugger with 4.1.2? Instructions to install only refer to 4.2+
Depending on driver version you may be able to see the driver version in GL_RENDERER or GL_VENDOR strings, or by examining the libMali binary, which may be doable programatically.
Hth,
Chris
Hi Chris,
only one more question, is it know the time or version in which this issue was fixed?
Kak
Hi katcat,
Seems to be fixed in r3p2-01rel3, which is present in SGS3 running 4.3.
Thanks,
Thanks a lot, I'll try to work from there
What method do you recommend to detect if the versions is prior or later than r3p2-01rel3? Do I analize the revision string (what is the format?) or can I use the BUILD_DATE string and assume previous dates are bad and later dates are good? (what is the date for r3p2-01rel3 then?)
thanks again
Hi Kakcat,
I just checked on my SGS2 (CM10.1, 4.2.2, r3p1-01rel1, built July 2013) and the problem is present there, but unfortunately VENDOR == "ARM", RENDERER == "Mali-400 MP" and VERSION == "OpenGL ES 2.0" so that's not useful for checking version. I guess your only option is to look into programatically searching for the REVISION string in libMali.so. If you can do that, then it matches the format REVISION=Linux-r[0-9]p[0-9]-[0-9]{2}rel[0-9]. I've also passed on that it would be useful for the driver version to be queryable.
Hope this helps,