st/mesa: move the logic of all_varyings_in_vbos into st_update_array
authorMarek Olšák <marek.olsak@amd.com>
Mon, 8 May 2017 00:15:08 +0000 (02:15 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 10 May 2017 17:29:08 +0000 (19:29 +0200)
commit49c326420e128c5ffabe895f55cdcc62d8c9d137
treeafb8f058b853b7e377713affa7e252a9b509d620
parent94506e56424970f30861baf2808020609d752b00
st/mesa: move the logic of all_varyings_in_vbos into st_update_array

The function was pretty slow. This brings a substantial decrease in draw
call overhead when min/max index bounds are not needed:

Before:  DrawElements (1 VBO) w/ no state change:          5.75 million
After:   DrawElements (1 VBO) w/ no state change:          7.03 million

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/mesa/state_tracker/st_atom_array.c
src/mesa/state_tracker/st_context.h
src/mesa/state_tracker/st_draw.c