The Mali and Immortalis series of graphics processing units (GPUs) 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.

It was originally named Malaik, but the team shortened the name to Mali, Serbo-Croatian for "small", which was thought to be fitting for a mobile GPU.

On June 28, 2022, Arm announced their Immortalis series of GPUs with hardware-based ray tracing support.

Graphics processors

Utgard

In 2005, Falanx announced their Utgard GPU Architecture, the Mali-200 GPU. Arm followed up with the Mali-300, Mali-400, Mali-450, and Mali-470. Utgard was a non-unified GPU (discrete pixel and vertex shaders).

Comparison of Mali Utgard graphics processing units
ModelLaunch dateTypeEUs/Shader core countCore clock rate (MHz)L2 cache sizeFillrateGFLOPS (percore)OpenGLES
M△/sGT/s(GP/s)
Fixed function pipeline12.80.1?1.1
2007Programmable pipeline15?0.22.0
201015008 KiB550.55
20081–4200–6008–256 KiB550.51.2–5.4
20121–8300–7508–512 KiB1422.64.5–11.9
20151–4250–6508–256 KiB710.658–20.8

Midgard

1st generation

On November 10, 2010, Arm announced their Midgard 1st gen GPU Architecture, including the Mali-T604 and later the Mali-T658 GPU in 2011. Midgard uses a Hierarchical Tiling system.

2nd generation

On August 6, 2012, Arm announced their Midgard 2nd gen GPU Architecture, including the Mali-T678 GPU. Midgard 2nd gen introduced Forward Pixel Kill.

3rd generation

On October 29, 2013, Arm announced their Midgard 3rd gen GPU Architecture, including the Mali-T760 GPU.

4th generation

On October 27, 2014, Arm announced their Midgard 4th gen GPU Architecture, including the Mali-T860, Mali-T830, Mali-T820. Their flagship Mali-T880 GPU was announced on February 3, 2015. New microarchitectural features include:

  • Up to 16 cores for the Mali-T880, with 256KB – 2MB L2 cache

Bifrost

1st generation

On May 27, 2016, Arm announced their Bifrost GPU Architecture, including the Mali-G71 GPU. New microarchitectural features include:

  • Unified shaders with quad vectorization
  • Scalar ISA
  • Clauses execution
  • Full cache coherency
  • Up to 32 cores for the Mali-G71, with 128KB – 2MB L2 cache
  • Arm claims the Mali-G71 has 40% more performance density and 20% better energy efficiency than the Mali-T880

2nd generation

On May 29, 2017, Arm announced their Bifrost 2nd gen GPU Architecture, including the Mali-G72 GPU. New microarchitectural features include:

  • Arithmetic optimizations and increased caches
  • Up to 32 cores for the Mali-G72, with 128KB – 2MB L2 cache
  • Arm claims the Mali-G72 has 20% more performance density and 25% better energy efficiency than the Mali-G71

3rd generation

On May 31, 2018, Arm announced their Bifrost 3rd gen GPU Architecture, including the Mali-G76 GPU. New microarchitectural features include:

  • 8 execution lanes per engine (up from 4). Doubled pixel and texel throughput
  • Up to 20 cores for the Mali-G76, with 512KB – 4MB L2 cache
  • Arm claims the Mali-G76 has 30% more performance density and 30% better energy efficiency than the Mali-G72

Valhall

1st generation

On May 27, 2019, Arm announced their Valhall GPU Architecture, including the Mali-G77 GPU, and in October Mali-G57 GPUs. New microarchitectural features include:

  • New superscalar engine
  • Simplified scalar ISA
  • New dynamic scheduling
  • Up to 16 cores for the Mali-G77, with 512KB – 2MB L2 cache
  • Arm claims the Mali-G77 has 30% more performance density and 30% better energy efficiency than the Mali-G76

2nd generation

On May 26, 2020, Arm announced their Valhall 2nd Gen GPU Architecture, including the Mali-G78. New microarchitectural features include:

  • Asynchronous clock domains
  • New FMA units and increase Tiler throughput
  • Up to 24 cores for the Mali-G78, with 512KB – 2MB L2 cache
  • Arm Frame Buffer Compression (AFBC)
  • Arm claims the Mali-G78 has 15% more performance density and 10% better energy efficiency than the Mali-G77

