[PATCH 2/2] fb: Adjust transform or composite coordinates for pixman operations

Keith Packard keithp at keithp.com
Wed Dec 2 16:25:35 PST 2009


Sorry for replying to myself again -- I meant to describe the effect of
this patch on source operands.

What this does is use the entire pixmap as the source operand and then
adjust either the source transform (if present) or source coordinates to
fetch pixels from the right part of that pixmap.

So, this gets the right pixels for source coordinates within the source
window. What it doesn't do is get the right pixels for anything
else. None of the repeat modes work, and pixels falling outside of the
window, but inside the pixmap will get whatever was in the pixmap at
that location.

To make the repeat modes work, we'd need to provide a rectangle
describing the projection of the window into the pixman_image, then
replace all of the existing pixman_image-based clipping with clipping
based on the window. This can be done in a backwards compatible
fashion by setting the clipping to the bounds of the pixman_image by
default and exposing a new API for source clipping.

We could also make source clipping work by performing point-in-region
computations for every source pixel fetch; one suspects that might be a
bit too expensive for most applications though.

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-devel/attachments/20091202/8b6866fd/attachment.pgp 


More information about the xorg-devel mailing list