[Mesa-dev] [PATCH] draw: (trivial) fix clamping of viewport index

Jose Fonseca jfonseca at vmware.com
Mon Jun 23 14:00:02 PDT 2014


LGTM.

Jose
________________________________________
From: sroland at vmware.com <sroland at vmware.com>
Sent: 23 June 2014 21:08
To: Jose Fonseca; mesa-dev at lists.freedesktop.org; imirkin at alum.mit.edu
Cc: Roland Scheidegger; 10.1 10.2
Subject: [PATCH] draw: (trivial) fix clamping of viewport index

From: Roland Scheidegger <sroland at vmware.com>

The old logic would let all negative values go through unclamped, with
potentially disastrous results (probably trying to fetch viewport values
from random memory locations). GL has undefined rendering for vp indices
outside valid range but that's a bit too undefined...
(The logic is now the same as in llvmpipe.)

CC: "10.1 10.2" <mesa-stable at lists.freedesktop.org>
---
 src/gallium/auxiliary/draw/draw_private.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h
index 783c3ef..d8dc2ab 100644
--- a/src/gallium/auxiliary/draw/draw_private.h
+++ b/src/gallium/auxiliary/draw/draw_private.h
@@ -493,7 +493,7 @@ draw_stats_clipper_primitives(struct draw_context *draw,
 static INLINE unsigned
 draw_clamp_viewport_idx(int idx)
 {
-   return ((PIPE_MAX_VIEWPORTS > idx || idx < 0) ? idx : 0);
+   return ((PIPE_MAX_VIEWPORTS > idx && idx >= 0) ? idx : 0);
 }

 /**
--
1.9.1


More information about the mesa-dev mailing list