3rd generation

On May 25, 2021, Arm announced their Valhall 3rd Gen GPU Architecture (as part of TCS21), including the Mali-G710, Mali-G510, and Mali-G310 GPUs. New microarchitectural features include:

  • Larger shader cores (2x compared to Valhall 2nd Gen)
  • New GPU frontend, Command Stream Frontend (CSF) replaces the Job Manager
  • Up to 16 cores for the Mali-G710, with 512KB – 2MB L2 cache
  • Arm claims the Mali-G710 has 20% more performance density and 20% better energy efficiency than the Mali-G78

4th generation

On June 28, 2022, Arm announced their Valhall 4th Gen GPU Architecture (as part of TCS22), including the Immortalis-G715, Mali-G715, and Mali-G615 GPUs. New microarchitectural features include:

  • Ray Tracing support (hardware-based)
  • Variable Rate Shading
  • New Execution Engine, with doubled the FMA block, Matrix Multiply instruction support, and PPA improvements
  • Arm Fixed Rate Compression (AFRC)
  • Arm claims the Immortalis-G715 has 15% more performance & 15% better energy efficiency than the Mali-G710

5th generation

On May 29, 2023, Arm announced their 5th Gen Arm GPU Architecture (as part of TCS23), including the Immortalis-G720, Mali-G720 and Mali-G620 GPUs. New microarchitectural features include:

  • Deferred vertex shading (DVS) pipeline
  • Arm claims the Immortalis-G720 has 15% more performance and uses up to 40% less memory bandwidth than the Immortalis-G715

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:

ModelMicroarchi- tectureTypeLaunch dateEUs/Shader core countShading Units (per core)Total ShadersFab (nm)Die size (mm2)Core clock rate (MHz)L2 cache size (KiB)FillrateGFLOPS (percore)GFLOPS (total)API (version)
M△/sGT/s(GP/s)VulkanOpenGLESOpenCL
Midgard 1st genUnified shader model + SIMD ISANov 20101–488–3232 28?53332–2561330.6 @ 600MHz9.6 @ 600MHz9.6–38.4 @ 600MHz—N/a3.11.1 Full Profile
Nov 20111–81616–128???19.2 @ 600MHz19.2–153.6 @ 600MHz
Midgard 2nd genJun 20131–244–832 28?533??4.8 @ 600MHz4.8–9.6 @ 600MHz
Aug 20121–488–32?533–600??9.6 @ 600MHz9.6–38.4 @ 600MHz
1–81616–128?533–695??19.2 @ 600MHz19.2–153.6 @ 600MHz
1–828????
Midgard 3rd genOct 20131–81010–8028 14 10?400–700600 (MP8@ 600MHz)0.6 @ 600MHz12 @ 600MHz12–96 @ 600MHz
1–161414–22428 20 141.75mm2 per shader core at 14nm600–772256–2048130016.8 @ 600MHz16.8–268.8 @ 600MHz1.03.21.2 Full Profile
Midgard 4th genQ4 20151–488–3228?60032–2564009.6 @ 600MHz9.6–38.4 @ 600MHz
1616–6428 16 14?600–95040019.2 @ 600MHz19.2–76.8 @ 600MHz
1–161414–224?350–700256–2048130016.8 @ 600MHz16.8–268.8 @ 600MHz
Q2 20161–162121–35120 16 14?650–1000170025.2 @ 600MHz25.2–403.2 @ 600MHz
Bifrost 1st genUnified shader model + Unified memory + scalar, clause-based ISAQ1 20181–64 or 84–4828 12?65032–5120.5 @ 1000MHz8–16 @ 1000MHz48–576 @ 1000MHz1.22.0 Full Profile
Q4 20161–68 or 128–7228 16 14 12 10?100016–24 @ 1000MHz16–144 @ 1000MHz1.0
Q2 20161–321212–38416 14 10?546–1037128–204818501 @ 1000MHz24 @ 1000MHz24–768 @ 1000MHz
Bifrost 2nd genQ1 20181–616 or 2416–14416 12 8 7?85032-5122 @ 1000MHz32–48 @ 1000MHz32–288 @ 1000MHz2.1 Full Profile
Q2 20171–321212–38416 12 101.36mm2 per shader core at 10nm572–1050128–20481 @ 1000MHz24 @ 1000MHz24–768 @ 1000MHz2.0 Full Profile
Bifrost 3rd genQ2 20184–202496–48012 8 7?600–800512–4096?2 @ 1000MHz2 @ 1000MHz48 @ 1000MHz192–960 @ 1000MHz1.12.1 Full Profile
Valhall 1st genSuperscalar engine + Unified memory + simplified scalar ISAQ2 20191–63232–19212 7 6?95064–512?4 @ 1000MHz64 @ 1000MHz64–384 @ 1000MHz
7–16224–5127 6?695–850512–2048?448–1024 @ 1000MHz
Valhall 2nd genQ2 20201–632–1926 5 364–384 @ 1000MHz1.23.0 Full Profile
7–24224–7685759-848448–1536 @ 1000MHz
Valhall 3rd genQ2 2021116 or 32 or 6416–646 5 4256–10242, 4 or 8 @ 1000MHz2 or 4 @ 1000MHz32–128 @ 1000MHz
2–648 or 6496–3844 or 8 @ 1000MHz4 @ 1000MHz96–128 @ 1000MHz192–768 @ 1000MHz
1–66464–384512–20488 @ 1000MHz128 @ 1000MHz128–768 @ 1000MHz
7–16448–1024650,850 9002648896–2048 @ 1000MHz
Valhall 4th genQ2 20221–6128128–7684256 @ 1000MHz256–1536 @ 1000MHz1.3
7–9896–11521792–2304 @ 1000MHz
10–161280–20482560–4096 @ 1000MHz
5th GenDeferred Vertex Shading (DVS)Q2 20231–5128–640256–1024256–1280 @ 1000MHz
6–9768–1152512–20481536–2304 @ 1000MHz
Q4 202310–161280–20482560–4096 @ 1000 MHz
Q2 20241–5128–6404 3256–1024256–1280 @ 1000MHz
6–9768–1152512–40961536–2304 @ 1000MHz
10–241280–30722560–6144 @ 1000 MHz
Q3 20251–5128–6403512–2048256–1280 @ 1000MHz1.4
6–9768–1152512–40961536–2304 @ 1000MHz
10–241280–30722560–6144 @ 1000 MHz
ModelMicroarchi- tectureTypeLaunch dateEUs/Shader core countShading Units (per core)Total ShadersFab (nm)Die size (mm2)Core clock rate (MHz)Max L2 cache size (KiB)Fillrate (per core)FP32 GFLOPS (per core)GFLOPS (total)VulkanOpen GL/ESOpen CL

