[PATCH] glx: Remove swap barrier and hyperpipe support
Mario Kleiner
mario.kleiner at tuebingen.mpg.de
Mon Nov 22 14:16:18 PST 2010
On 11/19/2010 07:52 PM, Adam Jackson wrote:
> Never implemented in any open source driver. The implementation
> assumed explicit DDX driver knowledge of how the client-side driver
> worked, since at the time the server's GL renderer was not a DRI driver.
> But now, it is, so any implementation of these should be done with
> additional DRI driver API, like the swap control extension.
I assume this is only about removing the current unused implementation,
not about removing support completely from the xserver, right?
At some point i'd like to implement some dri2 support for at least swap
groups and possibly swap barriers. With multi-head cards like the amd
eyefinity stuff (6 crtc's) we will need swap groups et al. to make good
use of so many heads.
As the x-server's dri2/ddx part is responsible for swap scheduling in
dri2, i assume there will be some need for interaction between the
client and server. I was hoping to tinker with this stuff within maybe a
year or so.
thanks,
-mario
>
> Signed-off-by: Adam Jackson<ajax at redhat.com>
> ---
> glx/Makefile.am | 1 -
> glx/g_disptab.h | 52 ----------
> glx/glxcmds.c | 233 ----------------------------------------------
> glx/glxcmdsswap.c | 1 -
> glx/glxdri.c | 1 -
> glx/glxdri2.c | 1 -
> glx/glxdriswrast.c | 1 -
> glx/glxext.c | 19 +----
> glx/glxscreens.c | 27 ------
> glx/glxscreens.h | 18 ----
> glx/indirect_table.c | 1 -
> glx/xfont.c | 1 -
> hw/xquartz/GL/indirect.c | 2 -
> hw/xwin/glx/indirect.c | 2 -
> 14 files changed, 1 insertions(+), 359 deletions(-)
> delete mode 100644 glx/g_disptab.h
>
> diff --git a/glx/Makefile.am b/glx/Makefile.am
> index 9d9fa3c..d708872 100644
> --- a/glx/Makefile.am
> +++ b/glx/Makefile.am
> @@ -68,7 +68,6 @@ libglx_la_SOURCES = \
> indirect_program.c \
> indirect_table.h \
> indirect_texture_compression.c \
> - g_disptab.h \
> glxbyteorder.h \
> glxcmds.c \
> glxcmdsswap.c \
> diff --git a/glx/g_disptab.h b/glx/g_disptab.h
> deleted file mode 100644
> index 9b4308b..0000000
> --- a/glx/g_disptab.h
> +++ /dev/null
> @@ -1,52 +0,0 @@
> -/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
> -#ifdef HAVE_DIX_CONFIG_H
> -#include<dix-config.h>
> -#endif
> -
> -#ifndef _GLX_g_disptab_h_
> -#define _GLX_g_disptab_h_
> -/*
> - * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
> - * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the "Software"),
> - * to deal in the Software without restriction, including without limitation
> - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice including the dates of first publication and
> - * either this permission notice or a reference to
> - * http://oss.sgi.com/projects/FreeB/
> - * shall be included in all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
> - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> - * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
> - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> - * SOFTWARE.
> - *
> - * Except as contained in this notice, the name of Silicon Graphics, Inc.
> - * shall not be used in advertising or otherwise to promote the sale, use or
> - * other dealings in this Software without prior written authorization from
> - * Silicon Graphics, Inc.
> - */
> -
> -extern int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
> -extern int __glXDisp_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc);
> -extern int __glXDisp_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc);
> -extern int __glXDisp_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc);
> -extern int __glXDisp_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
> -extern int __glXDisp_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
> -
> -extern int __glXDispSwap_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
> -extern int __glXDispSwap_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc);
> -extern int __glXDispSwap_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc);
> -extern int __glXDispSwap_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc);
> -extern int __glXDispSwap_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
> -extern int __glXDispSwap_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
> -
> -#endif /* _GLX_g_disptab_h_ */
> diff --git a/glx/glxcmds.c b/glx/glxcmds.c
> index 8d13c15..de9c3f0 100644
> --- a/glx/glxcmds.c
> +++ b/glx/glxcmds.c
> @@ -38,7 +38,6 @@
> #include "glxserver.h"
> #include<GL/glxtokens.h>
> #include<unpack.h>
> -#include "g_disptab.h"
> #include<pixmapstr.h>
> #include<windowstr.h>
> #include "glxutil.h"
> @@ -2061,238 +2060,6 @@ int __glXDisp_RenderLarge(__GLXclientState *cl, GLbyte *pc)
> }
> }
>
> -extern RESTYPE __glXSwapBarrierRes;
> -
> -int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc)
> -{
> - ClientPtr client = cl->client;
> - xGLXBindSwapBarrierSGIXReq *req = (xGLXBindSwapBarrierSGIXReq *) pc;
> - XID drawable = req->drawable;
> - int barrier = req->barrier;
> - DrawablePtr pDraw;
> - int screen, rc;
> - __GLXscreen *pGlxScreen;
> -
> - rc = dixLookupDrawable(&pDraw, drawable, client, 0, DixGetAttrAccess);
> - pGlxScreen = glxGetScreen(pDraw->pScreen);
> - if (rc == Success&& (pDraw->type == DRAWABLE_WINDOW)) {
> - screen = pDraw->pScreen->myNum;
> - if (pGlxScreen->swapBarrierFuncs) {
> - int ret = pGlxScreen->swapBarrierFuncs->bindSwapBarrierFunc(screen, drawable, barrier);
> - if (ret == Success) {
> - if (barrier)
> - /* add source for cleanup when drawable is gone */
> - AddResource(drawable, __glXSwapBarrierRes, (pointer)(intptr_t)screen);
> - else
> - /* delete source */
> - FreeResourceByType(drawable, __glXSwapBarrierRes, FALSE);
> - }
> - return ret;
> - }
> - }
> - client->errorValue = drawable;
> - return __glXError(GLXBadDrawable);
> -}
> -
> -
> -int __glXDisp_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc)
> -{
> - ClientPtr client = cl->client;
> - xGLXQueryMaxSwapBarriersSGIXReq *req =
> - (xGLXQueryMaxSwapBarriersSGIXReq *) pc;
> - xGLXQueryMaxSwapBarriersSGIXReply reply;
> - int screen = req->screen;
> - __GLXscreen *pGlxScreen;
> -
> - pGlxScreen = glxGetScreen(screenInfo.screens[screen]);
> - if (pGlxScreen->swapBarrierFuncs)
> - reply.max = pGlxScreen->swapBarrierFuncs->queryMaxSwapBarriersFunc(screen);
> - else
> - reply.max = 0;
> -
> -
> - reply.length = 0;
> - reply.type = X_Reply;
> - reply.sequenceNumber = client->sequence;
> -
> - if (client->swapped) {
> - __GLX_DECLARE_SWAP_VARIABLES;
> - __GLX_SWAP_SHORT(&reply.sequenceNumber);
> - }
> -
> - WriteToClient(client, sz_xGLXQueryMaxSwapBarriersSGIXReply,
> - (char *)&reply);
> - return Success;
> -}
> -
> -#define GLX_BAD_HYPERPIPE_SGIX 92
> -
> -int __glXDisp_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc)
> -{
> - ClientPtr client = cl->client;
> - xGLXQueryHyperpipeNetworkSGIXReq * req = (xGLXQueryHyperpipeNetworkSGIXReq *) pc;
> - xGLXQueryHyperpipeNetworkSGIXReply reply;
> - int screen = req->screen;
> - void *rdata = NULL;
> -
> - int length=0;
> - int npipes=0;
> -
> - int n= 0;
> - __GLXscreen *pGlxScreen;
> -
> - pGlxScreen = glxGetScreen(screenInfo.screens[screen]);
> - if (pGlxScreen->hyperpipeFuncs) {
> - rdata =
> - (pGlxScreen->hyperpipeFuncs->queryHyperpipeNetworkFunc(screen,&npipes,&n));
> - }
> - length = __GLX_PAD(n)>> 2;
> - reply.type = X_Reply;
> - reply.sequenceNumber = client->sequence;
> - reply.length = length;
> - reply.n = n;
> - reply.npipes = npipes;
> -
> - if (client->swapped) {
> - __GLX_DECLARE_SWAP_VARIABLES;
> - __GLX_SWAP_SHORT(&reply.sequenceNumber);
> - __GLX_SWAP_INT(&reply.length);
> - __GLX_SWAP_INT(&reply.n);
> - __GLX_SWAP_INT(&reply.npipes);
> - }
> - WriteToClient(client, sz_xGLXQueryHyperpipeNetworkSGIXReply,
> - (char *)&reply);
> -
> - WriteToClient(client, length<< 2, (char *)rdata);
> -
> - return Success;
> -}
> -
> -int __glXDisp_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc)
> -{
> - ClientPtr client = cl->client;
> - xGLXDestroyHyperpipeConfigSGIXReq * req =
> - (xGLXDestroyHyperpipeConfigSGIXReq *) pc;
> - xGLXDestroyHyperpipeConfigSGIXReply reply;
> - int screen = req->screen;
> - int success = GLX_BAD_HYPERPIPE_SGIX;
> - int hpId ;
> - __GLXscreen *pGlxScreen;
> -
> - hpId = req->hpId;
> -
> - pGlxScreen = glxGetScreen(screenInfo.screens[screen]);
> - if (pGlxScreen->hyperpipeFuncs) {
> - success = pGlxScreen->hyperpipeFuncs->destroyHyperpipeConfigFunc(screen, hpId);
> - }
> -
> - reply.type = X_Reply;
> - reply.sequenceNumber = client->sequence;
> - reply.length = __GLX_PAD(0)>> 2;
> - reply.n = 0;
> - reply.success = success;
> -
> -
> - if (client->swapped) {
> - __GLX_DECLARE_SWAP_VARIABLES;
> - __GLX_SWAP_SHORT(&reply.sequenceNumber);
> - }
> - WriteToClient(client,
> - sz_xGLXDestroyHyperpipeConfigSGIXReply,
> - (char *)&reply);
> - return Success;
> -}
> -
> -int __glXDisp_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc)
> -{
> - ClientPtr client = cl->client;
> - xGLXQueryHyperpipeConfigSGIXReq * req =
> - (xGLXQueryHyperpipeConfigSGIXReq *) pc;
> - xGLXQueryHyperpipeConfigSGIXReply reply;
> - int screen = req->screen;
> - void *rdata = NULL;
> - int length;
> - int npipes=0;
> - int n= 0;
> - int hpId;
> - __GLXscreen *pGlxScreen;
> -
> - hpId = req->hpId;
> -
> - pGlxScreen = glxGetScreen(screenInfo.screens[screen]);
> - if (pGlxScreen->hyperpipeFuncs) {
> - rdata = pGlxScreen->hyperpipeFuncs->queryHyperpipeConfigFunc(screen, hpId,&npipes,&n);
> - }
> -
> - length = __GLX_PAD(n)>> 2;
> - reply.type = X_Reply;
> - reply.sequenceNumber = client->sequence;
> - reply.length = length;
> - reply.n = n;
> - reply.npipes = npipes;
> -
> -
> - if (client->swapped) {
> - __GLX_DECLARE_SWAP_VARIABLES;
> - __GLX_SWAP_SHORT(&reply.sequenceNumber);
> - __GLX_SWAP_INT(&reply.length);
> - __GLX_SWAP_INT(&reply.n);
> - __GLX_SWAP_INT(&reply.npipes);
> - }
> -
> - WriteToClient(client, sz_xGLXQueryHyperpipeConfigSGIXReply,
> - (char *)&reply);
> -
> - WriteToClient(client, length<< 2, (char *)rdata);
> -
> - return Success;
> -}
> -
> -int __glXDisp_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc)
> -{
> - ClientPtr client = cl->client;
> - xGLXHyperpipeConfigSGIXReq * req =
> - (xGLXHyperpipeConfigSGIXReq *) pc;
> - xGLXHyperpipeConfigSGIXReply reply;
> - int screen = req->screen;
> - void *rdata;
> -
> - int npipes=0, networkId;
> - int hpId=-1;
> - __GLXscreen *pGlxScreen;
> -
> - pGlxScreen = glxGetScreen(screenInfo.screens[screen]);
> - networkId = (int)req->networkId;
> - npipes = (int)req->npipes;
> - rdata = (void *)(req +1);
> -
> - if (pGlxScreen->hyperpipeFuncs) {
> - pGlxScreen->hyperpipeFuncs->hyperpipeConfigFunc(screen,networkId,
> -&hpId,&npipes,
> - (void *) rdata);
> - }
> -
> - reply.type = X_Reply;
> - reply.sequenceNumber = client->sequence;
> - reply.length = __GLX_PAD(0)>> 2;
> - reply.n = 0;
> - reply.npipes = npipes;
> - reply.hpId = hpId;
> -
> - if (client->swapped) {
> - __GLX_DECLARE_SWAP_VARIABLES;
> - __GLX_SWAP_SHORT(&reply.sequenceNumber);
> - __GLX_SWAP_INT(&reply.npipes);
> - __GLX_SWAP_INT(&reply.hpId);
> - }
> -
> - WriteToClient(client, sz_xGLXHyperpipeConfigSGIXReply,
> - (char *)&reply);
> -
> - return Success;
> -}
> -
> -
> /************************************************************************/
>
> /*
> diff --git a/glx/glxcmdsswap.c b/glx/glxcmdsswap.c
> index c414dc8..ce4d69a 100644
> --- a/glx/glxcmdsswap.c
> +++ b/glx/glxcmdsswap.c
> @@ -37,7 +37,6 @@
> #include "glxutil.h"
> #include<GL/glxtokens.h>
> #include<unpack.h>
> -#include "g_disptab.h"
> #include<pixmapstr.h>
> #include<windowstr.h>
> #include "glxext.h"
> diff --git a/glx/glxdri.c b/glx/glxdri.c
> index 41482c9..64ebe0a 100644
> --- a/glx/glxdri.c
> +++ b/glx/glxdri.c
> @@ -56,7 +56,6 @@
> #include "glxutil.h"
> #include "glxdricommon.h"
>
> -#include "g_disptab.h"
> #include "glapitable.h"
> #include "glapi.h"
> #include "glthread.h"
> diff --git a/glx/glxdri2.c b/glx/glxdri2.c
> index c2305ad..ad1d31d 100644
> --- a/glx/glxdri2.c
> +++ b/glx/glxdri2.c
> @@ -48,7 +48,6 @@
> #include "glxutil.h"
> #include "glxdricommon.h"
>
> -#include "g_disptab.h"
> #include "glapitable.h"
> #include "glapi.h"
> #include "glthread.h"
> diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c
> index dc12f57..08ea338 100644
> --- a/glx/glxdriswrast.c
> +++ b/glx/glxdriswrast.c
> @@ -48,7 +48,6 @@
> #include "glxutil.h"
> #include "glxdricommon.h"
>
> -#include "g_disptab.h"
> #include "glapitable.h"
> #include "glapi.h"
> #include "glthread.h"
> diff --git a/glx/glxext.c b/glx/glxext.c
> index f5ebe4f..4bd5d6b 100644
> --- a/glx/glxext.c
> +++ b/glx/glxext.c
> @@ -39,7 +39,6 @@
> #include<registry.h>
> #include "privates.h"
> #include<os.h>
> -#include "g_disptab.h"
> #include "unpack.h"
> #include "glxutil.h"
> #include "glxext.h"
> @@ -58,7 +57,6 @@ __GLXcontext *__glXContextList;
> */
> RESTYPE __glXContextRes;
> RESTYPE __glXDrawableRes;
> -RESTYPE __glXSwapBarrierRes;
>
> /*
> ** Reply for most singles.
> @@ -228,19 +226,6 @@ GLboolean __glXFreeContext(__GLXcontext *cx)
> return GL_TRUE;
> }
>
> -extern RESTYPE __glXSwapBarrierRes;
> -
> -static int SwapBarrierGone(int screen, XID drawable)
> -{
> - __GLXscreen *pGlxScreen = glxGetScreen(screenInfo.screens[screen]);
> -
> - if (pGlxScreen->swapBarrierFuncs) {
> - pGlxScreen->swapBarrierFuncs->bindSwapBarrierFunc(screen, drawable, 0);
> - }
> - FreeResourceByType(drawable, __glXSwapBarrierRes, FALSE);
> - return True;
> -}
> -
> /************************************************************************/
>
> /*
> @@ -358,9 +343,7 @@ void GlxExtensionInit(void)
> "GLXContext");
> __glXDrawableRes = CreateNewResourceType((DeleteType)DrawableGone,
> "GLXDrawable");
> - __glXSwapBarrierRes = CreateNewResourceType((DeleteType)SwapBarrierGone,
> - "GLXSwapBarrier");
> - if (!__glXContextRes || !__glXDrawableRes || !__glXSwapBarrierRes)
> + if (!__glXContextRes || !__glXDrawableRes)
> return;
>
> if (!dixRegisterPrivateKey(&glxClientPrivateKeyRec, PRIVATE_CLIENT, sizeof (__GLXclientState)))
> diff --git a/glx/glxscreens.c b/glx/glxscreens.c
> index 8515e14..496cf9e 100644
> --- a/glx/glxscreens.c
> +++ b/glx/glxscreens.c
> @@ -175,8 +175,6 @@ static char GLXServerExtensions[] =
> "GLX_SGI_make_current_read "
> #ifndef __APPLE__
> "GLX_SGIS_multisample "
> - "GLX_SGIX_hyperpipe "
> - "GLX_SGIX_swap_barrier "
> #endif
> "GLX_SGIX_fbconfig "
> "GLX_SGIX_pbuffer "
> @@ -184,31 +182,6 @@ static char GLXServerExtensions[] =
> "GLX_INTEL_swap_event"
> ;
>
> -/*
> - * If your DDX driver wants to register support for swap barriers or hyperpipe
> - * topology, it should call __glXHyperpipeInit() or __glXSwapBarrierInit()
> - * with a dispatch table of functions to handle the requests. In the XFree86
> - * DDX, for example, you would call these near the bottom of the driver's
> - * ScreenInit method, after DRI has been initialized.
> - *
> - * This should be replaced with a better method when we teach the server how
> - * to load DRI drivers.
> - */
> -
> -void __glXHyperpipeInit(int screen, __GLXHyperpipeExtensionFuncs *funcs)
> -{
> - __GLXscreen *pGlxScreen = glxGetScreen(screenInfo.screens[screen]);
> -
> - pGlxScreen->hyperpipeFuncs = funcs;
> -}
> -
> -void __glXSwapBarrierInit(int screen, __GLXSwapBarrierExtensionFuncs *funcs)
> -{
> - __GLXscreen *pGlxScreen = glxGetScreen(screenInfo.screens[screen]);
> -
> - pGlxScreen->swapBarrierFuncs = funcs;
> -}
> -
> static Bool
> glxCloseScreen (int index, ScreenPtr pScreen)
> {
> diff --git a/glx/glxscreens.h b/glx/glxscreens.h
> index 861e03c..93b4109 100644
> --- a/glx/glxscreens.h
> +++ b/glx/glxscreens.h
> @@ -35,21 +35,6 @@
> * Silicon Graphics, Inc.
> */
>
> -typedef struct {
> - void * (* queryHyperpipeNetworkFunc)(int, int *, int *);
> - void * (* queryHyperpipeConfigFunc)(int, int, int *, int *);
> - int (* destroyHyperpipeConfigFunc)(int, int);
> - void * (* hyperpipeConfigFunc)(int, int, int *, int *, void *);
> -} __GLXHyperpipeExtensionFuncs;
> -
> -typedef struct {
> - int (* bindSwapBarrierFunc)(int, XID, int);
> - int (* queryMaxSwapBarriersFunc)(int);
> -} __GLXSwapBarrierExtensionFuncs;
> -
> -void __glXHyperpipeInit(int screen, __GLXHyperpipeExtensionFuncs *funcs);
> -void __glXSwapBarrierInit(int screen, __GLXSwapBarrierExtensionFuncs *funcs);
> -
> typedef struct __GLXconfig __GLXconfig;
> struct __GLXconfig {
> __GLXconfig *next;
> @@ -144,9 +129,6 @@ struct __GLXscreen {
> int (*swapInterval) (__GLXdrawable *drawable,
> int interval);
>
> - __GLXHyperpipeExtensionFuncs *hyperpipeFuncs;
> - __GLXSwapBarrierExtensionFuncs *swapBarrierFuncs;
> -
> ScreenPtr pScreen;
>
> /* Linked list of valid fbconfigs for this screen. */
> diff --git a/glx/indirect_table.c b/glx/indirect_table.c
> index cb32026..01d1da3 100644
> --- a/glx/indirect_table.c
> +++ b/glx/indirect_table.c
> @@ -30,7 +30,6 @@
> #include "glxext.h"
> #include "indirect_dispatch.h"
> #include "indirect_reqsize.h"
> -#include "g_disptab.h"
> #include "indirect_table.h"
>
> /*****************************************************************/
> diff --git a/glx/xfont.c b/glx/xfont.c
> index b4081cf..9943784 100644
> --- a/glx/xfont.c
> +++ b/glx/xfont.c
> @@ -35,7 +35,6 @@
> #include "glxserver.h"
> #include "glxutil.h"
> #include "unpack.h"
> -#include "g_disptab.h"
> #include "glapitable.h"
> #include "glapi.h"
> #include "glthread.h"
> diff --git a/hw/xquartz/GL/indirect.c b/hw/xquartz/GL/indirect.c
> index 58f78fb..bdc7c3d 100644
> --- a/hw/xquartz/GL/indirect.c
> +++ b/hw/xquartz/GL/indirect.c
> @@ -586,8 +586,6 @@ static __GLXscreen * __glXAquaScreenProbe(ScreenPtr pScreen) {
> screen->base.createContext = __glXAquaScreenCreateContext;
> screen->base.createDrawable = __glXAquaScreenCreateDrawable;
> screen->base.swapInterval = /*FIXME*/ NULL;
> - screen->base.hyperpipeFuncs = NULL;
> - screen->base.swapBarrierFuncs = NULL;
> screen->base.pScreen = pScreen;
>
> screen->base.fbconfigs = __glXAquaCreateVisualConfigs(&screen->base.numFBConfigs, pScreen->myNum);
> diff --git a/hw/xwin/glx/indirect.c b/hw/xwin/glx/indirect.c
> index 3891885..baefe04 100644
> --- a/hw/xwin/glx/indirect.c
> +++ b/hw/xwin/glx/indirect.c
> @@ -649,8 +649,6 @@ glxWinScreenProbe(ScreenPtr pScreen)
> screen->base.createContext = glxWinCreateContext;
> screen->base.createDrawable = glxWinCreateDrawable;
> screen->base.swapInterval = glxWinScreenSwapInterval;
> - screen->base.hyperpipeFuncs = NULL;
> - screen->base.swapBarrierFuncs = NULL;
> screen->base.pScreen = pScreen;
>
> if (strstr(wgl_extensions, "WGL_ARB_pixel_format"))
More information about the xorg-devel
mailing list