diff options
author | Roland Scheidegger <[email protected]> | 2014-06-23 22:06:15 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2014-06-24 00:37:52 +0200 |
commit | 604e54de78aa00430b1d61d030656e387866e840 (patch) | |
tree | 1f03640a27b608674352f36c7d237a60105c8e47 | |
parent | f6a99d1167b14a3ada7c1d6f41a5cc6f13290e0d (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.h | 2 |
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); } /** |