Adreno
The Adreno series of graphics processing units (GPUs) are semiconductor intellectual property cores developed by Qualcomm and used in a variety of their SoCs. The core was initially developed under the Imageon brand name by ATI Technologies, which was acquired by AMD in 2006. After the buyout in January 2009,[1] Qualcomm renamed the Imageon products to Adreno.
Technical details
Variants
The company offers the GPU in various flavors as component of their Snapdragon SoCs:
Name | Microarchitecture | Fab (nm) | Clock (MHz) | Fillrate | GFLOPS | API (version) | Used in Qualcomm... | References | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type | ALUs[note 1] | MTriangles/s | Pixel (GP/s) | Texture (GT/s) | Vulkan | OpenGL ES | OpenVG | OpenCL | OpenGL | Direct3D | ||||||
Adreno 1xx series | ||||||||||||||||
Adreno 130 | fixed function pipeline | 4 | 0.133 | N/A | 1.1 | 1.1 | N/A | N/A | Direct3D Mobile | MSM7x00, MSM7x00A, MSM7x01, MSM7x01A | [2][3][4] | |||||
Adreno 2xx series | ||||||||||||||||
Adreno 200 (AMD Z430) | Unified shader model 5-way VLIW[5] |
8 | 65 | 133 | 22.85 | 0.133 | 2.1 | N/A | 2.0 | 1.1 | N/A | 1.4 (freedreno driver) | 9.0c |
Snapdragon S1(MSM7227, MSM7627 QSD8250, QSD8650), Freescale i.MX51, i.MX53 | ||
Adreno 200 'enhanced' | 8 | 45 | 200/245 | 42 | 0.2/0.245 | 3.2/3.9 | Snapdragon S1 (MSM7227A, MSM7627A, MSM7225A, MSM7625A) | |||||||||
Adreno 203 | 16 | 45 | 245/294 | 40.8-49 | 0.245/0.294 | 7.8/9.4 | Snapdragon S4 Play (MSM8225, MSM8625), Snapdragon 200 (MSM8225Q, MSM8625Q) | |||||||||
Adreno 205 | 16 | 45 | 245/266 | 40.8/44.3 | 0.245/0.266 | 7.8/8.5 | Snapdragon S2 (MSM7x30, MSM8x55, APQ8055) | |||||||||
Adreno 220 | 32 | 45 | 266 | 88.7 | 0.532 | 17 | Snapdragon S3 (APQ8060, MSM8x60) | |||||||||
Adreno 225 | 32 | 28 | 200/300/400 | 133.3 | 0.8 | 12.8/19.2/25.6 | Snapdragon S4 Plus (APQ8060A, MSM8x60A, MSM8960) | |||||||||
Adreno 3xx series | ||||||||||||||||
Adreno 302 | Unified shader model Scalar instruction set[6] |
24 | 28 | 400 | 19.2 | N/A | 3.0 | 1.1 | 1.1 embedded profile | 3.1 (freedreno driver) | 11.1 (feature level 9_3) |
Snapdragon 200 (MSM8210, MSM8610, MSM8212, MSM8612) | [7] | |||
Adreno 304 | 24 | 28 | 400 | 19.2 | Snapdragon 208, Snapdragon 210, Snapdragon 212 | |||||||||||
Adreno 305 | 24 | 28 | 400/450 | 66.7/75 | 0.8 | 19.2/21.6 | Snapdragon S4 Plus (MSM8x27), Snapdragon 400[8] (MSM8x26, MSM8x28, MSM8x30, MSM8x30AB, APQ8026, APQ8030) | [9] | ||||||||
Adreno 306 | 24 | 28 | 450 | 21.6 | Snapdragon 410 (MSM8916), Snapdragon 412 (MSM8916v2) | |||||||||||
Adreno 320 | 64 | 28 | 400 | 225 | 1.6 | 57.6 | Snapdragon S4 Pro (MSM8960T, APQ8064, APQ8064-1AA), Snapdragon S4 Prime (MPQ8064) | [10] | ||||||||
Adreno 320 2nd gen | 96 | 28 | 400/450 | 225/253.1 | 2.4/2.7 | 86.4/97.2 | Snapdragon 600 (APQ8064T, APQ8064AB) | [10] | ||||||||
Adreno 330 | 128 | 28 | 450/550/578 | 253.1/309.4/325.1 | 3.6/4.4/4.624 | 129.8/158.4/166.5 | Snapdragon 800 (MSM8974, APQ8074), Snapdragon 801 (MSM8274AB, MSM8974AB, MSM8974AC) | |||||||||
Adreno 4xx series | ||||||||||||||||
Adreno 405 | Unified shader model | 48 | 28 | 550 | 59.4 | 1.0[11] | 3.1 | 1.1 | 1.2 full profile | 3.1 (freedreno driver) | 11.2 (feature level 11_1)[12] |
Snapdragon 415 (MSM8929), Snapdragon 615 (MSM8939), Snapdragon 616 (MSM8939v2), Snapdragon 617 (MSM8952) | ||||
Adreno 418 | 128 | 20 | 600 | 172.8 | Snapdragon 808 (MSM8992) | |||||||||||
Adreno 420 | 128 | 28 | 500/600 | 281.3/337.5 | 4/4.8 | 144/172.8 | 3.2 | Snapdragon 805 (APQ8084) | [13] | |||||||
Adreno 430 | 192 | 20 | 500/600/650 | ? | 4.8/6.0/6.6 | 324/388.8/420[14][15] | Snapdragon 810 (APQ8094, MSM8994) | |||||||||
Adreno 5xx series | ||||||||||||||||
Adreno 505 | Unified shader model + Unified memory | 48 | 28 | 450 | ? | ? | ? | 48.6[16] | 1.0[11] | 3.1 | ? | 2.0 Full | N/A | 11.2 | Snapdragon 430 (MSM8937), Snapdragon 435 | |
Adreno 506 | 96 | 14 | 650 | ? | ? | ? | 130[17] | ? | Snapdragon 625 | |||||||
Adreno 510 | 128 | 28 | 600 | ? | ? | ? | 180[18] | 3.2 (3.1 + AEP) | 12 (feature level 12.1) | Snapdragon 650 (MSM8956), Snapdragon 652 (MSM8976),
Snapdragon 653 (MSM8976PRO) |
||||||
Adreno 530 | 256 | 14 | 510/624/650 | ? | 6.7/8.1 | ? | 407.4/498.5/519.2 | Snapdragon 820 (MSM8996),
Snapdragon 821 (MSM8996PRO) |
||||||||
Adreno 540 | ? | 10 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Snapdragon 835 (MSM8998) | ||
Name | Microarchitecture | Fab (nm) | Clock (MHz) | Fillrate | GFLOPS | API (version) | Used in Qualcomm... | References | ||||||||
Type | ALUs[note 1] | MTriangles/s | Pixel (GP/s) | Texture (GT/s) | Vulkan | OpenGL ES | OpenVG | OpenCL | OpenGL | Direct3D |
- 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 (1 GHz) and MSM7x27 (600 MHz A11+L2 cache). 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 128 MHz).
- Adreno 200 enhanced inside the MSM7x25A (800 MHz), MSM7x27A (1 GHz+L2 cache). 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 (1.0–1.2 GHz), MSM8225Q (1.2 GHz). 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-400 MHz)
- Adreno 205 inside the QSD8x50A (1.3 GHz), MSM7x30 (800 MHz+L2 cache), MSM8x55 (1 GHz+L2 cache). 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 (1.2–1.5 GHz+1 MB L2 Cache) 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 (1.5–1.7 GHz+1 MB L2 cache), 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[10]
- 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).
Operating system support
There are proprietary drivers for the Linux-based mobile operating system Android available from Qualcomm themselves. There are no drivers available for any other Linux-based operating systems, but through libhybris, it became possible to use the Android drivers. Mer-based systems such as the Sailfish OS rely on this solution.
There is an ongoing endeavor of writing a Gallium3D-style graphics device drivers for the Adreno series of GPUs called freedreno
.
As of September 2013, the kernel components (DRM and KMS driver) of freedreno have been accepted into mainline Linux kernel version 3.12.[19] These components are used together with user-space parts libDRM and Mesa 3D.
History
The Imageon (previously ATI Imageon) is a line of media processors developed by ATI providing graphics acceleration and other multimedia features for handheld devices such as mobile phones and Personal Digital Assistants (PDA).
Designed as system-on-a-chip (SoC), the Imageon line of media processors was introduced in 2002 to bring integrated graphics (from 2D in 2002 to 3D in latest products) to handheld devices, cellphones and tablet PCs.
The system-on-a-chip design incorporates an embedded CPU core, baseband sub-system CPU interface, memory controller, power management (ATI PowerPlay), internal RAM and stacked RAM with memory buffer, two display engines (for dual monitors on cellphones), imaging engine, image/video/audio capture engine, TV and audio output, dual digital signal processors for audio and video, and video acceleration engine.
The Imageon line was rebranded under AMD, after AMD acquired ATI in Q3 2006, as AMD Imageon, with official claims to have shipped nearly 250 million Imageon units to customers since 2003. However, as a result of company restructuring, AMD divested the handheld chipset business starting from the second quarter of 2008, thus the line is deemed officially discontinued.
At the end of 2008, the handheld branch was sold off to Qualcomm,[20] following an earlier sale of the Xilleon branch to Broadcom. AMD retained the Imageon name and will provide support for existing customers, although no future Imageon products will be introduced.[21]
Product line
Discontinued/Past generations
- Imageon 100, the first product of the Imageon line.
- Imageon 3200.
- Imageon 2200/2250. Integrated a 2D graphics engine, a MPEG decoder, JPEG decoding and encoding capabilities, with embedded SRAM on-die as frame buffer.
- Imageon 2240.
- Imageon 2260/2262.
- Imageon 2300. Included 2D and 3D graphics engine (3D S/W), MPEG-4 video decoder, JPEG encoding/decoding, and 2-megapixel camera sub-system processing engine.
- Imageon 2182.
- Imageon 2282.
- Imageon 2388/2380. Featuring industry first OpenGL for embedded systems (OpenGL ES) 1.1+ extensions support, for 3D acceleration.
- Imageon 2192. For mainstream devices with support for 3.1-megapixel camera sensor.
Current generation
- Imageon 2294/2298, renamed Imageon M100 series. Current top-of-line product, processor includes DVD quality recording and playback, HD TV output, and supports up to a 12-megapixel camera sensor. Products include Imageon M180.
- Imageon TV. Announced in February 2006, as the first Imageon product in the line featuring Digital Video Broadcasting - Handheld (DVB-H) signal receiving support, allowing handhelds devices to receive digital broadcast TV (DVB-H) signals and enables watching TV programs on these devices, the chipset includes tuner, demodulator, decoder, and a full software stack.
Newest Brazilian Tectoy Console called Zeebo uses the ATI Imageon Chip to deliver fast and reliable graphics plus 3G access to download updates and new games for the console.
Announced in 2008 Mobile World Congress in Barcelona, AMD renews the Imageon line with the following products:
- Imageon A250 application processor
- Standalone multimedia and graphics subsystem
- D1 resolution video (720×486)
- Support for 8-megapixel camera sensor, JPEG, dual display
- USB, SD and NAND support
- Vector graphics
- Flash applications and UI supported
- Energy efficiency
- Imageon D160 mobile TV solution
- Free-to-air DVB-T and DVB-H reception
- quality of service and Doppler compensation for DVB signals for high speed mobility
- Complete DVB-T/H receiver module
- Multi-channel decode with PiP, fast channel change, and video recording
- AMD software stack (including Middleware) and 3rd party support
- Energy efficiency
In addition to the application processor and the mobile TV solution chip, AMD also licenses several technologies to other firms and partners, such technologies include audio and graphics processors, as listed below:
- Imageon M210 audio processor
- Multi-band equalizer
- Automatic gain control
- 99 db signal-to-noise ratio
- Supporting over 30 codecs including
- MP3, AAC, AAC+, WMA, AC3, DTS, MIDI with SMAF support, 3D audio, MPEG-4 SLS, FLAC
- support for 3rd party codecs and other codecs through downloading
- Standalone audio playback
- Energy efficiency of about 33 mW allowing 100 hours of audio playback[22] with integrated power management
- Integrated memory
- Integrated analog audio codec
- USB 2.0, NAND, SD and Bluetooth support
- Imageon Z460 3D graphics core - this is an IP core synthesized in for example Freescale's i.MX5x series of application processors
- OpenGL ES 2.0 support
- Unified shaders
- Programmable vertex shaders and pixel shaders
- Support for WVGA (800×480, 848×480, or 854×480) and qHD (960x540) resolutions
- Claimed on par with high-end portable game consoles in terms of performance
- Imageon Z180 vector graphics core
See also
- PowerVR – available as SIP block to 3rd parties
- Mali – available as SIP block to 3rd parties
- Vivante – available as SIP block to 3rd parties
- Tegra – family of SoCs for mobile computers, the graphics core could be available as SIP block to 3rd parties
- VideoCore – family of SOCs, by Broadcom, for mobile computers, the graphics core could be available as SIP block to 3rd parties
- Atom family of SoCs – with Intel graphics core, not licensed to 3rd parties
- AMD mobile APUs – with AMD graphics core, not licensed to 3rd parties
References
- ↑ Ferguson, Scott (January 20, 2009). "AMD Sells Handset Division to Qualcomm for $65 million". eWeek. Retrieved June 6, 2014.
- ↑ "Qualcomm MSM7201A Application Processor with Modem Datasheet | CPUlist". PDAdb.net. 2012-02-25. Retrieved 2016-07-05.
- ↑ Qualcomm MSM7201A. "Qualcomm MSM7201A Specs, Reviews, Ratings". System-on-a-chip.specout.com. Retrieved 2016-07-05.
- ↑ "3D Gaming Brochure" (PDF). Archived from the original on October 25, 2007. Retrieved 2016-07-05.
- ↑ "The Freedreno driver" (PDF). Rob Clark @ FOSDEM2013.
- ↑ freedreno (2015-01-06). "A3xx shader instruction set architecture · freedreno/freedreno Wiki · GitHub". Github.com. Retrieved 2016-07-05.
- ↑ "Expands Qualcomm Snapdragon 200 Processor Tier". Qualcomm. 2013-06-20. Retrieved 2016-07-05.
- ↑ Snapdragon 400 processor specs at qualcomm.com
- ↑ "Qualcomm Rolls-Out High-End Quad-Core Snapdragon S4 System-on-Chips". X-bit labs. Retrieved 2016-07-05.
- 1 2 3 AnandTech - Adreno 320 performance preview
- 1 2 "Qualcomm announces Vulkan API support for Adreno 5xx and 4xx GPUs".
- ↑ "Adreno GPU SDK - GPU - Qualcomm Developer Network". Developer.qualcomm.com. Retrieved 2016-07-05.
- ↑ "Technologies Announces Next Generation Qualcomm Snapdragon 805 "Ultra HD" Processor". Qualcomm. 2013-11-20. Retrieved 2016-07-05.
- ↑ "State of mobile SoC graphics in late 2014". Fudzilla.com. 2014-12-05. Retrieved 2016-07-05.
- ↑ "Gpu Gflops". Kyokojap.myweb.hinet.net. 2009-07-29. Retrieved 2016-07-05.
- ↑ "Actual Score".
- ↑ "Based on Antutu 3D score".
- ↑ "Actual Score".
- ↑ "Pull-Request for the mainline Linux kernel 3.12". Retrieved 2013-10-02.
- ↑ AMD sells handheld graphics unit to Qualcomm for $65M
- ↑ Qualcomm grabs AMD handheld, graphics tech
- ↑ "AMD Handheld Multimedia Technology – Unleash The Ultimate Mobile Entertainment Experience" (PDF). AMD. 2008-02-12. p. 17. Archived from the original (PDF) on February 23, 2008. Retrieved 2008-02-15.
~32mW Audio Subsystem for playing from SD/NAND (900mAh/3.7V battery; 150mVrms into 16 Ω headphones).
- ↑ "Product fact sheet for Imagon Z460 and Z180" (PDF). AMD. 2008-02-12. p. 17. Archived from the original (PDF) on February 23, 2008. Retrieved 2008-02-15.
[baseline performance] measured on ARM9 Versatile (ARM926EJ-S) at 210 MHz using a commercially available software rasterizer.