summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c
diff options
context:
space:
mode:
authorAlan Hourihane <alanh@tungstengraphics.com>2008-12-10 12:02:24 +0000
committerAlan Hourihane <alanh@tungstengraphics.com>2008-12-10 12:02:24 +0000
commita8e7852b05f95cc695f3a05692a6ccd36298faf7 (patch)
tree4cbd4afd285e1888354c3a45b5bf3e95671fa04a /src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c
parente3f5370d637f367dbfe7d21f726e84185ad1e07d (diff)
gallium: more vertex count checks
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c')
-rw-r--r--src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c
index 77e630c099..69580f1472 100644
--- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c
+++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c
@@ -234,8 +234,10 @@ static void fse_run_linear( struct draw_pt_middle_end *middle,
*/
draw_do_flush( draw, DRAW_FLUSH_BACKEND );
- if (count > 65535) /* FIXME */
- return FALSE;
+ if (count > 65535) { /* FIXME */
+ assert(0);
+ return;
+ }
hw_verts = draw->render->allocate_vertices( draw->render,
(ushort)fse->key.output_stride,
@@ -296,6 +298,11 @@ fse_run(struct draw_pt_middle_end *middle,
*/
draw_do_flush( draw, DRAW_FLUSH_BACKEND );
+ if (fetch_count > 65535) { /* FIXME */
+ assert(0);
+ return;
+ }
+
hw_verts = draw->render->allocate_vertices( draw->render,
(ushort)fse->key.output_stride,
(ushort)fetch_count );
@@ -350,6 +357,9 @@ static boolean fse_run_linear_elts( struct draw_pt_middle_end *middle,
*/
draw_do_flush( draw, DRAW_FLUSH_BACKEND );
+ if (count > 65535) /* FIXME */
+ return FALSE;
+
hw_verts = draw->render->allocate_vertices( draw->render,
(ushort)fse->key.output_stride,
(ushort)count );