The Old ATI R300 Open-Source Driver Sees Improvements For OpenGL, WineD3D Apps/Games
Thanks to the driver being open-source, the ATI (AMD) R300 Gallium3D driver within Mesa is still seeing new (occasional) optimizations for Radeon graphics cards launched nearly two decades ago.
Independent open-source developer Pavel Ondračka decided to make some optimizations to the Mesa R300g driver with a particular focus on optimizing A0 register loads (ARR/ARL). The intent is on helping WineD3D apps/games, Windows software that is running on Wine for Linux compatibility and with the WineD3D code rerouting Direct3D calls to OpenGL. These optimizations help some OpenGL-native software as well.
Testing on old ATI RV370 and RV530 graphics cards have yielded some improvements in the generated shaders for the R300g driver.
This few hundred lines of code rework comes nearly two decades after the Radeon X300 series graphics cards first shipped. The R300g driver started in the years after that point when the ATI open-source graphics effort was mostly reverse-engineering affair by the community and prior to AMD starting what would become their well-regarded graphics driver open-source strategy.
These latest R300 driver optimizations are now merged into Mesa 23.2 for the stable release next quarter.
Beyond Pavel Ondračka's merged code, there is also another merge request around copying NTT to the R300 compiler for getting more NIR usage in this older driver rather than its TGSI dependence. This can open up more optimizations and overall making the R300g driver more useful. Though keep in mind even with all of this driver optimizing, the R300g driver with its support of Radeon X300 through Radeon X1000 (R500) series graphics cards will still be quite slow by today's standards and don't expect to be able to magically run all the latest OpenGL software on these vintage GPUs.
Independent open-source developer Pavel Ondračka decided to make some optimizations to the Mesa R300g driver with a particular focus on optimizing A0 register loads (ARR/ARL). The intent is on helping WineD3D apps/games, Windows software that is running on Wine for Linux compatibility and with the WineD3D code rerouting Direct3D calls to OpenGL. These optimizations help some OpenGL-native software as well.
Testing on old ATI RV370 and RV530 graphics cards have yielded some improvements in the generated shaders for the R300g driver.
This few hundred lines of code rework comes nearly two decades after the Radeon X300 series graphics cards first shipped. The R300g driver started in the years after that point when the ATI open-source graphics effort was mostly reverse-engineering affair by the community and prior to AMD starting what would become their well-regarded graphics driver open-source strategy.
These latest R300 driver optimizations are now merged into Mesa 23.2 for the stable release next quarter.
Beyond Pavel Ondračka's merged code, there is also another merge request around copying NTT to the R300 compiler for getting more NIR usage in this older driver rather than its TGSI dependence. This can open up more optimizations and overall making the R300g driver more useful. Though keep in mind even with all of this driver optimizing, the R300g driver with its support of Radeon X300 through Radeon X1000 (R500) series graphics cards will still be quite slow by today's standards and don't expect to be able to magically run all the latest OpenGL software on these vintage GPUs.
9 Comments