AMD Lands Experimental NIR Support In RadeonSI
Adding to the exciting morning about OpenGL 4.6 and the Radeon RX Vega launch is the massive patch series adding NIR support to RadeonSI having been merged to Mesa Git.
Open-source AMD developer Nicolai Hähnle has landed the 60+ patches wiring in initial NIR support in the RadeonSI Gallium3D driver. NIR is the driver intermediate representation supported by the RADV Vulkan driver and is the preferred IR these days by the Intel Mesa driver and is also used by Freedreno and VC4 Gallium3D drivers. NIR is also used by the RADV Vulkan driver. The RadeonSI implementation is converting NIR to LLVM IR and onward to the AMDGPU LLVM back-end for execution.
Nicolai has been working on this RadeonSI NIR support as part of SPIR-V / ARB_gl_spirv support inside this AMD GCN OpenGL driver. With today's OpenGL 4.6 release, the ARB_gl_spirv support for OpenGL drivers being able to invest Vulkan SPIR-V shaders is now a requirement.
These patches merged today do not land the OpenGL SPIR-V extension. Using this experimental NIR support for RadeonSI OpenGL can be turned on currently via the R600_DEBUG=nir environment variable. Hopefully by next quarter's Mesa 17.3 release, we'll see this NIR / SPIR-V support in RadeonSI in good shape with ideally OpenGL 4.6 compliance.
Open-source AMD developer Nicolai Hähnle has landed the 60+ patches wiring in initial NIR support in the RadeonSI Gallium3D driver. NIR is the driver intermediate representation supported by the RADV Vulkan driver and is the preferred IR these days by the Intel Mesa driver and is also used by Freedreno and VC4 Gallium3D drivers. NIR is also used by the RADV Vulkan driver. The RadeonSI implementation is converting NIR to LLVM IR and onward to the AMDGPU LLVM back-end for execution.
Nicolai has been working on this RadeonSI NIR support as part of SPIR-V / ARB_gl_spirv support inside this AMD GCN OpenGL driver. With today's OpenGL 4.6 release, the ARB_gl_spirv support for OpenGL drivers being able to invest Vulkan SPIR-V shaders is now a requirement.
These patches merged today do not land the OpenGL SPIR-V extension. Using this experimental NIR support for RadeonSI OpenGL can be turned on currently via the R600_DEBUG=nir environment variable. Hopefully by next quarter's Mesa 17.3 release, we'll see this NIR / SPIR-V support in RadeonSI in good shape with ideally OpenGL 4.6 compliance.
9 Comments