Hi there,
We are now transplanting our graphics subsystem onto the sunxi-A20 SoC, whose GPU is Mali-400 MP2. But we find that rendering a frame costs about 33ms, which is too slow. And after we did some study on the driver, we found the cause of low performance is that there is only one pp core used during per frame. As we don't have a copy of code of user space libraries, we can only locate the problem in the kernel side. We find out that when start a pp job by the user space, via calling MALI_IOC_PP_START_JOB(ioctl) with args in _mali_uk_pp_start_job_s, there is an attribute named "num_cores"(in _mali_uk_pp_start_job_s) set as 1, which results in that the job cannot be split into more sub jobs. Are there any methods to enable both of the pp cores?
The version of the libraries and drivers we use is "r3p0", and ABI is "armhf", EGL_TYPE is "framebuffer"
Any reply will be appreciated! Thanks all of you guys.
Ailen
Hi Ailen,
I am afraid that you need to contact the library/BSP supplier to confirm the build options used for your libraries (and possibly get new libraries). In r3p0 how the user space libraries split the the jobs up is controlled by a build time option, it appears that the drivers you are using are configured to process the PP job as single job (default setting). To enable the use of 2 PPs you will need a driver that is configured, at build time, to split the PP job into at list two sub jobs so they can be allocated to both PP cores.
Hope this helps and Happy New Year,
Mark
Hi Mark,
Thank you very much!
We downloaded the libraries from the Internet, and we did have no idea of the exact build options of our libraries. But we tried to update our pair of libraries and driver into the version of "r3p2 01rel1" and fortunately it worked. The rendering jobs are split into 2 parts now. But we think that the version of the libraries we used now is still low. Could you please tell me where can I get a copy of libraries in higher version?
Thanks again, Happy New Year
Drivers for specific SoCs are intended to be supplied by the SoC vendor, AllWinner in this case, so it's worth approaching them on their roadmap for driver updates. It's possible that they have discontinued software support for that SoC. On occasion ARM do directly supply binary drivers built for select devices at Drivers - Mali Developer Center Mali Developer Center but at present this is only for Midgard family GPUs.
Hth,
Chris
Hi it-ailen
The sunxi-A20 SoC is made by AllWinner. AllWinner are therefore the ones who build the userspace component for this, and it is them you need to ask for later versions.
The latest released driver from ARM to our silicon partners (such as AllWinner) is r5p0, however the distribution of the binaries is controlled by AllWinner for this particular SoC.
Kind Regards,
Michael McGeagh
thanks!
View all questions in Graphics and Gaming forum