From: Stéphane Marchesin Date: Sat, 22 Nov 2014 08:09:24 +0000 (-0800) Subject: i915g: Fix maxlod computation. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2ed24b2c317a38627bee8704064c7c362811eda0;p=mesa.git i915g: Fix maxlod computation. Signed-off-by: Stéphane Marchesin --- diff --git a/src/gallium/drivers/i915/i915_state_sampler.c b/src/gallium/drivers/i915/i915_state_sampler.c index eb62479b975..c874361dfd9 100644 --- a/src/gallium/drivers/i915/i915_state_sampler.c +++ b/src/gallium/drivers/i915/i915_state_sampler.c @@ -304,11 +304,11 @@ static void update_map(struct i915_context *i915, { const struct pipe_resource *pt = &tex->b.b; uint width = pt->width0, height = pt->height0, depth = pt->depth0; - const uint num_levels = pt->last_level; - uint format, pitch; - unsigned max_lod = num_levels * 4; int first_level = view->u.tex.first_level; + const uint num_levels = pt->last_level - first_level; + unsigned max_lod = num_levels * 4; bool is_npot = (!util_is_power_of_two(pt->width0) || !util_is_power_of_two(pt->height0)); + uint format, pitch; /* * This is a bit messy. i915 doesn't support NPOT with mipmaps, but we can