summaryrefslogtreecommitdiff
path: root/src/cairo-mask-compositor.c
AgeCommit message (Collapse)AuthorFilesLines
2013-01-13compositor: Pass back the internal failureChris Wilson1-2/+2
In order to pass back a CAIRO_INT_STATUS_UNSUPPORTED, we need to use the internal error surface creation functions as they do not assert on private error codes. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-13compositor: Convert image surface into backend sourceChris Wilson1-15/+46
Before passing a surface to the backend composite functions, they expect them to be a native source. The copy'n'paste code for the mask compositor forgot to perform the conversion upon the clip surfaces, which originally were native to the backend and are now images. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-11xlib: Only fallback through the mask intermediate if we can composite the maskChris Wilson1-4/+23
Before rendering into the mask, we should first check whether the subsequent call to composite the mask will trigger a fallback. In that case, we should fallback earlier and do the operation in place. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-19Split cairo-pattern-private into struct+inlinesChris Wilson1-1/+1
References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-19Split cairo-clip-privates into struct+inlinesChris Wilson1-0/+1
References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-24{mask,traps}-composite: Restore unsetting of the is-clear flags for the maskChris Wilson1-1/+2
I forgot that creating any image by defaults results in pixman calloc'ing the pixel data and so cairo helpfully sets the is-clear flag on the surface. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-22mask-compositor: Acquire the target surface when creating the composite maskChris Wilson1-14/+38
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-09Replace the ad-hoc surface unwrappers with a function pointerChris Wilson1-17/+8
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-12Introduce a new compositor architectureChris Wilson1-0/+1412
Having spent the last dev cycle looking at how we could specialize the compositors for various backends, we once again look for the commonalities in order to reduce the duplication. In part this is motivated by the idea that spans is a good interface for both the existent GL backend and pixman, and so they deserve a dedicated compositor. xcb/xlib target an identical rendering system and so they should be using the same compositor, and it should be possible to run that same compositor locally against pixman to generate reference tests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> P.S. This brings massive upheaval (read breakage) I've tried delaying in order to fix as many things as possible but now this one patch does far, far, far too much. Apologies in advance for breaking your favourite backend, but trust me in that the end result will be much better. :)