Mali | |
Created: | 2005 |
Model: | See Variants |
Numcores: | 1-32 cores |
Fab: | 4-40 nm |
Openclversion: | 1.1-3.0 |
Vulkanapi: | 1.0-1.3 |
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.[1]
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.[2]
On June 28, 2022, Arm announced their Immortalis series of GPUs with hardware-based Ray Tracing support.[3]
In 2005, Falanx announced their Utgard GPU Architecture, the Mali-200 GPU.[4] 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).[5]
On November 10, 2010, Arm announced their Midgard 1st gen GPU Architecture, including the Mali-T604 and later the Mali-T658 GPU in 2011.[6] [7] [8] [9] Midgard uses a Hierarchical Tiling system.
On August 6, 2012, Arm announced their Midgard 2nd gen GPU Architecture, including the Mali-T678 GPU.[10] Midgard 2nd gen introduced Forward Pixel Kill.[11]
On October 29, 2013, Arm announced their Midgard 3rd gen GPU Architecture, including the Mali-T760 GPU.[12] [5] [13] [14] [15]
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:[16]
On May 27, 2016, Arm announced their Bifrost GPU Architecture, including the Mali-G71 GPU. New microarchitectural features include:[17] [18]
On May 29, 2017, Arm announced their Bifrost 2nd gen GPU Architecture, including the Mali-G72 GPU. New microarchitectural features include:[19] [20]
On May 31, 2018, Arm announced their Bifrost 3rd gen GPU Architecture, including the Mali-G76 GPU. New microarchitectural features include:[21] [22]
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:[23] [24] [25]
On May 26, 2020, Arm announced their Valhall 2nd Gen GPU Architecture, including the Mali-G78. New microarchitectural features include:[26] [27] [28]
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:[29] [30] [31]
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:[3] [32]
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.[35] [36] [37] New microarchitectural features include:[38]
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.[39]
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.[40]
The Mali core grew out of the cores previously produced by Falanx and currently constitute:[41]
Model | Micro- archi- tecture | Type | Launch date | EUs/Shader core count | Shading Units | Total Shaders | Fab (nm) | Die size (mm2) | Core clock rate (MHz) | L2 cache size | Fillrate | GFLOPS (per core) | GFLOPS (total) | API (version) | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
M△/s | GT/s | (GP/s) | Vulkan | OpenGL ES | OpenCL | ||||||||||||||
Mali-55/110 | Fixed function pipeline[42] | 2005 | 1 | 2.8 | 0.1 | 1.1 | rowspan=6 | ||||||||||||
Mali-200 | Utgard[43] | Programmable pipeline | 2007[44] | 1 | 5 | 0.2 | 2.0 | ||||||||||||
Mali-300 | 2010[45] | 1 | 40 28 | 500 | 8 KiB | 55 | 0.5 | 5 | |||||||||||
Mali-400 MP | 2008 | 1–4 | 200–600 | 8–256 KiB | 55 | 0.5 | 1.2–5.4 | ||||||||||||
Mali-450 MP | 2012 | 1–8 | 300–750 | 8–512 KiB | 142 | 2.6 | 4.5–11.9 | ||||||||||||
Mali-470 MP | 2015 | 1–4 | 250–650 | 8–256 KiB | 71 | 0.65 | 8–20.8 | ||||||||||||
Mali-T604[46] | Midgard 1st gen | Unified shader model +SIMD ISA | Nov 2010[47] | 1–4 | 32 28 | 533 | 32–256 KiB | 90 | 0.533 | 17 | 3.1 | Full Profile 1.1 | |||||||
Mali-T658 | Nov 2011[48] | 1–8 | |||||||||||||||||
Mali-T622 | Midgard 2nd gen | Jun 2013[49] | 1–2 | 32 28 | 533 | 8.5 | |||||||||||||
Mali-T624 | 2012-08 | 1–4 | 533–600 | 17–19.2 | |||||||||||||||
Mali-T628 | 1–8 | 533–695 | 17–23.7 | ||||||||||||||||
Mali-T678[50] | 1–8 | 28 | |||||||||||||||||
Mali-T720 | Midgard 3rd gen | 2013-10 | 1–8 | 400–700 | 650 (MP8@ 650 MHz) | 5.2 (MP8 @650 MHz) | 6.8–11.9 | ||||||||||||
Mali-T760 | 1–16 | 28 14 | 1.75 mm2 per shader core at 14 nm[51] | 600–772 | 256–2048 KiB[52] | 1300 | 0.6–12.6 GTexel/s (bilinear)[53] | 10.4 | 17–26.2 | 1.0[54] | 3.2[55] | Full Profile 1.2 | |||||||
Mali-T820 | Midgard 4th gen | Q4 2015 | 1–4 | 28 | 600 | 32–256 KiB | 400 | ? | 2.6 | 10.2 | |||||||||
Mali-T830 | 600–950 | 400 | ? | 2.6 | 20.4–32.3 | ||||||||||||||
Mali-T860 | 1–16 | 350–700 | 256–2048 KiB | 1300 | ? | 10.4 | 11.9–23.8 | ||||||||||||
Mali-T880 | Q2 2016 | 1–16 | 16 | 650–1000 | 1700 | ? | 13.6 | 22.1–34 | |||||||||||
Mali-G31 | Bifrost 1st gen | Unified shader model + Unified memory +scalar, clause-based ISA | Q1 2018 | 1–6[56] | 4 or 8 per core | 4–48 | 28 12 | 650 | 32kB–512kB | ? | 1.3 | 8–16 @ 1000 MHz | 48–576 @ 1000 MHz | 1.3[57] | Full Profile 2.0 | ||||
Mali-G51[58] | Q4 2016 | 1–6[59] | 8 or 12 per core | 8–72 | 28 16 14 12 10 | 1000 | ? | 3.9 | 16–24 @ 1000 MHz | 16–144 @ 1000 MHz | |||||||||
Mali-G71[60] | Q2 2016 | 1–32 | 12 per core | 12–384 | 16 14 10 | 546–1037 | 128–2048 KiB | 1850 | 0.7–24.7GTexel/s (bilinear)[61] | 27.2 | 24 @ 1000 MHz | 24–768 @ 1000 MHz | |||||||
Mali-G52 | Bifrost 2nd gen | Q1 2018 | 1–6 | 16 or 24 per core | 16–144 | 16 12 8 7 | 850 | 32-512 KiB | ? | 6.8 | 32–48 @ 1000 MHz | 32–288 @ 1000 MHz | |||||||
Mali-G72 | Q2 2017 | 1–32 | 12 per core | 12–384 | 16 12 10 | 1.36 mm2 per shader core at 10 nm[62] | 572–1050 | 128–2048 KiB | 27.2 | 24 @ 1000 MHz | 24–768 @ 1000 MHz | ||||||||
Mali-G76 | Bifrost 3rd gen | Q2 2018 | 4–20 | 24 per core | 96–480 | 12 8 7 | 600–800 | 512–4096 KiB | 48 @ 1000 MHz | 192–960 @ 1000 MHz | |||||||||
Mali-G57 | Valhall 1st gen | Superscalar engine + Unified memory +simplified scalar ISA | Q2 2019 | 1–6 | 32 per core | 32–192 | 12 7 6 | ? | 950[63] | 64–512 KiB | ? | ? | ? | 64 @ 1000 MHz | 64–384 @ 1000 MHz | ||||
Mali-G77 | 7–16 | 224–512 | 7 6 | ? | 695–850 | 512–2048 KiB | ? | ? | ? | 448–1024 @ 1000 MHz | |||||||||
Mali-G68 | Valhall 2nd gen | Q2 2020 | 1–6 | 32–192 | 6 5 3 | 64–384 @ 1000 MHz | |||||||||||||
Mali-G78 | 7–24 | 224–768 | 5 | 759-848 | 448–1536 @ 1000 MHz | ||||||||||||||
Mali-G310 | Valhall 3rd gen | Q2 2021 | 1 | 16 or 32 or 64 | 16–64 | 6 5 4 | 256–1024 KiB | 32–128 @ 1000 MHz | |||||||||||
Mali-G510 | 2–6 | 48 or 64 per core | 96–384 | 96–128 @ 1000 MHz | 192–768 @ 1000 MHz | ||||||||||||||
Mali-G610 | 1–6 | 64 per core | 64–384 | 512–2048 KiB | 128 @ 1000 MHz | 128–768 @ 1000 MHz | |||||||||||||
Mali-G710 | 7–16 | 448–1024 | 650,850 900 | 2648 | 92 | 896–2048 @ 1000 MHz | |||||||||||||
Mali-G615 | Valhall 4th gen | Q2 2022 | 1–6 | 128 per core | 128–768 | 4 | 256 @ 1000 MHz | 256–1536 @ 1000 MHz | |||||||||||
Mali-G715 | 7–9 | 896–1152 | 1792–2304 @ 1000 MHz | ||||||||||||||||
Immortalis-G715 | 10–16 | 1280–2048 | 2560–4096 @ 1000 MHz | ||||||||||||||||
Mali-G620 | 5th Gen[64] | Deferred Vertex Shading (DVS) | Q2 2023 | 1–5 | 128–640 | 256–1024 KiB | 332.8 @ 1300 MHz | 332.8–1664 @ 1300 MHz | Full Profile 3.0 | ||||||||||
Mali-G720 | 6–9 | 768–1152 | 512–2048 KiB | 1996.8–2995.2 @ 1300 MHz | |||||||||||||||
Immortalis-G720 | Q4 2023 | 10–16 | 1280–2048 | 3328–5324.8 @ 1300 MHz | |||||||||||||||
Mali-G625 | Q2 2024 | 1–5 | 128–640 | 4 3 | 256–1024 KiB | 332.8–1664 @ 1300 MHz | |||||||||||||
Mali-G725 | 6–9 | 768–1152 | 512–4096 KiB | 1996.8–2995.2 @ 1300 MHz | |||||||||||||||
Immortalis-G925 | 10–24 | 1280–3072 | 3328–7987.2 @ 1300 MHz | ||||||||||||||||
Model | Micro- archi- tecture | Type | Launch date | EUs/Shader core count | Shading Units | Total Shaders | Fab(nm) | Die size (mm2) | Core clock rate (MHz) | Max L2 cache size | Fillrate (Max core count) | FP32 GFLOPS (per core) | GFLOPS (total) | Vulkan | Open GL/ES | Open CL |
Some microarchitectures (or just some chips?) support cache coherency for the L2 cache with the CPU.[65] [66]
Adaptive Scalable Texture Compression (ASTC) is supported by Mali-T620, T720/T760, T820/T830/T860/T880[43] and Mali-G series.
The Mali GPU variants can be found in the following systems on chips (SoCs):
Vendor | SoC name | Mali version |
---|---|---|
Allwinner | Allwinner A1X (A10, A10s, A13) | Mali-400 MP[67] [68] [69] @ 300 MHz |
A20, A23, A33, A64,[70] H2, H3, H64, R8, R16, R40, R18 | Mali-400 MP2[71] @ 350/350/350/600/600/?/?/?/?/?/? MHz | |
H5 | Mali-450 MP4 | |
H6 | Mali-T720 MP2 | |
H313, H616, H618 | Mali-G31 MP2 | |
Amlogic | 8726-M series (8726-M1, 8726-M3, 8726-M6, 8726-MX) | Mali-400 MP/MP2[72] @ 250/400 MHz |
8726-M8 series (M801, M802, S801, S802, S812) | Mali-450 MP6 @ 600 MHz | |
8726-M8B series (M805, S805) | Mali-450 MP2 @ 500 MHz | |
S905, S905X/D/L | Mali-450 MP3 @ 750 MHz | |
S905X2, S905X3, S905Y2, S905D2, S905X4[73] | Mali-G31 MP2 | |
S905X5[74] | Mali-G310 @ 1 GHz[75] | |
S912 | Mali-T820 MP3 @ 600 MHz | |
S922X, A311D | Mali-G52 MP4 | |
T966 | Mali-T830 MP2 @ 650 MHz | |
ARM | Morello | Mali-G76 |
Asus | Tinkerboard, Tinkerboard S | Mali-T760 |
Baikal Electronics | Baikal-M | Mali-T628 MP8[76] |
CSR | Quatro 5300 Series | Mali-400 MP |
ELVEES Multicore | 1892VM14Ya | Mali-300 |
InfoTM | iMAP×15 | Mali-400 |
iMAP×820 | Mali-400 MP2 | |
iMAP×912 | Mali-400 MP2 | |
Tensor | Mali-G78 MP20 @ 848(996) MHz | |
Tensor G2 | Mali-G710 MP7 @ 848(996) MHz | |
Tensor G3 | Mali-G715 MP7 @ 890(900) MHz | |
Tensor G4 | Mali-G715 MP7 @ 940 MHz | |
HiSilicon | Kirin 620 | Mali-450 MP4 @ 533 MHz |
Kirin 650/655/658/659 | Mali-T830 MP2 @ 900 MHz | |
Kirin 710 | Mali-G51 MP4 @ 1000 MHz | |
Kirin 810 | Mali-G52 MP6 @ 820 MHz | |
Kirin 820 | Mali-G57 MP6 @??? MHz | |
Kirin 910/910T | Mali-450 MP4 @ 533/700 MHz | |
Kirin 920/925/928 | Mali-T628 MP4 @ 600/600/? MHz | |
Kirin 930/935 | Mali-T628 MP4 @ 600/680 MHz | |
Kirin 950/955 | Mali-T880 MP4 @ 900 MHz | |
Kirin 960 | Mali-G71 MP8 @ 1037 MHz | |
Kirin 970 | Mali-G72 MP12 @ 746 MHz | |
Kirin 980 | Mali-G76 MP10 @ 720 MHz | |
Kirin 985 | Mali-G77 MP8 @??? MHz | |
Kirin 990/990 5G | Mali-G76 MP16 @ 600 MHz | |
Kirin 9000 5G/Kirin 9000E 5G | Mali-G78 MP24/22 @ 759 MHz | |
Hi3798cv200 | Mali-T720 @ 450/600 MHz | |
Leadcore | LC1810, LC1811, LC1813, LC1913 | Mali-400[77] [78] [79] [80] |
LC1860, LC1860C, LC1960 | Mali-T628 MP2 @ 600 MHz | |
MediaTek | MSD6683 | Mali-470 MP3 |
MT5595, MT5890 | Mali-T624 MP3 | |
MT5596, MT5891 | Mali-T860 MP2[81] | |
MT6571, MT6572, MT6572M | Mali-400 MP1 @ ?/500/400 MHz | |
MT6580 | Mali-400 MP1 @ 500 MHz | |
MT6582/MT6582M | Mali-400 MP2 @ 500/416 MHz | |
MT6588, MT6591, MT6592, MT6592M, MT8127 | Mali-450 MP4 @ 600/700/600/600 MHz[82] | |
MT6735, MT6735M, MT6735P | Mali-T720 MP2 @ 600/500/400 MHz | |
MT6737, MT6737T | Mali-T720 MP2 @ 550/600 MHz | |
MT8735 | Mali-T720 MP2 @ 450 MHz | |
MT6753 | Mali-T720 MP3 @ 700 MHz[83] | |
MT6732, MT6732M, MT6752, MT6752M | Mali-T760 MP2 @ 500/500/700/700 MHz[84] | |
MT6750 | Mali-T860 MP2 @ 520 MHz | |
MT6755 (Helio P10/P15/P18) | Mali-T860 MP2 @ 700/650/800 MHz | |
MT6757 (Helio P20, P25) | Mali-T880 MP2 @ 900 MHz/1.0 GHz[85] | |
MT6797 (Helio X20/X23/X25/X27) | Mali-T880 MP4 @ 780/850/875 MHz | |
MT6763T (Helio P23), MT6758 (Helio P30) | Mali-G71 MP2 @ 770/950 MHz[86] [87] | |
MT6771 (Helio P60, P70) | Mali-G72 MP3 @ 800/900 MHz[88] [89] | |
MT6768 (Helio P65), MT6769 (Helio G70/G80/G85/G88) | Mali-G52 MC2 @ 820/950/1000 MHz | |
Helio G91 | Mali-G52 MC2 @ 1 GHz | |
MT6785 (Helio G90/G90T/G95) | Mali-G76 MC4 @ 720/800/900 MHz | |
MT6781 (Helio G96, G99) | Mali-G57 MC2 @ 950/1000 MHz | |
MT6833 (Dimensity 700, 810, 6020) | Mali-G57 MC2 @ 950/1068/950 MHz | |
MT6853 (Dimensity 720, 800U) | Mali-G57 MC3 @ 850 MHz | |
MT6873 (Dimensity 800) | Mali-G57 MC4 @ 650 MHz | |
MT6875 (Dimensity 820), MT6883Z (Dimensity 1000C) | Mali-G57 MC5 @ 900 MHz | |
MT6877/MT6877T (Dimensity 900/920/1080/7050) | Mali-G68 MC4 @ 900 MHz | |
MT6885Z (Dimensity 1000L) | Mali-G77 MC7 @ 695 MHz | |
MT6889 (Dimensity 1000/1000+) | Mali-G77 MC9 @ 850 MHz | |
MT6891/MT6893 (Dimensity 1100/1200/1300/8020/8050) | Mali-G77 MC9 @ 850 MHz | |
MT8192 (Kompanio 820) | Mali-G57 MC5 GPU @ ??? MHz | |
Kompanio 838 | Mali-G57 MC3 | |
MT8195/MT8195T (Kompanio 1200/1380) | Mali-G57 MC5 GPU @ ??? MHz | |
MT8791 (Kompanio 900T) | Mali-G68 MP4 GPU @ 900 MHz | |
MT8797 (Kompanio 1300T) | Mali-G77 MP9 @ 850 MHz | |
MT6886 (Dimensity 7200) | Mali-G610 MC4 @ 1.13 GHz | |
MT6878 (Dimensity 7300/7300X) | Mali-G615 MC2 @ 1.05 GHz | |
MT6895/MT6895Z/MT6896 (Dimensity 8000/8100/8200) | Mali-G610 MC6 @ 700/860/950 MHz | |
Dimensity 8300 | Mali-G615 MC6 | |
MT6983 (Dimensity 9000/9000+) | Mali-G710 MP10 @ 848/950 MHz | |
MT6985 (Dimensity 9200/9200+) | Immortalis-G715 MP11 @ 981/1150 MHz | |
MT6989 (Dimensity 9300) | Immortalis-G720 MP12 @ 1.3 GHz | |
Dimensity 9400 | Immortalis-G925 MP12 | |
NetLogic | Au1380, Au1350 | Mali-200[90] [91] |
Nufront | NS2816, NS2816M | Mali-400 MP |
NS115, TL7688, TL7689 | Mali-400 MP2 | |
Realtek | RTD1294, RTD1295, RTD1296 | Mali-T820 MP3[92] |
RTD1395 | Mali-470 | |
Rockchip | RK2818 | Mali-200 |
RK2926, RK2628, RK3036, RK3229 | Mali-400 MP @ 400/400/500/600 MHz[93] | |
RK3026, RK3126, RK3128 | Mali-400 MP2 @ 500/600/600 MHz | |
RK3066, RK3188, RK3188T | Mali-400 MP4 @ 266/533/~400 MHz[94] [95] | |
RK3288 | Mali-T760 MP4 @ 600 MHz | |
RK3326 | Mali-G31 MP2[96] [97] | |
RK3328 | Mali-450 MP2 | |
RK3399 | Mali-T860 MP4 @ 600 MHz | |
RK3530, RK3566, RK3568 | Mali-G52[98] | |
RK3588 | Mali-G610 MC4[99] | |
Samsung | Exynos 3 Quad 3470 | Mali-400 MP4 @ 450 MHz[100] |
Exynos 3 Quad 3475 | Mali-T720 @ 600 MHz | |
Exynos 4 Dual 4210 | Mali-400 MP4 @ 266 MHz | |
Exynos 4 Dual 4212 | Mali-400 MP4 @ 400 MHz | |
Exynos 3 Quad 4412/4415 | Mali-400 MP4 @ 533 MHz | |
Exynos 5 Dual 5250 | Mali-T604 MP4 @ 533 MHz[101] | |
Exynos 5 Hexa 5260 | Mali-T624 MP4 @ 600 MHz | |
Exynos 5 Octa 5420/5422 | Mali-T628 MP6 @ 533 MHz | |
Exynos 5 Octa 5430/5800 | Mali-T628 MP6 @ 600 MHz | |
Exynos 5 Hexa 7872 | Mali-G71 MP1 @ 1200 MHz | |
Exynos 7 Octa 5433/7410 | Mali-T760 MP6 @ 700 MHz | |
Exynos 7 Octa 7420 | Mali-T760 MP8 @ 772 MHz | |
Exynos 7 Quad 7570 | Mali-T720 MP1 @ 830 MHz | |
Exynos 7 Octa 7578/7580 | Mali-T720 MP2 @ 668 MHz | |
Exynos 7 Octa 7870 | Mali-T830 MP1 @ 700 MHz | |
Exynos 7 Octa 7880 | Mali-T830 MP3 @ 950 MHz | |
Exynos 7 Series 7884A | Mali-G71 MP2 @ 450 MHz | |
Exynos 7 Series 7884 | Mali-G71 MP2 @ 676/845 MHz | |
Exynos 7 Series 7885 | Mali-G71 MP2 @ 1100 MHz | |
Exynos 7 Series 7904 | Mali-G71 MP2 @ 770 MHz | |
Exynos 850 | Mali-G52 MP1 @ 1001 MHz | |
Exynos 880 | Mali-G76 MP5 @ 546 MHz | |
Exynos 8 Octa 8890 | Mali-T880 MP10 (Lite) @650 MHz Mali-T880 MP12 @650 MHz | |
Exynos 9 Octa 8895 | Mali-G71 MP20 @ 546 MHz[102] [103] | |
Exynos 7 Series 9609 | Mali-G72 MP3 | |
Exynos 7 Series 9610 | Mali-G72 MP3 @ 1053 MHz[104] | |
Exynos 7 Series 9611 | Mali-G72 MP3 @ 850 MHz | |
Exynos 9 Series 9810 | Mali-G72 MP18 @ 572 MHz[105] | |
Exynos 9 Series 9820 | Mali-G76 MP12 @ 702 MHz | |
Exynos 9 Series 9825 | Mali-G76 MP12 @ 754 MHz | |
Exynos 9 Series 980 | Mali-G76 MP5 @ 728 MHz | |
Exynos 9 Series 990 | Mali-G77 MP11 @ 832 MHz | |
Exynos 1080 | Mali-G78 MP10 @ 800 MHz | |
Exynos 1280 | Mali-G68 MP4 @ 897 MHz | |
Exynos 1330 | Mali G68 MP2 @ 949 MHz | |
Exynos 1380 | Mali-G68 MP5 @ 949 MHz | |
Exynos 2100 | Mali-G78 MP14 @ 854 MHz | |
S5P6450 Vega | Mali-400 MP[106] | |
Sigma Designs | SMP8750 Series | Mali-400 MP4 @ 350 MHz[107] |
Socle-Tech | Leopard-6 | Mali-200[108] |
Spreadtrum | SC68xx, SC57xx, SC77xx, SC8xxx, SC983x | Mali-400 MP Series[109] |
SC9860, SC9860GV | Mali-T880 MP4 | |
ST-Ericsson | NovaThor U9500, U8500, U5500 | Mali-400 MP[110] |
STMicroelectronics | SPEAr1340 | Mali-200[111] |
STi7108, STiH416 | Mali-400 MP[112] [113] | |
Telechips | TCC8803, TCC8902, TCC8900, TCC9201 | Mali-200[114] |
WonderMedia | WM8750 | Mali-200 |
WM8850, WM8950 | Mali-400 MP[115] | |
WM8880, WM8980 | Mali-400 MP2 | |
WM8860 | Mali-450 | |
Xiaomi | Surge S1 | Mali-T860 MP4 @ 800 MHz[116] [117] |
Surge S2 | Mali-G71 MP12 @ 900 MHz (?)[118] |
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.
The first version of a Mali Video processor was the V500, released in 2013 with the Mali-T622 GPU.[119] 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.
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.[120] The V550 also included technology improvements to better handle latency and save bandwidth.[121] 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.
The Mali V61 video processor (formerly named Egil) was released with the Mali Bifrost GPU in 2016.[122] [123] 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.[124] 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.[125]
The Mali V52 video processor was released with the Mali G52 and G31 GPUs in March 2018.[126] The processor is intended to support 4K (including HDR) video on mainstream devices.[127]
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.[128]
The Mali V76 video processor was released with the Mali G76 GPU and Cortex-A76 CPU in 2018.[129] 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.
The Mali V77 video processor was released with the Mali G77 GPU and Cortex-A77 CPU in 2019.
Mali Video | V500 | V550 | V61 | V52 | V76 | V77 | |
---|---|---|---|---|---|---|---|
Announced | June 2, 2013[130] | October 27, 2014[131] | October 31, 2016[132] | March 6, 2018[133] | May 31, 2018 | ||
Recommended GPU | Mali-T800-series | Mali-G51 Mali-G72 | Mali-G31 Mali-G52 | Mali-G76 | Mali-G77 | ||
Recommended DPU | Mali-DP500 | Mali-DP550 Mali-DP650 | Mali-DP650 Mali-D71 | Mali-D52 | |||
Memory system | MMU | ||||||
Bus interface | AMBA 3 AXI AMBA 4 ACE Lite | AMBA AXI | AMBA4 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-bit | |||||||
H.264 10-bit | |||||||
VP8 | |||||||
JPEG | |||||||
HEVC Main | |||||||
HEVC Main 10 | |||||||
VP9 8-bit | |||||||
VP9 10-bit | |||||||
AV1 |
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).
The Mali-D77 added features including asynchronous timewarp (ATW), lens distortion correction (LDC), and chromatic aberration correction (CAC). The Mali-D77 is also capable of 3K (2880x1440) @ 120 Hz and 4K @ 90 Hz.[134]
Mali Display | DP500[135] [136] | DP550[137] | DP650[138] [139] | D71[140] [141] [142] | D51 | D77[143] [144] | D37[145] | |
---|---|---|---|---|---|---|---|---|
Announced | May 8, 2010 | October 27, 2014 | January 20, 2016 | October 31, 2017 | March 6, 2018 | May 15, 2019 | October 23, 2019 | |
Optimized res | n/a | 720p (HD) to 1080p (FHD) | 1440p (QHD) | 1440p (QHD) to 2160p (UHD/4K) | 1080p (FHD) to 1440p (QHD) | 2880x1440 @ 120 Hz | 1080p (FHD) to 1440p (QHD) | |
Maximum res | 2160p (4K) | 2160p (4K) | 2160p (4K) | 2160p (4K) up to 120fps | 4096x2048 up to 60fps | 4320x2160 @ 120 Hz | ||
Launched alongside | Cortex-A17 core | Mali-T800 series GPU, V550 Video Processor | CoreLink MMU-600, Assertive Display 5 | Mali-G31, Mali-G52, Mali-V52 | Ethos-N77, Ethos-N57, Ethos-N37 Mali-G57 |
On April 25, 2017 the Mali-C71 was announced, ARM's first image signal processor (ISP).[146] [147] [148]
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.[149]
On September 29, 2020 the Mali-C71AE image signal processor was introduced, alongside the Cortex-A78AE CPU and Mali-G78AE GPU.[150] It supports up to 4 real-time cameras or up to 16 virtual cameras with a maximum resolution of 4096 x 4096 each.[151]
On June 8, 2022 the Mali-C55 ISP was introduced as successor to the C52.[152] [153] 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.
Mali camera | C32 | C52 | C55 | C71 | C71AE | |
---|---|---|---|---|---|---|
Announced | January 3, 2019 | June 8, 2022 | April 25, 2017 | September 29, 2020[154] | ||
Throughput | 600 MP/s | 1.2 GP/s | ||||
Support cameras | 4 | 8 | 4 real-time or 16 virtual | |||
Max resolution | 4608×3456 (16 MP) | 8192×6144 (48 MP) | 4096×4096 (16MP) | |||
Bit-depth (dynamic range) | 20-bit (20 stops) | 24-bit (24 stops) | ||||
Channel support | RGGB, RGBlr | RGGB | RGGB, RCCC, RGBIr, RCCB, RCCG | RGGB, RCCC, RCCB, RCCG, RGBIr | ||
up to 16 channels | ||||||
ASIL compliance | ASIL B / SIL 2ASIL D / SIL 3 |
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.[155] The reverse-engineering project was presented at FOSDEM, February 4, 2012,[156] [157] followed by the opening of a website[158] demonstrating some renders. On February 2, 2013, Verhaegen demonstrated Quake III Arena in timedemo mode, running on top of the Lima driver.[159] In May 2018, a Lima developer posted the driver for inclusion in the Linux kernel.[160] In May 2019, the Lima driver became part of the mainline Linux kernel.[161] 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.[162]
Panfrost is a reverse-engineered driver effort for Mali Txxx (Midgard) and Gxx (Bifrost) GPUs. Introducing Panfrost[163] talk was presented at X.Org Developer's Conference 2018. As of May 2019, the Panfrost driver is part of the mainline Linux kernel.[164] and MESA. Panfrost supports OpenGL ES 2.0, 3.0 and 3.1, as well as OpenGL 3.1.[165]
Later Collabora has developed[166] panthor driver for G310, G510, G710 GPUs.