AMD’s LiquidVR Announced: AMD Gets Expanded VR Headset Functionalityby Ryan Smith on March 3, 2015 8:30 PM EST
2015 is going to be known as the year of virtual reality at GDC. Before the expo floor has even opened VR pitches, announcements, and press conference invitations are coming fast and furious. Though Oculus is still the favored child in the PC space, a number of other companies are either trying to pitch their own headsets, or alternatively are working on the middleware portion of the equation – bridging the gap between current systems and the VR hardware. Recent developments in the field have clearly sparked a lot of consumer and developer interest in the idea, and now we are in the rapid expansion phase of technological growth.
As one of the curators to the best system to drive these VR setups – the venerable PC – AMD is taking the stage at GDC 2015 to showcase their own VR plans. If the PC is going to be the center of high-performance VR, then it’s the GPU that’s going to be the heart, and that makes AMD’s role in all of this development a very important one. This in turn is a role they are embracing today as they announce their LiquidVR family of technologies.
Having good hardware is a start, but from a software perspective VR is a very different challenge than traditional PC desktop rendering. Latency is paramount – a fully immersed mind has a much lower tolerance for irregularities – and at the same time the big goal of delivering AAA caliber graphics in a VR environment requires all the GPU processing you can throw at it (and then some). As a result there are a series of improvements and optimizations AMD will be making available to developers through LiquidVR and its alternative rendering path, with the ultimate goal of making AMD’s Radeon video cards capable of delivering a great VR experience.
The collection of features/technologies in LiquidVR are based around 3 core concepts for AMD: comfort (latency/warping), compatibility (work with more headsets, bypass OSes when necessary), and compelling content (multi-GPU/be fast enough to work). In fact if you are already familiar with NVIDIA’s VR Direct initiative, then what AMD is doing today should seem very similar. Facing the same problems AMD has engineered very similar solutions, which comes as no surprise as both companies have been following Oculus VR’s best practice suggestions in developing the technologies.
Moving on then, for AMD’s comfort goal the company is introducing 2 technologies in LiquidVR to reduce latency and warping. These are Latest Data Latch and Asynchronous Shaders.
Latest Data Latch and Async Shaders go hand-in-hand in this case, the two needing each other to implement a single latency reduction and warping system. With Async Shaders, AMD implements the technical means to do time warping – modifying/warping the rendered image via shaders, using the very latest tracking data to cut down on the perceived latency – and Latest Data Latch is the means to grab that tracking data. Meanwhile the asynchronous aspect of Async Shaders refers to the fact that these shader operations can take place while the next frame is already being rendered, further cutting down on latency.
Of all of the LiquidVR technologies, Async Shaders is arguably going to be the most important. While AMD can (and does) reduce latency elsewhere, there is a minimum amount of time needed to generate the game state and render a frame that hardware cannot get around, and warping in turn is a relatively cheap hack to reduce how much latency is perceived. By fudging the image after the fact and running a few final tasks after the main frame render job is complete, warping via Async Shaders can make latency feel a lot lower than it really is.
Moving on, we have AMD’s compelling content goal, which is backed by their Affinity Multi-GPU technology. Short and to the point, Affinity Multi-GPU allows for each eye in a VR headset to be rendered in parallel by a GPU, as opposed to taking the traditional PC route of alternate frame rendering (AFR), which has the GPUs alternate on frames and in the process can introduce quite a bit of lag. Though multi-GPU setups are not absolutely necessary for VR, the performance requirements for high quality VR combined with the simplicity of this solution make it a easy way to improve performance (reduce latency) just by adding in a second GPU.
At a lower level, Affinity Multi-GPU also implements some rendering pipeline optimizations to get rid of some of the CPU overhead that would come from dispatching two jobs to render two frames. With each eye being nearly identical, it’s possible to cut down on some of this work by dispatching a single job and then using masking to hide from each eye what it can’t actually see.
AMD’s final LiquidVR technology is Direct-to-Display, which implements their compatibility goal. Direct-to-Display really sets out to solve two problems, which is to improve latency/compatibility by going around the OS at times, and by making it easier for AMD to support VR headsets from multiple vendors. As far as the OS goes it can add quite a bit of latency on its own, so Direct-To-Display allows the OS to be bypassed and the VR image set straight to the headset, shaving off some of that latency. Meanwhile by limiting what the OS has to do, it becomes easier to support multiple headsets since they don’t need to interact with the OS nearly as much.
Ultimately with the combination of LiquidVR technologies, AMD is aiming to offer a top-tier VR experience. Reduce latency, improve compatibility, make multi-GPU work for each eye, and above all enabling time warping and time re-warping to reduced the amount of perceived latency. All of these are small but necessary steps to enable the kind of VR experience that Oculus and other VR headset makers have been seeking to create.
At this point AMD’s LiquidVR technology is still in early development, with the Alpha 1.0 SDK being released today to AMD’s registered partners. AMD for their part has wasted no time in getting the ball rolling on partnerships, working of course with Oculus on hardware, and with game developers such as Crytek with software. Meanwhile at this point AMD isn’t offering any indication of when LiquidVR will be in a shipping state, but given the overall conservative approach of the VR industry – the Oculus Rift’s shipping date is TBD – I suspect any launch will be a phased launch with partners getting successively newer versions of the toolkit and working with what they have when the VR headsets themselves finally become available.
Longer term here it will be interesting to see how the middleware situation evolves for VR. With AMD announcing LiquidVR we now have NVIDIA and AMD producing their own branded solutions, and meanwhile 3rd party interlopers such as Oculus and Valve with their SteamVR technology are influencing outcomes as well. These aren’t competing technologies per-se and everyone already seems to be converging towards the same solutions, in which case we may see true standardization come very quickly for what’s still a very young market.