Mali (GPU)


The Mali series of graphics processing units and multimedia processors are semiconductor intellectual property cores produced by ARM Holdings for licensing in various ASIC designs by ARM partners.
Mali GPUs were developed by Falanx Microsystems A/S, which was a spin-off of a research project from the Norwegian University of Science and Technology. Arm Holdings acquired Falanx Microsystems A/S on June 23, 2006 and renamed the company to Arm Norway.

Technical details

Like other embedded IP cores for 3D rendering acceleration, the Mali GPU does not include display controllers driving monitors, in contrast to common desktop video cards. Instead, the Mali ARM core is a pure 3D engine that renders graphics into memory and passes the rendered image over to another core to handle display.
ARM does, however, license display controller SIP cores independently of the Mali 3D accelerator SIP block, e.g. Mali DP500, DP550 and DP650.
ARM also supplies tools to help in authoring OpenGL ES shaders named Mali GPU Shader Development Studio and Mali GPU User Interface Engine.
Display controllers such as the ARM HDLCD display controller are available separately.

Variants

The Mali core grew out of the cores previously produced by Falanx and currently constitute:
Some Microarchitectures support cache coherency for the L2 cache with the CPU.
Adaptive Scalable Texture Compression is supported by Mali-T620, T720/T760, T820/T830/T860/T880 and Mali-G series.

Implementations

