summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/gen6_wm_state.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2013-11-01 17:43:43 -0700
committerEric Anholt <eric@anholt.net>2013-11-05 15:39:45 -0800
commitff337bc80069c74c6ad5d4ce84cd2029282d9e93 (patch)
tree81874fe9931bd534dfcfe3548eaa3adfc3140ab2 /src/mesa/drivers/dri/i965/gen6_wm_state.c
parent3f319eef76a31776085accb38c06851bc04f64b8 (diff)
downloadexternal_mesa3d-ff337bc80069c74c6ad5d4ce84cd2029282d9e93.zip
external_mesa3d-ff337bc80069c74c6ad5d4ce84cd2029282d9e93.tar.gz
external_mesa3d-ff337bc80069c74c6ad5d4ce84cd2029282d9e93.tar.bz2
i965: Tell the unit states how many binding table entries we have.
Before the series with 3c9dc2d31b80fc73bffa1f40a91443a53229c8e2 to dynamically assign our binding table indices, we didn't really track our binding table count per shader, so we never filled in these fields. Affects cairo-gl trace runtime by -2.47953% +/- 1.07281% (n=20) Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen6_wm_state.c')
-rw-r--r--src/mesa/drivers/dri/i965/gen6_wm_state.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_wm_state.c b/src/mesa/drivers/dri/i965/gen6_wm_state.c
index 42d8789..5773246 100644
--- a/src/mesa/drivers/dri/i965/gen6_wm_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_wm_state.c
@@ -146,6 +146,11 @@ upload_wm_state(struct brw_context *brw)
/* CACHE_NEW_SAMPLER */
dw2 |= (ALIGN(brw->wm.base.sampler_count, 4) / 4) <<
GEN6_WM_SAMPLER_COUNT_SHIFT;
+
+ /* CACHE_NEW_WM_PROG */
+ dw2 |= ((brw->wm.prog_data->base.binding_table.size_bytes / 4) <<
+ GEN6_WM_BINDING_TABLE_ENTRY_COUNT_SHIFT);
+
dw4 |= (brw->wm.prog_data->first_curbe_grf <<
GEN6_WM_DISPATCH_START_GRF_SHIFT_0);
dw4 |= (brw->wm.prog_data->first_curbe_grf_16 <<