Some microarchitectures (or just some chips?) support cache coherency for the L2 cache with the CPU.

Adaptive Scalable Texture Compression (ASTC) 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 (SoCs):

VendorSoC nameMali version
AllwinnerAllwinner A1X (A10, A10s, A13)Mali-400 MP @ 300MHz
A20, A23, A33, A64, H2, H3, H64, R8, R16, R40, R18Mali-400 MP2 @ 350/350/350/600/600/?/?/?/?/?/?MHz
H5Mali-450 MP4
H6Mali-T720 MP2
H313, H616, H618Mali-G31 MP2
Amlogic8726-M series (8726-M1, 8726-M3, 8726-M6, 8726-MX)Mali-400 MP/MP2 @ 250/400MHz
8726-M8 series (M801, M802, S801, S802, S812)Mali-450 MP6 @ 600MHz
8726-M8B series (M805, S805)Mali-450 MP2 @ 500MHz
S905, S905X/D/LMali-450 MP3 @ 750MHz
S905X2, S905X3, S905Y2, S905D2, S905X4Mali-G31 MP2
S905X5Mali-G310 @ 1GHz
S912Mali-T820 MP3 @ 600MHz
S922X, A311DMali-G52 MP4
T966Mali-T830 MP2 @ 650MHz
ARMMorelloMali-G76
AsusTinkerboard, Tinkerboard SMali-T760
Baikal ElectronicsBaikal-MMali-T628 MP8
CSRQuatro 5300 SeriesMali-400 MP
ELVEES Multicore1892VM14YaMali-300
InfoTMiMAP×15Mali-400
iMAP×820Mali-400 MP2
iMAP×912Mali-400 MP2
GoogleTensorMali-G78 MP20 @ 848(996)MHz
Tensor G2Mali-G710 MP7 @ 848(996)MHz
Tensor G3Mali-G715 MP7 @ 890(900)MHz
Tensor G4Mali-G715 MP7 @ 940MHz
HiSiliconKirin 620Mali-450 MP4 @ 533MHz
Kirin 650/655/658/659Mali-T830 MP2 @ 900MHz
Kirin 710Mali-G51 MP4 @ 1000MHz
Kirin 810Mali-G52 MP6 @ 820MHz
Kirin 820Mali-G57 MP6 @??? MHz
Kirin 910/910TMali-450 MP4 @ 533/700MHz
Kirin 920/925/928Mali-T628 MP4 @ 600/600/? MHz
Kirin 930/935Mali-T628 MP4 @ 600/680MHz
Kirin 950/955Mali-T880 MP4 @ 900MHz
Kirin 960Mali-G71 MP8 @ 1037MHz
Kirin 970Mali-G72 MP12 @ 746MHz
Kirin 980Mali-G76 MP10 @ 720MHz
Kirin 985Mali-G77 MP8 @??? MHz
Kirin 990/990 5GMali-G76 MP16 @ 600MHz
Kirin 9000 5G/Kirin 9000E 5GMali-G78 MP24/22 @ 759MHz
Hi3798cv200Mali-T720 @ 450/600MHz
LeadcoreLC1810, LC1811, LC1813, LC1913Mali-400
LC1860, LC1860C, LC1960Mali-T628 MP2 @ 600MHz
MediaTekMSD6683Mali-470 MP3
MT5595, MT5890Mali-T624 MP3
MT5596, MT5891Mali-T860 MP2
MT6571, MT6572, MT6572MMali-400 MP1 @?/500/400MHz
MT6580Mali-400 MP1 @ 500MHz
MT6582/MT6582MMali-400 MP2 @ 500/416MHz
MT6588, MT6591, MT6592, MT6592M, MT8127Mali-450 MP4 @ 600/700/600/600MHz
MT6735, MT6735M, MT6735PMali-T720 MP2 @ 600/500/400MHz
MT6737, MT6737TMali-T720 MP2 @ 550/600MHz
MT8735Mali-T720 MP2 @ 450MHz
MT6753Mali-T720 MP3 @ 700MHz
MT6732, MT6732M, MT6752, MT6752MMali-T760 MP2 @ 500/500/700/700MHz
MT6750Mali-T860 MP2 @ 520MHz
MT6755 (Helio P10/P15/P18)Mali-T860 MP2 @ 700/650/800MHz
MT6757 (Helio P20, P25)Mali-T880 MP2 @ 900MHz/1.0GHz
MT6797 (Helio X20/X23/X25/X27)Mali-T880 MP4 @ 780/850/875MHz
MT6763T (Helio P23), MT6758 (Helio P30)Mali-G71 MP2 @ 770/950MHz
MT6771 (Helio P60, P70)Mali-G72 MP3 @ 800/900MHz
MT6768 (Helio P65), MT6769 (Helio G70/G80/G85/G88)Mali-G52 MC2 @ 820/950/1000MHz
Helio G91Mali-G52 MC2 @ 1GHz
MT6785 (Helio G90/G90T/G95)Mali-G76 MC4 @ 720/800/900MHz
MT6781 (Helio G96, G99)Mali-G57 MC2 @ 950/1000MHz
MT6833 (Dimensity 700, 810, 6020)Mali-G57 MC2 @ 950/1068/950MHz
MT6853 (Dimensity 720, 800U)Mali-G57 MC3 @ 850MHz
MT6873 (Dimensity 800)Mali-G57 MC4 @ 650MHz
MT6875 (Dimensity 820), MT6883Z (Dimensity 1000C)Mali-G57 MC5 @ 900MHz
MT6877/MT6877T (Dimensity 900/920/1080/7050)Mali-G68 MC4 @ 900MHz
MT6885Z (Dimensity 1000L)Mali-G77 MC7 @ 695MHz
MT6889 (Dimensity 1000/1000+)Mali-G77 MC9 @ 850MHz
MT6891/MT6893 (Dimensity 1100/1200/1300/8020/8050)Mali-G77 MC9 @ 850MHz
MT8192 (Kompanio 820)Mali-G57 MC5 GPU @??? MHz
Kompanio 838Mali-G57 MC3
MT8195/MT8195T (Kompanio 1200/1380)Mali-G57 MC5 GPU @??? MHz
MT8791 (Kompanio 900T)Mali-G68 MP4 GPU @ 900MHz
MT8797 (Kompanio 1300T)Mali-G77 MP9 @ 850MHz
MT6886 (Dimensity 7200)Mali-G610 MC4 @ 1.13GHz
MT6878 (Dimensity 7300/7300X)Mali-G615 MC2 @ 1.05GHz
MT6895/MT6895Z/MT6896 (Dimensity 8000/8100/8200)Mali-G610 MC6 @ 700/860/950 MHz
MT6897 (Dimensity 8300/8350)Mali-G615 MC6 @ 1400MHz
MT6899 (Dimensity 8400/8450)Mali-G720 MC7 @ 1300MHz
MT6983 (Dimensity 9000/9000+)Mali-G710 MP10 @ 848/950MHz
MT6985 (Dimensity 9200/9200+)Immortalis-G715 MP11 @ 981/1150MHz
MT6989 (Dimensity 9300)Immortalis-G720 MP12 @ 1.3GHz
Dimensity 9400Immortalis-G925 MP12
MT6993 (Dimensity 9500)Mali-G1 Ultra MC12 @ 1716MHz
NetLogicAu1380, Au1350Mali-200
NufrontNS2816, NS2816MMali-400 MP
NS115, TL7688, TL7689Mali-400 MP2
NXPi.MX95Mali-G310 MP1
RealtekRTD1294, RTD1295, RTD1296Mali-T820 MP3
RTD1395Mali-470
RockchipRK2818Mali-200
RK2926, RK2628, RK3036, RK3229Mali-400 MP @ 400/400/500/600MHz
RK3026, RK3126, RK3128Mali-400 MP2 @ 500/600/600MHz
RK3066, RK3188, RK3188TMali-400 MP4 @ 266/533/~400MHz
RK3288Mali-T760 MP4 @ 600MHz
RK3326Mali-G31 MP2
RK3328Mali-450 MP2
RK3399Mali-T860 MP4 @ 600MHz
RK3566, RK3568Mali-G52 MC1 @ 800MHz
RK3576Mali-G52 MC3 @ 1000MHz
RK3588Mali-G610 MC4 @ 1000MHz
SamsungExynos 3 Quad 3470Mali-400 MP4 @ 450MHz
Exynos 3 Quad 3475Mali-T720 @ 600MHz
Exynos 4 Dual 4210Mali-400 MP4 @ 266MHz
Exynos 4 Dual 4212Mali-400 MP4 @ 400MHz
Exynos 3 Quad 4412/4415Mali-400 MP4 @ 533MHz
Exynos 5 Dual 5250Mali-T604 MP4 @ 533MHz
Exynos 5 Hexa 5260Mali-T624 MP4 @ 600MHz
Exynos 5 Octa 5420/5422Mali-T628 MP6 @ 533MHz
Exynos 5 Octa 5430/5800Mali-T628 MP6 @ 600MHz
Exynos 5 Hexa 7872Mali-G71 MP1 @ 1200MHz
Exynos 7 Octa 5433/7410Mali-T760 MP6 @ 700MHz
Exynos 7 Octa 7420Mali-T760 MP8 @ 772MHz
Exynos 7 Quad 7570Mali-T720 MP1 @ 830MHz
Exynos 7 Octa 7578/7580Mali-T720 MP2 @ 668MHz
Exynos 7 Octa 7870Mali-T830 MP1 @ 700MHz
Exynos 7 Octa 7880Mali-T830 MP3 @ 950MHz
Exynos 7 Series 7884AMali-G71 MP2 @ 450MHz
Exynos 7 Series 7884Mali-G71 MP2 @ 676/845MHz
Exynos 7 Series 7885Mali-G71 MP2 @ 1100MHz
Exynos 7 Series 7904Mali-G71 MP2 @ 770MHz
Exynos 850Mali-G52 MP1 @ 1001MHz
Exynos 880Mali-G76 MP5 @ 546MHz
Exynos 8 Octa 8890Mali-T880 MP10 (Lite) @650MHz Mali-T880 MP12 @650MHz
Exynos 9 Octa 8895Mali-G71 MP20 @ 546MHz
Exynos 7 Series 9609Mali-G72 MP3
Exynos 7 Series 9610Mali-G72 MP3 @ 1053MHz
Exynos 7 Series 9611Mali-G72 MP3 @ 850MHz
Exynos 9 Series 9810Mali-G72 MP18 @ 572MHz
Exynos 9 Series 9820Mali-G76 MP12 @ 702MHz
Exynos 9 Series 9825Mali-G76 MP12 @ 754MHz
Exynos 9 Series 980Mali-G76 MP5 @ 728MHz
Exynos 9 Series 990Mali-G77 MP11 @ 832MHz
Exynos 1080Mali-G78 MP10 @ 800MHz
Exynos 1280Mali-G68 MP4 @ 897MHz
Exynos 1330Mali G68 MP2 @ 949MHz
Exynos 1380Mali-G68 MP5 @ 949MHz
Exynos 2100Mali-G78 MP14 @ 854MHz
S5P6450 VegaMali-400 MP
Sigma DesignsSMP8750 SeriesMali-400 MP4 @ 350MHz
Socle-TechLeopard-6Mali-200
SpreadtrumSC68xx, SC57xx, SC77xx, SC8xxx, SC983xMali-400 MP Series
SC9860, SC9860GVMali-T880 MP4
ST-EricssonNovaThor U9500, U8500, U5500Mali-400 MP
STMicroelectronicsSPEAr1340Mali-200
STi7108, STiH416Mali-400 MP
TelechipsTCC8803, TCC8902, TCC8900, TCC9201Mali-200
WonderMediaWM8750Mali-200
WM8850, WM8950Mali-400 MP
WM8880, WM8980Mali-400 MP2
WM8860Mali-450
XiaomiSurge S1Mali-T860 MP4 @ 800MHz
Surge S2Mali-G71 MP12 @ 900MHz (?)
Xring O1Immortalis-G925 MP16

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 (fps). 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 (1–8) the V550 could support between 1080p60 (1 core) to 4K120 (8 cores). 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 (formerly named Egil) 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 (including HDR) 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 (Level 5.0) and decode (Level 5.1) capabilities, as well as AVS Part 2 (Jizhun) and Part 16 (AVS+, Guangdian) 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.

