Mesa (master): radeon/winsys: fix winsys VM handling
Christian König
deathsimple at kemper.freedesktop.org
Wed Aug 8 10:46:38 UTC 2012
Module: Mesa
Branch: master
Commit: 8c44e5a144009a03c20befa6468d19d41c802795
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c44e5a144009a03c20befa6468d19d41c802795
Author: Christian König <deathsimple at vodafone.de>
Date: Mon Aug 6 17:53:49 2012 +0200
radeon/winsys: fix winsys VM handling
Move releasing the VM area after closing the bo handle.
This partially fixes: https://bugs.freedesktop.org/show_bug.cgi?id=45018
Signed-off-by: Christian König <deathsimple at vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
---
src/gallium/winsys/radeon/drm/radeon_drm_bo.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
index 2626586..464842c 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
@@ -319,13 +319,14 @@ static void radeon_bo_destroy(struct pb_buffer *_buf)
if (bo->ptr)
os_munmap(bo->ptr, bo->base.size);
+ /* Close object. */
+ args.handle = bo->handle;
+ drmIoctl(bo->rws->fd, DRM_IOCTL_GEM_CLOSE, &args);
+
if (mgr->va) {
radeon_bomgr_free_va(mgr, bo->va, bo->va_size);
}
- /* Close object. */
- args.handle = bo->handle;
- drmIoctl(bo->rws->fd, DRM_IOCTL_GEM_CLOSE, &args);
pipe_mutex_destroy(bo->map_mutex);
FREE(bo);
}
More information about the mesa-commit
mailing list