mesa: stop using _NEW_STENCIL with st/mesa, use DriverFlags.NewStencil instead
authorMarek Olšák <marek.olsak@amd.com>
Fri, 9 Jun 2017 18:51:20 +0000 (20:51 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 21 Jun 2017 23:51:02 +0000 (01:51 +0200)
commit480bf7731bf54ac936ec7edfa977aeeb377745b6
tree15f17a18a1eb04857a5c051967c36930ae336740
parentc2408838c83719cb133332c7adac71ef50503259
mesa: stop using _NEW_STENCIL with st/mesa, use DriverFlags.NewStencil instead

This bypasses _mesa_update_state_locked.

Before:
   DrawElements ( 1 VBOs, 4 UBOs,  8 Tex) w/ stencil enable change:    3.99 million
   DrawArrays   ( 1 VBOs, 4 UBOs,  8 Tex) w/ stencil enable change:    4.56 million

After:
   DrawElements ( 1 VBOs, 4 UBOs,  8 Tex) w/ stencil enable change:    4.93 million
   DrawArrays   ( 1 VBOs, 4 UBOs,  8 Tex) w/ stencil enable change:    5.84 million

It's quite a difference in the draw call rate when ctx->NewState stays
equal to 0 the whole time.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mesa/main/enable.c
src/mesa/main/mtypes.h
src/mesa/main/stencil.c
src/mesa/state_tracker/st_context.c