draw: allow overflows in the llvm paths
authorZack Rusin <zackr@vmware.com>
Mon, 24 Jun 2013 22:52:24 +0000 (18:52 -0400)
committerZack Rusin <zackr@vmware.com>
Tue, 25 Jun 2013 15:57:01 +0000 (11:57 -0400)
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>
src/gallium/auxiliary/draw/draw_pt.c

index 720d7b1648bef03ccb01b8bf631f48509300cb0b..e0b8007a4f5e02b56e4f255305f626bd2d5db06b 100644 (file)
@@ -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 */