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