diff options
author | Dave Airlie <airliedfreedesktop.org> | 2005-12-30 10:12:26 +0000 |
---|---|---|
committer | Dave Airlie <airliedfreedesktop.org> | 2005-12-30 10:12:26 +0000 |
commit | fb83a42d31d7d720a1e9d3bc809086f304e49a3c (patch) | |
tree | 4dab33c33634c6f2e35262beb1a404368fd4f6b5 /src | |
parent | 456a513daa2165b1cc04ef06939384f964d13628 (diff) |
fixup stamp so driver updates drawable info
Diffstat (limited to 'src')
-rw-r--r-- | src/egl/drivers/dri/egldri.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/egl/drivers/dri/egldri.c b/src/egl/drivers/dri/egldri.c index 504fa9f43d0..cab0be2bd18 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; |