From fb83a42d31d7d720a1e9d3bc809086f304e49a3c Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 30 Dec 2005 10:12:26 +0000 Subject: fixup stamp so driver updates drawable info --- src/egl/drivers/dri/egldri.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/egl') 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; -- cgit v1.2.3