summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Marchesin <marcheu@chromium.org>2014-11-22 00:09:24 -0800
committerStéphane Marchesin <marcheu@chromium.org>2014-11-22 00:13:39 -0800
commit2ed24b2c317a38627bee8704064c7c362811eda0 (patch)
tree0515d626821c8b1a175a072a381d5305a61e091c
parent0220a428d7e8df487e3cbd8c6cdd8ca2f39117ad (diff)
i915g: Fix maxlod computation.
Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
-rw-r--r--src/gallium/drivers/i915/i915_state_sampler.c6
1 files changed, 3 insertions, 3 deletions
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