summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@sasori.boston.redhat.com>2008-03-09 21:19:17 -0400
committerKristian Høgsberg <krh@sasori.boston.redhat.com>2008-03-09 21:19:17 -0400
commit2d5ea175f7fcd65de71b7589435b9a908f998d51 (patch)
tree0c42cda6e5585e65c78a7848f436b857b2dcb3b2 /src/mesa/drivers/dri
parent0bba0e5be7a4a7275dad1edc34bdcc134ea1f424 (diff)
DRI2: Pass the context instead of the screen to __dri2ParseEvents().
Makes a lot more sense, since the screen is always implicit in the DRI drawable, but it may not be possible to track down a context from just a drawable.
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r--src/mesa/drivers/dri/common/dri_util.c11
-rw-r--r--src/mesa/drivers/dri/common/dri_util.h2
-rw-r--r--src/mesa/drivers/dri/intel/intel_context.c2
3 files changed, 6 insertions, 9 deletions
diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c
index 733cfae165..aa6c31ddb8 100644
--- a/src/mesa/drivers/dri/common/dri_util.c
+++ b/src/mesa/drivers/dri/common/dri_util.c
@@ -193,8 +193,8 @@ static GLboolean driBindContext(__DRIcontext * ctx,
*/
if (psp->dri2.enabled) {
- __driParseEvents(psp, pdp);
- __driParseEvents(psp, prp);
+ __driParseEvents(pcp, pdp);
+ __driParseEvents(pcp, prp);
} else {
if (!pdp->pStamp || *pdp->pStamp != pdp->lastStamp) {
DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID);
@@ -286,17 +286,14 @@ __driUtilUpdateDrawableInfo(__DRIdrawablePrivate *pdp)
}
int
-__driParseEvents(__DRIscreenPrivate *psp, __DRIdrawablePrivate *pdp)
+__driParseEvents(__DRIcontextPrivate *pcp, __DRIdrawablePrivate *pdp)
{
+ __DRIscreenPrivate *psp = pcp->driScreenPriv;
__DRIDrawableConfigEvent *dc, *last_dc;
__DRIBufferAttachEvent *ba, *last_ba;
unsigned int tail, mask, *p, end, total, size, changed;
unsigned char *data;
size_t rect_size;
- __DRIcontextPrivate *pcp = pdp->driContextPriv;
-
- if (pcp == NULL)
- return 0;
/* Check for wraparound. */
if (psp->dri2.buffer->prealloc - pdp->dri2.tail > psp->dri2.buffer->size) {
diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h
index e6659811d7..aaaf242788 100644
--- a/src/mesa/drivers/dri/common/dri_util.h
+++ b/src/mesa/drivers/dri/common/dri_util.h
@@ -559,7 +559,7 @@ extern void
__driUtilUpdateDrawableInfo(__DRIdrawablePrivate *pdp);
extern int
-__driParseEvents(__DRIscreenPrivate *psp, __DRIdrawablePrivate *pdp);
+__driParseEvents(__DRIcontextPrivate *psp, __DRIdrawablePrivate *pdp);
extern float
driCalculateSwapUsage( __DRIdrawablePrivate *dPriv,
diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index cad8277c99..12300e9146 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -864,7 +864,7 @@ intelContendedLock(struct intel_context *intel, GLuint flags)
*/
if (dPriv) {
if (sPriv->dri2.enabled)
- drawable_changed = __driParseEvents(sPriv, dPriv);
+ drawable_changed = __driParseEvents(dPriv->driContextPriv, dPriv);
else
DRI_VALIDATE_DRAWABLE_INFO(sPriv, dPriv);
}