summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_split_tmp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_split_tmp.h')
-rw-r--r--src/gallium/auxiliary/draw/draw_split_tmp.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_split_tmp.h b/src/gallium/auxiliary/draw/draw_split_tmp.h
index 40ab0b71f1..47defc62b9 100644
--- a/src/gallium/auxiliary/draw/draw_split_tmp.h
+++ b/src/gallium/auxiliary/draw/draw_split_tmp.h
@@ -47,6 +47,10 @@ FUNC(FUNC_VARS)
if (count < first)
return;
+ /* try flushing the entire primitive */
+ if (PRIMITIVE(start, count))
+ return;
+
/* must be able to at least flush two complete primitives */
assert(max_count_simple >= first + incr &&
max_count_loop >= first + incr &&
@@ -166,6 +170,7 @@ FUNC(FUNC_VARS)
#undef FUNC_VARS
#undef LOCAL_VARS
+#undef PRIMITIVE
#undef SEGMENT_SIMPLE
#undef SEGMENT_LOOP
#undef SEGMENT_FAN