Adam Jackson <[email protected]> writes:

> I swear this has come up before, but I have no idea why this isn't
> implemented.  This basically makes the raw mode unusable since you can
> never subtract damage, your only recourse is to destroy the old damage
> and make a new one as the old one saturates in area.  I can't see a good
> reason to leave it broken.

We report the new rectangles arriving, regardless:

    case DamageReportRawRegion:
        RegionUnion(&pDamage->damage, &pDamage->damage, pDamageRegion);
        (*pDamage->damageReport) (pDamage, pDamageRegion, pDamage->closure);

The question I have is why we're bothering to track pDamage->damage for
RawRegion.  It was introduced in:

commit 454cb0802eec3c2c2cdbcc17971bced868462b83
Author: Maarten Maathuis <[email protected]>
Date:   Fri Aug 29 22:28:02 2008 +0200

    damage: DamageReportRawRegion should set pDamage->damage
    
    - I found no evidence in the protocol, that it should be differently from 
all the other modes.
    - It seems to have been like this from day 1.
    - If anyone has evidence to the contrary, please enlighten me.

but I don't see any reason for it.

The point of RawRectangles is that you don't need to do any subtraction
stuff because the client is just processing the rects as they come in.
I think we should clarify the spec that Subtract is pointless for
RawRectangles.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to