summaryrefslogtreecommitdiff
path: root/src/radeon_kms.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-01-24 12:30:56 -0500
committerAlex Deucher <alexdeucher@gmail.com>2011-01-24 12:42:57 -0500
commit42529603ecf86fcfd0a8f3495d9db9ce1ee9b4c3 (patch)
treeb6d1f42cac9ec3af489e1fca7f18cea9732a7014 /src/radeon_kms.c
parent9b0e03e98ab739efb4031f81cc4a1a50b3d87a42 (diff)
vbo: always flush the cbuf bo in flush_indirect()
Always flush the cbuf in case we end up with a cbuf mapped in Prepare*(), but never end up issuing a draw call since the cbuf may be in use by multiple ops. The CS check for the cbuf bo is no longer necessay because the cbuf bo is NULL at this point due to the radeon_vbo_put() just prior. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=32188
Diffstat (limited to 'src/radeon_kms.c')
-rw-r--r--src/radeon_kms.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index fbdb5309..4297f6b8 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -91,7 +91,7 @@ void radeon_cs_flush_indirect(ScrnInfoPtr pScrn)
}
/* release the current VBO so we don't block on mapping it later */
- if (info->accel_state->cbuf.vb_offset && info->accel_state->cbuf.vb_bo) {
+ if (info->accel_state->cbuf.vb_bo) {
radeon_vbo_put(pScrn, &info->accel_state->cbuf);
info->accel_state->cbuf.vb_start_op = -1;
}
@@ -108,14 +108,6 @@ void radeon_cs_flush_indirect(ScrnInfoPtr pScrn)
if (ret)
ErrorF("space check failed in flush\n");
- if (accel_state->cbuf.vb_bo) {
- ret = radeon_cs_space_check_with_bo(info->cs,
- accel_state->cbuf.vb_bo,
- RADEON_GEM_DOMAIN_GTT, 0);
- if (ret)
- ErrorF("space check failed in flush\n");
- }
-
if (info->reemit_current2d && info->state_2d.op)
info->reemit_current2d(pScrn, info->state_2d.op);