Mali-V77

The Mali V77 video processor was released with the Mali G77 GPU and Cortex-A77 CPU in 2019.

Comparison

Mali VideoV500V550V61V52V76V77
AnnouncedJune 2, 2013October 27, 2014October 31, 2016March 6, 2018May 31, 2018
Recommended GPUMali-T800-seriesMali-G51 Mali-G72Mali-G31 Mali-G52Mali-G76Mali-G77
Recommended DPUMali-DP500Mali-DP550 Mali-DP650Mali-DP650 Mali-D71Mali-D52
Memory systemMMU
Bus interfaceAMBA 3 AXI AMBA 4 ACELiteAMBA AXIAMBA4 AXI
Performance (enc)1080p60 (1 core) to 4K120 (8 core)1080p60 (1 core) to 4K60 (4 core)1080p60 (1 core) to 8K30 (8 core)
Performance (dec)1080p120 / 4K30 (1 core) to 4K120 (4 core)1080p120 / 4K30 (1 core) to 8K60 (8 core)
Decode & encode
H.264 8-bitD & ED & ED & ED & ED & ED & E
H.264 10-bit---D & ED & ED & E
VP8D & ED & ED & ED & ED & ED & E
JPEG-D & ED & ED & ED & ED & E
HEVC Main-D & ED & ED & ED & ED & E
HEVC Main 10-DD & ED & ED & ED & E
VP9 8-bit--D & ED & ED & ED & E
VP9 10-bit--D & ED & ED & ED & E
AV1------

