From db8bed56a2ba8ef005bdfea926e63f0283096e2d Mon Sep 17 00:00:00 2001 From: Shinwoo Kim Date: Tue, 12 Nov 2019 10:07:54 +0900 Subject: [PATCH] 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 37fa8fd..42c5389 100755 --- a/src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x +++ b/src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x @@ -244,7 +244,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 2b61827..fca2de3 100755 --- a/src/modules/evas/engines/gl_common/shader/fragment.glsl +++ b/src/modules/evas/engines/gl_common/shader/fragment.glsl @@ -264,7 +264,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 -- 2.7.4