From: Kenneth Graunke Date: Fri, 28 Oct 2011 06:04:00 +0000 (-0700) Subject: i965: Put a proper sampler count in 3DSTATE_VS. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=51b1d412ec5d0699d182b895daacb3b78da328ad;p=mesa.git i965: Put a proper sampler count in 3DSTATE_VS. See similar code for 3DSTATE_WM. Signed-off-by: Kenneth Graunke Reviewed-by: Eric Anholt --- diff --git a/src/mesa/drivers/dri/i965/gen6_vs_state.c b/src/mesa/drivers/dri/i965/gen6_vs_state.c index 3af667b344d..c638db52935 100644 --- a/src/mesa/drivers/dri/i965/gen6_vs_state.c +++ b/src/mesa/drivers/dri/i965/gen6_vs_state.c @@ -167,7 +167,8 @@ upload_vs_state(struct brw_context *brw) BEGIN_BATCH(6); OUT_BATCH(_3DSTATE_VS << 16 | (6 - 2)); OUT_BATCH(brw->vs.prog_offset); - OUT_BATCH(floating_point_mode | (0 << GEN6_VS_SAMPLER_COUNT_SHIFT)); + OUT_BATCH(floating_point_mode | + ((ALIGN(brw->sampler.count, 4)/4) << GEN6_VS_SAMPLER_COUNT_SHIFT)); if (brw->vs.prog_data->total_scratch) { OUT_RELOC(brw->vs.scratch_bo, @@ -222,7 +223,7 @@ const struct brw_tracked_state gen6_vs_state = { BRW_NEW_CONTEXT | BRW_NEW_VERTEX_PROGRAM | BRW_NEW_BATCH), - .cache = CACHE_NEW_VS_PROG + .cache = CACHE_NEW_VS_PROG | CACHE_NEW_SAMPLER }, .emit = upload_vs_state, }; diff --git a/src/mesa/drivers/dri/i965/gen7_vs_state.c b/src/mesa/drivers/dri/i965/gen7_vs_state.c index 558933c2c4c..6b9507f55ea 100644 --- a/src/mesa/drivers/dri/i965/gen7_vs_state.c +++ b/src/mesa/drivers/dri/i965/gen7_vs_state.c @@ -81,7 +81,8 @@ upload_vs_state(struct brw_context *brw) BEGIN_BATCH(6); OUT_BATCH(_3DSTATE_VS << 16 | (6 - 2)); OUT_BATCH(brw->vs.prog_offset); - OUT_BATCH((0 << GEN6_VS_SAMPLER_COUNT_SHIFT) | floating_point_mode); + OUT_BATCH(floating_point_mode | + ((ALIGN(brw->sampler.count, 4)/4) << GEN6_VS_SAMPLER_COUNT_SHIFT)); if (brw->vs.prog_data->total_scratch) { OUT_RELOC(brw->vs.scratch_bo,