summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Rusin <zackr@vmware.com>2013-06-24 18:52:24 -0400
committerZack Rusin <zackr@vmware.com>2013-06-25 11:57:01 -0400
commit29dacd98038efa5b5056464167cb30290c41a090 (patch)
treec7611d56afea2806d941d1d8511bb9e5e49d9eec
parentf96326b2f6713c21c8da9cb13d14f4842ff69578 (diff)
draw: allow overflows in the llvm paths
Because our code couldn't handle it we were skipping rendering if we detected overflows. According to the spec we should still render but with all 0 vertices, which is what the llvm code already does. So for the llvm paths lets enable processing even if an overflow condition has been detected. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
-rw-r--r--src/gallium/auxiliary/draw/draw_pt.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c
index 720d7b1648b..e0b8007a4f5 100644
--- a/src/gallium/auxiliary/draw/draw_pt.c
+++ b/src/gallium/auxiliary/draw/draw_pt.c
@@ -508,11 +508,15 @@ draw_vbo(struct draw_context *draw,
draw->pt.vertex_element,
draw->pt.nr_vertex_elements,
info);
-
- if (index_limit == 0) {
+#if HAVE_LLVM
+ if (!draw->llvm)
+#endif
+ {
+ if (index_limit == 0) {
/* one of the buffers is too small to do any valid drawing */
- debug_warning("draw: VBO too small to draw anything\n");
- return;
+ debug_warning("draw: VBO too small to draw anything\n");
+ return;
+ }
}
/* If we're collecting stats then make sure we start from scratch */