From 1ffe82fb7c275f7938f745ac564b368765584bfd Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Thu, 23 Apr 2015 16:12:04 +0900 Subject: [PATCH] Evas GL masking: Improve performance with scaled images The GL scaled images is a fast path for masking where the shader scales masks on the fly. This optimization actually fixes some issues where the current texture binding was incorrect. --- src/modules/evas/engines/gl_generic/evas_engine.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c index 31eaabc..6ef0d50 100644 --- a/src/modules/evas/engines/gl_generic/evas_engine.c +++ b/src/modules/evas/engines/gl_generic/evas_engine.c @@ -1175,6 +1175,13 @@ eng_image_scaled_update(void *data EINA_UNUSED, void *scaled, void *image, { if (dst->scaled.origin == src) { + if (dst->references == 1) + { + dst->w = dst_w; + dst->h = dst_h; + dst->scaled.smooth = smooth; + return dst; + } src->references++; reffed = EINA_TRUE; } -- 2.7.4