xf86-video-ati: Branch 'master' - 2 commits
Alex Deucher
agd5f at kemper.freedesktop.org
Mon Jan 24 09:58:41 PST 2011
src/radeon_kms.c | 10 +---------
src/radeon_vbo.c | 5 +++++
2 files changed, 6 insertions(+), 9 deletions(-)
New commits:
commit 0f90133ac61c5e1d80b6fa9256e079349940029f
Author: Alex Deucher <alexdeucher at gmail.com>
Date: Mon Jan 24 12:40:22 2011 -0500
vbo: warn if we add a bo with a pointer to the wait list
diff --git a/src/radeon_vbo.c b/src/radeon_vbo.c
index 0997046..767bb98 100644
--- a/src/radeon_vbo.c
+++ b/src/radeon_vbo.c
@@ -136,6 +136,11 @@ void radeon_vbo_flush_bos(ScrnInfoPtr pScrn)
if (!radeon_bo_is_idle(dma_bo->bo))
continue;
+ if (dma_bo->bo->ptr) {
+ ErrorF("bo with pointer on wait list!\n");
+ continue;
+ }
+
remove_from_list(dma_bo);
dma_bo->expire_counter = expire_at;
insert_at_tail(&accel_state->bo_free, dma_bo);
commit 42529603ecf86fcfd0a8f3495d9db9ce1ee9b4c3
Author: Alex Deucher <alexdeucher at gmail.com>
Date: Mon Jan 24 12:30:56 2011 -0500
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
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index fbdb530..4297f6b 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);
More information about the xorg-commit
mailing list