The Mali GPU variants can be found in the following systems on chips :
VendorSoC nameMali version
AllwinnerAllwinner A1X Mali-400 MP @ 300 MHz
AllwinnerA20, A23, A33, H2, H3, A64, H64, R8, R16, R40, R18Mali-400 MP2 @ 350/350/350/600/600/?/?/?/?/?/? MHz
AllwinnerH5Mali-450 MP4
AllwinnerH6Mali-T720 MP2
Amlogic8726-M series Mali-400 MP/MP2 @ 250/400 MHz
Amlogic8726-M8 series Mali-450 MP6 @ 600 MHz
Amlogic8726-M8B series Mali-450 MP2 @ 500 MHz
AmlogicS905, S905X/D/LMali-450 MP3 @ 750 MHz
AmlogicS905X2, S905X3, S905Y2, S905D2Mali-G31 MP2
AmlogicS912Mali-T820 MP3 @ 600 MHz
AmlogicS922XMali-G52 MP4
AmlogicT966Mali-T830 MP2 @ 650 MHz
AsusTinkerboard, Tinkerboard SMali-T760
Baikal ElectronicsBaikal-MMali-T628 MP8
CSRQuatro 5300 SeriesMali-400 MP
InfoTMiMAP×15Mali-400
InfoTMiMAP×820Mali-400 MP2
InfoTMiMAP×912Mali-400 MP2
HiSiliconKirin 620Mali-450 MP4 @ 533 MHz
HiSiliconKirin 650/655/658/659Mali-T830 MP2 @ 900 MHz
HiSiliconKirin 710Mali-G51 MP4 @ 1000MHz
HiSiliconKirin 810Mali-G52 MP6 @ 820MHz
HiSiliconKirin 820Mali-G57 MP6 @??? MHz
HiSiliconKirin 910/910TMali-450 MP4 @ 533/700 MHz
HiSiliconKirin 920/925/928Mali-T628 MP4 @ 600/600/? MHz
HiSiliconKirin 930/935Mali-T628 MP4 @ 600/680 MHz
HiSiliconKirin 950/955Mali-T880 MP4 @ 900 MHz
HiSiliconKirin 960Mali-G71 MP8 @ 1037 MHz
HiSiliconKirin 970Mali-G72 MP12 @ 746 MHz
HiSiliconKirin 980Mali-G76 MP10 @ 720 MHz
HiSiliconKirin 985Mali-G77 MP8 @??? MHz
HiSiliconKirin 990/990 5GMali-G76 MP16 @ 600/700 MHz
HiSiliconHi3798cv200Mali-T720 @ 450/600 MHz
LeadcoreLC1810, LC1811, LC1813, LC1913Mali-400
LeadcoreLC1860, LC1860C, LC1960Mali-T628 MP2 @ 600 MHz
MediaTekMT5595, MT5890Mali-T624 MP3
MediaTekMT5596, MT5891Mali-T860 MP2
MediaTekMT6571, MT6572, MT6572MMali-400 MP1 @ ?/500/400 MHz
MediaTekMT6580Mali-400 MP1 @ 500 MHz
MediaTekMT6582/MT6582MMali-400 MP2 @ 500/416 MHz
MediaTekMT6588, MT6591, MT6592, MT6592M, MT8127Mali-450 MP4 @ 600/700/600/600 MHz
MediaTekMT6732, MT6732M, MT6752, MT6752MMali-T760 MP2 @ 500/500/700/700 MHz
MediaTekMT6735, MT6735M, MT6735PMali-T720 MP2 @ 600/500/400 MHz
MediaTekMT6737, MT6737TMali-T720 MP2 @ 550/600 MHz
MediaTekMT6750Mali-T860 MP2 @ 520 MHz
MediaTekMT6753Mali-T720 MP3 @ 700 MHz
MediaTekMT6755, MT6755M, MT6755TMali-T860 MP2 @ 700/650/800 MHz
MediaTekMT6757, MT6757CDMali-T880 MP2 @ 900 MHz/1.0 GHz
MediaTekMT6797, MT6797D, MT6797T, MT6797XMali-T880 MP4 @ 780/850/875 MHz
MediaTekMT8735Mali-T720 MP2 @ 450 MHz
MediaTekHelio P23Mali-G71 MP2 @ 770 MHz
MediaTekHelio P25Mali-T880 MP2 @ 1GHz
MediaTekHelio P30Mali-G71 MP2 @ 950 MHz
MediaTekHelio P60Mali-G72 MP3 @ 800 MHz
MediaTekHelio P70Mali-G72 MP3 @ 900 MHz
MediaTekHelio G90/G90TMali-G76 MP4 @ 800MHz
MediaTekDimensity 800Mali-G57 MP4 @ ??? MHz
MediaTekDimensity 820Mali-G57 MP5 @ 900 MHz
MediaTekDimensity 1000LMali-G77 MP7 @ 695 MHz
MediaTekDimensity 1000/1000+Mali-G77 MP9 @ ??? MHz
NetLogicAu1380, Au1350Mali-200
NufrontNS2816, NS2816MMali-400 MP
NufrontNS115, TL7688, TL7689Mali-400 MP2
RealtekRTD1294, RTD1295, RTD1296Mali-T820 MP3
RockchipRK2818Mali-200
RockchipRK2926, RK2628, RK3036, RK3229Mali-400 MP @ 400/400/500/600 MHz
RockchipRK3026, RK3126, RK3128Mali-400 MP2 @ 500/600/600 MHz
RockchipRK3066, RK3188, RK3188TMali-400 MP4 @ 266/533/~400 MHz
RockchipRK3288Mali-T760 MP4 @ 600 MHz
RockchipRK3326Mali-G31 MP2
RockchipRK3328Mali-450 MP2
RockchipRK3399Mali-T860 MP4 @ 600 MHz
RockchipRK3530Mali-G52
RockchipRK3588
SamsungExynos 3 Quad, Exynos 4 Dual, Quad Mali-400 MP4
SamsungExynos 5 Dual Mali-T604 MP4
SamsungExynos 5 Hexa Mali-T624 MP3
SamsungExynos 5 Octa Mali-T628 MP6
SamsungExynos 5 Hexa Mali-G71 MP1 @ 1.2GHz
SamsungExynos 7 Octa Mali-T760 MP6
SamsungExynos 7 Octa Mali-T760 MP8 @ 772MHz
SamsungExynos 7 Quad,Exynos 3 QuardMali-T720 MP1
SamsungExynos 7 Octa Mali-T720 MP2
SamsungExynos 7 Octa Mali-T830 MP1
SamsungExynos 7 Octa Mali-T830 MP3
SamsungExynos 7 Series 7885Mali-G71 MP2 @1300MHz
SamsungExynos 8 Octa 880Mali-G76 MP5 @???MHz
SamsungExynos 8 Octa Mali-T880 MP10 / Mali-T880 MP12 @650MHz
SamsungExynos 9 Octa Mali-G71 MP20 @ 546MHz
SamsungExynos 7 Series 9610Mali-G72 MP3
SamsungExynos 9 Series 9810Mali-G72 MP18 @ 572MHz
SamsungExynos 9 Series 9820/9825Mali-G76MP12 @ 702/???MHz
SamsungExynos 9 Series 980Mali-G76MP5 @ ?MHz
SamsungExynos 9 Series 990Mali-G77MP11 @ 800MHz
SamsungS5P6450 VegaMali-400 MP
Sigma DesignsSMP8750 SeriesMali-400 MP4 @ 350 MHz
Socle-TechLeopard-6Mali-200
SpreadtrumSC68xx, SC57xx, SC77xx, SC8xxx, SC983xMali-400 MP Series
SpreadtrumSC9860, SC9860GVMali-T880 MP4
ST-EricssonNovaThor U9500, U8500, U5500Mali-400 MP
STMicroelectronicsSPEAr1340Mali-200
STMicroelectronicsSTi7108, STiH416Mali-400 MP
TelechipsTCC8803, TCC8902, TCC8900, TCC9201Mali-200
WonderMediaWM8750Mali-200
WonderMediaWM8850, WM8950Mali-400 MP
WonderMediaWM8880, WM8980Mali-400 MP2
WonderMediaWM8860Mali-450
XiaomiSurge S1Mali-T860 MP4 @ 800 MHz
XiaomiSurge S2Mali-G71 MP12 @ 900 MHz

Mali Video Processors

Mali Video is the name given to ARM Holdings' dedicated video decoding and video encoding ASIC. There are multiple versions implementing a number of video codecs, such as HEVC, VP9, H.264 and VP8. As with all ARM products, the Mali Video Processor is a semiconductor intellectual property core licensed to third parties for inclusion in their chips. Real time encode-decode capability is central to videotelephony. An interface to ARM's TrustZone technology is also built-in to enable Digital Rights Management of copyrighted material.

