summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-12-05 16:07:45 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2011-12-05 17:17:26 +0000
commitf7daaa8fce8dd399500551d84cf6207824e5c28e (patch)
tree2edd4257280a771bfaa1c8ec86ac2d052d14cdd2
parent3b1151f60d28d4e0de7160043cf24579751425cc (diff)
gl: Propagate clip region
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/cairo-gl-composite.c1
-rw-r--r--src/cairo-gl-private.h2
-rw-r--r--src/cairo-gl-traps-compositor.c2
3 files changed, 4 insertions, 1 deletions
diff --git a/src/cairo-gl-composite.c b/src/cairo-gl-composite.c
index 90c189aa..777a7148 100644
--- a/src/cairo-gl-composite.c
+++ b/src/cairo-gl-composite.c
@@ -779,6 +779,7 @@ _cairo_gl_composite_init (cairo_gl_composite_t *setup,
setup->dst = dst;
setup->op = op;
+ setup->clip_region = dst->clip_region;
return CAIRO_STATUS_SUCCESS;
}
diff --git a/src/cairo-gl-private.h b/src/cairo-gl-private.h
index be109fa9..d108e03e 100644
--- a/src/cairo-gl-private.h
+++ b/src/cairo-gl-private.h
@@ -164,6 +164,8 @@ struct _cairo_gl_surface {
GLuint depth_stencil; /* GL renderbuffer object for holding stencil buffer clip. */
int owns_tex;
cairo_bool_t needs_update;
+
+ cairo_region_t *clip_region;
};
typedef struct cairo_gl_glyph_cache {
diff --git a/src/cairo-gl-traps-compositor.c b/src/cairo-gl-traps-compositor.c
index 6c55ab64..60a7331b 100644
--- a/src/cairo-gl-traps-compositor.c
+++ b/src/cairo-gl-traps-compositor.c
@@ -69,7 +69,7 @@ set_clip_region (void *_surface,
{
cairo_gl_surface_t *surface = _surface;
- //surface->clip_region = region;
+ surface->clip_region = region;
return CAIRO_STATUS_SUCCESS;
}