From 5507c11f85dda4fbcdc9b36494551c933471a070 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Mon, 10 Jun 2013 23:36:59 -0400 Subject: gallium/draw: add limits to the clip and cull distances There are strict limits on those registers. Define the maximums and use them instead of magic numbers. Also allows us to add some extra sanity checks. Suggested by Brian. Signed-off-by: Zack Rusin Reviewed-by: Roland Scheidegger Reviewed-by: Jose Fonseca --- src/gallium/auxiliary/draw/draw_context.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/gallium/auxiliary/draw/draw_context.c') diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index 0dbddb45111..22c0e9be998 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -738,6 +738,7 @@ draw_current_shader_clipvertex_output(const struct draw_context *draw) uint draw_current_shader_clipdistance_output(const struct draw_context *draw, int index) { + debug_assert(index < PIPE_MAX_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT); if (draw->gs.geometry_shader) return draw->gs.geometry_shader->clipdistance_output[index]; return draw->vs.clipdistance_output[index]; @@ -756,6 +757,7 @@ draw_current_shader_num_written_clipdistances(const struct draw_context *draw) uint draw_current_shader_culldistance_output(const struct draw_context *draw, int index) { + debug_assert(index < PIPE_MAX_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT); if (draw->gs.geometry_shader) return draw->gs.geometry_shader->culldistance_output[index]; return draw->vs.vertex_shader->culldistance_output[index]; -- cgit v1.2.3