Display processors

Mali-D71

The Mali-D71 added Arm Framebuffer Compression (AFBC) 1.2 encoder, support for ARM CoreLink MMU-600 and Assertive Display 5. Assertive Display 5 has support for HDR10 and hybrid log–gamma (HLG).

Mali-D77

The Mali-D77 added features including asynchronous timewarp (ATW), lens distortion correction (LDC), and chromatic aberration correction (CAC)[broken anchor]. The Mali-D77 is also capable of 3K (2880x1440) @ 120Hz and 4K @ 90Hz.

Mali DisplayDP500DP550DP650D71D51D77D37
AnnouncedMay 8, 2010October 27, 2014January 20, 2016October 31, 2017March 6, 2018May 15, 2019October 23, 2019
Optimized resn/a720p (HD) to 1080p (FHD)1440p (QHD)1440p (QHD) to 2160p (UHD/4K)1080p (FHD) to 1440p (QHD)2880x1440 @ 120Hz1080p (FHD) to 1440p (QHD)
Maximum res2160p (4K)2160p (4K)2160p (4K)2160p (4K) up to 120fps4096x2048 up to 60fps4320x2160 @ 120Hz
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

Image signal processors

Mali-C71

On April 25, 2017 the Mali-C71 was announced, ARM's first image signal processor (ISP).

