Last week, we had the opportunity to sit down with Vivante and discuss the company’s upcoming GPU core. Codenamed Vega, the product is aimed at the mobile, home entertainment, and automotive segments. Suffice to say, Vega looks very promising.
A Little History...
Established in 2004, Vivante has striven to craft mobile GPUs as close to their desktop counterparts as possible, all whilst maintaining the utmost power efficiency. Early on, Vivante felt the next major battles for 3D performance would be in the mobile space, so their first GPU core template had full DirectX 9C Shader Model 3 (DX9C SM3) compliance… in 2007. Often, market demands and cost require designs to be simplified, and so Vivante had to simplify the shader pipeline for its first few products. At the time, the market was so focused on 2D games like Angry Birds and simpler lighting models for 3D, that it made far more sense to release OpenGL 1.1- and 2.0-compliant GPUs.
Enter Vega, And Proper OpenGL ES3 Support
That SM3 focus saw gains just recently when Vivante became the first to market with OpenGL ES3 silicon. The company’s GC1000 chip is used in both Google's Chromecast and Samsung's Galaxy Tab 3 7”, along many other devices such as TVs and budget tablets. Meanwhile, the GC4000 is used in Huawei's Ascend P6 and MediaPad 10 models.
Vega expands the product line to bring OpenGL ES3 performance and features by restoring Vivante’s “desktop-style” core and marrying it with the lessons learned in optimization over the last seven years. And that's why Vega shows so much promise. It should be able to offer all the features that current and future mobile apps and OSes will make use of, yet remain incredibly power-efficient. Full DX9C compliance on a mobile GPU is impressive, but doing so without needing fan-based cooling and a giant battery is potentially sublime.
Vega's Key Features
- Double the performance over equivalent silicon area GC series
- Lossless frame buffer compression averaging 3.2:1
- Dynamic reconfigurable shader
- Fast, Immediate Hidden Surface Removal (FIHSR)
- Patented logarithmic space full precision math units
- GPU clock speeds exceeding 1 GHz
- Full graphics and compute APIs (OpenGL ES 3.0, OpenCL 1.2)
The GPU clock, particularly the shader clock, going over 1Ghz is important and impressive, that's more than double the speed of some of Vivante’s competitors. Moreover, we've confirmed that it's dynamic, clocking down to extremely low speeds when idle, thus saving power and preventing heat generation (an issue plaguing many mobile GPUs today). Vivante made a point of “no fans or giant heat sinks” when discussing this. We think that shows a lot of promise. No matter how cold it is, nobody wants to hold a hot mobile device. It just feels janky.
FIHSR will mean that scenes can be optimized on-the-fly via dynamic occlusion culling, thus saving memory, power, and bandwidth. This is a feature that desktop GPUs have had for a while now, but it could also indicate that Vivante is trying to go after Imagination's PowerVR SGX Tile Rendering - another bandwidth and processing saving approach.
As you can see, this is a very similar approach to a desktop GPU, with one standout feature: the Vector Graphics Engine (which we've been informed is both OpenSVG and Adobe Flash compliant). This is mainly for the automotive industry application support (think super-accurate needles and gauges). The rest of the GPU is just an extremely, almost-impossible to starve, little beast. This is due to the massive parallelization going on, so even cache misses won't lead to wasted clock cycles and battery life.
Quality, Not Just Quantity
Vega doesn't just deliver on paper with a laundry list of features. And it doesn't just win some performance benchmarks, more importantly, it seems to deliver in terms of render quality, too. It manages to prove its desktop focus with being able to closely match a PC GPU in terms of shader accuracy, beating out all but one or two of its competitors.
The shader complexity means that Vega can dynamically switch precision, allowing for the most efficient use of both bandwidth and RAM. It also somewhat explains the accuracy in the benchmark cited above: it can have higher precision when the gamut gets broader/more complex, and lower precision when tending towards more primary extremes.
Why This Focus Is So Important Now
OpenGL ES 3 has been supported ever since the release of Android 4.3 “Jelly Bean”, and that means desktop grade fragment shader support for Android. Some developers are already taking advantage of this. One such example can be seen in the Nintendo Gamecube/Wii emulator Dolphin. Here we saw a shift from sub-5 frames per second to ~30 FPS on the same hardware (Nexus 10 and and ARM Chromebook ARM) just by moving from OpenGL ES2 to ES3. It seems likely that we'll see similar performance improvements across the board as more developers shift to OpenGL ES3. So, now is the time for a desktop-equivalent mobile GPU like Vega to take center stage. If Vega can keep moving forward as predicted, by Q4/2014 Vivante may well be producing mobile GPUs that rival mid-range enthusiast-class desktop GPUs - not only in terms of features, but in terms of performance as well.
Interesting times ahead, indeed.