summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2014-06-25 21:46:49 +0900
committerChunEon Park <hermet@hermet.pe.kr>2014-06-25 21:57:23 +0900
commitb2d99524b7fd4e6ef0933bc64443d96f25098eec (patch)
tree489fc43ceefb798a892354f3d697a70c2ae43fc0
parentdb6d572c1b013e5665ea30c196c0093c01d1fcf2 (diff)
downloadefl-b2d99524b7fd4e6ef0933bc64443d96f25098eec.tar.gz
evas/gl - fix to render grayscale with transparency format in gl backened.
In case of png, grayscale with transparency format (transparency doesn't mean the png has alpha channel) gl doesn't prepare that format render. In this case, set it argb8888 to convert the data in the png loader. @fix Conflicts: src/modules/evas/engines/gl_common/evas_gl_image.c
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_image.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_image.c b/src/modules/evas/engines/gl_common/evas_gl_image.c
index 248eb309ee..d579adab90 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_image.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_image.c
@@ -218,6 +218,13 @@ _evas_gl_common_image(Evas_Engine_GL_Context *gc, RGBA_Image *im_im, Evas_Image_
}
cspace = im_im->cache_entry.cspaces[i];
+
+ /* Current GL doesn't support grayscale with transparency
+ let it convert to argb8888 in loader */
+ if ((cspace == EVAS_COLORSPACE_GRY8) &&
+ im_im->cache_entry.flags.alpha)
+ cspace = EVAS_COLORSPACE_ARGB8888;
+
im_im->cache_entry.space = cspace;
}