xf86CrtcDamageShadow ?

Thomas Hellström thomas at tungstengraphics.com
Tue Apr 10 10:09:21 PDT 2007


I have a couple of questions related to the xf86CrtcDamageShadow function:

The current version may damage regions which is not part of the framebuffer.
For example, if a rotated (90) buffer has dimensions 1024x768, and the 
unrotated framebuffer has the
same dimensions, xf86CrtcDamageShadow will call DamageDamageRegion with 
a 768x1024 region, which is larger than the
original 1074x768 pixmap.
In the Exa accelerated case, ExaComposite will be called with source x 
and y coordinates, that after transformation
will end up outside the original buffer. So the questions are:

1) Is this intentional?
2) In that case, is the driver supposed to detect that the composite 
coordinates is outside the src pixmap,  and adjust accordingly?
3) If 2) holds, when switching rotation from, say 90 to 270 the rotated 
buffer will be reused, and parts of it will not be cleared.

Attached is a patch that illustrates how it could be done if the source 
pixmap dimensions are taken into account, but with this patch, parts of 
the rotated buffer needs to be cleared when switching rotation.

Any help would be appreciated.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-Only-damage-what-s-part-of-the-original-screen-pixmap.txt
URL: <http://lists.x.org/archives/xorg/attachments/20070410/bcee02a8/attachment.txt>

More information about the xorg mailing list