Mali-V500

The first version of a Mali Video processor was the V500, released in 2013 with the Mali-T622 GPU. The V500 is a multicore design, sporting 1–8 cores, with support for H.264 and a protected video path using ARM TrustZone. The 8 core version is sufficient for 4K video decode at 120 frames per second. The V500 can encode VP8 and H.264, and decode H.264, H.263, MPEG4, MPEG2, VC-1/WMV, Real, VP8.

Mali-V550

Released with the Mali-T800 GPU, ARM V550 video processors added both encode and decode HEVC support, 10-bit color depth, and technologies to further reduced power consumption. The V550 also included technology improvements to better handle latency and save bandwidth. Again built around the idea of a scalable number of cores the V550 could support between 1080p60 to 4K120. The V550 supported HEVC Main, H.264, VP8, JPEG encode, and HEVC Main 10, HEVC Main, H.264, H.263, MPEG4, MPEG2, VC-1/WMV, Real, VP8, JPEG decode.

Mali-V61

The Mali V61 video processor was released with the Mali Bifrost GPU in 2016. V61 has been designed to improve video encoding, in particular HEVC and VP9, and to allow for encoding either a single or multiple streams simultaneously. The design continues the 1–8 variable core number design, with a single core supporting 1080p60 while 8 cores can drive 4Kp120. It can decode and encode VP9 10-bit, VP9 8-bit, HEVC Main 10, HEVC Main, H.264, VP8, JPEG and decode only MPEG4, MPEG2, VC-1/WMV, Real, H.263.

Mali-V52

The Mali V52 video processor was released with the Mali G52 and G31 GPUs in March 2018. The processor is intended to support 4K video on mainstream devices.
The platform is scalable from 1 to 4 cores and doubles the decode performance relative to V61. It also adds High 10 H.264 encode and decode capabilities, as well as AVS Part 2 and Part 15 decode capability for YUV420.

Mali-V76

The Mali V76 video processor was released with the Mali G76 GPU and Cortex-A76 CPU in 2018. The V76 was designed to improve video encoding and decoding performance. The design continues the 2–8 variable core number design, with 8 cores capable of 8Kp60 decoding and 8Kp30 encoding. It claims improves HEVC encode quality by 25% relative to Mali-V61 at launch.
The AV1 codec is not supported.

Comparison

Mali Display Processors

Mali-D71

The Mali-D71 added Arm Framebuffer Compression 1.2 encoder, support for ARM CoreLink MMU-600 and Assertive Display 5. Assertive Display 5 has support for HDR10 and Hybrid Log-Gamma.

Mali-D77

The Mali-D77 added features including Asynchronous timewarp, Lens Distortion Correction and Chromatic Aberration Correction. The Mali-D77 is also capable of 3K @ 120 Hz and 4K @ 90 Hz.
Mali DisplayDP500DP550DP650D71D51D77D37
AnnouncedMay 8, 2010October 27, 2014January 20, 2016October 31, 2017March 6, 2018May 15, 2019October 23, 2019
Optimized resn/a720p to 1080p 1440p 1440p to 2160p 1080p to 1440p 2880x1440 @ 120 Hz1080p to 1440p
Maximum res2160p 2160p 2160p 2160p up to 120fps4096x2048 up to 60fps4320x2160 @ 120 Hz
Launched AlongsideCortex-A17 coreMali-T800 series GPU, V550 Video ProcessorCoreLink MMU-600, Assertive Display 5Mali-G31, Mali-G52, Mali-V52Ethos-N77, Ethos-N57, Ethos-N37 Mali-G57

Mali Camera

Mali-C71

On April 25th 2017 the Mali-C71 was announced, ARM's first Image Signal Processor.

Mali-C52 & Mali-C32

On January 3rd 2019 the Mali-C52 and C32 where announced, aimed at everyday devices including drones, smart home assistants and security, and internet protocol camera.

Comparison

The Lima and Panfrost FOSS drivers

On January 21, 2012, Phoronix reported that Luc Verhaegen was driving a reverse-engineering attempt aimed at the Mali series of GPUs, specifically the Mali 200 and Mali 400 versions. The project was known as Lima and targeted support for OpenGL ES 2.0. The reverse-engineering project was presented at FOSDEM, February 4, 2012, followed by the opening of a demonstrating some renders. On February 2, 2013, Verhaegen demonstrated Quake III Arena in timedemo mode, running on top of the Lima driver. In May 2018, a Lima developer posted the driver for inclusion in the Linux kernel. In May 2019, the Lima driver became part of the mainline Linux kernel. The Mesa userspace counterpart was merged at the same time.
Panfrost is a reverse-engineered driver effort for Mali Txxx and Gxx GPUs. talk was presented at X.Org Developer's Conference 2018. As of May 2019, the Panfrost driver is part of the mainline Linux kernel. Panfrost supports OpenGL ES 2.0 and has an experimental OpenGL ES 3.0 support disabled as default as of february 2020.