diff options
author | Kristian Høgsberg <[email protected]> | 2011-10-28 16:22:03 -0400 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2011-11-02 11:16:02 -0400 |
commit | e9beaf65fdaf82a7845cbe176f353ddb6b8466c7 (patch) | |
tree | 7f970e545f8140bcf7efedfff550d647eab5b92d /src/mesa/drivers | |
parent | e8ed01f6930bd4e11ee453164597403a7284a1f8 (diff) |
dri: Remove unnecessary timestamp pointer indirection
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/common/dri_util.c | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/common/dri_util.h | 11 | ||||
-rw-r--r-- | src/mesa/drivers/dri/nouveau/nouveau_context.c | 8 |
3 files changed, 9 insertions, 14 deletions
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 @@ -160,15 +160,9 @@ 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); } |