Mesa (master): svga: fix max_lod clamping in update_tss_binding()

Brian Paul brianp at kemper.freedesktop.org
Wed Feb 29 15:37:40 UTC 2012


Module: Mesa
Branch: master
Commit: 83fed5e13081f2f5c7156f4f706eabbd6a87c5ae
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=83fed5e13081f2f5c7156f4f706eabbd6a87c5ae

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Feb 29 07:52:18 2012 -0700

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 <jfonseca at vmware.com>

---

 src/gallium/drivers/svga/svga_state_tss.c |    4 ++--
 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 8eb0dbf..d5ed804 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;




More information about the mesa-commit mailing list