On Mon, Jun 23, 2014 at 4:08 PM,  <srol...@vmware.com> wrote:
> From: Roland Scheidegger <srol...@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-sta...@lists.freedesktop.org>

Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu>

I haven't tested whether this fixes my issues (don't have the right
patches/setup on this comp) but this seems obviously correct.

> ---
>  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
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to