summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@panoply-rh.(none)>2008-05-06 18:52:47 +1000
committerDave Airlie <airlied@panoply-rh.(none)>2008-05-06 18:52:47 +1000
commit17adf04e5c1da72a51815f3fdb9de2f3a8149c1a (patch)
tree43857fc187dd4a1df57e6fd9631a9682f2af376b
parent7d016b76e22c0911f9a5ee024a2849096661ddd7 (diff)
i965: fix googleearth in classic mode.
In classic mode googleearth triggered a case where vbos weren't getting accounted properly.
-rw-r--r--src/mesa/drivers/dri/i965/brw_draw_upload.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c
index aa985d68b69..2d99238ddcd 100644
--- a/src/mesa/drivers/dri/i965/brw_draw_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c
@@ -404,6 +404,7 @@ int brw_prepare_vertices( struct brw_context *brw,
*/
copy_array_to_vbo_array(brw, upload[0], interleave);
+ ret |= dri_bufmgr_check_aperture_space(upload[0]->bo);
for (i = 1; i < nr_uploads; i++) {
/* Then, just point upload[i] at upload[0]'s buffer. */
upload[i]->stride = interleave;
@@ -416,13 +417,13 @@ int brw_prepare_vertices( struct brw_context *brw,
else {
/* Upload non-interleaved arrays */
for (i = 0; i < nr_uploads; i++) {
- copy_array_to_vbo_array(brw, upload[i], upload[i]->element_size);
+ copy_array_to_vbo_array(brw, upload[i], upload[i]->element_size);
+ if (upload[i]->bo) {
+ ret |= dri_bufmgr_check_aperture_space(upload[i]->bo);
+ }
}
}
- if (brw->vb.upload.bo) {
- ret |= dri_bufmgr_check_aperture_space(brw->vb.upload.bo);
- }
if (ret)
return 1;