mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 10:18:05 +02:00
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.
This commit is contained in:
parent
0bba0e5be7
commit
2d5ea175f7
3 changed files with 6 additions and 9 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue