summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2014-06-23 22:06:15 +0200
committerRoland Scheidegger <[email protected]>2014-06-24 00:37:52 +0200
commit604e54de78aa00430b1d61d030656e387866e840 (patch)
tree1f03640a27b608674352f36c7d237a60105c8e47
parentf6a99d1167b14a3ada7c1d6f41a5cc6f13290e0d (diff)
draw: (trivial) fix clamping of viewport index
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" <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Tested-by: Ilia Mirkin <[email protected]>
-rw-r--r--src/gallium/auxiliary/draw/draw_private.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h
index 783c3efcc9b..d8dc2ab0bae 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);
}
/**