I was working on an Android app which uses OpenCL on the Galaxy Note 5 which has the Mali T-760 GPU. I pulled the library from the device and got the headers from the Mali OpenCL SDK and everything worked.
I'm trying to build and run the same app on the Galaxy S7 Edge which has the Mali T-880 GPU. I pulled the library from the device and used the same headers as before.
Now I get this error:
E/mali: ERROR: The DDK is not compatible with any of the Mali GPUs on the system. The DDK was built for 0x750 r0p1 status range [0..15], but none of the GPUs matched:
E/mali: /dev/mali0 detected as 0x880 r2p0 status 0
It's strange because I pulled the library from device itself and I tried the library from different locations too:
/system/lib/libOpenCl.so
/system/vendor/lib/libOpenCL.so
/system/vendor/lib/egl/libGLES_mali.so
In all cases I get the same error.
What is this DDK?
Where is it specified? In the headers? In the shared object?
What do I need to update in my app to make it work?
Yes I thought so too so I performed a clean on the project and the error happened again even though the link target was the library from the S7.
I tried to do this again but this time I removed all other libs and it worked.
Some strange behavior from Android Studio I guess.