From 7679393f561ca4f0e9c9587d4b208b035b7b9098 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sat, 26 Jul 2014 13:12:37 -0700 Subject: [PATCH] i965: Make brw_update_sampler_state use 8 bits for LOD fields on Gen7+. This was the only actual difference between Gen4-6 and Gen7+ in terms of the values we program. The rest was just mechanical structure rearrangement. Signed-off-by: Kenneth Graunke Reviewed-by: Topi Pohjolainen --- src/mesa/drivers/dri/i965/brw_sampler_state.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_sampler_state.c b/src/mesa/drivers/dri/i965/brw_sampler_state.c index b34e9f331d1..fbdb40e8fdf 100644 --- a/src/mesa/drivers/dri/i965/brw_sampler_state.c +++ b/src/mesa/drivers/dri/i965/brw_sampler_state.c @@ -424,10 +424,11 @@ brw_update_sampler_state(struct brw_context *brw, intel_translate_shadow_compare_func(sampler->CompareFunc); } - const unsigned min_lod = U_FIXED(CLAMP(sampler->MinLod, 0, 13), 6); - const unsigned max_lod = U_FIXED(CLAMP(sampler->MaxLod, 0, 13), 6); + const int lod_bits = brw->gen >= 7 ? 8 : 6; + const unsigned min_lod = U_FIXED(CLAMP(sampler->MinLod, 0, 13), lod_bits); + const unsigned max_lod = U_FIXED(CLAMP(sampler->MaxLod, 0, 13), lod_bits); const int lod_bias = - S_FIXED(CLAMP(texUnit->LodBias + sampler->LodBias, -16, 15), 6); + S_FIXED(CLAMP(texUnit->LodBias + sampler->LodBias, -16, 15), lod_bits); const unsigned base_level = U_FIXED(0, 1); uint32_t border_color_offset; -- 2.30.2