AMD brings yet another addition to their GPUOpen initiative. The new adition is called Shader Intrinsic Functions and it brings something very interesting which could potentionally give AMD big advantage if developers decide to use it.
Shader Intrinsic Functions could bring console-like optimizations to PC
This addition ironically comes from current generation consoles powered by the GCN architecture. In those consoles, developers have direct access to its hardware so that they can more directly call the hardware instructions they need without anything in-between. This gives consoles a big advantage when it comes to optimisations, because with this advantage developers can more easily access the base hardware and optimise for it which is still not necessarily possible on PC, even with DX11, DX12 or Vulkan and then through the GPU compiler itself. AMD is now bringing the same advantage to their GCN GPUs as an extension to existing APIs including DX11, DX12 and Vulkan. With Shader Intrinsic Functions you can directly access graphics instructions and you don’t have to rely on the API or even the GPU compiler.
All this looks great on paper, and seems to have big potential, but will it translate into real-world improvements?
This is very hard to answer, but we can look at other similar technologies as a reference to how those technologies can make it into the real-world. Let’s take Asynchronous Compute as an example or even DX12 itself.
These two technologies show great potential but so far the real-world gains were a bit disappointing. First of all most of current DX12 titles were somewhat broken on their launch with the exception of Ashes Of The Singularity. The performance was not great either regarding DX12 titles but this can be the learning curve of a new API considering DX12 is relatively new and DX11 had similar rough launch.
Now what about Asynchronous Compute? This technology is supported on all GCN powered GPUs while, as of right now, it may be supported by Nvidia’s newest Pascal architecture. It is currently used in two games on PC. Ashes Of The Singularity and the new Hitman. In those games the performance improvement from this technology is not very big. Reports say it varies between 5-15% more performance on average. But I’d say this gain, while that might seem low, is actually reasonable considering it is basically a free performance boost for GPUs that support it.
It all depends on developers for the actual improvement
So what is the conclusion? At this moment the technology definitely seems interesting, sadly we will have to wait and see if developers will take advantage of it and what performance improvements will it bring if any. Asynchronous Compute is great example of this. The technology is good but AMD had to push it very hard to get it actually used by developers.
For those who want to check out Shader Intrinsic Functions click here for the GPUOpen post about this new addition. Their video summarizing Shader Intrinsic Functions and what they can do can be found right here.