Module: Mesa Branch: 7.9 Commit: fd4c6bd1357fd9931f6c6bdbcfb01ebc2ba01f1b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd4c6bd1357fd9931f6c6bdbcfb01ebc2ba01f1b
Author: Dave Airlie <[email protected]> Date: Wed Sep 15 20:58:14 2010 +1000 r300g: fix buffer reuse issue caused by previous commit caused by 0b9eb5c9bb03e5134d9a41786178100109e80c5a test run glxgears, resize. (cherry picked from commit 09ef8e9283f17e5dc9fa4a86c659048acda833cb) --- src/gallium/winsys/radeon/drm/radeon_drm_buffer.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_buffer.c b/src/gallium/winsys/radeon/drm/radeon_drm_buffer.c index 46e8df7..cf66524 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_buffer.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_buffer.c @@ -56,15 +56,18 @@ static void radeon_drm_buffer_destroy(struct pb_buffer *_buf) { struct radeon_drm_buffer *buf = radeon_drm_buffer(_buf); + int name; if (buf->bo->ptr != NULL) { remove_from_list(buf); radeon_bo_unmap(buf->bo); buf->bo->ptr = NULL; } - - util_hash_table_remove(buf->mgr->buffer_handles, - (void*)(uintptr_t)buf->bo->handle); + name = radeon_gem_name_bo(buf->bo); + if (name) { + util_hash_table_remove(buf->mgr->buffer_handles, + (void*)(uintptr_t)name); + } radeon_bo_unref(buf->bo); FREE(buf); _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
