[Mesa-dev] [PATCH 04/12] winsys/amdgpu: add do_winsys_deinit function
Nicolai Hähnle
nhaehnle at gmail.com
Fri Sep 9 17:34:06 UTC 2016
From: Nicolai Hähnle <nicolai.haehnle at amd.com>
The idea is to have matching init/deinit functions so that deinit can be
re-used for cleanup in the error path of amdgpu_winsys_create.
---
src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
index 521a78a..3961ee3 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
@@ -361,32 +361,37 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, int fd)
return true;
fail:
if (ws->addrlib)
AddrDestroy(ws->addrlib);
amdgpu_device_deinitialize(ws->dev);
ws->dev = NULL;
return false;
}
+static void do_winsys_deinit(struct amdgpu_winsys *ws)
+{
+ AddrDestroy(ws->addrlib);
+ amdgpu_device_deinitialize(ws->dev);
+}
+
static void amdgpu_winsys_destroy(struct radeon_winsys *rws)
{
struct amdgpu_winsys *ws = (struct amdgpu_winsys*)rws;
if (util_queue_is_initialized(&ws->cs_queue))
util_queue_destroy(&ws->cs_queue);
pipe_mutex_destroy(ws->bo_fence_lock);
pb_cache_deinit(&ws->bo_cache);
pipe_mutex_destroy(ws->global_bo_list_lock);
- AddrDestroy(ws->addrlib);
- amdgpu_device_deinitialize(ws->dev);
+ do_winsys_deinit(ws);
FREE(rws);
}
static void amdgpu_winsys_query_info(struct radeon_winsys *rws,
struct radeon_info *info)
{
*info = ((struct amdgpu_winsys *)rws)->info;
}
static bool amdgpu_cs_request_feature(struct radeon_winsys_cs *rcs,
--
2.7.4
More information about the mesa-dev
mailing list