diff options
author | Eric Anholt <eric@anholt.net> | 2014-03-06 16:29:39 -0800 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2014-03-10 13:05:12 -0700 |
commit | 30259856a8a82a55c030df1ad052e505c61144bc (patch) | |
tree | d72186d89875a26bf38352227107c4330da3c680 /src/mesa/drivers/dri/i965/gen8_ps_state.c | |
parent | db26253a482a721d8ae93cc306e3c6ce070c06cf (diff) | |
download | external_mesa3d-30259856a8a82a55c030df1ad052e505c61144bc.zip external_mesa3d-30259856a8a82a55c030df1ad052e505c61144bc.tar.gz external_mesa3d-30259856a8a82a55c030df1ad052e505c61144bc.tar.bz2 |
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]
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen8_ps_state.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/gen8_ps_state.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/gen8_ps_state.c b/src/mesa/drivers/dri/i965/gen8_ps_state.c index 561fc96..7d8f954 100644 --- a/src/mesa/drivers/dri/i965/gen8_ps_state.c +++ b/src/mesa/drivers/dri/i965/gen8_ps_state.c @@ -136,12 +136,6 @@ upload_ps_state(struct brw_context *brw) struct gl_context *ctx = &brw->ctx; uint32_t dw3 = 0, dw6 = 0, dw7 = 0; - /* BRW_NEW_PS_BINDING_TABLE */ - BEGIN_BATCH(2); - OUT_BATCH(_3DSTATE_BINDING_TABLE_POINTERS_PS << 16 | (2 - 2)); - OUT_BATCH(brw->wm.base.bind_bo_offset); - ADVANCE_BATCH(); - /* CACHE_NEW_SAMPLER */ BEGIN_BATCH(2); OUT_BATCH(_3DSTATE_SAMPLER_STATE_POINTERS_PS << 16 | (2 - 2)); |