summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2015-04-23 16:12:04 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-04-24 11:12:30 +0900
commit1ffe82fb7c275f7938f745ac564b368765584bfd (patch)
treea9fe772b8cba5c202a29e103f0932195d25ff25f /src/modules
parent7a9bf994de982899ab12e3989d15877dedc47a3c (diff)
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.
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c7
1 files changed, 7 insertions, 0 deletions
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,
1175 { 1175 {
1176 if (dst->scaled.origin == src) 1176 if (dst->scaled.origin == src)
1177 { 1177 {
1178 if (dst->references == 1)
1179 {
1180 dst->w = dst_w;
1181 dst->h = dst_h;
1182 dst->scaled.smooth = smooth;
1183 return dst;
1184 }
1178 src->references++; 1185 src->references++;
1179 reffed = EINA_TRUE; 1186 reffed = EINA_TRUE;
1180 } 1187 }