diff options
Diffstat (limited to 'src/modules/evas')
6 files changed, 9319 insertions, 4 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_define.h b/src/modules/evas/engines/gl_common/evas_gl_define.h index 822b9c93d7..2a14127d77 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_define.h +++ b/src/modules/evas/engines/gl_common/evas_gl_define.h @@ -5,6 +5,9 @@ #ifndef GL_TEXTURE_RECTANGLE_NV # define GL_TEXTURE_RECTANGLE_NV 0x84F5 #endif +#ifndef GL_ABGR +# define GL_ABGR 0x8000 +#endif #ifndef GL_BGRA # define GL_BGRA 0x80E1 #endif diff --git a/src/modules/evas/engines/gl_common/evas_gl_shader.c b/src/modules/evas/engines/gl_common/evas_gl_shader.c index ffba009b70..bbff64ba98 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_shader.c +++ b/src/modules/evas/engines/gl_common/evas_gl_shader.c @@ -1,4 +1,9 @@ -#include "shader/evas_gl_shaders.x" +#include "config.h" +#ifdef WORDS_BIGENDIAN +# include "shader/evas_gl_shaders_bigendian.x" +#else +# include "shader/evas_gl_shaders.x" +#endif ///////////////////////////////////////////// static void diff --git a/src/modules/evas/engines/gl_common/evas_gl_texture.c b/src/modules/evas/engines/gl_common/evas_gl_texture.c index f0eb72264b..b848c68c9a 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_texture.c +++ b/src/modules/evas/engines/gl_common/evas_gl_texture.c @@ -10,12 +10,20 @@ static const GLenum bgr_fmt = GL_BGRA; static const GLenum bgr_ifmt = GL_BGRA; #else static const GLenum rgb_fmt = GL_RGBA; +#ifdef WORDS_BIGENDIAN +static const GLenum rgb_ifmt = GL_RGBA; +#else static const GLenum rgb_ifmt = GL_RGB; +#endif static const GLenum bgra_fmt = GL_BGRA; static const GLenum bgra_ifmt = GL_RGBA; static const GLenum bgr_fmt = GL_BGRA; +#ifdef WORDS_BIGENDIAN +static const GLenum bgr_ifmt = GL_RGBA; +#else static const GLenum bgr_ifmt = GL_RGB; #endif +#endif #ifdef GL_GLES static const GLenum alpha_fmt = GL_ALPHA; diff --git a/src/modules/evas/engines/gl_common/shader/evas_gl_shaders_bigendian.x b/src/modules/evas/engines/gl_common/shader/evas_gl_shaders_bigendian.x new file mode 100644 index 0000000000..2dd95fbafc --- /dev/null +++ b/src/modules/evas/engines/gl_common/shader/evas_gl_shaders_bigendian.x @@ -0,0 +1,9289 @@ +/* DO NOT MODIFY THIS FILE AS IT IS AUTO-GENERATED */ +/* IF IT IS CHANGED PLEASE COMMIT THE CHANGES */ + +#include "../evas_gl_private.h" + +static const char rect_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = vec4(1, 1, 1, 1);\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_rect_frag_src = +{ + rect_frag_glsl, + NULL, 0 +}; + +static const char rect_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + "}\n"; +Evas_GL_Program_Source shader_rect_vert_src = +{ + rect_vert_glsl, + NULL, 0 +}; + +static const char rect_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = vec4(1, 1, 1, 1);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_rect_mask_frag_src = +{ + rect_mask_frag_glsl, + NULL, 0 +}; + +static const char rect_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_rect_mask_vert_src = +{ + rect_mask_vert_glsl, + NULL, 0 +}; + +static const char rect_mask12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = vec4(1, 1, 1, 1);\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_rect_mask12_frag_src = +{ + rect_mask12_frag_glsl, + NULL, 0 +}; + +static const char rect_mask12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_rect_mask12_vert_src = +{ + rect_mask12_vert_glsl, + NULL, 0 +}; + +static const char rect_mask21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = vec4(1, 1, 1, 1);\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_rect_mask21_frag_src = +{ + rect_mask21_frag_glsl, + NULL, 0 +}; + +static const char rect_mask21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_rect_mask21_vert_src = +{ + rect_mask21_vert_glsl, + NULL, 0 +}; + +static const char rect_mask22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = vec4(1, 1, 1, 1);\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_rect_mask22_frag_src = +{ + rect_mask22_frag_glsl, + NULL, 0 +}; + +static const char rect_mask22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_rect_mask22_vert_src = +{ + rect_mask22_vert_glsl, + NULL, 0 +}; + +static const char font_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).aaaa;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_font_frag_src = +{ + font_frag_glsl, + NULL, 0 +}; + +static const char font_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_font_vert_src = +{ + font_vert_glsl, + NULL, 0 +}; + +static const char font_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).aaaa;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_font_mask_frag_src = +{ + font_mask_frag_glsl, + NULL, 0 +}; + +static const char font_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_font_mask_vert_src = +{ + font_mask_vert_glsl, + NULL, 0 +}; + +static const char font_mask12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).aaaa;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_font_mask12_frag_src = +{ + font_mask12_frag_glsl, + NULL, 0 +}; + +static const char font_mask12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_font_mask12_vert_src = +{ + font_mask12_vert_glsl, + NULL, 0 +}; + +static const char font_mask21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).aaaa;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_font_mask21_frag_src = +{ + font_mask21_frag_glsl, + NULL, 0 +}; + +static const char font_mask21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_font_mask21_vert_src = +{ + font_mask21_vert_glsl, + NULL, 0 +}; + +static const char font_mask22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).aaaa;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_font_mask22_frag_src = +{ + font_mask22_frag_glsl, + NULL, 0 +}; + +static const char font_mask22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_font_mask22_vert_src = +{ + font_mask22_vert_glsl, + NULL, 0 +}; + +static const char img_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_frag_src = +{ + img_frag_glsl, + NULL, 0 +}; + +static const char img_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_img_vert_src = +{ + img_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_frag_src = +{ + img_bgra_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_vert_src = +{ + img_bgra_vert_glsl, + NULL, 0 +}; + +static const char img_12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_frag_src = +{ + img_12_frag_glsl, + NULL, 0 +}; + +static const char img_12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_vert_src = +{ + img_12_vert_glsl, + NULL, 0 +}; + +static const char img_21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_frag_src = +{ + img_21_frag_glsl, + NULL, 0 +}; + +static const char img_21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_vert_src = +{ + img_21_vert_glsl, + NULL, 0 +}; + +static const char img_22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_frag_src = +{ + img_22_frag_glsl, + NULL, 0 +}; + +static const char img_22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_vert_src = +{ + img_22_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_frag_src = +{ + img_12_bgra_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_vert_src = +{ + img_12_bgra_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_frag_src = +{ + img_21_bgra_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_vert_src = +{ + img_21_bgra_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_frag_src = +{ + img_22_bgra_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_vert_src = +{ + img_22_bgra_vert_glsl, + NULL, 0 +}; + +static const char img_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask_frag_src = +{ + img_mask_frag_glsl, + NULL, 0 +}; + +static const char img_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask_vert_src = +{ + img_mask_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask_frag_src = +{ + img_bgra_mask_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask_vert_src = +{ + img_bgra_mask_vert_glsl, + NULL, 0 +}; + +static const char img_12_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask_frag_src = +{ + img_12_mask_frag_glsl, + NULL, 0 +}; + +static const char img_12_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask_vert_src = +{ + img_12_mask_vert_glsl, + NULL, 0 +}; + +static const char img_21_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask_frag_src = +{ + img_21_mask_frag_glsl, + NULL, 0 +}; + +static const char img_21_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask_vert_src = +{ + img_21_mask_vert_glsl, + NULL, 0 +}; + +static const char img_22_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask_frag_src = +{ + img_22_mask_frag_glsl, + NULL, 0 +}; + +static const char img_22_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask_vert_src = +{ + img_22_mask_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask_frag_src = +{ + img_12_bgra_mask_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask_vert_src = +{ + img_12_bgra_mask_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask_frag_src = +{ + img_21_bgra_mask_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask_vert_src = +{ + img_21_bgra_mask_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask_frag_src = +{ + img_22_bgra_mask_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask_vert_src = +{ + img_22_bgra_mask_vert_glsl, + NULL, 0 +}; + +static const char img_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_nomul_frag_src = +{ + img_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_img_nomul_vert_src = +{ + img_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_nomul_frag_src = +{ + img_bgra_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_nomul_vert_src = +{ + img_bgra_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_12_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_nomul_frag_src = +{ + img_12_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_12_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_nomul_vert_src = +{ + img_12_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_21_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_nomul_frag_src = +{ + img_21_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_21_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_nomul_vert_src = +{ + img_21_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_22_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_nomul_frag_src = +{ + img_22_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_22_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_nomul_vert_src = +{ + img_22_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_nomul_frag_src = +{ + img_12_bgra_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_nomul_vert_src = +{ + img_12_bgra_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_nomul_frag_src = +{ + img_21_bgra_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_nomul_vert_src = +{ + img_21_bgra_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_nomul_frag_src = +{ + img_22_bgra_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_nomul_vert_src = +{ + img_22_bgra_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask_nomul_frag_src = +{ + img_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask_nomul_vert_src = +{ + img_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask_nomul_frag_src = +{ + img_bgra_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask_nomul_vert_src = +{ + img_bgra_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_12_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask_nomul_frag_src = +{ + img_12_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_12_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask_nomul_vert_src = +{ + img_12_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_21_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask_nomul_frag_src = +{ + img_21_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_21_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask_nomul_vert_src = +{ + img_21_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_22_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask_nomul_frag_src = +{ + img_22_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_22_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask_nomul_vert_src = +{ + img_22_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask_nomul_frag_src = +{ + img_12_bgra_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask_nomul_vert_src = +{ + img_12_bgra_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask_nomul_frag_src = +{ + img_21_bgra_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask_nomul_vert_src = +{ + img_21_bgra_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask_nomul_frag_src = +{ + img_22_bgra_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask_nomul_vert_src = +{ + img_22_bgra_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_mask12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask12_frag_src = +{ + img_mask12_frag_glsl, + NULL, 0 +}; + +static const char img_mask12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask12_vert_src = +{ + img_mask12_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_mask12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask12_frag_src = +{ + img_bgra_mask12_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_mask12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask12_vert_src = +{ + img_bgra_mask12_vert_glsl, + NULL, 0 +}; + +static const char img_12_mask12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask12_frag_src = +{ + img_12_mask12_frag_glsl, + NULL, 0 +}; + +static const char img_12_mask12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask12_vert_src = +{ + img_12_mask12_vert_glsl, + NULL, 0 +}; + +static const char img_21_mask12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask12_frag_src = +{ + img_21_mask12_frag_glsl, + NULL, 0 +}; + +static const char img_21_mask12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask12_vert_src = +{ + img_21_mask12_vert_glsl, + NULL, 0 +}; + +static const char img_22_mask12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask12_frag_src = +{ + img_22_mask12_frag_glsl, + NULL, 0 +}; + +static const char img_22_mask12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask12_vert_src = +{ + img_22_mask12_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask12_frag_src = +{ + img_12_bgra_mask12_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask12_vert_src = +{ + img_12_bgra_mask12_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask12_frag_src = +{ + img_21_bgra_mask12_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask12_vert_src = +{ + img_21_bgra_mask12_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask12_frag_src = +{ + img_22_bgra_mask12_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask12_vert_src = +{ + img_22_bgra_mask12_vert_glsl, + NULL, 0 +}; + +static const char img_mask12_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask12_nomul_frag_src = +{ + img_mask12_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_mask12_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask12_nomul_vert_src = +{ + img_mask12_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_mask12_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask12_nomul_frag_src = +{ + img_bgra_mask12_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_mask12_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask12_nomul_vert_src = +{ + img_bgra_mask12_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_12_mask12_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask12_nomul_frag_src = +{ + img_12_mask12_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_12_mask12_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask12_nomul_vert_src = +{ + img_12_mask12_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_21_mask12_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask12_nomul_frag_src = +{ + img_21_mask12_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_21_mask12_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask12_nomul_vert_src = +{ + img_21_mask12_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_22_mask12_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask12_nomul_frag_src = +{ + img_22_mask12_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_22_mask12_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask12_nomul_vert_src = +{ + img_22_mask12_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask12_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask12_nomul_frag_src = +{ + img_12_bgra_mask12_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask12_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask12_nomul_vert_src = +{ + img_12_bgra_mask12_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask12_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask12_nomul_frag_src = +{ + img_21_bgra_mask12_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask12_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask12_nomul_vert_src = +{ + img_21_bgra_mask12_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask12_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask12_nomul_frag_src = +{ + img_22_bgra_mask12_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask12_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(0, -tex_masksample.y);\n" + " masktex_s[1] = vec2(0, tex_masksample.y);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask12_nomul_vert_src = +{ + img_22_bgra_mask12_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_mask21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask21_frag_src = +{ + img_mask21_frag_glsl, + NULL, 0 +}; + +static const char img_mask21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask21_vert_src = +{ + img_mask21_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_mask21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask21_frag_src = +{ + img_bgra_mask21_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_mask21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask21_vert_src = +{ + img_bgra_mask21_vert_glsl, + NULL, 0 +}; + +static const char img_12_mask21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask21_frag_src = +{ + img_12_mask21_frag_glsl, + NULL, 0 +}; + +static const char img_12_mask21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask21_vert_src = +{ + img_12_mask21_vert_glsl, + NULL, 0 +}; + +static const char img_21_mask21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask21_frag_src = +{ + img_21_mask21_frag_glsl, + NULL, 0 +}; + +static const char img_21_mask21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask21_vert_src = +{ + img_21_mask21_vert_glsl, + NULL, 0 +}; + +static const char img_22_mask21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask21_frag_src = +{ + img_22_mask21_frag_glsl, + NULL, 0 +}; + +static const char img_22_mask21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask21_vert_src = +{ + img_22_mask21_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask21_frag_src = +{ + img_12_bgra_mask21_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask21_vert_src = +{ + img_12_bgra_mask21_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask21_frag_src = +{ + img_21_bgra_mask21_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask21_vert_src = +{ + img_21_bgra_mask21_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask21_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask21_frag_src = +{ + img_22_bgra_mask21_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask21_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask21_vert_src = +{ + img_22_bgra_mask21_vert_glsl, + NULL, 0 +}; + +static const char img_mask21_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask21_nomul_frag_src = +{ + img_mask21_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_mask21_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask21_nomul_vert_src = +{ + img_mask21_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_mask21_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask21_nomul_frag_src = +{ + img_bgra_mask21_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_mask21_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask21_nomul_vert_src = +{ + img_bgra_mask21_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_12_mask21_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask21_nomul_frag_src = +{ + img_12_mask21_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_12_mask21_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask21_nomul_vert_src = +{ + img_12_mask21_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_21_mask21_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask21_nomul_frag_src = +{ + img_21_mask21_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_21_mask21_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask21_nomul_vert_src = +{ + img_21_mask21_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_22_mask21_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask21_nomul_frag_src = +{ + img_22_mask21_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_22_mask21_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask21_nomul_vert_src = +{ + img_22_mask21_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask21_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask21_nomul_frag_src = +{ + img_12_bgra_mask21_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask21_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask21_nomul_vert_src = +{ + img_12_bgra_mask21_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask21_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask21_nomul_frag_src = +{ + img_21_bgra_mask21_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask21_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask21_nomul_vert_src = +{ + img_21_bgra_mask21_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask21_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " ma = (ma00 + ma01) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask21_nomul_frag_src = +{ + img_22_bgra_mask21_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask21_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(-tex_masksample.x, 0);\n" + " masktex_s[1] = vec2( tex_masksample.x, 0);\n" + " maskdiv_s = 2.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask21_nomul_vert_src = +{ + img_22_bgra_mask21_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_mask22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask22_frag_src = +{ + img_mask22_frag_glsl, + NULL, 0 +}; + +static const char img_mask22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask22_vert_src = +{ + img_mask22_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_mask22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask22_frag_src = +{ + img_bgra_mask22_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_mask22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask22_vert_src = +{ + img_bgra_mask22_vert_glsl, + NULL, 0 +}; + +static const char img_12_mask22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask22_frag_src = +{ + img_12_mask22_frag_glsl, + NULL, 0 +}; + +static const char img_12_mask22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask22_vert_src = +{ + img_12_mask22_vert_glsl, + NULL, 0 +}; + +static const char img_21_mask22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask22_frag_src = +{ + img_21_mask22_frag_glsl, + NULL, 0 +}; + +static const char img_21_mask22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask22_vert_src = +{ + img_21_mask22_vert_glsl, + NULL, 0 +}; + +static const char img_22_mask22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask22_frag_src = +{ + img_22_mask22_frag_glsl, + NULL, 0 +}; + +static const char img_22_mask22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask22_vert_src = +{ + img_22_mask22_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask22_frag_src = +{ + img_12_bgra_mask22_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask22_vert_src = +{ + img_12_bgra_mask22_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask22_frag_src = +{ + img_21_bgra_mask22_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask22_vert_src = +{ + img_21_bgra_mask22_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask22_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask22_frag_src = +{ + img_22_bgra_mask22_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask22_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask22_vert_src = +{ + img_22_bgra_mask22_vert_glsl, + NULL, 0 +}; + +static const char img_mask22_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask22_nomul_frag_src = +{ + img_mask22_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_mask22_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_mask22_nomul_vert_src = +{ + img_mask22_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_mask22_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask22_nomul_frag_src = +{ + img_bgra_mask22_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_mask22_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_mask22_nomul_vert_src = +{ + img_bgra_mask22_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_12_mask22_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask22_nomul_frag_src = +{ + img_12_mask22_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_12_mask22_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_mask22_nomul_vert_src = +{ + img_12_mask22_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_21_mask22_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask22_nomul_frag_src = +{ + img_21_mask22_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_21_mask22_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_mask22_nomul_vert_src = +{ + img_21_mask22_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_22_mask22_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask22_nomul_frag_src = +{ + img_22_mask22_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_22_mask22_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_mask22_nomul_vert_src = +{ + img_22_mask22_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask22_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask22_nomul_frag_src = +{ + img_12_bgra_mask22_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_mask22_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_mask22_nomul_vert_src = +{ + img_12_bgra_mask22_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask22_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask22_nomul_frag_src = +{ + img_21_bgra_mask22_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_mask22_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_mask22_nomul_vert_src = +{ + img_21_bgra_mask22_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask22_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " float ma;\n" + " float ma00 = texture2D(texm, tex_m + masktex_s[0]).a;\n" + " float ma01 = texture2D(texm, tex_m + masktex_s[1]).a;\n" + " float ma10 = texture2D(texm, tex_m + masktex_s[2]).a;\n" + " float ma11 = texture2D(texm, tex_m + masktex_s[3]).a;\n" + " ma = (ma00 + ma01 + ma10 + ma11) / maskdiv_s;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask22_nomul_frag_src = +{ + img_22_bgra_mask22_nomul_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_mask22_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "attribute vec2 tex_masksample;\n" + "varying float maskdiv_s;\n" + "varying vec2 masktex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + " masktex_s[0] = vec2(-tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[1] = vec2( tex_masksample.x, -tex_masksample.y);\n" + " masktex_s[2] = vec2( tex_masksample.x, tex_masksample.y);\n" + " masktex_s[3] = vec2(-tex_masksample.x, tex_masksample.y);\n" + " maskdiv_s = 4.0;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_mask22_nomul_vert_src = +{ + img_22_bgra_mask22_nomul_vert_glsl, + NULL, 0 +}; + +static const char img_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_afill_frag_src = +{ + img_afill_frag_glsl, + NULL, 0 +}; + +static const char img_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_img_afill_vert_src = +{ + img_afill_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_afill_frag_src = +{ + img_bgra_afill_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_afill_vert_src = +{ + img_bgra_afill_vert_glsl, + NULL, 0 +}; + +static const char img_nomul_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_nomul_afill_frag_src = +{ + img_nomul_afill_frag_glsl, + NULL, 0 +}; + +static const char img_nomul_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_img_nomul_afill_vert_src = +{ + img_nomul_afill_vert_glsl, + NULL, 0 +}; + +static const char img_bgra_nomul_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).grab;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_nomul_afill_frag_src = +{ + img_bgra_nomul_afill_frag_glsl, + NULL, 0 +}; + +static const char img_bgra_nomul_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_img_bgra_nomul_afill_vert_src = +{ + img_bgra_nomul_afill_vert_glsl, + NULL, 0 +}; + +static const char img_12_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_afill_frag_src = +{ + img_12_afill_frag_glsl, + NULL, 0 +}; + +static const char img_12_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_afill_vert_src = +{ + img_12_afill_vert_glsl, + NULL, 0 +}; + +static const char img_21_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_afill_frag_src = +{ + img_21_afill_frag_glsl, + NULL, 0 +}; + +static const char img_21_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_afill_vert_src = +{ + img_21_afill_vert_glsl, + NULL, 0 +}; + +static const char img_22_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_afill_frag_src = +{ + img_22_afill_frag_glsl, + NULL, 0 +}; + +static const char img_22_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_afill_vert_src = +{ + img_22_afill_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_afill_frag_src = +{ + img_12_bgra_afill_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_afill_vert_src = +{ + img_12_bgra_afill_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_afill_frag_src = +{ + img_21_bgra_afill_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_afill_vert_src = +{ + img_21_bgra_afill_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_afill_frag_src = +{ + img_22_bgra_afill_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_afill_vert_src = +{ + img_22_bgra_afill_vert_glsl, + NULL, 0 +}; + +static const char img_12_nomul_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_nomul_afill_frag_src = +{ + img_12_nomul_afill_frag_glsl, + NULL, 0 +}; + +static const char img_12_nomul_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_nomul_afill_vert_src = +{ + img_12_nomul_afill_vert_glsl, + NULL, 0 +}; + +static const char img_21_nomul_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_nomul_afill_frag_src = +{ + img_21_nomul_afill_frag_glsl, + NULL, 0 +}; + +static const char img_21_nomul_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_nomul_afill_vert_src = +{ + img_21_nomul_afill_vert_glsl, + NULL, 0 +}; + +static const char img_22_nomul_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).gbar;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).gbar;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).gbar;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).gbar;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_nomul_afill_frag_src = +{ + img_22_nomul_afill_frag_glsl, + NULL, 0 +}; + +static const char img_22_nomul_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_nomul_afill_vert_src = +{ + img_22_nomul_afill_vert_glsl, + NULL, 0 +}; + +static const char img_12_bgra_nomul_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_nomul_afill_frag_src = +{ + img_12_bgra_nomul_afill_frag_glsl, + NULL, 0 +}; + +static const char img_12_bgra_nomul_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(0, -tex_sample.y);\n" + " tex_s[1] = vec2(0, tex_sample.y);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_12_bgra_nomul_afill_vert_src = +{ + img_12_bgra_nomul_afill_vert_glsl, + NULL, 0 +}; + +static const char img_21_bgra_nomul_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " c = (col00 + col01) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_nomul_afill_frag_src = +{ + img_21_bgra_nomul_afill_frag_glsl, + NULL, 0 +}; + +static const char img_21_bgra_nomul_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[2];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, 0);\n" + " tex_s[1] = vec2( tex_sample.x, 0);\n" + " div_s = vec4(2, 2, 2, 2);\n" + "}\n"; +Evas_GL_Program_Source shader_img_21_bgra_nomul_afill_vert_src = +{ + img_21_bgra_nomul_afill_vert_glsl, + NULL, 0 +}; + +static const char img_22_bgra_nomul_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " vec4 col00 = texture2D(tex, tex_c + tex_s[0]).grab;\n" + " vec4 col01 = texture2D(tex, tex_c + tex_s[1]).grab;\n" + " vec4 col10 = texture2D(tex, tex_c + tex_s[2]).grab;\n" + " vec4 col11 = texture2D(tex, tex_c + tex_s[3]).grab;\n" + " c = (col00 + col01 + col10 + col11) / div_s;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_nomul_afill_frag_src = +{ + img_22_bgra_nomul_afill_frag_glsl, + NULL, 0 +}; + +static const char img_22_bgra_nomul_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_sample;\n" + "varying vec4 div_s;\n" + "varying vec2 tex_s[4];\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_s[0] = vec2(-tex_sample.x, -tex_sample.y);\n" + " tex_s[1] = vec2( tex_sample.x, -tex_sample.y);\n" + " tex_s[2] = vec2( tex_sample.x, tex_sample.y);\n" + " tex_s[3] = vec2(-tex_sample.x, tex_sample.y);\n" + " div_s = vec4(4, 4, 4, 4);\n" + "}\n"; +Evas_GL_Program_Source shader_img_22_bgra_nomul_afill_vert_src = +{ + img_22_bgra_nomul_afill_vert_glsl, + NULL, 0 +}; + +static const char rgb_a_pair_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texa;\n" + "varying vec2 tex_a;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * texture2D(texa, tex_a).r\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_rgb_a_pair_frag_src = +{ + rgb_a_pair_frag_glsl, + NULL, 0 +}; + +static const char rgb_a_pair_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coorda;\n" + "varying vec2 tex_a;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_a = tex_coorda;\n" + "}\n"; +Evas_GL_Program_Source shader_rgb_a_pair_vert_src = +{ + rgb_a_pair_vert_glsl, + NULL, 0 +}; + +static const char rgb_a_pair_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texa;\n" + "varying vec2 tex_a;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " * texture2D(texa, tex_a).r\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_rgb_a_pair_mask_frag_src = +{ + rgb_a_pair_mask_frag_glsl, + NULL, 0 +}; + +static const char rgb_a_pair_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coorda;\n" + "varying vec2 tex_a;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_a = tex_coorda;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_rgb_a_pair_mask_vert_src = +{ + rgb_a_pair_mask_vert_glsl, + NULL, 0 +}; + +static const char rgb_a_pair_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texa;\n" + "varying vec2 tex_a;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " gl_FragColor =\n" + " c\n" + " * texture2D(texa, tex_a).r\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_rgb_a_pair_nomul_frag_src = +{ + rgb_a_pair_nomul_frag_glsl, + NULL, 0 +}; + +static const char rgb_a_pair_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coorda;\n" + "varying vec2 tex_a;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_a = tex_coorda;\n" + "}\n"; +Evas_GL_Program_Source shader_rgb_a_pair_nomul_vert_src = +{ + rgb_a_pair_nomul_vert_glsl, + NULL, 0 +}; + +static const char rgb_a_pair_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texa;\n" + "varying vec2 tex_a;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " * texture2D(texa, tex_a).r\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_rgb_a_pair_mask_nomul_frag_src = +{ + rgb_a_pair_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char rgb_a_pair_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coorda;\n" + "varying vec2 tex_a;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_a = tex_coorda;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_rgb_a_pair_mask_nomul_vert_src = +{ + rgb_a_pair_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char tex_external_frag_glsl[] = + "#ifdef GL_ES\n" + "# extension GL_OES_EGL_image_external : require\n" + "# ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "# else\n" + "precision mediump float;\n" + "# endif\n" + "# define SAMPLER_EXTERNAL_OES samplerExternalOES\n" + "#else\n" + "# define SAMPLER_EXTERNAL_OES sampler2D\n" + "#endif\n" + "varying vec4 col;\n" + "uniform SAMPLER_EXTERNAL_OES tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_frag_src = +{ + tex_external_frag_glsl, + NULL, 0 +}; + +static const char tex_external_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_vert_src = +{ + tex_external_vert_glsl, + NULL, 0 +}; + +static const char tex_external_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "# extension GL_OES_EGL_image_external : require\n" + "# ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "# else\n" + "precision mediump float;\n" + "# endif\n" + "# define SAMPLER_EXTERNAL_OES samplerExternalOES\n" + "#else\n" + "# define SAMPLER_EXTERNAL_OES sampler2D\n" + "#endif\n" + "varying vec4 col;\n" + "uniform SAMPLER_EXTERNAL_OES tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_afill_frag_src = +{ + tex_external_afill_frag_glsl, + NULL, 0 +}; + +static const char tex_external_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_afill_vert_src = +{ + tex_external_afill_vert_glsl, + NULL, 0 +}; + +static const char tex_external_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "# extension GL_OES_EGL_image_external : require\n" + "# ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "# else\n" + "precision mediump float;\n" + "# endif\n" + "# define SAMPLER_EXTERNAL_OES samplerExternalOES\n" + "#else\n" + "# define SAMPLER_EXTERNAL_OES sampler2D\n" + "#endif\n" + "uniform SAMPLER_EXTERNAL_OES tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_nomul_frag_src = +{ + tex_external_nomul_frag_glsl, + NULL, 0 +}; + +static const char tex_external_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_nomul_vert_src = +{ + tex_external_nomul_vert_glsl, + NULL, 0 +}; + +static const char tex_external_nomul_afill_frag_glsl[] = + "#ifdef GL_ES\n" + "# extension GL_OES_EGL_image_external : require\n" + "# ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "# else\n" + "precision mediump float;\n" + "# endif\n" + "# define SAMPLER_EXTERNAL_OES samplerExternalOES\n" + "#else\n" + "# define SAMPLER_EXTERNAL_OES sampler2D\n" + "#endif\n" + "uniform SAMPLER_EXTERNAL_OES tex;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + " gl_FragColor.a = 1.0;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_nomul_afill_frag_src = +{ + tex_external_nomul_afill_frag_glsl, + NULL, 0 +}; + +static const char tex_external_nomul_afill_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_nomul_afill_vert_src = +{ + tex_external_nomul_afill_vert_glsl, + NULL, 0 +}; + +static const char tex_external_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "# extension GL_OES_EGL_image_external : require\n" + "# ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "# else\n" + "precision mediump float;\n" + "# endif\n" + "# define SAMPLER_EXTERNAL_OES samplerExternalOES\n" + "#else\n" + "# define SAMPLER_EXTERNAL_OES sampler2D\n" + "#endif\n" + "varying vec4 col;\n" + "uniform SAMPLER_EXTERNAL_OES tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_mask_frag_src = +{ + tex_external_mask_frag_glsl, + NULL, 0 +}; + +static const char tex_external_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_mask_vert_src = +{ + tex_external_mask_vert_glsl, + NULL, 0 +}; + +static const char tex_external_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "# extension GL_OES_EGL_image_external : require\n" + "# ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "# else\n" + "precision mediump float;\n" + "# endif\n" + "# define SAMPLER_EXTERNAL_OES samplerExternalOES\n" + "#else\n" + "# define SAMPLER_EXTERNAL_OES sampler2D\n" + "#endif\n" + "uniform SAMPLER_EXTERNAL_OES tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " c = texture2D(tex, tex_c).gbar;\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_mask_nomul_frag_src = +{ + tex_external_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char tex_external_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_tex_external_mask_nomul_vert_src = +{ + tex_external_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char yuv_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texu;\n" + "uniform sampler2D texv;\n" + "varying vec2 tex_c2;\n" + "varying vec2 tex_c3;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).r;\n" + " u = texture2D(texu, tex_c2).r;\n" + " v = texture2D(texv, tex_c3).r;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_frag_src = +{ + yuv_frag_glsl, + NULL, 0 +}; + +static const char yuv_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec2 tex_coord3;\n" + "varying vec2 tex_c3;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2;\n" + " tex_c3 = tex_coord3;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_vert_src = +{ + yuv_vert_glsl, + NULL, 0 +}; + +static const char yuv_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texu;\n" + "uniform sampler2D texv;\n" + "varying vec2 tex_c2;\n" + "varying vec2 tex_c3;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).r;\n" + " u = texture2D(texu, tex_c2).r;\n" + " v = texture2D(texv, tex_c3).r;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_nomul_frag_src = +{ + yuv_nomul_frag_glsl, + NULL, 0 +}; + +static const char yuv_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec2 tex_coord3;\n" + "varying vec2 tex_c3;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2;\n" + " tex_c3 = tex_coord3;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_nomul_vert_src = +{ + yuv_nomul_vert_glsl, + NULL, 0 +}; + +static const char yuv_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texu;\n" + "uniform sampler2D texv;\n" + "varying vec2 tex_c2;\n" + "varying vec2 tex_c3;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).r;\n" + " u = texture2D(texu, tex_c2).r;\n" + " v = texture2D(texv, tex_c3).r;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_mask_frag_src = +{ + yuv_mask_frag_glsl, + NULL, 0 +}; + +static const char yuv_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec2 tex_coord3;\n" + "varying vec2 tex_c3;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2;\n" + " tex_c3 = tex_coord3;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_mask_vert_src = +{ + yuv_mask_vert_glsl, + NULL, 0 +}; + +static const char yuv_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texu;\n" + "uniform sampler2D texv;\n" + "varying vec2 tex_c2;\n" + "varying vec2 tex_c3;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).r;\n" + " u = texture2D(texu, tex_c2).r;\n" + " v = texture2D(texv, tex_c3).r;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_mask_nomul_frag_src = +{ + yuv_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char yuv_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec2 tex_coord3;\n" + "varying vec2 tex_c3;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2;\n" + " tex_c3 = tex_coord3;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_mask_nomul_vert_src = +{ + yuv_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char yuy2_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_frag_src = +{ + yuy2_frag_glsl, + NULL, 0 +}; + +static const char yuy2_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = vec2(tex_coord2.x * 0.5, tex_coord2.y);\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_vert_src = +{ + yuy2_vert_glsl, + NULL, 0 +}; + +static const char yuy2_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_nomul_frag_src = +{ + yuy2_nomul_frag_glsl, + NULL, 0 +}; + +static const char yuy2_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = vec2(tex_coord2.x * 0.5, tex_coord2.y);\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_nomul_vert_src = +{ + yuy2_nomul_vert_glsl, + NULL, 0 +}; + +static const char yuy2_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_mask_frag_src = +{ + yuy2_mask_frag_glsl, + NULL, 0 +}; + +static const char yuy2_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = vec2(tex_coord2.x * 0.5, tex_coord2.y);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_mask_vert_src = +{ + yuy2_mask_vert_glsl, + NULL, 0 +}; + +static const char yuy2_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_mask_nomul_frag_src = +{ + yuy2_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char yuy2_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = vec2(tex_coord2.x * 0.5, tex_coord2.y);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_mask_nomul_vert_src = +{ + yuy2_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char nv12_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_frag_src = +{ + nv12_frag_glsl, + NULL, 0 +}; + +static const char nv12_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2 * 0.5;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_vert_src = +{ + nv12_vert_glsl, + NULL, 0 +}; + +static const char nv12_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_nomul_frag_src = +{ + nv12_nomul_frag_glsl, + NULL, 0 +}; + +static const char nv12_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2 * 0.5;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_nomul_vert_src = +{ + nv12_nomul_vert_glsl, + NULL, 0 +}; + +static const char nv12_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_mask_frag_src = +{ + nv12_mask_frag_glsl, + NULL, 0 +}; + +static const char nv12_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2 * 0.5;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_mask_vert_src = +{ + nv12_mask_vert_glsl, + NULL, 0 +}; + +static const char nv12_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.813) + (u * 0.391);\n" + " v = v * 1.596;\n" + " u = u * 2.018;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_mask_nomul_frag_src = +{ + nv12_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char nv12_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2 * 0.5;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_mask_nomul_vert_src = +{ + nv12_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char yuv_709_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texu;\n" + "uniform sampler2D texv;\n" + "varying vec2 tex_c2;\n" + "varying vec2 tex_c3;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).r;\n" + " u = texture2D(texu, tex_c2).r;\n" + " v = texture2D(texv, tex_c3).r;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_709_frag_src = +{ + yuv_709_frag_glsl, + NULL, 0 +}; + +static const char yuv_709_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec2 tex_coord3;\n" + "varying vec2 tex_c3;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2;\n" + " tex_c3 = tex_coord3;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_709_vert_src = +{ + yuv_709_vert_glsl, + NULL, 0 +}; + +static const char yuv_709_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texu;\n" + "uniform sampler2D texv;\n" + "varying vec2 tex_c2;\n" + "varying vec2 tex_c3;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).r;\n" + " u = texture2D(texu, tex_c2).r;\n" + " v = texture2D(texv, tex_c3).r;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_709_nomul_frag_src = +{ + yuv_709_nomul_frag_glsl, + NULL, 0 +}; + +static const char yuv_709_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec2 tex_coord3;\n" + "varying vec2 tex_c3;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2;\n" + " tex_c3 = tex_coord3;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_709_nomul_vert_src = +{ + yuv_709_nomul_vert_glsl, + NULL, 0 +}; + +static const char yuv_709_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texu;\n" + "uniform sampler2D texv;\n" + "varying vec2 tex_c2;\n" + "varying vec2 tex_c3;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).r;\n" + " u = texture2D(texu, tex_c2).r;\n" + " v = texture2D(texv, tex_c3).r;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_709_mask_frag_src = +{ + yuv_709_mask_frag_glsl, + NULL, 0 +}; + +static const char yuv_709_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec2 tex_coord3;\n" + "varying vec2 tex_c3;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2;\n" + " tex_c3 = tex_coord3;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_709_mask_vert_src = +{ + yuv_709_mask_vert_glsl, + NULL, 0 +}; + +static const char yuv_709_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texu;\n" + "uniform sampler2D texv;\n" + "varying vec2 tex_c2;\n" + "varying vec2 tex_c3;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).r;\n" + " u = texture2D(texu, tex_c2).r;\n" + " v = texture2D(texv, tex_c3).r;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_709_mask_nomul_frag_src = +{ + yuv_709_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char yuv_709_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec2 tex_coord3;\n" + "varying vec2 tex_c3;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2;\n" + " tex_c3 = tex_coord3;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_yuv_709_mask_nomul_vert_src = +{ + yuv_709_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char yuy2_709_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_709_frag_src = +{ + yuy2_709_frag_glsl, + NULL, 0 +}; + +static const char yuy2_709_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = vec2(tex_coord2.x * 0.5, tex_coord2.y);\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_709_vert_src = +{ + yuy2_709_vert_glsl, + NULL, 0 +}; + +static const char yuy2_709_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_709_nomul_frag_src = +{ + yuy2_709_nomul_frag_glsl, + NULL, 0 +}; + +static const char yuy2_709_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = vec2(tex_coord2.x * 0.5, tex_coord2.y);\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_709_nomul_vert_src = +{ + yuy2_709_nomul_vert_glsl, + NULL, 0 +}; + +static const char yuy2_709_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_709_mask_frag_src = +{ + yuy2_709_mask_frag_glsl, + NULL, 0 +}; + +static const char yuy2_709_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = vec2(tex_coord2.x * 0.5, tex_coord2.y);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_709_mask_vert_src = +{ + yuy2_709_mask_vert_glsl, + NULL, 0 +}; + +static const char yuy2_709_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_709_mask_nomul_frag_src = +{ + yuy2_709_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char yuy2_709_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = vec2(tex_coord2.x * 0.5, tex_coord2.y);\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_yuy2_709_mask_nomul_vert_src = +{ + yuy2_709_mask_nomul_vert_glsl, + NULL, 0 +}; + +static const char nv12_709_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_709_frag_src = +{ + nv12_709_frag_glsl, + NULL, 0 +}; + +static const char nv12_709_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2 * 0.5;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_709_vert_src = +{ + nv12_709_vert_glsl, + NULL, 0 +}; + +static const char nv12_709_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " gl_FragColor =\n" + " c\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_709_nomul_frag_src = +{ + nv12_709_nomul_frag_glsl, + NULL, 0 +}; + +static const char nv12_709_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2 * 0.5;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_709_nomul_vert_src = +{ + nv12_709_nomul_vert_glsl, + NULL, 0 +}; + +static const char nv12_709_mask_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "varying vec4 col;\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * col\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_709_mask_frag_src = +{ + nv12_709_mask_frag_glsl, + NULL, 0 +}; + +static const char nv12_709_mask_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec4 color;\n" + "varying vec4 col;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " col = color;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2 * 0.5;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_709_mask_vert_src = +{ + nv12_709_mask_vert_glsl, + NULL, 0 +}; + +static const char nv12_709_mask_nomul_frag_glsl[] = + "#ifdef GL_ES\n" + "#ifdef GL_FRAGMENT_PRECISION_HIGH\n" + "precision highp float;\n" + "#else\n" + "precision mediump float;\n" + "#endif\n" + "#endif\n" + "uniform sampler2D tex;\n" + "varying vec2 tex_c;\n" + "uniform sampler2D texuv;\n" + "varying vec2 tex_c2;\n" + "uniform sampler2D texm;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " vec4 c;\n" + " float r, g, b, y, u, v, vmu;\n" + " y = texture2D(tex, tex_c).g;\n" + " u = texture2D(texuv, tex_c2).g;\n" + " v = texture2D(texuv, tex_c2).a;\n" + " u = u - 0.5;\n" + " v = v - 0.5;\n" + " y = (y - 0.062) * 1.164;\n" + " vmu = (v * 0.534) + (u * 0.213);\n" + " v = v * 1.793;\n" + " u = u * 2.115;\n" + " r = y + v;\n" + " g = y - vmu;\n" + " b = y + u;\n" + " c = vec4(r, g, b, 1.0);\n" + " float ma;\n" + " ma = texture2D(texm, tex_m).a;\n" + " gl_FragColor =\n" + " c\n" + " * ma\n" + " ;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_709_mask_nomul_frag_src = +{ + nv12_709_mask_nomul_frag_glsl, + NULL, 0 +}; + +static const char nv12_709_mask_nomul_vert_glsl[] = + "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n" + "attribute vec4 vertex;\n" + "uniform mat4 mvp;\n" + "attribute vec2 tex_coord;\n" + "varying vec2 tex_c;\n" + "attribute vec2 tex_coord2;\n" + "varying vec2 tex_c2;\n" + "attribute vec4 mask_coord;\n" + "varying vec2 tex_m;\n" + "void main()\n" + "{\n" + " gl_Position = mvp * vertex;\n" + " tex_c = tex_coord;\n" + " tex_c2 = tex_coord2 * 0.5;\n" + " vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);\n" + " tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;\n" + "}\n"; +Evas_GL_Program_Source shader_nv12_709_mask_nomul_vert_src = +{ + nv12_709_mask_nomul_vert_glsl, + NULL, 0 +}; + + +static const struct { + Evas_GL_Shader id; + Evas_GL_Program_Source *vert; + Evas_GL_Program_Source *frag; + const char *name; + Shader_Type type; + Shader_Sampling sam; + Shader_Sampling masksam; + Eina_Bool bgra : 1; + Eina_Bool mask : 1; + Eina_Bool nomul : 1; + Eina_Bool afill : 1; +} _shaders_source[] = { + { SHADER_RECT, &(shader_rect_vert_src), &(shader_rect_frag_src), "rect", SHD_RECT, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_RECT_MASK, &(shader_rect_mask_vert_src), &(shader_rect_mask_frag_src), "rect_mask", SHD_RECT, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_RECT_MASK12, &(shader_rect_mask12_vert_src), &(shader_rect_mask12_frag_src), "rect_mask12", SHD_RECT, SHD_SAM11, SHD_SAM12, 0, 1, 0, 0 }, + { SHADER_RECT_MASK21, &(shader_rect_mask21_vert_src), &(shader_rect_mask21_frag_src), "rect_mask21", SHD_RECT, SHD_SAM11, SHD_SAM21, 0, 1, 0, 0 }, + { SHADER_RECT_MASK22, &(shader_rect_mask22_vert_src), &(shader_rect_mask22_frag_src), "rect_mask22", SHD_RECT, SHD_SAM11, SHD_SAM22, 0, 1, 0, 0 }, + { SHADER_FONT, &(shader_font_vert_src), &(shader_font_frag_src), "font", SHD_FONT, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_FONT_MASK, &(shader_font_mask_vert_src), &(shader_font_mask_frag_src), "font_mask", SHD_FONT, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_FONT_MASK12, &(shader_font_mask12_vert_src), &(shader_font_mask12_frag_src), "font_mask12", SHD_FONT, SHD_SAM11, SHD_SAM12, 0, 1, 0, 0 }, + { SHADER_FONT_MASK21, &(shader_font_mask21_vert_src), &(shader_font_mask21_frag_src), "font_mask21", SHD_FONT, SHD_SAM11, SHD_SAM21, 0, 1, 0, 0 }, + { SHADER_FONT_MASK22, &(shader_font_mask22_vert_src), &(shader_font_mask22_frag_src), "font_mask22", SHD_FONT, SHD_SAM11, SHD_SAM22, 0, 1, 0, 0 }, + { SHADER_IMG, &(shader_img_vert_src), &(shader_img_frag_src), "img", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_IMG_BGRA, &(shader_img_bgra_vert_src), &(shader_img_bgra_frag_src), "img_bgra", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 1, 0, 0, 0 }, + { SHADER_IMG_12, &(shader_img_12_vert_src), &(shader_img_12_frag_src), "img_12", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_IMG_21, &(shader_img_21_vert_src), &(shader_img_21_frag_src), "img_21", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_IMG_22, &(shader_img_22_vert_src), &(shader_img_22_frag_src), "img_22", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_IMG_12_BGRA, &(shader_img_12_bgra_vert_src), &(shader_img_12_bgra_frag_src), "img_12_bgra", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 1, 0, 0, 0 }, + { SHADER_IMG_21_BGRA, &(shader_img_21_bgra_vert_src), &(shader_img_21_bgra_frag_src), "img_21_bgra", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 1, 0, 0, 0 }, + { SHADER_IMG_22_BGRA, &(shader_img_22_bgra_vert_src), &(shader_img_22_bgra_frag_src), "img_22_bgra", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 1, 0, 0, 0 }, + { SHADER_IMG_MASK, &(shader_img_mask_vert_src), &(shader_img_mask_frag_src), "img_mask", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_IMG_BGRA_MASK, &(shader_img_bgra_mask_vert_src), &(shader_img_bgra_mask_frag_src), "img_bgra_mask", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 1, 1, 0, 0 }, + { SHADER_IMG_12_MASK, &(shader_img_12_mask_vert_src), &(shader_img_12_mask_frag_src), "img_12_mask", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_IMG_21_MASK, &(shader_img_21_mask_vert_src), &(shader_img_21_mask_frag_src), "img_21_mask", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_IMG_22_MASK, &(shader_img_22_mask_vert_src), &(shader_img_22_mask_frag_src), "img_22_mask", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_IMG_12_BGRA_MASK, &(shader_img_12_bgra_mask_vert_src), &(shader_img_12_bgra_mask_frag_src), "img_12_bgra_mask", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 1, 1, 0, 0 }, + { SHADER_IMG_21_BGRA_MASK, &(shader_img_21_bgra_mask_vert_src), &(shader_img_21_bgra_mask_frag_src), "img_21_bgra_mask", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 1, 1, 0, 0 }, + { SHADER_IMG_22_BGRA_MASK, &(shader_img_22_bgra_mask_vert_src), &(shader_img_22_bgra_mask_frag_src), "img_22_bgra_mask", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 1, 1, 0, 0 }, + { SHADER_IMG_NOMUL, &(shader_img_nomul_vert_src), &(shader_img_nomul_frag_src), "img_nomul", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_IMG_BGRA_NOMUL, &(shader_img_bgra_nomul_vert_src), &(shader_img_bgra_nomul_frag_src), "img_bgra_nomul", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 1, 0, 1, 0 }, + { SHADER_IMG_12_NOMUL, &(shader_img_12_nomul_vert_src), &(shader_img_12_nomul_frag_src), "img_12_nomul", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_IMG_21_NOMUL, &(shader_img_21_nomul_vert_src), &(shader_img_21_nomul_frag_src), "img_21_nomul", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_IMG_22_NOMUL, &(shader_img_22_nomul_vert_src), &(shader_img_22_nomul_frag_src), "img_22_nomul", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_IMG_12_BGRA_NOMUL, &(shader_img_12_bgra_nomul_vert_src), &(shader_img_12_bgra_nomul_frag_src), "img_12_bgra_nomul", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 1, 0, 1, 0 }, + { SHADER_IMG_21_BGRA_NOMUL, &(shader_img_21_bgra_nomul_vert_src), &(shader_img_21_bgra_nomul_frag_src), "img_21_bgra_nomul", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 1, 0, 1, 0 }, + { SHADER_IMG_22_BGRA_NOMUL, &(shader_img_22_bgra_nomul_vert_src), &(shader_img_22_bgra_nomul_frag_src), "img_22_bgra_nomul", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 1, 0, 1, 0 }, + { SHADER_IMG_MASK_NOMUL, &(shader_img_mask_nomul_vert_src), &(shader_img_mask_nomul_frag_src), "img_mask_nomul", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_IMG_BGRA_MASK_NOMUL, &(shader_img_bgra_mask_nomul_vert_src), &(shader_img_bgra_mask_nomul_frag_src), "img_bgra_mask_nomul", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 1, 1, 1, 0 }, + { SHADER_IMG_12_MASK_NOMUL, &(shader_img_12_mask_nomul_vert_src), &(shader_img_12_mask_nomul_frag_src), "img_12_mask_nomul", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_IMG_21_MASK_NOMUL, &(shader_img_21_mask_nomul_vert_src), &(shader_img_21_mask_nomul_frag_src), "img_21_mask_nomul", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_IMG_22_MASK_NOMUL, &(shader_img_22_mask_nomul_vert_src), &(shader_img_22_mask_nomul_frag_src), "img_22_mask_nomul", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_IMG_12_BGRA_MASK_NOMUL, &(shader_img_12_bgra_mask_nomul_vert_src), &(shader_img_12_bgra_mask_nomul_frag_src), "img_12_bgra_mask_nomul", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 1, 1, 1, 0 }, + { SHADER_IMG_21_BGRA_MASK_NOMUL, &(shader_img_21_bgra_mask_nomul_vert_src), &(shader_img_21_bgra_mask_nomul_frag_src), "img_21_bgra_mask_nomul", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 1, 1, 1, 0 }, + { SHADER_IMG_22_BGRA_MASK_NOMUL, &(shader_img_22_bgra_mask_nomul_vert_src), &(shader_img_22_bgra_mask_nomul_frag_src), "img_22_bgra_mask_nomul", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 1, 1, 1, 0 }, + { SHADER_IMG_MASK12, &(shader_img_mask12_vert_src), &(shader_img_mask12_frag_src), "img_mask12", SHD_IMAGE, SHD_SAM11, SHD_SAM12, 0, 1, 0, 0 }, + { SHADER_IMG_BGRA_MASK12, &(shader_img_bgra_mask12_vert_src), &(shader_img_bgra_mask12_frag_src), "img_bgra_mask12", SHD_IMAGE, SHD_SAM11, SHD_SAM12, 1, 1, 0, 0 }, + { SHADER_IMG_12_MASK12, &(shader_img_12_mask12_vert_src), &(shader_img_12_mask12_frag_src), "img_12_mask12", SHD_IMAGE, SHD_SAM12, SHD_SAM12, 0, 1, 0, 0 }, + { SHADER_IMG_21_MASK12, &(shader_img_21_mask12_vert_src), &(shader_img_21_mask12_frag_src), "img_21_mask12", SHD_IMAGE, SHD_SAM21, SHD_SAM12, 0, 1, 0, 0 }, + { SHADER_IMG_22_MASK12, &(shader_img_22_mask12_vert_src), &(shader_img_22_mask12_frag_src), "img_22_mask12", SHD_IMAGE, SHD_SAM22, SHD_SAM12, 0, 1, 0, 0 }, + { SHADER_IMG_12_BGRA_MASK12, &(shader_img_12_bgra_mask12_vert_src), &(shader_img_12_bgra_mask12_frag_src), "img_12_bgra_mask12", SHD_IMAGE, SHD_SAM12, SHD_SAM12, 1, 1, 0, 0 }, + { SHADER_IMG_21_BGRA_MASK12, &(shader_img_21_bgra_mask12_vert_src), &(shader_img_21_bgra_mask12_frag_src), "img_21_bgra_mask12", SHD_IMAGE, SHD_SAM21, SHD_SAM12, 1, 1, 0, 0 }, + { SHADER_IMG_22_BGRA_MASK12, &(shader_img_22_bgra_mask12_vert_src), &(shader_img_22_bgra_mask12_frag_src), "img_22_bgra_mask12", SHD_IMAGE, SHD_SAM22, SHD_SAM12, 1, 1, 0, 0 }, + { SHADER_IMG_MASK12_NOMUL, &(shader_img_mask12_nomul_vert_src), &(shader_img_mask12_nomul_frag_src), "img_mask12_nomul", SHD_IMAGE, SHD_SAM11, SHD_SAM12, 0, 1, 1, 0 }, + { SHADER_IMG_BGRA_MASK12_NOMUL, &(shader_img_bgra_mask12_nomul_vert_src), &(shader_img_bgra_mask12_nomul_frag_src), "img_bgra_mask12_nomul", SHD_IMAGE, SHD_SAM11, SHD_SAM12, 1, 1, 1, 0 }, + { SHADER_IMG_12_MASK12_NOMUL, &(shader_img_12_mask12_nomul_vert_src), &(shader_img_12_mask12_nomul_frag_src), "img_12_mask12_nomul", SHD_IMAGE, SHD_SAM12, SHD_SAM12, 0, 1, 1, 0 }, + { SHADER_IMG_21_MASK12_NOMUL, &(shader_img_21_mask12_nomul_vert_src), &(shader_img_21_mask12_nomul_frag_src), "img_21_mask12_nomul", SHD_IMAGE, SHD_SAM21, SHD_SAM12, 0, 1, 1, 0 }, + { SHADER_IMG_22_MASK12_NOMUL, &(shader_img_22_mask12_nomul_vert_src), &(shader_img_22_mask12_nomul_frag_src), "img_22_mask12_nomul", SHD_IMAGE, SHD_SAM22, SHD_SAM12, 0, 1, 1, 0 }, + { SHADER_IMG_12_BGRA_MASK12_NOMUL, &(shader_img_12_bgra_mask12_nomul_vert_src), &(shader_img_12_bgra_mask12_nomul_frag_src), "img_12_bgra_mask12_nomul", SHD_IMAGE, SHD_SAM12, SHD_SAM12, 1, 1, 1, 0 }, + { SHADER_IMG_21_BGRA_MASK12_NOMUL, &(shader_img_21_bgra_mask12_nomul_vert_src), &(shader_img_21_bgra_mask12_nomul_frag_src), "img_21_bgra_mask12_nomul", SHD_IMAGE, SHD_SAM21, SHD_SAM12, 1, 1, 1, 0 }, + { SHADER_IMG_22_BGRA_MASK12_NOMUL, &(shader_img_22_bgra_mask12_nomul_vert_src), &(shader_img_22_bgra_mask12_nomul_frag_src), "img_22_bgra_mask12_nomul", SHD_IMAGE, SHD_SAM22, SHD_SAM12, 1, 1, 1, 0 }, + { SHADER_IMG_MASK21, &(shader_img_mask21_vert_src), &(shader_img_mask21_frag_src), "img_mask21", SHD_IMAGE, SHD_SAM11, SHD_SAM21, 0, 1, 0, 0 }, + { SHADER_IMG_BGRA_MASK21, &(shader_img_bgra_mask21_vert_src), &(shader_img_bgra_mask21_frag_src), "img_bgra_mask21", SHD_IMAGE, SHD_SAM11, SHD_SAM21, 1, 1, 0, 0 }, + { SHADER_IMG_12_MASK21, &(shader_img_12_mask21_vert_src), &(shader_img_12_mask21_frag_src), "img_12_mask21", SHD_IMAGE, SHD_SAM12, SHD_SAM21, 0, 1, 0, 0 }, + { SHADER_IMG_21_MASK21, &(shader_img_21_mask21_vert_src), &(shader_img_21_mask21_frag_src), "img_21_mask21", SHD_IMAGE, SHD_SAM21, SHD_SAM21, 0, 1, 0, 0 }, + { SHADER_IMG_22_MASK21, &(shader_img_22_mask21_vert_src), &(shader_img_22_mask21_frag_src), "img_22_mask21", SHD_IMAGE, SHD_SAM22, SHD_SAM21, 0, 1, 0, 0 }, + { SHADER_IMG_12_BGRA_MASK21, &(shader_img_12_bgra_mask21_vert_src), &(shader_img_12_bgra_mask21_frag_src), "img_12_bgra_mask21", SHD_IMAGE, SHD_SAM12, SHD_SAM21, 1, 1, 0, 0 }, + { SHADER_IMG_21_BGRA_MASK21, &(shader_img_21_bgra_mask21_vert_src), &(shader_img_21_bgra_mask21_frag_src), "img_21_bgra_mask21", SHD_IMAGE, SHD_SAM21, SHD_SAM21, 1, 1, 0, 0 }, + { SHADER_IMG_22_BGRA_MASK21, &(shader_img_22_bgra_mask21_vert_src), &(shader_img_22_bgra_mask21_frag_src), "img_22_bgra_mask21", SHD_IMAGE, SHD_SAM22, SHD_SAM21, 1, 1, 0, 0 }, + { SHADER_IMG_MASK21_NOMUL, &(shader_img_mask21_nomul_vert_src), &(shader_img_mask21_nomul_frag_src), "img_mask21_nomul", SHD_IMAGE, SHD_SAM11, SHD_SAM21, 0, 1, 1, 0 }, + { SHADER_IMG_BGRA_MASK21_NOMUL, &(shader_img_bgra_mask21_nomul_vert_src), &(shader_img_bgra_mask21_nomul_frag_src), "img_bgra_mask21_nomul", SHD_IMAGE, SHD_SAM11, SHD_SAM21, 1, 1, 1, 0 }, + { SHADER_IMG_12_MASK21_NOMUL, &(shader_img_12_mask21_nomul_vert_src), &(shader_img_12_mask21_nomul_frag_src), "img_12_mask21_nomul", SHD_IMAGE, SHD_SAM12, SHD_SAM21, 0, 1, 1, 0 }, + { SHADER_IMG_21_MASK21_NOMUL, &(shader_img_21_mask21_nomul_vert_src), &(shader_img_21_mask21_nomul_frag_src), "img_21_mask21_nomul", SHD_IMAGE, SHD_SAM21, SHD_SAM21, 0, 1, 1, 0 }, + { SHADER_IMG_22_MASK21_NOMUL, &(shader_img_22_mask21_nomul_vert_src), &(shader_img_22_mask21_nomul_frag_src), "img_22_mask21_nomul", SHD_IMAGE, SHD_SAM22, SHD_SAM21, 0, 1, 1, 0 }, + { SHADER_IMG_12_BGRA_MASK21_NOMUL, &(shader_img_12_bgra_mask21_nomul_vert_src), &(shader_img_12_bgra_mask21_nomul_frag_src), "img_12_bgra_mask21_nomul", SHD_IMAGE, SHD_SAM12, SHD_SAM21, 1, 1, 1, 0 }, + { SHADER_IMG_21_BGRA_MASK21_NOMUL, &(shader_img_21_bgra_mask21_nomul_vert_src), &(shader_img_21_bgra_mask21_nomul_frag_src), "img_21_bgra_mask21_nomul", SHD_IMAGE, SHD_SAM21, SHD_SAM21, 1, 1, 1, 0 }, + { SHADER_IMG_22_BGRA_MASK21_NOMUL, &(shader_img_22_bgra_mask21_nomul_vert_src), &(shader_img_22_bgra_mask21_nomul_frag_src), "img_22_bgra_mask21_nomul", SHD_IMAGE, SHD_SAM22, SHD_SAM21, 1, 1, 1, 0 }, + { SHADER_IMG_MASK22, &(shader_img_mask22_vert_src), &(shader_img_mask22_frag_src), "img_mask22", SHD_IMAGE, SHD_SAM11, SHD_SAM22, 0, 1, 0, 0 }, + { SHADER_IMG_BGRA_MASK22, &(shader_img_bgra_mask22_vert_src), &(shader_img_bgra_mask22_frag_src), "img_bgra_mask22", SHD_IMAGE, SHD_SAM11, SHD_SAM22, 1, 1, 0, 0 }, + { SHADER_IMG_12_MASK22, &(shader_img_12_mask22_vert_src), &(shader_img_12_mask22_frag_src), "img_12_mask22", SHD_IMAGE, SHD_SAM12, SHD_SAM22, 0, 1, 0, 0 }, + { SHADER_IMG_21_MASK22, &(shader_img_21_mask22_vert_src), &(shader_img_21_mask22_frag_src), "img_21_mask22", SHD_IMAGE, SHD_SAM21, SHD_SAM22, 0, 1, 0, 0 }, + { SHADER_IMG_22_MASK22, &(shader_img_22_mask22_vert_src), &(shader_img_22_mask22_frag_src), "img_22_mask22", SHD_IMAGE, SHD_SAM22, SHD_SAM22, 0, 1, 0, 0 }, + { SHADER_IMG_12_BGRA_MASK22, &(shader_img_12_bgra_mask22_vert_src), &(shader_img_12_bgra_mask22_frag_src), "img_12_bgra_mask22", SHD_IMAGE, SHD_SAM12, SHD_SAM22, 1, 1, 0, 0 }, + { SHADER_IMG_21_BGRA_MASK22, &(shader_img_21_bgra_mask22_vert_src), &(shader_img_21_bgra_mask22_frag_src), "img_21_bgra_mask22", SHD_IMAGE, SHD_SAM21, SHD_SAM22, 1, 1, 0, 0 }, + { SHADER_IMG_22_BGRA_MASK22, &(shader_img_22_bgra_mask22_vert_src), &(shader_img_22_bgra_mask22_frag_src), "img_22_bgra_mask22", SHD_IMAGE, SHD_SAM22, SHD_SAM22, 1, 1, 0, 0 }, + { SHADER_IMG_MASK22_NOMUL, &(shader_img_mask22_nomul_vert_src), &(shader_img_mask22_nomul_frag_src), "img_mask22_nomul", SHD_IMAGE, SHD_SAM11, SHD_SAM22, 0, 1, 1, 0 }, + { SHADER_IMG_BGRA_MASK22_NOMUL, &(shader_img_bgra_mask22_nomul_vert_src), &(shader_img_bgra_mask22_nomul_frag_src), "img_bgra_mask22_nomul", SHD_IMAGE, SHD_SAM11, SHD_SAM22, 1, 1, 1, 0 }, + { SHADER_IMG_12_MASK22_NOMUL, &(shader_img_12_mask22_nomul_vert_src), &(shader_img_12_mask22_nomul_frag_src), "img_12_mask22_nomul", SHD_IMAGE, SHD_SAM12, SHD_SAM22, 0, 1, 1, 0 }, + { SHADER_IMG_21_MASK22_NOMUL, &(shader_img_21_mask22_nomul_vert_src), &(shader_img_21_mask22_nomul_frag_src), "img_21_mask22_nomul", SHD_IMAGE, SHD_SAM21, SHD_SAM22, 0, 1, 1, 0 }, + { SHADER_IMG_22_MASK22_NOMUL, &(shader_img_22_mask22_nomul_vert_src), &(shader_img_22_mask22_nomul_frag_src), "img_22_mask22_nomul", SHD_IMAGE, SHD_SAM22, SHD_SAM22, 0, 1, 1, 0 }, + { SHADER_IMG_12_BGRA_MASK22_NOMUL, &(shader_img_12_bgra_mask22_nomul_vert_src), &(shader_img_12_bgra_mask22_nomul_frag_src), "img_12_bgra_mask22_nomul", SHD_IMAGE, SHD_SAM12, SHD_SAM22, 1, 1, 1, 0 }, + { SHADER_IMG_21_BGRA_MASK22_NOMUL, &(shader_img_21_bgra_mask22_nomul_vert_src), &(shader_img_21_bgra_mask22_nomul_frag_src), "img_21_bgra_mask22_nomul", SHD_IMAGE, SHD_SAM21, SHD_SAM22, 1, 1, 1, 0 }, + { SHADER_IMG_22_BGRA_MASK22_NOMUL, &(shader_img_22_bgra_mask22_nomul_vert_src), &(shader_img_22_bgra_mask22_nomul_frag_src), "img_22_bgra_mask22_nomul", SHD_IMAGE, SHD_SAM22, SHD_SAM22, 1, 1, 1, 0 }, + { SHADER_IMG_AFILL, &(shader_img_afill_vert_src), &(shader_img_afill_frag_src), "img_afill", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 0, 0, 0, 1 }, + { SHADER_IMG_BGRA_AFILL, &(shader_img_bgra_afill_vert_src), &(shader_img_bgra_afill_frag_src), "img_bgra_afill", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 1, 0, 0, 1 }, + { SHADER_IMG_NOMUL_AFILL, &(shader_img_nomul_afill_vert_src), &(shader_img_nomul_afill_frag_src), "img_nomul_afill", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 0, 0, 1, 1 }, + { SHADER_IMG_BGRA_NOMUL_AFILL, &(shader_img_bgra_nomul_afill_vert_src), &(shader_img_bgra_nomul_afill_frag_src), "img_bgra_nomul_afill", SHD_IMAGE, SHD_SAM11, SHD_SAM11, 1, 0, 1, 1 }, + { SHADER_IMG_12_AFILL, &(shader_img_12_afill_vert_src), &(shader_img_12_afill_frag_src), "img_12_afill", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 0, 0, 0, 1 }, + { SHADER_IMG_21_AFILL, &(shader_img_21_afill_vert_src), &(shader_img_21_afill_frag_src), "img_21_afill", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 0, 0, 0, 1 }, + { SHADER_IMG_22_AFILL, &(shader_img_22_afill_vert_src), &(shader_img_22_afill_frag_src), "img_22_afill", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 0, 0, 0, 1 }, + { SHADER_IMG_12_BGRA_AFILL, &(shader_img_12_bgra_afill_vert_src), &(shader_img_12_bgra_afill_frag_src), "img_12_bgra_afill", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 1, 0, 0, 1 }, + { SHADER_IMG_21_BGRA_AFILL, &(shader_img_21_bgra_afill_vert_src), &(shader_img_21_bgra_afill_frag_src), "img_21_bgra_afill", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 1, 0, 0, 1 }, + { SHADER_IMG_22_BGRA_AFILL, &(shader_img_22_bgra_afill_vert_src), &(shader_img_22_bgra_afill_frag_src), "img_22_bgra_afill", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 1, 0, 0, 1 }, + { SHADER_IMG_12_NOMUL_AFILL, &(shader_img_12_nomul_afill_vert_src), &(shader_img_12_nomul_afill_frag_src), "img_12_nomul_afill", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 0, 0, 1, 1 }, + { SHADER_IMG_21_NOMUL_AFILL, &(shader_img_21_nomul_afill_vert_src), &(shader_img_21_nomul_afill_frag_src), "img_21_nomul_afill", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 0, 0, 1, 1 }, + { SHADER_IMG_22_NOMUL_AFILL, &(shader_img_22_nomul_afill_vert_src), &(shader_img_22_nomul_afill_frag_src), "img_22_nomul_afill", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 0, 0, 1, 1 }, + { SHADER_IMG_12_BGRA_NOMUL_AFILL, &(shader_img_12_bgra_nomul_afill_vert_src), &(shader_img_12_bgra_nomul_afill_frag_src), "img_12_bgra_nomul_afill", SHD_IMAGE, SHD_SAM12, SHD_SAM11, 1, 0, 1, 1 }, + { SHADER_IMG_21_BGRA_NOMUL_AFILL, &(shader_img_21_bgra_nomul_afill_vert_src), &(shader_img_21_bgra_nomul_afill_frag_src), "img_21_bgra_nomul_afill", SHD_IMAGE, SHD_SAM21, SHD_SAM11, 1, 0, 1, 1 }, + { SHADER_IMG_22_BGRA_NOMUL_AFILL, &(shader_img_22_bgra_nomul_afill_vert_src), &(shader_img_22_bgra_nomul_afill_frag_src), "img_22_bgra_nomul_afill", SHD_IMAGE, SHD_SAM22, SHD_SAM11, 1, 0, 1, 1 }, + { SHADER_RGB_A_PAIR, &(shader_rgb_a_pair_vert_src), &(shader_rgb_a_pair_frag_src), "rgb_a_pair", SHD_RGB_A_PAIR, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_RGB_A_PAIR_MASK, &(shader_rgb_a_pair_mask_vert_src), &(shader_rgb_a_pair_mask_frag_src), "rgb_a_pair_mask", SHD_RGB_A_PAIR, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_RGB_A_PAIR_NOMUL, &(shader_rgb_a_pair_nomul_vert_src), &(shader_rgb_a_pair_nomul_frag_src), "rgb_a_pair_nomul", SHD_RGB_A_PAIR, SHD_SAM11, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_RGB_A_PAIR_MASK_NOMUL, &(shader_rgb_a_pair_mask_nomul_vert_src), &(shader_rgb_a_pair_mask_nomul_frag_src), "rgb_a_pair_mask_nomul", SHD_RGB_A_PAIR, SHD_SAM11, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_TEX_EXTERNAL, &(shader_tex_external_vert_src), &(shader_tex_external_frag_src), "tex_external", SHD_TEX_EXTERNAL, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_TEX_EXTERNAL_AFILL, &(shader_tex_external_afill_vert_src), &(shader_tex_external_afill_frag_src), "tex_external_afill", SHD_TEX_EXTERNAL, SHD_SAM11, SHD_SAM11, 0, 0, 0, 1 }, + { SHADER_TEX_EXTERNAL_NOMUL, &(shader_tex_external_nomul_vert_src), &(shader_tex_external_nomul_frag_src), "tex_external_nomul", SHD_TEX_EXTERNAL, SHD_SAM11, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_TEX_EXTERNAL_NOMUL_AFILL, &(shader_tex_external_nomul_afill_vert_src), &(shader_tex_external_nomul_afill_frag_src), "tex_external_nomul_afill", SHD_TEX_EXTERNAL, SHD_SAM11, SHD_SAM11, 0, 0, 1, 1 }, + { SHADER_TEX_EXTERNAL_MASK, &(shader_tex_external_mask_vert_src), &(shader_tex_external_mask_frag_src), "tex_external_mask", SHD_TEX_EXTERNAL, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_TEX_EXTERNAL_MASK_NOMUL, &(shader_tex_external_mask_nomul_vert_src), &(shader_tex_external_mask_nomul_frag_src), "tex_external_mask_nomul", SHD_TEX_EXTERNAL, SHD_SAM11, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_YUV, &(shader_yuv_vert_src), &(shader_yuv_frag_src), "yuv", SHD_YUV, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_YUV_NOMUL, &(shader_yuv_nomul_vert_src), &(shader_yuv_nomul_frag_src), "yuv_nomul", SHD_YUV, SHD_SAM11, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_YUV_MASK, &(shader_yuv_mask_vert_src), &(shader_yuv_mask_frag_src), "yuv_mask", SHD_YUV, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_YUV_MASK_NOMUL, &(shader_yuv_mask_nomul_vert_src), &(shader_yuv_mask_nomul_frag_src), "yuv_mask_nomul", SHD_YUV, SHD_SAM11, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_YUY2, &(shader_yuy2_vert_src), &(shader_yuy2_frag_src), "yuy2", SHD_YUY2, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_YUY2_NOMUL, &(shader_yuy2_nomul_vert_src), &(shader_yuy2_nomul_frag_src), "yuy2_nomul", SHD_YUY2, SHD_SAM11, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_YUY2_MASK, &(shader_yuy2_mask_vert_src), &(shader_yuy2_mask_frag_src), "yuy2_mask", SHD_YUY2, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_YUY2_MASK_NOMUL, &(shader_yuy2_mask_nomul_vert_src), &(shader_yuy2_mask_nomul_frag_src), "yuy2_mask_nomul", SHD_YUY2, SHD_SAM11, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_NV12, &(shader_nv12_vert_src), &(shader_nv12_frag_src), "nv12", SHD_NV12, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_NV12_NOMUL, &(shader_nv12_nomul_vert_src), &(shader_nv12_nomul_frag_src), "nv12_nomul", SHD_NV12, SHD_SAM11, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_NV12_MASK, &(shader_nv12_mask_vert_src), &(shader_nv12_mask_frag_src), "nv12_mask", SHD_NV12, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_NV12_MASK_NOMUL, &(shader_nv12_mask_nomul_vert_src), &(shader_nv12_mask_nomul_frag_src), "nv12_mask_nomul", SHD_NV12, SHD_SAM11, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_YUV_709, &(shader_yuv_709_vert_src), &(shader_yuv_709_frag_src), "yuv_709", SHD_YUV, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_YUV_709_NOMUL, &(shader_yuv_709_nomul_vert_src), &(shader_yuv_709_nomul_frag_src), "yuv_709_nomul", SHD_YUV, SHD_SAM11, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_YUV_709_MASK, &(shader_yuv_709_mask_vert_src), &(shader_yuv_709_mask_frag_src), "yuv_709_mask", SHD_YUV, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_YUV_709_MASK_NOMUL, &(shader_yuv_709_mask_nomul_vert_src), &(shader_yuv_709_mask_nomul_frag_src), "yuv_709_mask_nomul", SHD_YUV, SHD_SAM11, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_YUY2_709, &(shader_yuy2_709_vert_src), &(shader_yuy2_709_frag_src), "yuy2_709", SHD_YUY2, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_YUY2_709_NOMUL, &(shader_yuy2_709_nomul_vert_src), &(shader_yuy2_709_nomul_frag_src), "yuy2_709_nomul", SHD_YUY2, SHD_SAM11, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_YUY2_709_MASK, &(shader_yuy2_709_mask_vert_src), &(shader_yuy2_709_mask_frag_src), "yuy2_709_mask", SHD_YUY2, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_YUY2_709_MASK_NOMUL, &(shader_yuy2_709_mask_nomul_vert_src), &(shader_yuy2_709_mask_nomul_frag_src), "yuy2_709_mask_nomul", SHD_YUY2, SHD_SAM11, SHD_SAM11, 0, 1, 1, 0 }, + { SHADER_NV12_709, &(shader_nv12_709_vert_src), &(shader_nv12_709_frag_src), "nv12_709", SHD_NV12, SHD_SAM11, SHD_SAM11, 0, 0, 0, 0 }, + { SHADER_NV12_709_NOMUL, &(shader_nv12_709_nomul_vert_src), &(shader_nv12_709_nomul_frag_src), "nv12_709_nomul", SHD_NV12, SHD_SAM11, SHD_SAM11, 0, 0, 1, 0 }, + { SHADER_NV12_709_MASK, &(shader_nv12_709_mask_vert_src), &(shader_nv12_709_mask_frag_src), "nv12_709_mask", SHD_NV12, SHD_SAM11, SHD_SAM11, 0, 1, 0, 0 }, + { SHADER_NV12_709_MASK_NOMUL, &(shader_nv12_709_mask_nomul_vert_src), &(shader_nv12_709_mask_nomul_frag_src), "nv12_709_mask_nomul", SHD_NV12, SHD_SAM11, SHD_SAM11, 0, 1, 1, 0 }, +}; + diff --git a/src/modules/evas/engines/gl_common/shader/fragment.glsl b/src/modules/evas/engines/gl_common/shader/fragment.glsl index bf2506d922..3d5b1a4b3c 100644 --- a/src/modules/evas/engines/gl_common/shader/fragment.glsl +++ b/src/modules/evas/engines/gl_common/shader/fragment.glsl @@ -66,9 +66,17 @@ varying vec2 masktex_s[4]; # define SWZ aaaa #else # ifndef SHD_BGRA -# define SWZ bgra +# ifdef BIGENDIAN +# define SWZ gbar +# else +# define SWZ bgra +#endif # else -# define SWZ rgba +# ifdef BIGENDIAN +# define SWZ grab +# else +# define SWZ rgba +# endif # endif #endif diff --git a/src/modules/evas/engines/gl_common/shader/gen_shaders.sh b/src/modules/evas/engines/gl_common/shader/gen_shaders.sh index ca27fc5824..db1cad4fbc 100755 --- a/src/modules/evas/engines/gl_common/shader/gen_shaders.sh +++ b/src/modules/evas/engines/gl_common/shader/gen_shaders.sh @@ -2,8 +2,9 @@ set -e +ENDIAN="$1" DIR=`dirname $0` -OUTPUT=${DIR}/evas_gl_shaders.x +OUTPUT=${DIR}/evas_gl_shaders"$1".x OUTPUT_ENUM=${DIR}/evas_gl_enum.x CPP="cpp -P" @@ -82,6 +83,7 @@ for (( i = 0; i < ${#SHADERS[@]} ; i++ )) ; do echo " SHADER $name" UNAME=`echo ${name} |tr "[:lower:]" "[:upper:]"` OPTS="" + if [[ "$1" == "_bigendian" ]] ; then OPTS="-DBIGENDIAN"; fi FGM=${FGM_HEADER} TYPE=`echo ${name} |cut -d '_' -f 1 |tr '[:lower:]' '[:upper:]'` bgra=0 |