mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2025-12-25 23:30:05 +01:00
Fix alpha map computation in miComputeCompositeRegion()
According to the RENDER spec, the origin of the alpha map is interpreted relative to the origin of the drawable of the image, not the origin of drawable of the alpha map. The only use of alpha maps I have been able to find is in Qt and they don't use a non-zero alpha origin.
This commit is contained in:
parent
a2c5ee36b2
commit
a8bd1e1f96
1 changed files with 4 additions and 4 deletions
|
|
@ -459,8 +459,8 @@ miComputeCompositeRegion (RegionPtr pRegion,
|
|||
if (pSrc->alphaMap)
|
||||
{
|
||||
if (!miClipPictureSrc (pRegion, pSrc->alphaMap,
|
||||
xDst - (xSrc + pSrc->alphaOrigin.x),
|
||||
yDst - (ySrc + pSrc->alphaOrigin.y)))
|
||||
xDst - (xSrc - pSrc->alphaOrigin.x),
|
||||
yDst - (ySrc - pSrc->alphaOrigin.y)))
|
||||
{
|
||||
pixman_region_fini (pRegion);
|
||||
return FALSE;
|
||||
|
|
@ -477,8 +477,8 @@ miComputeCompositeRegion (RegionPtr pRegion,
|
|||
if (pMask->alphaMap)
|
||||
{
|
||||
if (!miClipPictureSrc (pRegion, pMask->alphaMap,
|
||||
xDst - (xMask + pMask->alphaOrigin.x),
|
||||
yDst - (yMask + pMask->alphaOrigin.y)))
|
||||
xDst - (xMask - pMask->alphaOrigin.x),
|
||||
yDst - (yMask - pMask->alphaOrigin.y)))
|
||||
{
|
||||
pixman_region_fini (pRegion);
|
||||
return FALSE;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue