diff options
Diffstat (limited to 'meta/packages/xorg-xserver/xserver-xf86-dri-lite/xserver-DRI2Swapbuffer.patch')
-rw-r--r-- | meta/packages/xorg-xserver/xserver-xf86-dri-lite/xserver-DRI2Swapbuffer.patch | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xserver-DRI2Swapbuffer.patch b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xserver-DRI2Swapbuffer.patch deleted file mode 100644 index 2754170d2..000000000 --- a/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xserver-DRI2Swapbuffer.patch +++ /dev/null @@ -1,179 +0,0 @@ -diff --git a/glx/glxdri2.c b/glx/glxdri2.c -index 146ea82..3b5338b 100644 ---- a/glx/glxdri2.c -+++ b/glx/glxdri2.c -@@ -70,6 +70,7 @@ struct __GLXDRIscreen { - - const __DRIcoreExtension *core; - const __DRIdri2Extension *dri2; -+ const __DRI2flushExtension *flush; - const __DRIcopySubBufferExtension *copySubBuffer; - const __DRIswapControlExtension *swapControl; - const __DRItexBufferExtension *texBuffer; -@@ -135,10 +136,14 @@ __glXDRIdrawableCopySubBuffer(__GLXdrawable *drawable, - static GLboolean - __glXDRIdrawableSwapBuffers(__GLXdrawable *drawable) - { -- __GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable; -+ __GLXDRIdrawable *priv = (__GLXDRIdrawable *) drawable; -+ __GLXDRIscreen *screen = priv->screen; -+ -+ if (!DRI2SwapBuffers(drawable->pDraw)) -+ return FALSE; - -- __glXDRIdrawableCopySubBuffer(drawable, 0, 0, -- private->width, private->height); -+ if (screen->flush->flushInvalidate) -+ (*screen->flush->flushInvalidate)(priv->driDrawable); - - return TRUE; - } -diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c -index 580383d..23e6467 100644 ---- a/hw/xfree86/dri2/dri2.c -+++ b/hw/xfree86/dri2/dri2.c -@@ -70,6 +70,7 @@ typedef struct _DRI2Screen { - DRI2CreateBufferProcPtr CreateBuffer; - DRI2DestroyBufferProcPtr DestroyBuffer; - DRI2CopyRegionProcPtr CopyRegion; -+ DRI2SwapBuffersProcPtr SwapBuffers; - - HandleExposuresProcPtr HandleExposures; - } DRI2ScreenRec, *DRI2ScreenPtr; -@@ -422,6 +423,49 @@ DRI2CopyRegion(DrawablePtr pDraw, RegionPtr pRegion, - return Success; - } - -+Bool -+DRI2SwapBuffers(DrawablePtr pDraw) -+{ -+ DRI2ScreenPtr ds = DRI2GetScreen(pDraw->pScreen); -+ DRI2DrawablePtr pPriv; -+ DRI2BufferPtr pDestBuffer, pSrcBuffer; -+ int i; -+ -+ pPriv = DRI2GetDrawable(pDraw); -+ if (pPriv == NULL) -+ return FALSE; -+ -+ pDestBuffer = NULL; -+ pSrcBuffer = NULL; -+ for (i = 0; i < pPriv->bufferCount; i++) -+ { -+ if (pPriv->buffers[i]->attachment == DRI2BufferFrontLeft) -+ pDestBuffer = (DRI2BufferPtr) pPriv->buffers[i]; -+ if (pPriv->buffers[i]->attachment == DRI2BufferBackLeft) -+ pSrcBuffer = (DRI2BufferPtr) pPriv->buffers[i]; -+ } -+ if (pSrcBuffer == NULL || pDestBuffer == NULL) -+ return FALSE; -+ -+ if (ds->SwapBuffers) { -+ if ((*ds->SwapBuffers)(pDraw, pDestBuffer, pSrcBuffer)) -+ return TRUE; -+ } -+ -+ BoxRec box; -+ RegionRec region; -+ -+ box.x1 = 0; -+ box.y1 = 0; -+ box.x2 = pDraw->width; -+ box.y2 = pDraw->height; -+ REGION_INIT(drawable->pDraw->pScreen, ®ion, &box, 0); -+ if (DRI2CopyRegion(pDraw, ®ion, DRI2BufferFrontLeft, DRI2BufferBackLeft) != Success) -+ return FALSE; -+ -+ return TRUE; -+} -+ - void - DRI2DestroyDrawable(DrawablePtr pDraw) - { -@@ -538,6 +582,9 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info) - } - ds->CopyRegion = info->CopyRegion; - -+ if (info->version >= 3) -+ ds->SwapBuffers = info->SwapBuffers; -+ - dixSetPrivate(&pScreen->devPrivates, dri2ScreenPrivateKey, ds); - - xf86DrvMsg(pScreen->myNum, X_INFO, "[DRI2] Setup complete\n"); -diff --git a/hw/xfree86/dri2/dri2.h b/hw/xfree86/dri2/dri2.h -index f369267..e2784dd 100644 ---- a/hw/xfree86/dri2/dri2.h -+++ b/hw/xfree86/dri2/dri2.h -@@ -67,6 +67,10 @@ typedef void (*DRI2CopyRegionProcPtr)(DrawablePtr pDraw, - DRI2BufferPtr pDestBuffer, - DRI2BufferPtr pSrcBuffer); - -+typedef Bool (*DRI2SwapBuffersProcPtr)(DrawablePtr pDraw, -+ DRI2BufferPtr pFrontBuffer, -+ DRI2BufferPtr pBackBuffer); -+ - typedef void (*DRI2WaitProcPtr)(WindowPtr pWin, - unsigned int sequence); - -@@ -90,6 +94,7 @@ typedef struct { - DRI2CreateBuffersProcPtr CreateBuffers; - DRI2DestroyBuffersProcPtr DestroyBuffers; - DRI2CopyRegionProcPtr CopyRegion; -+ DRI2SwapBuffersProcPtr SwapBuffers; - DRI2WaitProcPtr Wait; - - /** -@@ -153,4 +158,6 @@ extern _X_EXPORT DRI2Buffer2Ptr *DRI2GetBuffersWithFormat(DrawablePtr pDraw, - int *width, int *height, unsigned int *attachments, int count, - int *out_count); - -+extern _X_EXPORT Bool DRI2SwapBuffers(DrawablePtr pDraw); -+ - #endif -diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c -index 3c06174..67b419b 100644 ---- a/hw/xfree86/dri2/dri2ext.c -+++ b/hw/xfree86/dri2/dri2ext.c -@@ -81,7 +81,7 @@ ProcDRI2QueryVersion(ClientPtr client) - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.majorVersion = 1; -- rep.minorVersion = 1; -+ rep.minorVersion = 2; - - if (client->swapped) { - swaps(&rep.sequenceNumber, n); -@@ -323,6 +323,24 @@ ProcDRI2CopyRegion(ClientPtr client) - } - - static int -+ProcDRI2SwapBuffers(ClientPtr client) -+{ -+ REQUEST(xDRI2SwapBuffersReq); -+ DrawablePtr pDrawable; -+ int status; -+ -+ REQUEST_SIZE_MATCH(xDRI2SwapBuffersReq); -+ -+ if (!validDrawable(client, stuff->drawable, &pDrawable, &status)) -+ return status; -+ -+ if (!DRI2SwapBuffers(pDrawable)) -+ return BadAlloc; -+ -+ return client->noClientException; -+} -+ -+static int - ProcDRI2Dispatch (ClientPtr client) - { - REQUEST(xReq); -@@ -350,6 +368,8 @@ ProcDRI2Dispatch (ClientPtr client) - return ProcDRI2CopyRegion(client); - case X_DRI2GetBuffersWithFormat: - return ProcDRI2GetBuffersWithFormat(client); -+ case X_DRI2SwapBuffers: -+ return ProcDRI2SwapBuffers(client); - default: - return BadRequest; - } |