r600g: avoid unneeded bo wait
[mesa.git] / 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;
 }