i915: Compute maximum number of verts using the actual batchbuffer size.
authorKurt Roeckx <kurt@roeckx.be>
Fri, 2 Mar 2012 23:34:45 +0000 (15:34 -0800)
committerEric Anholt <eric@anholt.net>
Sat, 3 Mar 2012 01:16:13 +0000 (17:16 -0800)
We were looking at the size of batch.map for how big the batchbuffer
was, but on 865 we just use a single-page batchbuffer due to hardware
limits.

v2: Removed check for sizeof map < bo->size, since that's always false.
    [change by anholt]
NOTE: This is a candidate for release branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41495

src/mesa/drivers/dri/i915/intel_render.c

index a4041bea9baea649daff7ae8623d389fc33846a0..6afd7388e1e51b33b586bfcce6d73f04b9741b65 100644 (file)
@@ -125,9 +125,9 @@ static INLINE GLuint intel_get_vb_max(struct intel_context *intel)
 {
    GLuint ret;
 
-   if (intel->intelScreen->no_vbo)
-      ret = sizeof(intel->batch.map) - INTEL_NO_VBO_STATE_RESERVED;
-   else
+   if (intel->intelScreen->no_vbo) {
+      ret = intel->batch.bo->size - INTEL_NO_VBO_STATE_RESERVED;
+   else
       ret = INTEL_VB_SIZE;
    ret /= (intel->vertex_size * 4);
    return ret;