r300: mark VBO buffer objects as persistent
authorMaciej Cencora <m.cencora@gmail.com>
Fri, 14 Aug 2009 20:32:57 +0000 (22:32 +0200)
committerMaciej Cencora <m.cencora@gmail.com>
Fri, 14 Aug 2009 22:39:19 +0000 (00:39 +0200)
src/mesa/drivers/dri/r300/r300_draw.c

index 37445af1ad53a921523b9fc5d49c8b2aa9808e27..cebb9a10d8b8aed33c391955e9d31cf8ccb4cfc6 100644 (file)
@@ -503,10 +503,13 @@ static void r300SetVertexFormat(GLcontext *ctx, const struct gl_client_array *ar
                        aos->components = vbuf->attribs[i].dwords;
                        aos->bo = vbuf->attribs[i].bo;
 
+                       radeon_cs_space_check_with_bo(r300->radeon.cmdbuf.cs,
+                                                                                 r300->vbuf.attribs[i].bo,
+                                                                                 RADEON_GEM_DOMAIN_GTT, 0);
                        if (vbuf->attribs[i].is_named_bo) {
-                               radeon_cs_space_check_with_bo(r300->radeon.cmdbuf.cs,
-                                                                                         aos->bo,
-                                                                                         RADEON_GEM_DOMAIN_GTT, 0);
+                               radeon_cs_space_add_persistent_bo(r300->radeon.cmdbuf.cs,
+                                                                                                 r300->vbuf.attribs[i].bo,
+                                                                                                 RADEON_GEM_DOMAIN_GTT, 0);
                        }
                }
                r300->radeon.tcl.aos_count = vbuf->num_attribs;