From: Chris Forbes Date: Tue, 4 Nov 2014 17:41:13 +0000 (+1300) Subject: i965: Fix sampler state pointer adjustment for nonconst samplers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1ca88aa58217239da84a426c29f05b5b53855951;p=mesa.git i965: Fix sampler state pointer adjustment for nonconst samplers This started hitting an assertion recently. Only affects Haswell (Ivybridge doesn't support this meddling with the sampler state pointer, and ARB_gpu_shader5 is not enabled yet on Broadwell) 14 Piglits crash->pass. Signed-off-by: Chris Forbes Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index bb6334ba38a..bb12a26b926 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -2409,7 +2409,7 @@ void brw_adjust_sampler_state_pointer(struct brw_compile *p, struct brw_reg temp = vec1(retype(scratch, BRW_REGISTER_TYPE_UD)); - brw_AND(p, temp, sampler_index, brw_imm_ud(0x0f0)); + brw_AND(p, temp, get_element_ud(sampler_index, 0), brw_imm_ud(0x0f0)); brw_SHL(p, temp, temp, brw_imm_ud(4)); brw_ADD(p, get_element_ud(header, 3),