Adreno
Adreno is a series of graphics processing unit semiconductor intellectual property cores developed by Qualcomm and used in many of their SoCs.
History
Adreno is an integrated graphics processing unit within Qualcomm's Snapdragon applications processors, that was jointly developed by ATI Technologies in conjunction with Qualcomm's preexisting "QShader" GPU architecture, and coalesced into a single family of GPUs that rebranded as Adreno in 2008, just prior to AMD's mobile division being sold to Qualcomm in January 2009 for $65M. Early Adreno models included the Adreno 100 and 110, which had 2D graphics acceleration and limited multimedia capabilities. Prior to 2008, 3D graphics on mobile platforms were commonly handled using software-based rendering engines, which limited their performance and consumed too much power to be used for anything other than rudimentary mobile graphics applications. With growing demand for more advanced multimedia and 3D graphics capabilities, Qualcomm licensed the Imageon IP from AMD, in order to add hardware-accelerated 3D capabilities to their mobile products. Further collaboration with AMD resulted in the development of the Adreno 200, originally named the AMD Z430, based on a mobile Imageon variant of the R400 architecture used in the Xenos GPU of the Xbox 360 video game console and released in 2008, which was integrated into the first Snapdragon SoC. In January 2009, AMD sold their entire Imageon handheld device graphics division to Qualcomm.Technical details
Before Adreno
- Support up to 320x240
- Defender3 and Stargate have Texture compression
Adreno 100 series
- Adreno 130 is rebrand of ''Imageon 3D''
Adreno 200 series - yamato / leia
Adreno 300 series - oxili
- All models support the following APIs: Direct3D 11, OpenCL 1.1, OpenGL ES 3.0
- Move from VLIW to superscalar architecture
Adreno 400 series
Adreno 500 series
Adreno 600 series
- All models support the following APIs: Direct3D 12_1, OpenCL 3.0, OpenGL ES 3.2 and Vulkan 1.1Adreno 660 is the first mobile GPU to feature Variable Rate Shading.
- Resolution FHD & FHD+ and 4K in some model adreno 600 series.
Adreno 700 series
- All models support the following APIs: Direct3D 12_1, OpenCL 3.0, OpenGL ES 3.2 and Vulkan 1.1Adreno 740 is the first GPU from Qualcomm to feature ray tracing
- Modern APIs and Display Support: The GPUs support modern graphics APIs like OpenGL ES 3.2, OpenCL 2.0, DirectX 12, and Vulkan. They are also capable of driving high-resolution and high-refresh-rate displays, such as WFHD+ at 168 Hz and 4K at 60 Hz with support for HDR10+, HLG, and Dolby Vision.
Adreno 800 series
- Introduced with the Adreno 810 in the Snapdragon 7s Gen 3 in August 2024.
- Uses a sliced architecture, with 3 slices with 4 CUs and 4 MB cache each in the Adreno 830.
- Moves from Tile Based Rendering to Immediate Mode Rendering.
- UBWC v6: The architecture incorporates version 6 of Universal Bandwidth Compression.
Adreno X series
- All models support the following APIs: Direct3D 11 & 12_1, OpenCL 3.0, OpenGL ES 3.2 and Vulkan 1.3
- The Adreno X1-45 is internally called the Adreno 726, suggesting it's a scaled-up of the Adreno 725 from the Snapdragon 7+ Gen 2.
- The Adreno X1-85 is internally called the Adreno 741, suggesting it's a scaled-up of the Adreno 730 from the Snapdragon 8 Gen 1.
- Adreno 540 inside the Qualcomm Snapdragon 835 is the first phone SoC to feature variable refresh rate and foveated rendering/Variate Rate Shading, Qualcomm calls their implementations Q-Sync and Adreno Foveation.
- Adreno 630 inside the Qualcomm Snapdragon 845 is the first phone SoC to feature Inside-Out Room-scale 6DoF with SLAM.
- Adreno 640 inside the Qualcomm Snapdragon 855 is the first phone SoC to feature updateable GPU drivers from the Google Play Store.
Operating system support
There are proprietary drivers for the Linux-based mobile operating system Android available from Qualcomm themselves.Historically the only way to have GPU support on non-Android Linux was with the libhybris wrapper.
Linux and Mesa supports the Adreno 200/300/400/500 series of GPUs with a driver called
freedreno. Freedreno allows fully open-source graphics on devices like the 96Boards Dragonboard 410c and Nexus 7 (2013).Qualcomm also provides Adreno drivers for ARM64 versions of Microsoft Windows.
Since Linux kernel 6.11, the mainline Linux kernel has added Adreno drivers for Qualcomm Snapdragon X system-on-a-chips.