From e809cea6d055cb91fff7913985a7eba967d58818 Mon Sep 17 00:00:00 2001 From: "Henry (Yu) Song" Date: Thu, 9 Feb 2012 23:38:37 +0000 Subject: [PATCH] gl: initialize temporary surface with size same as subsurface Rather than the operation extents which may be larger. It would be beneficial to trim to the intersection instead and tweak the pattern matrices - however this is the fallback path and so hopefully less frequently trod! Signed-off-by: Chris Wilson --- src/cairo-gl-operand.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cairo-gl-operand.c b/src/cairo-gl-operand.c index 660b407aa..f571e1d52 100644 --- a/src/cairo-gl-operand.c +++ b/src/cairo-gl-operand.c @@ -99,10 +99,12 @@ _cairo_gl_subsurface_clone_operand_init (cairo_gl_operand_t *operand, if (unlikely (status)) return status; + /* XXX Trim surface to the sample area within the subsurface? */ surface = (cairo_gl_surface_t *) _cairo_gl_surface_create_scratch (ctx, sub->target->content, - extents->width, extents->height); + sub->extents.width, + sub->extents.height); if (surface->base.status) return _cairo_gl_context_release (ctx, surface->base.status);