NIR Continues Successfully Serving The Needs Of Mesa, Better Suited Than LLVM

Ekstrand's post recaps the history of NIR within Mesa and reiterating the known issues around using LLVM for graphics drivers -- namely the issues that have been encountered by AMD with their RadeonSI driver with distribution/packaging issues and the hassle of maintaining the shader compiler in a separate source tree with a separate release schedule and no API guarantees. Plus LLVM isn't as suited for GPUs as NIR is, which was designed from the ground-up for graphics. Ekstrand also points out that while LLVM can allow some code sharing, it isn't necessarily a great amount with much device-specific code still needed beyond some basic optimizations, etc.
NIR overall has been a splendid effort for Mesa that is now used across all of the prominent open-source Mesa drivers. Ekstrand does acknowledge though there is room for improvement still especially with getting some new features in order around ray-tracing and OpenCL-style compute. In any case, Mesa is likely to stick with NIR for the foreseeable future. I was hearing from Intel about their Mesa drivers potentially moving to their LLVM-based IGC compiler but haven't heard anything on the matter recently, so we'll see, but in any case NIR continues going strong.
Read Ekstrand's detailed NIR piece over on his blog.
13 Comments