glx: move base screen destroy to glx_screen_cleanup

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30619>
This commit is contained in:
Mike Blumenkrantz 2024-08-01 12:32:16 -04:00 committed by Marge Bot
parent b89cf3bbaa
commit 407a9094f7
4 changed files with 2 additions and 21 deletions

View file

@ -424,8 +424,6 @@ dri2DeinitScreen(struct glx_screen *base)
{
struct dri2_screen *psc = (struct dri2_screen *) base;
/* Free the direct rendering per screen data */
driDestroyScreen(psc->base.frontend_screen);
close(psc->fd);
}
@ -801,9 +799,6 @@ handle_error:
glx_config_destroy_list(configs);
if (visuals)
glx_config_destroy_list(visuals);
if (psc->base.frontend_screen)
driDestroyScreen(psc->base.frontend_screen);
psc->base.frontend_screen = NULL;
if (psc->fd >= 0)
close(psc->fd);

View file

@ -430,7 +430,6 @@ dri3_deinit_screen(struct glx_screen *base)
if (psc->fd_render_gpu != psc->fd_display_gpu)
close(psc->fd_display_gpu);
loader_dri3_close_screen(psc->driScreenRenderGPU);
driDestroyScreen(psc->driScreenRenderGPU);
close(psc->fd_render_gpu);
}
@ -671,9 +670,6 @@ handle_error:
glx_config_destroy_list(configs);
if (visuals)
glx_config_destroy_list(visuals);
if (psc->driScreenRenderGPU)
driDestroyScreen(psc->driScreenRenderGPU);
psc->driScreenRenderGPU = NULL;
if (psc->fd_render_gpu != psc->fd_display_gpu && psc->driScreenDisplayGPU)
driDestroyScreen(psc->driScreenDisplayGPU);
psc->driScreenDisplayGPU = NULL;

View file

@ -563,15 +563,6 @@ drisw_copy_sub_buffer(__GLXDRIdrawable * pdraw,
driswCopySubBuffer(pdraw->dri_drawable, x, y, width, height);
}
static void
driswDeinitScreen(struct glx_screen *base)
{
struct drisw_screen *psc = (struct drisw_screen *) base;
/* Free the direct rendering per screen data */
driDestroyScreen(psc->base.frontend_screen);
}
static int
check_xshm(Display *dpy)
{
@ -691,7 +682,6 @@ driswCreateScreen(int screen, struct glx_display *priv, enum glx_driver glx_driv
psp = &psc->vtable;
psc->base.driScreen = psp;
psc->base.can_EXT_texture_from_pixmap = true;
psp->deinitScreen = driswDeinitScreen;
psp->createDrawable = driswCreateDrawable;
psp->swapBuffers = driswSwapBuffers;
psp->bindTexImage = dri_bind_tex_image;
@ -714,8 +704,6 @@ driswCreateScreen(int screen, struct glx_display *priv, enum glx_driver glx_driv
glx_config_destroy_list(configs);
if (visuals)
glx_config_destroy_list(visuals);
if (psc->base.frontend_screen)
driDestroyScreen(psc->base.frontend_screen);
glx_screen_cleanup(&psc->base);
free(psc);

View file

@ -741,6 +741,8 @@ glx_screen_cleanup(struct glx_screen *psc)
}
#if defined(GLX_DIRECT_RENDERING) && (!defined(GLX_USE_APPLEGL) || defined(GLX_USE_APPLE))
driDestroyConfigs(psc->driver_configs);
/* Free the direct rendering per screen data */
driDestroyScreen(psc->frontend_screen);
#endif
free((char *) psc->serverGLXexts);
free((char *) psc->serverGLXvendor);