r600g: avoid unneeded bo wait
authorDave Airlie <airlied@redhat.com>
Tue, 5 Oct 2010 06:00:48 +0000 (16:00 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 5 Oct 2010 06:00:48 +0000 (16:00 +1000)
if we know the bo has gone not busy, no need to add another bo wait

thanks to Andre (taiu) on irc for pointing this out.

src/gallium/winsys/r600/drm/radeon_bo_pb.c

index 33964814a02016a9244c57d65f59e7a561d1a8e5..a3452027f2760372df1cc474222c2d9ed164128c 100644 (file)
@@ -100,6 +100,10 @@ radeon_bo_pb_map_internal(struct pb_buffer *_buf,
                uint32_t domain;
                if (radeon_bo_busy(buf->mgr->radeon, buf->bo, &domain))
                        return NULL;
+               if (radeon_bo_map(buf->mgr->radeon, buf->bo)) {
+                       return NULL;
+               }
+               goto out;
        }
 
        if (buf->bo->data != NULL) {
@@ -115,7 +119,7 @@ radeon_bo_pb_map_internal(struct pb_buffer *_buf,
                        return NULL;
                }
        }
-
+out:
        LIST_DELINIT(&buf->maplist);
        return buf->bo->data;
 }