diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2011-01-24 12:30:56 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2011-01-24 12:42:57 -0500 |
commit | 42529603ecf86fcfd0a8f3495d9db9ce1ee9b4c3 (patch) | |
tree | b6d1f42cac9ec3af489e1fca7f18cea9732a7014 /src/radeon_kms.c | |
parent | 9b0e03e98ab739efb4031f81cc4a1a50b3d87a42 (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.c | 10 |
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); |