From 1991666171d51bacb437c0fa2c274c3dcd26bac8 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 20 Jul 2020 18:46:26 -0700 Subject: [PATCH] vrend: add vrend_winsys_cleanup Move winsys cleanup code to the new function. Signed-off-by: Chia-I Wu Reviewed-by: Gurchetan Singh --- src/virglrenderer.c | 20 +------------------- src/vrend_winsys.c | 22 ++++++++++++++++++++++ src/vrend_winsys.h | 2 ++ 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/virglrenderer.c b/src/virglrenderer.c index a212c4b..11aa900 100644 --- a/src/virglrenderer.c +++ b/src/virglrenderer.c @@ -437,25 +437,7 @@ void virgl_renderer_cleanup(UNUSED void *cookie) { vrend_renderer_fini(); virgl_context_table_cleanup(); - -#ifdef HAVE_EPOXY_EGL_H - if (use_context == CONTEXT_EGL) { - virgl_egl_destroy(egl); - egl = NULL; - use_context = CONTEXT_NONE; - if (gbm) { - virgl_gbm_fini(gbm); - gbm = NULL; - } - } -#endif -#ifdef HAVE_EPOXY_GLX_H - if (use_context == CONTEXT_GLX) { - virgl_glx_destroy(glx_info); - glx_info = NULL; - use_context = CONTEXT_NONE; - } -#endif + vrend_winsys_cleanup(); } int virgl_renderer_init(void *cookie, int flags, struct virgl_renderer_callbacks *cbs) diff --git a/src/vrend_winsys.c b/src/vrend_winsys.c index c8f9eb9..5a408e7 100644 --- a/src/vrend_winsys.c +++ b/src/vrend_winsys.c @@ -37,6 +37,28 @@ struct virgl_gbm *gbm = NULL; struct virgl_glx *glx_info = NULL; #endif +void vrend_winsys_cleanup(void) +{ +#ifdef HAVE_EPOXY_EGL_H + if (use_context == CONTEXT_EGL) { + virgl_egl_destroy(egl); + egl = NULL; + use_context = CONTEXT_NONE; + if (gbm) { + virgl_gbm_fini(gbm); + gbm = NULL; + } + } +#endif +#ifdef HAVE_EPOXY_GLX_H + if (use_context == CONTEXT_GLX) { + virgl_glx_destroy(glx_info); + glx_info = NULL; + use_context = CONTEXT_NONE; + } +#endif +} + virgl_renderer_gl_context vrend_winsys_create_context(struct virgl_gl_ctx_param *param) { #ifdef HAVE_EPOXY_EGL_H diff --git a/src/vrend_winsys.h b/src/vrend_winsys.h index 6fe6ac1..593f80e 100644 --- a/src/vrend_winsys.h +++ b/src/vrend_winsys.h @@ -57,6 +57,8 @@ extern struct virgl_gbm *gbm; extern struct virgl_glx *glx_info; #endif +void vrend_winsys_cleanup(void); + virgl_renderer_gl_context vrend_winsys_create_context(struct virgl_gl_ctx_param *param); void vrend_winsys_destroy_context(virgl_renderer_gl_context ctx); int vrend_winsys_make_context_current(virgl_renderer_gl_context ctx);