r200: fix swtcl - slow but works
authorDave Airlie <airlied@redhat.com>
Thu, 29 Jan 2009 13:19:11 +0000 (23:19 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 30 Jan 2009 10:03:17 +0000 (20:03 +1000)
src/mesa/drivers/dri/r200/r200_swtcl.c

index 2a22bd297a4380efefaf5b2727d2137726658698..ef725a0efb673cb9fba85ffa8f5b1d52f3360c3f 100644 (file)
@@ -310,6 +310,9 @@ r200AllocDmaLowVerts( r200ContextPtr rmesa, int nverts, int vsize )
 {
    GLuint bytes = vsize * nverts;
 
+   if (rmesa->swtcl.flush)
+     rmesa->swtcl.flush(rmesa->radeon.glCtx);
+
    rmesa->swtcl.bo = radeon_bo_open(rmesa->radeon.radeonScreen->bom,
                                    0, bytes, 4, RADEON_GEM_DOMAIN_GTT, 0);
    radeon_bo_map(rmesa->swtcl.bo, 1);
@@ -317,6 +320,7 @@ r200AllocDmaLowVerts( r200ContextPtr rmesa, int nverts, int vsize )
      rmesa->radeon.glCtx->Driver.NeedFlush |= FLUSH_STORED_VERTICES;
      rmesa->radeon.dma.flush = flush_last_swtcl_prim;
    }
+   rmesa->swtcl.numverts = nverts;
    return rmesa->swtcl.bo->ptr;