RadeonSI Gets NIR Improvements, Enabled By Default For Civilization VI
The RadeonSI NIR back-end as an alternative to its longstanding TGSI usage continues to be improved upon as a prerequisite for supporting OpenGL 4.6 with SPIR-V ingestion. A fresh batch of RadeonSI NIR work was merged today, including to enable it by default for one Linux game.
Several developers landed the latest NIR code into Mesa 19.1 Git on Monday, including Marek Olšák who added a radeonsi_enable_nir option to DriConf for allowing the NIR usage to be flipped on a per-game/per-executable basis. Up to now users had to manually set R600_DEBUG=nir (or now, AMD_DEBUG=nir as the other syntax now supported in recent days with Mesa 19.1). But now with this DriConf option, it can "whitelist" games as needed.
The first game making use of this option is Civilization 6. The Civilization 6 game is using RadeonSI NIR by default in order to overcome some rendering issues that aren't present with this back-end but are with the default TGSI code-path due to problems with the AMDGPU LLVM back-end for Vega, so the quick solution is to enable NIR.
Meanwhile Valve's Timothy Arceri and others also added some more RadeonSI NIR bits to this latest code for behavior corrections. A broader change added by Arceri to the common code for NIR-using drivers is translating OpenGL ARB Assembly programs into NIR, which does fix bugs for VC4/V3D drivers most notably.
From last week see my latest RadeonSI NIR test results. Overall it seems to be working good for most use-cases though no word when it may be enabled more broadly or when they plan to get to finishing up OpenGL 4.6 / SPIR-V support for RadeonSI.
Several developers landed the latest NIR code into Mesa 19.1 Git on Monday, including Marek Olšák who added a radeonsi_enable_nir option to DriConf for allowing the NIR usage to be flipped on a per-game/per-executable basis. Up to now users had to manually set R600_DEBUG=nir (or now, AMD_DEBUG=nir as the other syntax now supported in recent days with Mesa 19.1). But now with this DriConf option, it can "whitelist" games as needed.
The first game making use of this option is Civilization 6. The Civilization 6 game is using RadeonSI NIR by default in order to overcome some rendering issues that aren't present with this back-end but are with the default TGSI code-path due to problems with the AMDGPU LLVM back-end for Vega, so the quick solution is to enable NIR.
Meanwhile Valve's Timothy Arceri and others also added some more RadeonSI NIR bits to this latest code for behavior corrections. A broader change added by Arceri to the common code for NIR-using drivers is translating OpenGL ARB Assembly programs into NIR, which does fix bugs for VC4/V3D drivers most notably.
From last week see my latest RadeonSI NIR test results. Overall it seems to be working good for most use-cases though no word when it may be enabled more broadly or when they plan to get to finishing up OpenGL 4.6 / SPIR-V support for RadeonSI.
10 Comments