hermet pushed a commit to branch efl-1.10.

http://git.enlightenment.org/core/efl.git/commit/?id=b2d99524b7fd4e6ef0933bc64443d96f25098eec

commit b2d99524b7fd4e6ef0933bc64443d96f25098eec
Author: ChunEon Park <[email protected]>
Date:   Wed Jun 25 21:46:49 2014 +0900

    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
---
 src/modules/evas/engines/gl_common/evas_gl_image.c | 7 +++++++
 1 file changed, 7 insertions(+)

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 248eb30..d579ada 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;
      }
 

-- 


Reply via email to