kimcinoo pushed a commit to branch master.

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

commit 97f58949720a6dd2b92b71e89179aaffc00e41bc
Author: Shinwoo Kim <[email protected]>
Date:   Tue Nov 12 10:07:54 2019 +0900

    evas_filter: remove shader compile error
    
    Summary:
    When grayscale fillter works there is a compile error:
    implicit cast from "float" to "vec3"
    
    Test Plan:
    1. Create filter_example with following .
    efl_gfx_filter_program_set(image, "grayscale ()", "grayscale");
    
    2. Run.
    ELM_ACCEL=gl ./filter_example
    
    Reviewers: Hermet, jsuya
    
    Reviewed By: Hermet
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D10595
---
 src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x | 4 +++-
 src/modules/evas/engines/gl_common/shader/fragment.glsl     | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x 
b/src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x
index e5c16b5b75..d244b37f08 100644
--- a/src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x
+++ b/src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x
@@ -215,7 +215,9 @@ static const char fragment_glsl[] =
    "   c = vec4(c.a, c.a, c.a, c.a);\n"
    "#endif\n"
    "#ifdef SHD_FILTER_GRAYSCALE\n"
-   "   c.rgb = 0.3 * c.r + 0.59 * c.g + 0.11 * c.b;\n"
+   "   c.r = 0.3 * c.r + 0.59 * c.g + 0.11 * c.b;\n"
+   "   c.g = c.r;\n"
+   "   c.b = c.r;\n"
    "#endif\n"
    "#ifdef SHD_FILTER_INVERSE_COLOR\n"
    "   c.rgb = c.a - c.rgb;\n"
diff --git a/src/modules/evas/engines/gl_common/shader/fragment.glsl 
b/src/modules/evas/engines/gl_common/shader/fragment.glsl
index b51bbb4d38..09947968e9 100644
--- a/src/modules/evas/engines/gl_common/shader/fragment.glsl
+++ b/src/modules/evas/engines/gl_common/shader/fragment.glsl
@@ -231,7 +231,9 @@ vec4 fetch_pixel(float ox, float oy)
 #endif
 
 #ifdef SHD_FILTER_GRAYSCALE
-   c.rgb = 0.3 * c.r + 0.59 * c.g + 0.11 * c.b;
+   c.r = 0.3 * c.r + 0.59 * c.g + 0.11 * c.b;
+   c.g = c.r;
+   c.b = c.r;
 #endif
 
 #ifdef SHD_FILTER_INVERSE_COLOR

-- 


Reply via email to