Here&#39;s an another patch for unbounded operation bug.<br><div><br></div><div>As I understand, unbounded operation should make it fully transparent where mask is not allowed.</div><div><br></div><div>If we do composite via mask and the mask covers extents-&gt;bounded, we can use _cairo_image_surface_fixup_unbounded() because pixman_image_composite32() clears all the destination pixels where mask is not allowed.</div>

<div><br></div><div>But some fast paths do not use mask when geometry is aligned boxes, so some areas will be remain unchanged rather than cleared though mask is not allowed there.</div><div><br></div><div>And extents information is just an approximation (not tight bounding box). So we may get non-zero-area extents-&gt;bounded even though there&#39;re no boxes to render. Because _cairo_image_surface_fixup_unbounded() just clears area between bounded and unbounded, we can get some areas uncleared. This is also same for single box cases because extents-&gt;bounded and the input box might not be the same area. So clearing area (boxes XOR extents-&gt;unbounded) is also needed for these cases.</div>

<div><br></div><div>Maybe I&#39;m missing something or there can be some better ways of handling this.</div><div>So review and comments would be appreciated.</div><div><br></div><div>Thanks.</div><div>-- <br>Best Regards,<div>

Taekyun Kim</div><br>
</div>