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:

committed by
Marge Bot

parent
886af985f8
commit
e9aec758c6
@@ -54,10 +54,6 @@
|
|||||||
#undef DRI2_MINOR
|
#undef DRI2_MINOR
|
||||||
#define DRI2_MINOR 1
|
#define DRI2_MINOR 1
|
||||||
|
|
||||||
struct dri2_display
|
|
||||||
{
|
|
||||||
};
|
|
||||||
|
|
||||||
struct dri2_drawable
|
struct dri2_drawable
|
||||||
{
|
{
|
||||||
__GLXDRIdrawable base;
|
__GLXDRIdrawable base;
|
||||||
@@ -1130,6 +1126,8 @@ dri2CreateScreen(int screen, struct glx_display * priv, bool driver_name_is_infe
|
|||||||
if (psc->show_fps_interval < 0)
|
if (psc->show_fps_interval < 0)
|
||||||
psc->show_fps_interval = 0;
|
psc->show_fps_interval = 0;
|
||||||
|
|
||||||
|
priv->driver = GLX_DRIVER_DRI2;
|
||||||
|
|
||||||
InfoMessageF("Using DRI2 for screen %d\n", screen);
|
InfoMessageF("Using DRI2 for screen %d\n", screen);
|
||||||
|
|
||||||
return &psc->base;
|
return &psc->base;
|
||||||
@@ -1154,14 +1152,6 @@ handle_error:
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Called from __glXFreeDisplayPrivate.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
dri2DestroyDisplay(__GLXDRIdisplay * dpy)
|
|
||||||
{
|
|
||||||
free(dpy);
|
|
||||||
}
|
|
||||||
|
|
||||||
_X_HIDDEN __GLXDRIdrawable *
|
_X_HIDDEN __GLXDRIdrawable *
|
||||||
dri2GetGlxDrawableFromXDrawableId(Display *dpy, XID id)
|
dri2GetGlxDrawableFromXDrawableId(Display *dpy, XID id)
|
||||||
{
|
{
|
||||||
@@ -1189,21 +1179,4 @@ dri2CheckSupport(Display *dpy)
|
|||||||
return true;
|
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 */
|
#endif /* GLX_DIRECT_RENDERING */
|
||||||
|
@@ -1007,6 +1007,8 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in
|
|||||||
psc->prefer_back_buffer_reuse = value;
|
psc->prefer_back_buffer_reuse = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->driver = GLX_DRIVER_DRI3;
|
||||||
|
|
||||||
return &psc->base;
|
return &psc->base;
|
||||||
|
|
||||||
handle_error:
|
handle_error:
|
||||||
@@ -1035,33 +1037,4 @@ handle_error:
|
|||||||
return return_zink ? GLX_LOADER_USE_ZINK : NULL;
|
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 */
|
#endif /* GLX_DIRECT_RENDERING */
|
||||||
|
@@ -62,11 +62,6 @@
|
|||||||
#include "loader_dri3_helper.h"
|
#include "loader_dri3_helper.h"
|
||||||
#include "mesa_interface.h"
|
#include "mesa_interface.h"
|
||||||
|
|
||||||
struct dri3_display
|
|
||||||
{
|
|
||||||
int has_multibuffer;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct dri3_screen {
|
struct dri3_screen {
|
||||||
struct glx_screen base;
|
struct glx_screen base;
|
||||||
|
|
||||||
|
@@ -1038,6 +1038,8 @@ driswCreateScreen(int screen, struct glx_display *priv, enum glx_driver glx_driv
|
|||||||
psp->maxSwapInterval = 1;
|
psp->maxSwapInterval = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->driver = glx_driver;
|
||||||
|
|
||||||
return &psc->base;
|
return &psc->base;
|
||||||
|
|
||||||
handle_error:
|
handle_error:
|
||||||
@@ -1058,29 +1060,4 @@ driswCreateScreen(int screen, struct glx_display *priv, enum glx_driver glx_driv
|
|||||||
return NULL;
|
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 */
|
#endif /* GLX_DIRECT_RENDERING */
|
||||||
|
@@ -28,10 +28,6 @@
|
|||||||
#include "windows/xwindowsdri.h"
|
#include "windows/xwindowsdri.h"
|
||||||
#include "windows/windowsgl.h"
|
#include "windows/windowsgl.h"
|
||||||
|
|
||||||
struct driwindows_display
|
|
||||||
{
|
|
||||||
};
|
|
||||||
|
|
||||||
struct driwindows_context
|
struct driwindows_context
|
||||||
{
|
{
|
||||||
struct glx_context base;
|
struct glx_context base;
|
||||||
@@ -529,6 +525,8 @@ driwindowsCreateScreen(int screen, struct glx_display *priv, bool driver_name_is
|
|||||||
if (psc->copySubBuffer)
|
if (psc->copySubBuffer)
|
||||||
psp->copySubBuffer = driwindowsCopySubBuffer;
|
psp->copySubBuffer = driwindowsCopySubBuffer;
|
||||||
|
|
||||||
|
priv->driver = GLX_DRIVER_WINDOWS;
|
||||||
|
|
||||||
return &psc->base;
|
return &psc->base;
|
||||||
|
|
||||||
handle_error:
|
handle_error:
|
||||||
@@ -536,28 +534,3 @@ handle_error:
|
|||||||
|
|
||||||
return NULL;
|
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;
|
|
||||||
}
|
|
||||||
|
@@ -566,6 +566,8 @@ struct glx_display
|
|||||||
{
|
{
|
||||||
struct glx_display *next;
|
struct glx_display *next;
|
||||||
|
|
||||||
|
enum glx_driver driver;
|
||||||
|
|
||||||
/* The extension protocol codes */
|
/* The extension protocol codes */
|
||||||
XExtCodes codes;
|
XExtCodes codes;
|
||||||
|
|
||||||
@@ -602,13 +604,6 @@ struct glx_display
|
|||||||
struct set *zombieGLXDrawable;
|
struct set *zombieGLXDrawable;
|
||||||
|
|
||||||
__glxHashTable *dri2Hash;
|
__glxHashTable *dri2Hash;
|
||||||
|
|
||||||
/**
|
|
||||||
* Per display direct rendering interface functions and data.
|
|
||||||
*/
|
|
||||||
__GLXDRIdisplay *driswDisplay;
|
|
||||||
__GLXDRIdisplay *dri2Display;
|
|
||||||
__GLXDRIdisplay *dri3Display;
|
|
||||||
bool has_multibuffer;
|
bool has_multibuffer;
|
||||||
#endif
|
#endif
|
||||||
#ifdef GLX_USE_WINDOWSGL
|
#ifdef GLX_USE_WINDOWSGL
|
||||||
|
@@ -286,29 +286,6 @@ glx_display_free(struct glx_display *priv)
|
|||||||
if (priv->dri2Hash)
|
if (priv->dri2Hash)
|
||||||
__glxHashDestroy(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 */
|
#endif /* GLX_DIRECT_RENDERING && !GLX_USE_APPLEGL */
|
||||||
|
|
||||||
free((char *) priv);
|
free((char *) priv);
|
||||||
@@ -792,13 +769,11 @@ AllocAndFetchScreenConfigs(Display * dpy, struct glx_display * priv, enum glx_dr
|
|||||||
#if defined(GLX_USE_DRM)
|
#if defined(GLX_USE_DRM)
|
||||||
#if defined(HAVE_DRI3)
|
#if defined(HAVE_DRI3)
|
||||||
if (glx_driver & GLX_DRIVER_DRI3) {
|
if (glx_driver & GLX_DRIVER_DRI3) {
|
||||||
priv->dri3Display = dri3_create_display(dpy);
|
|
||||||
psc = dri3_create_screen(i, priv, driver_name_is_inferred);
|
psc = dri3_create_screen(i, priv, driver_name_is_inferred);
|
||||||
}
|
}
|
||||||
#endif /* HAVE_DRI3 */
|
#endif /* HAVE_DRI3 */
|
||||||
#if defined(HAVE_X11_DRI2)
|
#if defined(HAVE_X11_DRI2)
|
||||||
if (psc == NULL && glx_driver & GLX_DRIVER_DRI2 && dri2CheckSupport(dpy)) {
|
if (psc == NULL && glx_driver & GLX_DRIVER_DRI2 && dri2CheckSupport(dpy)) {
|
||||||
priv->dri2Display = dri2CreateDisplay(dpy);
|
|
||||||
psc = dri2CreateScreen(i, priv, driver_name_is_inferred);
|
psc = dri2CreateScreen(i, priv, driver_name_is_inferred);
|
||||||
if (psc)
|
if (psc)
|
||||||
priv->dri2Hash = __glxHashCreate();
|
priv->dri2Hash = __glxHashCreate();
|
||||||
@@ -808,7 +783,6 @@ AllocAndFetchScreenConfigs(Display * dpy, struct glx_display * priv, enum glx_dr
|
|||||||
|
|
||||||
#ifdef GLX_USE_WINDOWSGL
|
#ifdef GLX_USE_WINDOWSGL
|
||||||
if (psc == NULL && glx_driver & GLX_DRIVER_WINDOWS) {
|
if (psc == NULL && glx_driver & GLX_DRIVER_WINDOWS) {
|
||||||
priv->windowsdriDisplay = driwindowsCreateDisplay(dpy);
|
|
||||||
psc = driwindowsCreateScreen(i, priv, driver_name_is_inferred);
|
psc = driwindowsCreateScreen(i, priv, driver_name_is_inferred);
|
||||||
}
|
}
|
||||||
#endif
|
#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 defined(GLX_DIRECT_RENDERING) && (!defined(GLX_USE_APPLEGL) || defined(GLX_USE_APPLE))
|
||||||
if ((psc == GLX_LOADER_USE_ZINK || psc == NULL) &&
|
if ((psc == GLX_LOADER_USE_ZINK || psc == NULL) &&
|
||||||
(glx_driver & GLX_DRIVER_SW || zink)) {
|
(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);
|
psc = driswCreateScreen(i, priv, glx_driver, psc == GLX_LOADER_USE_ZINK ? false : driver_name_is_inferred);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -969,7 +942,6 @@ __glXInitialize(Display * dpy)
|
|||||||
Bool fail = True;
|
Bool fail = True;
|
||||||
#if defined(GLX_DIRECT_RENDERING) && (!defined(GLX_USE_APPLEGL) || defined(GLX_USE_APPLE))
|
#if defined(GLX_DIRECT_RENDERING) && (!defined(GLX_USE_APPLEGL) || defined(GLX_USE_APPLE))
|
||||||
if (glx_driver & GLX_DRIVER_ZINK_INFER) {
|
if (glx_driver & GLX_DRIVER_ZINK_INFER) {
|
||||||
driswDestroyDisplay(dpyPriv->driswDisplay);
|
|
||||||
fail = !AllocAndFetchScreenConfigs(dpy, dpyPriv, GLX_DRIVER_SW, true);
|
fail = !AllocAndFetchScreenConfigs(dpy, dpyPriv, GLX_DRIVER_SW, true);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user