[Mesa-stable] [PATCH] draw: (trivial) fix clamping of viewport index
Brian Paul
brianp at vmware.com
Mon Jun 23 13:14:49 PDT 2014
On 06/23/2014 02:08 PM, sroland at vmware.com wrote:
> 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);
> }
Personally, I find
return ((idx >= 0 && idx < PIPE_MAX_VIEWPORTS) ? idx : 0);
to be easier to read, but no big deal.
Reviewed-by: Brian Paul <brianp at vmware.com>
More information about the mesa-stable
mailing list