AMD Wires Its New Runtime Linker Into RadeonSI Gallium3D


At the start of May there were the initial patches out of AMD for implementing a better runtime linker in its graphics stack. That code has now been merged into Mesa 19.2 and is being used by the RadeonSI Gallium3D driver.

This runtime linker is designed to be more versatile than its predecessor and integrate better with its LLVM stack. This is a functioning linker where as previously it was mostly a hacked together / hard-coded solution. This “powerful runtime linker” has been merged into Mesa 19.2 Git as of this week, “Using an explicit linker instead of just concatenating .text sections will allow us to start using .rodata sections and explicit descriptions of data on LDS that is shared between stages.

RadeonSI Gallium3D has already shifted over to using this new linker. Making use of the .rodata should help with efficiencies throughout the driver (more details in this forum thread) but at this point is mostly laying the groundwork for more improvements to be made moving forward.