Radeon OpenGL Driver Lands Experimental Option To Boost Performance For CAD Software
Well known open-source AMD OpenGL driver developer Marek Olšák has introduced an off-by-default option to help with the performance for at least some CAD-type applications.
Marek has been working on plumbing out-of-order drawing support into core Mesa and NIR while wiring it through for the RadeonSI driver. The aim is to provide faster glBegin/glEnd calls that in turn benefit older OpenGL code-bases or in particular a focus on CAD/workstation software.
With this out-of-order drawing support, SPECViewPerf's CATIA benchmark saw a ~7% improvement in performance. While it's a measurable win for this commercial computer-aided workload, concerns over this out-of-order drawing going against expected/standard behavior especially for various (untested) proprietary workstation applications led to it being disabled by default. This shouldn't impact any Linux games making use of modern OpenGL.
The option is exposed via the allow_draw_out_of_order DriConf option. Currently no applications are being white-listed by default.
More details via this merge request that was pushed today into Mesa 20.1. Marek explained of the behavior when enabled, "If glDraw* and glBegin/End are interleaved and the depth test allows us to draw out-of-order, flushing glBegin/End is postponed until the next state change."
Marek has been working on plumbing out-of-order drawing support into core Mesa and NIR while wiring it through for the RadeonSI driver. The aim is to provide faster glBegin/glEnd calls that in turn benefit older OpenGL code-bases or in particular a focus on CAD/workstation software.
With this out-of-order drawing support, SPECViewPerf's CATIA benchmark saw a ~7% improvement in performance. While it's a measurable win for this commercial computer-aided workload, concerns over this out-of-order drawing going against expected/standard behavior especially for various (untested) proprietary workstation applications led to it being disabled by default. This shouldn't impact any Linux games making use of modern OpenGL.
The option is exposed via the allow_draw_out_of_order DriConf option. Currently no applications are being white-listed by default.
More details via this merge request that was pushed today into Mesa 20.1. Marek explained of the behavior when enabled, "If glDraw* and glBegin/End are interleaved and the depth test allows us to draw out-of-order, flushing glBegin/End is postponed until the next state change."
8 Comments