Mali-C52 and Mali-C32

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

Mali-C71AE

On September 29, 2020 the Mali-C71AE image signal processor was introduced, alongside the Cortex-A78AE CPU and Mali-G78AE GPU. It supports up to 4 real-time cameras or up to 16 virtual cameras with a maximum resolution of 4096 x 4096 each.

Mali-C55

On June 8, 2022 the Mali-C55 ISP was introduced as successor to the C52. It is the smallest and most configurable image signal processor from Arm, and support up to 8 camera with a max resolution of 48 megapixel each. Arm claims improved tone mapping and spatial noise reduction compared to the C52. Multiple C55 ISPs can be combined to support higher than 48 megapixel resolutions.

Comparison

Mali cameraC32C52C55C71C71AE
AnnouncedJanuary 3, 2019June 8, 2022April 25, 2017September 29, 2020
Throughput600 MP/s1.2 GP/s
Support cameras484 real-time or 16 virtual
Max resolution4608×3456 (16 MP)8192×6144 (48 MP)4096×4096 (16MP)
Bit-depth (dynamic range)20-bit (20 stops)24-bit (24 stops)
Channel supportRGGB, RGBlrRGGBRGGB, RCCC, RGBIr, RCCB, RCCGRGGB, RCCC, RCCB, RCCG, RGBIr
up to 16 channels
ASIL complianceASIL B / SIL 2 ASIL D / SIL 3

