Radeon OpenGL Driver Lands Experimental Option To Boost Performance For CAD Software

Written by Michael Larabel in Radeon on 26 March 2020 at 07:39 AM EDT. 8 Comments
RADEON
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."
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week