From e9aec758c6b05180d92d0216228ed9bfc8019cfd Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 19 Jul 2024 09:57:07 -0400 Subject: [PATCH] glx: delete all driver-specific display handling this no longer does anything Reviewed-by: Adam Jackson Part-of: --- src/glx/dri2_glx.c | 31 ++----------------------------- src/glx/dri3_glx.c | 31 ++----------------------------- src/glx/dri3_priv.h | 5 ----- src/glx/drisw_glx.c | 27 ++------------------------- src/glx/driwindows_glx.c | 31 ++----------------------------- src/glx/glxclient.h | 9 ++------- src/glx/glxext.c | 28 ---------------------------- 7 files changed, 10 insertions(+), 152 deletions(-) diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index ca4b4d60a77..779d6d43efb 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -54,10 +54,6 @@ #undef DRI2_MINOR #define DRI2_MINOR 1 -struct dri2_display -{ -}; - struct dri2_drawable { __GLXDRIdrawable base; @@ -1130,6 +1126,8 @@ dri2CreateScreen(int screen, struct glx_display * priv, bool driver_name_is_infe if (psc->show_fps_interval < 0) psc->show_fps_interval = 0; + priv->driver = GLX_DRIVER_DRI2; + InfoMessageF("Using DRI2 for screen %d\n", screen); return &psc->base; @@ -1154,14 +1152,6 @@ handle_error: return NULL; } -/* Called from __glXFreeDisplayPrivate. - */ -void -dri2DestroyDisplay(__GLXDRIdisplay * dpy) -{ - free(dpy); -} - _X_HIDDEN __GLXDRIdrawable * dri2GetGlxDrawableFromXDrawableId(Display *dpy, XID id) { @@ -1189,21 +1179,4 @@ dri2CheckSupport(Display *dpy) return true; } -/* - * Allocate, initialize and return a __DRIdisplayPrivate object. - * This is called from __glXInitialize() when we are given a new - * display pointer. - */ -_X_HIDDEN __GLXDRIdisplay * -dri2CreateDisplay(Display * dpy) -{ - struct dri2_display *pdp; - - pdp = malloc(sizeof *pdp); - if (pdp == NULL) - return NULL; - - return (void*)pdp; -} - #endif /* GLX_DIRECT_RENDERING */ diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index ece0f573279..23bce2fd550 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -1007,6 +1007,8 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in psc->prefer_back_buffer_reuse = value; } + priv->driver = GLX_DRIVER_DRI3; + return &psc->base; handle_error: @@ -1035,33 +1037,4 @@ handle_error: return return_zink ? GLX_LOADER_USE_ZINK : NULL; } -/** dri_destroy_display - * - * Called from __glXFreeDisplayPrivate. - */ -void -dri3_destroy_display(__GLXDRIdisplay * dpy) -{ - free(dpy); -} - -/** dri3_create_display - * - * Allocate, initialize and return a __DRIdisplayPrivate object. - * This is called from __glXInitialize() when we are given a new - * display pointer. This is public to that function, but hidden from - * outside of libGL. - */ -_X_HIDDEN __GLXDRIdisplay * -dri3_create_display(Display * dpy) -{ - struct dri3_display *pdp; - - pdp = calloc(1, sizeof *pdp); - if (pdp == NULL) - return NULL; - - return (void*)pdp; -} - #endif /* GLX_DIRECT_RENDERING */ diff --git a/src/glx/dri3_priv.h b/src/glx/dri3_priv.h index d7446fd087a..0ad1756d88d 100644 --- a/src/glx/dri3_priv.h +++ b/src/glx/dri3_priv.h @@ -62,11 +62,6 @@ #include "loader_dri3_helper.h" #include "mesa_interface.h" -struct dri3_display -{ - int has_multibuffer; -}; - struct dri3_screen { struct glx_screen base; diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index 13a694d109e..2bb8e8ab8bb 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -1038,6 +1038,8 @@ driswCreateScreen(int screen, struct glx_display *priv, enum glx_driver glx_driv psp->maxSwapInterval = 1; } + priv->driver = glx_driver; + return &psc->base; handle_error: @@ -1058,29 +1060,4 @@ driswCreateScreen(int screen, struct glx_display *priv, enum glx_driver glx_driv return NULL; } -/* Called from __glXFreeDisplayPrivate. - */ -void -driswDestroyDisplay(__GLXDRIdisplay * dpy) -{ - free(dpy); -} - -/* - * Allocate, initialize and return a __DRIdisplayPrivate object. - * This is called from __glXInitialize() when we are given a new - * display pointer. - */ -_X_HIDDEN __GLXDRIdisplay * -driswCreateDisplay(Display * dpy, enum glx_driver glx_driver) -{ - struct drisw_display *pdpyp; - - pdpyp = malloc(sizeof *pdpyp); - if (pdpyp == NULL) - return NULL; - - return (void*)pdpyp; -} - #endif /* GLX_DIRECT_RENDERING */ diff --git a/src/glx/driwindows_glx.c b/src/glx/driwindows_glx.c index 57d8382cc54..2a30231fd42 100644 --- a/src/glx/driwindows_glx.c +++ b/src/glx/driwindows_glx.c @@ -28,10 +28,6 @@ #include "windows/xwindowsdri.h" #include "windows/windowsgl.h" -struct driwindows_display -{ -}; - struct driwindows_context { struct glx_context base; @@ -528,6 +524,8 @@ driwindowsCreateScreen(int screen, struct glx_display *priv, bool driver_name_is if (psc->copySubBuffer) psp->copySubBuffer = driwindowsCopySubBuffer; + + priv->driver = GLX_DRIVER_WINDOWS; return &psc->base; @@ -536,28 +534,3 @@ handle_error: return NULL; } - -/* Called from __glXFreeDisplayPrivate. - */ -static void -driwindowsDestroyDisplay(__GLXDRIdisplay * dpy) -{ - free(dpy); -} - -/* - * Allocate, initialize and return a __GLXDRIdisplay object. - * This is called from __glXInitialize() when we are given a new - * display pointer. - */ -_X_HIDDEN __GLXDRIdisplay * -driwindowsCreateDisplay(Display * dpy) -{ - struct driwindows_display *pdpyp; - - pdpyp = malloc(sizeof *pdpyp); - if (pdpyp == NULL) - return NULL; - - return &pdpyp->base; -} diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h index 8cdbc7a7e11..1c237aa202a 100644 --- a/src/glx/glxclient.h +++ b/src/glx/glxclient.h @@ -566,6 +566,8 @@ struct glx_display { struct glx_display *next; + enum glx_driver driver; + /* The extension protocol codes */ XExtCodes codes; @@ -602,13 +604,6 @@ struct glx_display struct set *zombieGLXDrawable; __glxHashTable *dri2Hash; - - /** - * Per display direct rendering interface functions and data. - */ - __GLXDRIdisplay *driswDisplay; - __GLXDRIdisplay *dri2Display; - __GLXDRIdisplay *dri3Display; bool has_multibuffer; #endif #ifdef GLX_USE_WINDOWSGL diff --git a/src/glx/glxext.c b/src/glx/glxext.c index 24f6a4bc492..662bbeec762 100644 --- a/src/glx/glxext.c +++ b/src/glx/glxext.c @@ -286,29 +286,6 @@ glx_display_free(struct glx_display *priv) if (priv->dri2Hash) __glxHashDestroy(priv->dri2Hash); - /* Free the direct rendering per display data */ - if (priv->driswDisplay) - driswDestroyDisplay(priv->driswDisplay); - priv->driswDisplay = NULL; - -#if defined (GLX_USE_DRM) -#if defined(HAVE_X11_DRI2) - if (priv->dri2Display) - dri2DestroyDisplay(priv->dri2Display); -#endif - priv->dri2Display = NULL; - - if (priv->dri3Display) - dri3_destroy_display(priv->dri3Display); - priv->dri3Display = NULL; -#endif /* GLX_USE_DRM */ - -#if defined(GLX_USE_WINDOWSGL) - if (priv->windowsdriDisplay) - driwindowsDestroyDisplay(priv->windowsdriDisplay); - priv->windowsdriDisplay = NULL; -#endif /* GLX_USE_WINDOWSGL */ - #endif /* GLX_DIRECT_RENDERING && !GLX_USE_APPLEGL */ free((char *) priv); @@ -792,13 +769,11 @@ AllocAndFetchScreenConfigs(Display * dpy, struct glx_display * priv, enum glx_dr #if defined(GLX_USE_DRM) #if defined(HAVE_DRI3) if (glx_driver & GLX_DRIVER_DRI3) { - priv->dri3Display = dri3_create_display(dpy); psc = dri3_create_screen(i, priv, driver_name_is_inferred); } #endif /* HAVE_DRI3 */ #if defined(HAVE_X11_DRI2) if (psc == NULL && glx_driver & GLX_DRIVER_DRI2 && dri2CheckSupport(dpy)) { - priv->dri2Display = dri2CreateDisplay(dpy); psc = dri2CreateScreen(i, priv, driver_name_is_inferred); if (psc) priv->dri2Hash = __glxHashCreate(); @@ -808,7 +783,6 @@ AllocAndFetchScreenConfigs(Display * dpy, struct glx_display * priv, enum glx_dr #ifdef GLX_USE_WINDOWSGL if (psc == NULL && glx_driver & GLX_DRIVER_WINDOWS) { - priv->windowsdriDisplay = driwindowsCreateDisplay(dpy); psc = driwindowsCreateScreen(i, priv, driver_name_is_inferred); } #endif @@ -817,7 +791,6 @@ AllocAndFetchScreenConfigs(Display * dpy, struct glx_display * priv, enum glx_dr #if defined(GLX_DIRECT_RENDERING) && (!defined(GLX_USE_APPLEGL) || defined(GLX_USE_APPLE)) if ((psc == GLX_LOADER_USE_ZINK || psc == NULL) && (glx_driver & GLX_DRIVER_SW || zink)) { - priv->driswDisplay = driswCreateDisplay(dpy, glx_driver); psc = driswCreateScreen(i, priv, glx_driver, psc == GLX_LOADER_USE_ZINK ? false : driver_name_is_inferred); } #endif @@ -969,7 +942,6 @@ __glXInitialize(Display * dpy) Bool fail = True; #if defined(GLX_DIRECT_RENDERING) && (!defined(GLX_USE_APPLEGL) || defined(GLX_USE_APPLE)) if (glx_driver & GLX_DRIVER_ZINK_INFER) { - driswDestroyDisplay(dpyPriv->driswDisplay); fail = !AllocAndFetchScreenConfigs(dpy, dpyPriv, GLX_DRIVER_SW, true); } #endif