monitoring the contents of the screen -- bug#14648
Owen Taylor
otaylor at redhat.com
Fri Sep 12 14:12:55 PDT 2008
On Fri, 2008-09-12 at 13:58 -0700, Keith Packard wrote:
> On Fri, 2008-09-12 at 16:03 -0400, Owen Taylor wrote:
> > Without having full replay to the contents of
> > Keith's head when the spec was being written, we'll probably never know
> > for certain why its there.
>
> For reporting modes which don't include the whole region, there's no way
> to know what the result of subtracting a particular region will be. So,
> if you 'collect' a bunch of damage, then repair that, the client won't
> be able to know what damage remains without having something sent to it.
Case by case:
DamageReportRawRectangles
DamageReportDeltaRectangles:
What's in the damage region and you don't already have yet is "in
flight" between the server and you.
DamageReportBoundingBox
If the damage region is larger than the last bounding box you
received, then a new bounding box is in flight. (The region may
be larger than the region that triggered the bounding box that
you received, but that doesn't matter.)
DamageReportNonEmpty
You don't know the damage region, so using the 'repair' version of
DamageSubtract doesn't make sense.
It seems very plausible on the surface that it's to prevent a race
condition of this type, but I can't find any race conditions that it
actually solves :-)
- Owen
More information about the xorg
mailing list