i965: Move binding table update packets to binding table setup time.
authorEric Anholt <eric@anholt.net>
Fri, 7 Mar 2014 00:29:39 +0000 (16:29 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 10 Mar 2014 20:05:12 +0000 (13:05 -0700)
commit30259856a8a82a55c030df1ad052e505c61144bc
treed72186d89875a26bf38352227107c4330da3c680
parentdb26253a482a721d8ae93cc306e3c6ce070c06cf
i965: Move binding table update packets to binding table setup time.

This keeps us from needing to reemit all the other stage state just
because a surface changed.

Improves unoptimized glamor x11perf -f8text by 1.10201% +/- 0.489869%
(n=296). [v1]

v2:
 - Drop binding table packets from Gen8 unit state as well.
 - Pass _3DSTATE_BINDING_TABLE_POINTERS_XS to brw_upload_binding_table,
   cutting even more code.
v3: Don't forget to drop them from 3DSTATE_GS (botched refactor in v2).

Signed-off-by: Eric Anholt <eric@anholt.net> [v1]
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> [v1]
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> [v2, v3]
Reviewed-by: Eric Anholt <eric@anholt.net> [v3]
src/mesa/drivers/dri/i965/brw_binding_tables.c
src/mesa/drivers/dri/i965/gen7_gs_state.c
src/mesa/drivers/dri/i965/gen7_vs_state.c
src/mesa/drivers/dri/i965/gen7_wm_state.c
src/mesa/drivers/dri/i965/gen8_gs_state.c
src/mesa/drivers/dri/i965/gen8_ps_state.c
src/mesa/drivers/dri/i965/gen8_vs_state.c