Mesa 25.0 Sees New Driver Code To Further Enhance RadeonSI + ACO

The ACO compiler back-end alternative to the AMDGPU LLVM shader compiler has been seeing more work recently by AMD engineers in the context of the RadeonSI Gallium3D driver. ACO was started for the RADV Vulkan driver but it's panning out well for RadeonSI Gallium3D/OpenGL usage too. In fact, RadeonSI has begun using ACO by default for pre-RDNA GPUs and improvements for RDNA class GPUs remains ongoing.
Merged overnight to Mesa Git is this large refactoring to the RadeonSI, AC, and ACO code. Marek explained in the merge request:
"This is the first MR in a series of MRs to rewrite shader variant NIR compilation in radeonsi to generate better optimized shaders.
The first goal is to gather shader_info from fully optimized shader variant NIR instead of input NIR, so that we program registers and make state change decisions based on optimized shader variants instead of out-of-date info from input NIR. The second goal is to add something like a pipeline state object linker into radeonsi that links and optimizes multiple shaders asynchronously. The parallel goal is to make ACO work better with radeonsi."
It's a big start with 48 patches and the merge request went into Mesa 25.0 a few hours ago. Mesa 25.0 is scheduled to be branched later today and thereby marking a feature freeze. So we'll see if any more RadeonSI/ACO feature code is merged for this quarterly feature release or if the branching slips by a few days. Mesa 25.0 stable will hopefully be out before the end of February.
2 Comments