i965: Check fallback before accounting for index/vertex buffer size. fix #16028.
authorXiang, Haihao <haihao.xiang@intel.com>
Tue, 20 May 2008 05:28:42 +0000 (13:28 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Tue, 20 May 2008 05:28:42 +0000 (13:28 +0800)
src/mesa/drivers/dri/i965/brw_draw.c

index 5ccf4f4128b2059c984e8ea3955fa73bf88fd662..f90c5f7b082f4eb69f7eb2c7157db5d83c72bbd9 100644 (file)
@@ -318,6 +318,14 @@ static GLboolean brw_try_draw_prims( GLcontext *ctx,
          goto flush;
       }
 
+      /* Various fallback checks:
+       */
+      if (brw->intel.Fallback) 
+        goto out;
+
+      if (check_fallbacks( brw, prim, nr_prims ))
+        goto out;
+
       /* need to account for index buffer and vertex buffer */
       if (ib) {
          ret = brw_prepare_indices( brw, ib , &ib_bo, &ib_offset);
@@ -335,16 +343,6 @@ static GLboolean brw_try_draw_prims( GLcontext *ctx,
          force_flush = GL_TRUE;
          goto flush;
       }
-
-
-
-      /* Various fallback checks:
-       */
-      if (brw->intel.Fallback) 
-        goto out;
-
-      if (check_fallbacks( brw, prim, nr_prims ))
-        goto out;
          
       /* Upload index, vertex data: 
        */