jpeg pushed a commit to branch master.

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

commit ecb8ce87487c165ddd815075f8f02fd4cbfd15c8
Author: Jean-Philippe Andre <[email protected]>
Date:   Thu Apr 3 19:18:52 2014 +0900

    Evas gl: Fix colors when using ETC1 textures
    
    We need to use the RGBA shader to invert R and B otherwise
    those will be inverted on the screen.
---
 src/modules/evas/engines/gl_common/evas_gl_context.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c 
b/src/modules/evas/engines/gl_common/evas_gl_context.c
index 7a0b215..c7f0f99 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_context.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_context.c
@@ -1637,7 +1637,7 @@ evas_gl_common_context_image_push(Evas_Engine_GL_Context 
*gc,
      }
    else if (tex_only)
      {
-        if (tex->pt->dyn.img)
+        if (tex->pt->dyn.img && (tex->pt->format != GL_ETC1_RGB8_OES))
           {
              if ((smooth) && ((sw >= (w * 2)) && (sh >= (h * 2))))
                {
@@ -1708,7 +1708,7 @@ evas_gl_common_context_image_push(Evas_Engine_GL_Context 
*gc,
      }
    else
      {
-        if (tex->gc->shared->info.bgra)
+        if (tex->gc->shared->info.bgra && (tex->pt->format != 
GL_ETC1_RGB8_OES))
           {
              if ((smooth) && ((sw >= (w * 2)) && (sh >= (h * 2))))
                {
@@ -2448,7 +2448,7 @@ 
evas_gl_common_context_image_map_push(Evas_Engine_GL_Context *gc,
       default:
          if (tex_only)
            {
-              if (tex->pt->dyn.img)
+              if (tex->pt->dyn.img && (tex->pt->format != GL_ETC1_RGB8_OES))
                 {
                    prog = 
gc->shared->shader[evas_gl_common_shader_choice(npoints, p, r, g, b, a,
                                                                           
SHADER_IMG_BGRA_NOMUL, SHADER_IMG_BGRA)].prog;
@@ -2461,7 +2461,7 @@ 
evas_gl_common_context_image_map_push(Evas_Engine_GL_Context *gc,
            }
          else
            {
-              if (tex->gc->shared->info.bgra)
+              if (tex->gc->shared->info.bgra && (tex->pt->format != 
GL_ETC1_RGB8_OES))
                 {
                    prog = 
gc->shared->shader[evas_gl_common_shader_choice(npoints, p, r, g, b, a,
                                                                           
SHADER_IMG_BGRA_NOMUL,

-- 


Reply via email to