glx: delete all driver-specific display handling

this no longer does anything

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375>
This commit is contained in:
Mike Blumenkrantz
2024-07-19 09:57:07 -04:00
committed by Marge Bot
parent 886af985f8
commit e9aec758c6
7 changed files with 10 additions and 152 deletions

View File

@@ -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 */

View File

@@ -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 */

View File

@@ -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;

View File

@@ -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 */

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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