summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga/svga_state_tss.c
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2012-02-29 07:52:18 -0700
committerBrian Paul <[email protected]>2012-02-29 08:34:37 -0700
commit83fed5e13081f2f5c7156f4f706eabbd6a87c5ae (patch)
treeba0fb2887a86d48af63867897777d88441f7efcc /src/gallium/drivers/svga/svga_state_tss.c
parentfce888a7066bfaaddd7272393e8bc54ce6a5cb67 (diff)
svga: fix max_lod clamping in update_tss_binding()
After biasing we need to clamp to be sure we don't exceed the number of levels in the mipmap. This fixes an assertion at svga_sampler_view.c:70 v2: simplify the biasing, clamping code per Jose's suggestion. Reviewed-by: José Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/drivers/svga/svga_state_tss.c')
-rw-r--r--src/gallium/drivers/svga/svga_state_tss.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/svga/svga_state_tss.c b/src/gallium/drivers/svga/svga_state_tss.c
index 8eb0dbf4708..d5ed804b0c0 100644
--- a/src/gallium/drivers/svga/svga_state_tss.c
+++ b/src/gallium/drivers/svga/svga_state_tss.c
@@ -87,8 +87,8 @@ update_tss_binding(struct svga_context *svga,
/* get min max lod */
if (sv) {
min_lod = MAX2(0, (s->view_min_lod + sv->u.tex.first_level));
- max_lod = MIN2(s->view_max_lod, sv->texture->last_level);
- max_lod += sv->u.tex.first_level;
+ max_lod = MIN2(s->view_max_lod + sv->u.tex.first_level,
+ sv->texture->last_level);
texture = sv->texture;
} else {
min_lod = 0;