RadeonSI Now Offers NIR Shader Cache Support
Earlier this month Valve Linux GPU driver developer Timothy Arceri landed NIR shader caching support within the Gallium3D Mesa state tracker as an alternative to the existing TGSI IR caching support. Arceri has now worked through implementing this NIR cache support for the RadeonSI driver.
By default RadeonSI continues using the existing TGSI as its primary driver intermediate representation while the NIR back-end continues to be developed as needed for SPIR-V ingestion support with RadeonSI and in the future they may default to using NIR, just as Intel, Freedreno, and other driver developers have opted to utilize. There are many areas where the RadeonSI NIR support is currently lacking but at least one is crossed off the list with the Mesa on-disk shader cache support now working with it.
As of today, the on-disk shader cache should be working for caching the NIR representation of shaders with the RadeonSI driver. Those wanting to try out the RadeonSI driver along its NIR code-path can do so via the R600_DEBUG=nir environment variable. Hopefully by Mesa 18.1~18.2 we'll see it and the ARB_gl_spirv support be in good enough shape for this driver having OpenGL 4.6 compliance.