From 09ef8e9283f17e5dc9fa4a86c659048acda833cb Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 15 Sep 2010 20:58:14 +1000 Subject: r300g: fix buffer reuse issue caused by previous commit caused by 0b9eb5c9bb03e5134d9a41786178100109e80c5a test run glxgears, resize. --- src/gallium/winsys/radeon/drm/radeon_drm_buffer.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/gallium/winsys/radeon') diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_buffer.c b/src/gallium/winsys/radeon/drm/radeon_drm_buffer.c index 46e8df7606..cf665241c4 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); -- cgit v1.2.3