summaryrefslogtreecommitdiff
path: root/src/egl
diff options
context:
space:
mode:
authorDave Airlie <airliedfreedesktop.org>2005-12-30 10:12:26 +0000
committerDave Airlie <airliedfreedesktop.org>2005-12-30 10:12:26 +0000
commitfb83a42d31d7d720a1e9d3bc809086f304e49a3c (patch)
tree4dab33c33634c6f2e35262beb1a404368fd4f6b5 /src/egl
parent456a513daa2165b1cc04ef06939384f964d13628 (diff)
fixup stamp so driver updates drawable info
Diffstat (limited to 'src/egl')
-rw-r--r--src/egl/drivers/dri/egldri.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/egl/drivers/dri/egldri.c b/src/egl/drivers/dri/egldri.c
index 504fa9f43d..cab0be2bd1 100644
--- a/src/egl/drivers/dri/egldri.c
+++ b/src/egl/drivers/dri/egldri.c
@@ -713,17 +713,32 @@ __eglGetDrawableInfo(__DRInativeDisplay * ndpy, int screen, __DRIid drawable,
int* backX, int* backY,
int* numBackClipRects, drm_clip_rect_t ** pBackClipRects )
{
+ __DRIscreen *pDRIScreen;
+ __DRIscreenPrivate *psp;
driSurface *surf = Lookup_driSurface(drawable);
+ pDRIScreen = __eglFindDRIScreen(ndpy, screen);
+
+ if ( (pDRIScreen == NULL) || (pDRIScreen->private == NULL) ) {
+ return GL_FALSE;
+ }
+ psp = (__DRIscreenPrivate *) pDRIScreen->private;
*X = 0;
*Y = 0;
*W = surf->Base.Width;
*H = surf->Base.Height;
+ *backX = 0;
+ *backY = 0;
+ *numBackClipRects = 0;
+ *pBackClipRects = NULL;
+
*numClipRects = 1;
*pClipRects = malloc(sizeof(**pClipRects));
**pClipRects = (drm_clip_rect_t){0, 0, surf->Base.Width, surf->Base.Height};
+ psp->pSAREA->drawableTable[0].stamp = 1;
+ *stamp = 1;
#if 0
GLXDrawable drawable = (GLXDrawable) draw;
drm_clip_rect_t * cliprect;