diff options
author | Zack Rusin <[email protected]> | 2013-05-25 01:02:46 -0400 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2013-05-25 09:49:20 -0400 |
commit | d7d676252d2ae1fd6d3dd76d4e205251ad7c6152 (patch) | |
tree | ee2de4e74375ddb379c1da9f440231eb557216a3 /src/gallium/auxiliary/draw/draw_private.h | |
parent | 26fe24c47975f1484c193617a18cd2a9cdb65eb4 (diff) |
draw: clamp the viewports to always be between 0 and max
If the viewport index is larger than the PIPE_MAX_VIEWPORTS,
then the first (0-th) viewport should be used.
Signed-off-by: Zack Rusin <[email protected]>
Reviewed-by: José Fonseca<[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_private.h')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_private.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h index e5f192b7576..f30f9af388b 100644 --- a/src/gallium/auxiliary/draw/draw_private.h +++ b/src/gallium/auxiliary/draw/draw_private.h @@ -469,4 +469,15 @@ draw_get_rasterizer_no_cull( struct draw_context *draw, #define DRAW_GET_IDX(_elts, _i) \ (((_i) >= draw->pt.user.eltMax) ? 0 : (_elts)[_i]) +/** + * Return index of the given viewport clamping it + * to be between 0 <= and < PIPE_MAX_VIEWPORTS + */ +static INLINE unsigned +draw_clamp_viewport_idx(int idx) +{ + return ((PIPE_MAX_VIEWPORTS > idx || idx < 0) ? idx : 0); +} + + #endif /* DRAW_PRIVATE_H */ |