But the user-space portions are probably more significant for performance than the kernel drivers. Here we have:
- r300 and r600 (open source OpenGL backend for older hardware, sits on top of the radeon kernel driver, not much development happening)
- radeonsi (open source OpenGL backend for newer hardware, sits on top of either the radeon or amdgpu kernel drivers depending on hardware version and kernel configuration)
- fglrx (closed source OpenGL driver on top of the fglrx kernel driver, both obsolete now)
- radv (open source Vulkan driver on top of amdgpu)
- amgpu-pro (closed source Vulkan driver on top of amdgpu) - not sure if there is also still a proprietary OpenGL driver but if there is no one should care since radeonsi works well enough
- amdvlk (open source dumps of amdgpu-pro without proprietary shader compiler on top of amdgpu)
Then you have different shader compilers which also significantly affect both shader compile time and runtime performance:
- internal compiler used by r600
- LLVM (used by radeonsi and amdvlk)
- ACO (used by radv and possibly radeonsi these days)
- AMD's proprietary compiler (used by fglrx and amdgpu-pro)
And for X.org you also have different display drivers (fglrx, radeon, modesetting).