The Adreno GPU: An AMD Bloodline
AMD is a big name notably missing from the smartphone and tablet scene. And there's a good reason for that, even if we're not particularly confident in the company's strategic decision. Former AMD CEO Dirk Meyer statedin a Fortune interview:
I do not foresee that day [when AMD competes with ARM] coming in the near term. First of all, when we consider which areas to approach, we look at markets, we look at the technology capabilities we have, and we try to find an intersection point that really represents really big opportunities. By far the biggest business opportunity we have got is in PCs and servers. The market for silicon processing content is bigger than the smartphone market. [...] The other thing we really like about our core market is that there aren’t that many competitors [...]. I would rather focus on the big market, where there’s a small number of competitors.
Meyer's response shouldn't have come as a surprise, since AMD didn't have the technology to develop smartphones in 2010 anyway. It sold its handheld business to Qualcomm the previous year. And while AMD is back on track to cut power and improve performance through integration in its Fusion-based APUs, those things are nowhere near as lightweight as they'd need to be for a phone or tablet. As we all know, Meyer was forced to resign earlier this year, reportedly over his inability to carve a foothold in the mobile market.
In the meantime, Snapdragon’s GPU architecture, dubbed Adreno, is the closest thing in the handheld world that’s remotely AMD-flavored. Adreno is Qualcomm’s rebranding of AMD’s Imageon product family, from which it traces its lineage. Even to developers, information on the newest Adreno products is hard to come by, making a full analysis difficult. We do know that, since Qualcomm took over, the only major improvement has been the implementation of a unified shader architecture.
While we can’t go into much depth on the graphics architecture, we can still evaluate performance. GLBenchmark continues to be our favorite tool for this, since it uses code similar to what you might find in games. Indeed, in a recent conversation with an Imagination Technologies engineer, we were told it’s also the company's favorite benchmark for measuring end-user performance. The problem with GLBenchmark is that it only runs at a native resolution, complicating comparisons between different hardware architectures.
However, it is possible to make a direct comparison between the third-gen Snapdragon and Tegra 2 because the HTC Sensation (MSM8260) and Motorola Droid X2 (Tegra 2) both natively run at 960x540 with Android v2.3 (Gingerbread).
Based on the benchmarks, Snapdragon’s Adreno 220 easily beats Tegra 2’s ULP GeForce in the Egypt and Pro tests. But it's even more notable that Adreno supports FSAA, while Tegra 2 does not. Adreno enjoys a big advantage by supporting the MSAA spec outlined in the formal OpenGL ES 2.0 standard. In comparison, Tegra 2 only supports CSAA. However, even that capability is not guaranteed, because the vendor must include a library extension to enable it on Tegra. For the moment, it’s hard to tell if a game support CSAA or FSAA. Programmers adhering to OpenGL ES 2.0 are more likely to support MSAA though, which is great for Snapdragon-based devices.