From e9beaf65fdaf82a7845cbe176f353ddb6b8466c7 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Fri, 28 Oct 2011 16:22:03 -0400 Subject: dri: Remove unnecessary timestamp pointer indirection --- src/mesa/drivers/dri/common/dri_util.c | 4 +--- src/mesa/drivers/dri/common/dri_util.h | 11 ++++------- src/mesa/drivers/dri/nouveau/nouveau_context.c | 8 ++++---- 3 files changed, 9 insertions(+), 14 deletions(-) (limited to 'src/mesa/drivers/dri') diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c index aa095d8f282..9deb9972714 100644 --- a/src/mesa/drivers/dri/common/dri_util.c +++ b/src/mesa/drivers/dri/common/dri_util.c @@ -171,7 +171,6 @@ dri2CreateNewDrawable(__DRIscreen *screen, pdraw->driContextPriv = NULL; pdraw->loaderPrivate = loaderPrivate; pdraw->refcount = 1; - pdraw->pStamp = NULL; pdraw->lastStamp = 0; pdraw->w = 0; pdraw->h = 0; @@ -182,8 +181,7 @@ dri2CreateNewDrawable(__DRIscreen *screen, return NULL; } - pdraw->pStamp = &pdraw->dri2.stamp; - *pdraw->pStamp = pdraw->lastStamp + 1; + pdraw->dri2.stamp = pdraw->lastStamp + 1; return pdraw; } diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h index ab11d45dbd9..38394a7fefa 100644 --- a/src/mesa/drivers/dri/common/dri_util.h +++ b/src/mesa/drivers/dri/common/dri_util.h @@ -159,16 +159,10 @@ struct __DRIdrawableRec { */ int refcount; - /** - * Pointer to the "drawable has changed ID" stamp in the SAREA (or - * to dri2.stamp if DRI2 is being used). - */ - unsigned int *pStamp; - /** * Last value of the stamp. * - * If this differs from the value stored at __DRIdrawable::pStamp, + * If this differs from the value stored at __DRIdrawable::dri2.stamp, * then the drawable information has been modified by the X server, and the * drawable information (below) should be retrieved from the X server. */ @@ -186,6 +180,9 @@ struct __DRIdrawableRec { */ __DRIscreen *driScreenPriv; + /** + * Drawable timestamp. Increased when the loader calls invalidate. + */ struct { unsigned int stamp; } dri2; diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c index 65cbc4168e1..2b9507c6a81 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_context.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c @@ -177,9 +177,9 @@ nouveau_update_renderbuffers(__DRIcontext *dri_ctx, __DRIdrawable *draw) __DRIbuffer *buffers = NULL; int i = 0, count, ret; - if (draw->lastStamp == *draw->pStamp) + if (draw->lastStamp == draw->dri2.stamp) return; - draw->lastStamp = *draw->pStamp; + draw->lastStamp = draw->dri2.stamp; if (nfb->need_front) attachments[i++] = __DRI_BUFFER_FRONT_LEFT; @@ -257,7 +257,7 @@ update_framebuffer(__DRIcontext *dri_ctx, __DRIdrawable *draw, struct gl_context *ctx = dri_ctx->driverPrivate; struct gl_framebuffer *fb = draw->driverPrivate; - *stamp = *draw->pStamp; + *stamp = draw->dri2.stamp; nouveau_update_renderbuffers(dri_ctx, draw); _mesa_resize_framebuffer(ctx, fb, draw->w, draw->h); @@ -337,7 +337,7 @@ validate_framebuffer(__DRIcontext *dri_ctx, __DRIdrawable *draw, dri2InvalidateDrawable(draw); } - if (*draw->pStamp != *stamp) + if (draw->dri2.stamp != *stamp) update_framebuffer(dri_ctx, draw, stamp); } -- cgit v1.2.3