Adreno

Adreno is a series of graphics processing unit (GPU) semiconductor intellectual property cores developed by Qualcomm and used in many of their SoCs.

History
Adreno is an integrated graphics processing unit (GPU) 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. Apocryphal claims that Adreno was intentionally named by Qualcomm as anagram of ATI's Radeon family of desktop PC GPUs are false. 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.

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

 * All models support the following APIs: Direct3D 11 (feature level 9_3), OpenGL ES 2.0

Adreno 300 series - oxili

 * All models support the following APIs: Direct3D 11 (feature level 9_3), OpenCL 1.1, OpenGL ES 3.0
 * Move from VLIW to superscalar architecture

Adreno 400 series

 * All models support the following APIs: Direct3D 11, OpenCL 1.2, OpenGL ES 3.2 and Vulkan 1.0 (except Adreno 405)

Adreno 500 series

 * All models support the following APIs: Direct3D 11, OpenCL 2.0, OpenGL ES 3.2 and Vulkan 1.0

Adreno 600 series

 * All models support the following APIs: Direct3D 12_1, OpenCL 2.0, OpenGL ES 3.2 and Vulkan 1.1
 * Adreno 660 is the first mobile GPU to feature Variable Rate Shading (VRS).

Adreno 700 series

 * All models support the following APIs: Direct3D 12_1, OpenCL 2.0, OpenGL ES 3.2 and Vulkan 1.1
 * Adreno 740 is the first GPU from Qualcomm to feature Ray tracing

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 is internally called the Adreno 741, suggesting it's a variant of the Adreno 730 from the Snapdragon 8 Gen 1+.


 * Notes


 * Adreno 130 inside the MSM7x01, and MSM7x01A. It supports OpenGL ES 1.1, OpenVG 1.1, EGL 1.3, Direct3D Mobile, SVGT 1.2, Direct Draw and GDI.
 * Adreno 200 (AMD Z430) inside the QSD8x50 and MSM7x27 (133 MHz). It offers a programmable function pipeline and streaming textures with support for OpenGL ES 1.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2 and DirectDraw. (22M triangles/second, 133M pixels/second, clock speed up to 133 MHz)
 * Adreno 200 enhanced inside the MSM7x25A and MSM7x27A (200 MHz). It supports OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw and GDI. (40M triangles/second, 200M pixels/second, clock speed up to 200 MHz)
 * Adreno 203 inside the MSM8225 and MSM8225Q (400 MHz). It is an improvement over Adreno 205. It features a higher frequency, has better pixel fillrate, lower power consumption, better 3D performance. It is about 50-100% faster than Adreno 200 (enhanced), and 10–25% than Adreno 205. It could clock 2x times higher than Adreno 205. It supports OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, DirectX 9.0c, SVGT 1.2, Direct Draw and GDI. (42-50M triangles/second, 250-300M pixels/second, clock speed from 192 to 400 MHz)
 * Adreno 205 inside the QSD8x50A, MSM7x30, and MSM8x55 (245 MHz). Its improvements include Hardware-accelerated SVG and Adobe Flash and better shader-performance than the Adreno 200. It supports OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw and GDI. (57M triangles/second, 250M pixels/second, clock speed up to 400 MHz)
 * Adreno 220 inside the MSM8660 or MSM8260 (266 MHz) with single channel memory. It supports OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, DirectX 9.0c, SVGT 1.2, Direct Draw and GDI. (88M triangles/second, 500M pixels/second, standard clock speed up to 266 MHz, overclock up to 400 MHz)
 * Adreno 225 inside the MSM8960 (400 MHz), with unified shader architecture and dual channel memory. It supports Direct3D 9.0c in addition to OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2, Direct Draw and GDI.
 * Adreno 320 inside the Qualcomm S4 Pro & Prime Series, with unified shader architecture and dual channel memory. It supports Direct3D feature level 9_3 in addition to OpenGL ES 3.0, OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.4, Direct3D Mobile, SVGT 1.2
 * Adreno 330 inside the Nexus 5, Amazon Kindle HDX series tablets, Amazon Fire phone, Nokia Lumia 2520 tablet, Nokia Lumia 1520, Nokia Lumia Icon, Nokia Lumia 930, Samsung Galaxy S5, Samsung Galaxy Note 3, Sony Xperia Z1, Sony Xperia Z1 Compact, Sony Xperia Z2, Sony Xperia Z3, Sony Xperia Z3 Compact, Sony Xperia Z Ultra, Xiaomi Mi3, Xiaomi Mi4, OnePlus One, HTC One (M8) and LG G2/G3 smartphones.
 * Adreno 420 inside the Qualcomm Snapdragon 805 supports Direct3D 11.2 runtime (feature level 11_1). Inside the Google Nexus 6, Samsung Galaxy S5 LTE-A, Samsung Galaxy Note 4, Samsung Galaxy Note Edge, LG G3 Cat. 6, Amazon Fire HDX 8.9 (2014). The Qualcomm Snapdragon 805 is the first phone SoC ever to feature a 128-bit memory bus.
 * 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 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.