AMD GPUOpen Sees A Relaunch With Expanded FidelityFX Suite And New Tools
AMD has touted the openness of their technologies for quite some time now and a while back launched their GPUOpen website to bring all of those technologies to a central hub for developers to access and others to browse and learn more about what they offer. I skimmed it recently looking for some old demos for a side project I was working on and the site almost felt abandoned with a large number of links misdirecting me like they have not done in the past. It appears there was a reason for that.
AMD has now officially relaunched its GPUOpen website and really spruced things up. Gone is the dark and ominous design replaced by a much brighter and clean site I find much more friendly to navigate. But, the look and feel isn't the big draw here, it's the NEW FidelityFX features that are available to developers to implement to their heart's content.
People are most familiar with FidelityFX in their CAS, or Contrast Adaptive Sharpening. FidelityFX CAS was rolled out as a double whammy to help alleviate softening in TAA images that might find themselves slightly blurred due to temporal feedback as well as a way to help out with dynamic resolution scaling compatible games to ensure things like the on-screen display stay nice and sharp. It was recently patched into Shadow of the Tomb Raider with nice results.
But you're here for the new stuff, so let's get on with that. AMD is rolling out four new features for developers to put to good use if they so desire. Ranging from enhanced screen space reflections to downsampling, these all appear to be something useful to the gameworld going forward.
FidelityFX Stochastic Screen Space Reflections
Screen Space Reflections (SSR) have been the go-to for quite some time now and are still heavily used despite moving into the ability to render real-time reflections, but SSR is far from perfect. FidelityFX Stochastic Screen Space Reflections (SSSR) takes aim to improve the quality of SSR by leaps and bounds by being able to add in varying roughness to reflective surfaces, think ripples in water, or dimples in metallic surfaces.
The problem with adding that in is it can cause quite the abruptness by introducing noise, something very apparent in Campcom's RE Engine, FidelityFX SSSR adds a denoiser that is specifically optimized for the RDNA architecture. It takes samples from several frames to construct the final image noise-free. While the GPUOpen website mentions that it's optimized for RDNA it didn't state that it was restricted to that architecture alone.
FidelityFX Luminance Preserving Mapper
FildelityFX Luminance Perserving Mapper is AMD's way of helping push forward HDR gaming with something that can target any display. HDR gaming, at the time, on PC hasn't been the best or most smoothly implemented feature. When it works it is spectacular, problem is it really doesn't work that often without a lot of tinkering. From the performance side, FidelityFX LPM also supports FP16 for better performance when used on the Vulkan API.
Optimized for use with AMD FreeSync Premium Pro displays, the Luminance Preserving Mapper (LPM) delivers superior HDR and wide color gamut content for games.
FidelityFX Combined Adaptive Compute Ambient Occlusion
Ambient Occlusion is that little touch of magic that really gives depth to a scene by shading in the cracks and crevasses, as well as making points of contact, seem believable. Static images are very easy to implement great ambient occlusion to since you aren't having to render them in realtime, it's realtime that will get you. When Ray Traced Ambient Occlusion isn't available, as it's fairly new, you'll typically fall back to the more common Screen Space Ambient Occlusion (SSAO) to get the job done.
AMD's FidelityFX Combined Adaptive Compute Ambient Occlusion (CACAO) takes what was generally a one-size-fits-all approach to SSAO and allows it to be scaled on the quality level. No longer will you just get access to one degree of Ambient Occlusion you'll now have the ability to scale the quality up and down based on the hardware being used at the time.
FidelityFX Single Pass Downsamper
MIP levels are an interesting technique where developers are able to accurately reduce the size of textures down to smaller resolutions. This is something that is very useful for characters or assets moving further away in distance in a game. Generally, the asset would have to have its textures reduced down in steps like the depiction on the left in the image below.
FidelityFX Single Pass Downsampler (SPD) is able to go from the full MIP level down to a 2x2 quad in a single step. Doing the traditional approach results in the GPU to be synchronized after each step, this is not the case with FidelityFX SPD allowing it to function with Async Compute and not tying up or waiting for resources to implement the on-screen change.
It's clear that AMD has been putting in a good bit of effort on the backside of things preparing for the relaunch of the GPUOpen website as well as these new features. If you want to dig more into each of these technologies they're linked in their respective sections, but if you want to see what AMD has done on the site just head over to GPUOpen.com and dig around.