The Lima, Panfrost and Panthor 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 website 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 kernel driver for inclusion in the Linux kernel. In May 2019, the Lima kernel driver became part of the mainline Linux kernel, and the Mesa userspace counterpart was merged at the same time. It currently supports OpenGL ES 1.1, 2.0 and parts of Desktop OpenGL 2.1, and the fallback emulation in Mesa provides full support for graphical desktop environments.

Panfrost is an open-source driver stack for Mali (and Immortalis) GPUs, covering Txxx (Midgard) and newer generations. A talk introducing Panfrost was presented at X.Org Developer's Conference 2018. As of May 2019, the Panfrost kernel driver is part of the mainline Linux kernel. The userspace side consists of Mesa's Panfrost driver that provides OpenGL ES and OpenGL; as well as the PanVK userspace driver that provides Vulkan.

Collabora developed the Panthor kernel driver for third-generation and newer Valhall GPUs. The Panfrost and PanVK userspace drivers in Mesa use the Panthor kernel driver on these GPUs. Later, Collabora announced the Tyr kernel driver, a joint effort between Collabora, Arm, and Google, written in Rust and designed to eventually replace the Panthor kernel driver.

See also

  • Adreno – GPU developed by Qualcomm (formerly AMD, then Freescale)
  • Atom family of SoCs – with Intel graphics core, not licensed to third parties
  • AMD mobile APUs – with AMD graphics core, not licensed to third parties
  • PowerVR – by Imagination Technologies
  • Tegra – family of SoCs by Nvidia with the graphics core available as a SIP block to third parties
  • VideoCore – family of SoCs by Broadcom with the graphics core available as a SIP block to third parties
  • Vivante – available as SIP block to third parties
  • Imageon – old AMD mobile GPU
  • RDNA – by AMD, licensed to Samsung for use as GPUs in Exynos SoCs under Xclipse name

External links

  • website
  • 2017-01-07 at theWayback Machine a developer focused site run by ARM