From 5165e464f225cd1b0f61e0da0758052b9b9ff518 Mon Sep 17 00:00:00 2001 From: Ben Widawsky Date: Fri, 4 Sep 2015 10:42:33 -0700 Subject: [PATCH] i965: Remove base miplevel from sampler state. Gen9 changes the meaning of this to coarse LOD quality mode. Although that's a desirable thing to be setting, it doesn't match the gen8 behavior and this was unintentional. More importantly, we don't ever use this field. So instead of getting it "wrong" drop it entirely. This is a respin of a patch which only [incorrectly] tried to address gen9. Signed-off-by: Ben Widawsky Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_sampler_state.c | 5 +---- src/mesa/drivers/dri/i965/brw_state.h | 1 - src/mesa/drivers/dri/i965/gen6_blorp.cpp | 1 - 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_sampler_state.c b/src/mesa/drivers/dri/i965/brw_sampler_state.c index 2021bb3b460..c2db5f69560 100644 --- a/src/mesa/drivers/dri/i965/brw_sampler_state.c +++ b/src/mesa/drivers/dri/i965/brw_sampler_state.c @@ -88,13 +88,11 @@ brw_emit_sampler_state(struct brw_context *brw, unsigned min_lod, unsigned max_lod, int lod_bias, - unsigned base_level, unsigned shadow_function, bool non_normalized_coordinates, uint32_t border_color_offset) { ss[0] = BRW_SAMPLER_LOD_PRECLAMP_ENABLE | - SET_FIELD(base_level, BRW_SAMPLER_BASE_MIPLEVEL) | SET_FIELD(mip_filter, BRW_SAMPLER_MIP_FILTER) | SET_FIELD(mag_filter, BRW_SAMPLER_MAG_FILTER) | SET_FIELD(min_filter, BRW_SAMPLER_MIN_FILTER); @@ -491,7 +489,6 @@ brw_update_sampler_state(struct brw_context *brw, const unsigned max_lod = U_FIXED(CLAMP(sampler->MaxLod, 0, 13), lod_bits); const int lod_bias = S_FIXED(CLAMP(tex_unit_lod_bias + sampler->LodBias, -16, 15), lod_bits); - const unsigned base_level = U_FIXED(0, 1); /* Upload the border color if necessary. If not, just point it at * offset 0 (the start of the batch) - the color should be ignored, @@ -515,7 +512,7 @@ brw_update_sampler_state(struct brw_context *brw, max_anisotropy, address_rounding, wrap_s, wrap_t, wrap_r, - min_lod, max_lod, lod_bias, base_level, + min_lod, max_lod, lod_bias, shadow_function, non_normalized_coords, border_color_offset); diff --git a/src/mesa/drivers/dri/i965/brw_state.h b/src/mesa/drivers/dri/i965/brw_state.h index 97b81f08b2e..e75b795a7bc 100644 --- a/src/mesa/drivers/dri/i965/brw_state.h +++ b/src/mesa/drivers/dri/i965/brw_state.h @@ -312,7 +312,6 @@ void brw_emit_sampler_state(struct brw_context *brw, unsigned min_lod, unsigned max_lod, int lod_bias, - unsigned base_level, unsigned shadow_function, bool non_normalized_coordinates, uint32_t border_color_offset); diff --git a/src/mesa/drivers/dri/i965/gen6_blorp.cpp b/src/mesa/drivers/dri/i965/gen6_blorp.cpp index 54c4a6dfdd8..cba5c2f456a 100644 --- a/src/mesa/drivers/dri/i965/gen6_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen6_blorp.cpp @@ -486,7 +486,6 @@ gen6_blorp_emit_sampler_state(struct brw_context *brw, 0, /* min LOD */ max_lod, 0, /* LOD bias */ - 0, /* base miplevel */ 0, /* shadow function */ non_normalized_coords, 0); /* border color offset - unused */ -- 2.30.2