evas_filter: remove shader compile error
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 12 Nov 2019 01:07:54 +0000 (10:07 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Wed, 13 Nov 2019 21:13:02 +0000 (06:13 +0900)
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
src/modules/evas/engines/gl_common/shader/fragment.glsl

index 37fa8fd..42c5389 100755 (executable)
@@ -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"
index 2b61827..fca2de3 100755 (executable)
@@ -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