mesa, nir: out-of-order drawing for faster glBegin/End
There is a driconf option
allow_draw_out_of_order to enable this.
The improvement is only 7% in Viewperf11/Catia/test1 after all the other optimizations were merged. It's still significant.
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.