From c0bc070ff5334db173df6f774257ae4c5c6e394e Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Tue, 18 Aug 2009 18:11:46 -0700 Subject: radeon-gallium: Oh, look, we *do* already support DONTBLOCK. Well, okay, the kernel doesn't, but that's no excuse for us! :3 --- src/gallium/winsys/drm/radeon/core/radeon_buffer.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/gallium/winsys/drm/radeon') diff --git a/src/gallium/winsys/drm/radeon/core/radeon_buffer.c b/src/gallium/winsys/drm/radeon/core/radeon_buffer.c index 775bda8308..07551e7cd1 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_buffer.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_buffer.c @@ -134,18 +134,17 @@ static void *radeon_buffer_map(struct pipe_winsys *ws, (struct radeon_pipe_buffer*)buffer; int write = 0; - if (flags & PIPE_BUFFER_USAGE_DONTBLOCK) { - /* XXX Remove this when radeon_bo_map supports DONTBLOCK */ - return NULL; + if (!(flags & PIPE_BUFFER_USAGE_DONTBLOCK)) { + radeon_bo_wait(radeon_buffer->bo); } if (flags & PIPE_BUFFER_USAGE_CPU_WRITE) { write = 1; } - radeon_bo_wait(radeon_buffer->bo); - - if (radeon_bo_map(radeon_buffer->bo, write)) + if (radeon_bo_map(radeon_buffer->bo, write)) { return NULL; + } + return radeon_buffer->bo->ptr; } -- cgit v1.2.3