Mesa (master): llvmpipe: Clamp both extremes of triangles to framebuffer size.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Thu Feb 11 11:00:35 UTC 2010


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

Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu Feb 11 10:58:46 2010 +0000

llvmpipe: Clamp both extremes of triangles to framebuffer size.

Fix segmentation fault when triangles crossed the axis.

---

 src/gallium/drivers/llvmpipe/lp_setup_tri.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_setup_tri.c b/src/gallium/drivers/llvmpipe/lp_setup_tri.c
index 9e59a66..a8bf540 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup_tri.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup_tri.c
@@ -442,8 +442,11 @@ do_triangle_ccw(struct setup_context *setup,
    maxx = maxx / TILE_SIZE;
    maxy = maxy / TILE_SIZE;
 
-   /* Clamp maxx, maxy to framebuffer size
+   /*
+    * Clamp to framebuffer size
     */
+   minx = MAX2(minx, 0);
+   miny = MAX2(miny, 0);
    maxx = MIN2(maxx, scene->tiles_x - 1);
    maxy = MIN2(maxy, scene->tiles_y - 1);
 




More information about the mesa-commit mailing list