aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/gl_common/shader
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/modules/engines/gl_common/shader')
-rwxr-xr-xlibraries/evas/src/modules/engines/gl_common/shader/compile-s3c6410.sh47
-rwxr-xr-xlibraries/evas/src/modules/engines/gl_common/shader/compile-sgx.sh48
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_blur.h24
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_blur.shd24
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra.h24
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra.shd24
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.h24
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.shd24
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_blur_nomul.h24
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_blur_nomul.shd24
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale.h15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale.shd15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra.h15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra.shd15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_nomul.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_nomul.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_invert.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_invert.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.h15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.shd15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_invert_nomul.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_invert_nomul.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_sepia.h20
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_sepia.shd20
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra.h20
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra.shd20
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.h18
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.shd18
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_nomul.h18
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_nomul.shd18
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/font_frag.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/font_frag.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/font_frag_bin_s3c6410.h9
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/font_frag_s3c6410.asm26
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/font_vert.h15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/font_vert.shd15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/font_vert_bin_s3c6410.h20
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag_bin_s3c6410.h11
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.h13
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.shd13
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag_bin_s3c6410.h10
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.h12
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.shd12
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert_bin_s3c6410.h17
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert.h15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert.shd15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert_bin_s3c6410.h20
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_frag.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_frag.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_frag_bin_s3c6410.h9
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_frag_s3c6410.asm26
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_mask_frag.h15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_mask_vert.h16
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag.h13
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag.shd13
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag_bin_s3c6410.h10
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert.h12
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert.shd12
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert_bin_s3c6410.h17
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_vert.h15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_vert.shd15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/img_vert_bin_s3c6410.h20
-rwxr-xr-xlibraries/evas/src/modules/engines/gl_common/shader/make-c-bin.sh3
-rwxr-xr-xlibraries/evas/src/modules/engines/gl_common/shader/make-c-str.sh3
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/nv12_frag.h31
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/nv12_frag.shd31
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.h31
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd31
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_vert.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_vert.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/nv12_vert.h16
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/nv12_vert.shd16
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/rect_frag.h13
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/rect_frag.shd13
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/rect_frag_bin_s3c6410.h6
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/rect_frag_s3c6410.asm24
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/rect_vert.h12
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/rect_vert.shd12
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/rect_vert_bin_s3c6410.h17
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_frag.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_frag.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_frag_bin_s3c6410.h9
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_frag_s3c6410.asm26
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag.h13
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag.shd13
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag_bin_s3c6410.h10
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert.h12
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert.shd12
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert_bin_s3c6410.h17
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_vert.h15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_vert.shd15
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/tex_vert_bin_s3c6410.h20
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h20
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd20
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_frag_bin_s3c6410.h24
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_frag_s3c6410.asm46
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h19
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd19
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag_bin_s3c6410.h23
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert.h14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert.shd14
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert_bin_s3c6410.h23
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_vert.h17
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_vert.shd17
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_vert_bin_s3c6410.h26
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuy2_frag.h30
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuy2_frag.shd30
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_frag.h30
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_frag.shd30
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_vert.h13
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_vert.shd13
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuy2_vert.h16
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuy2_vert.shd16
119 files changed, 2106 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/compile-s3c6410.sh b/libraries/evas/src/modules/engines/gl_common/shader/compile-s3c6410.sh
new file mode 100755
index 0000000..450e5de
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/compile-s3c6410.sh
@@ -0,0 +1,47 @@
1#!/bin/sh
2ORIONEXE=/home/raster/Data/orion/orion.exe
3OPTS="-O --nolodcalc -lp"
4
5function compile()
6{
7 F=$1
8
9 make-c-str.sh $F"_frag.shd" > $F"_frag.h"
10 if test -f $F"_frag_s3c6410.asm"; then
11 wine $ORIONEXE -a $OPTS -f $F"_frag_s3c6410.asm"
12 make-c-bin.sh $F"_frag_s3c6410.bin" > $F"_frag_bin_s3c6410.h"
13 rm -f $F"_frag_s3c6410.bin" $F"_frag_s3c6410.h"
14 else
15 wine $ORIONEXE $OPTS -f $F"_frag.shd"
16 make-c-bin.sh $F"_frag.shd.bin" > $F"_frag_bin_s3c6410.h"
17 rm -f $F"_frag.shd.bin" $F"_frag.shd.asm" $F"_frag.shd.h"
18 fi
19
20 make-c-str.sh $F"_vert.shd" > $F"_vert.h"
21 if test -f $F"_vert_s3c6410.asm"; then
22 wine $ORIONEXE -a $OPTS -v $F"_vert_s3c6410.asm"
23 make-c-bin.sh $F"_vert_s3c6410.bin" > $F"_vert_bin_s3c6410.h"
24 rm -f $F"_vert_s3c6410.bin" $F"_vert_s3c6410.h"
25 else
26 wine $ORIONEXE $OPTS -v $F"_vert.shd"
27 make-c-bin.sh $F"_vert.shd.bin" > $F"_vert_bin_s3c6410.h"
28 rm -f $F"_vert.shd.bin" $F"_vert.shd.asm" $F"_vert.shd.h"
29 fi
30}
31
32compile rect
33compile font
34compile img
35compile img_nomul
36compile img_bgra
37compile img_bgra_nomul
38compile img_mask
39compile yuv
40compile yuv_nomul
41compile tex
42compile tex_nomul
43compile nv12
44compile nv12_nomul
45compile yuy2
46compile yuy2_nomul
47## FIXME: compile filter_*
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/compile-sgx.sh b/libraries/evas/src/modules/engines/gl_common/shader/compile-sgx.sh
new file mode 100755
index 0000000..a96b58c
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/compile-sgx.sh
@@ -0,0 +1,48 @@
1#!/bin/bash
2function compile()
3{
4 F=$1
5
6 if [ -f $F".shd" ]; then
7 make-c-str.sh $F".shd" > $F".h"
8 fi
9 if [ -f $F"_frag.shd" ]; then
10 make-c-str.sh $F"_frag.shd" > $F"_frag.h"
11 fi
12 if [ -f $F"_vert.shd" ]; then
13 make-c-str.sh $F"_vert.shd" > $F"_vert.h"
14 fi
15}
16
17compile rect
18compile font
19compile img
20compile img_nomul
21compile img_bgra
22compile img_bgra_nomul
23compile img_mask
24compile yuv
25compile yuv_nomul
26compile tex
27compile tex_nomul
28compile filter_blur_bgra
29compile filter_blur_bgra_nomul
30compile filter_blur
31compile filter_blur_nomul
32compile filter_greyscale_bgra
33compile filter_greyscale_bgra_nomul
34compile filter_greyscale
35compile filter_greyscale_nomul
36compile filter_invert_bgra
37compile filter_invert_bgra_nomul
38compile filter_invert
39compile filter_invert_nomul
40compile filter_sepia_bgra
41compile filter_sepia_bgra_nomul
42compile filter_sepia
43compile filter_sepia_nomul
44compile nv12
45compile nv12_nomul
46compile yuy2
47compile yuy2_nomul
48
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_blur.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur.h
new file mode 100644
index 0000000..7c3a369
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur.h
@@ -0,0 +1,24 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"uniform sampler1D gaussian;\n"
10"varying vec4 col;\n"
11"varying vec2 tex_c;\n"
12"varying weight;\n"
13"uniform radius;\n"
14"void main()\n"
15"{\n"
16" int i;\n"
17" vec4 fc = vec4(0,0,0,0);\n"
18" \n"
19" for (i = 0 ; i < radius ; i ++){\n"
20" fc += texture2D(tex, tex_c.xy).rgba *\n"
21" texture1D(gaussian,i/radius).aaaa;\n"
22" }\n"
23" gl_FragColor = fc / 4 * col;\n"
24"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_blur.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur.shd
new file mode 100644
index 0000000..5f13a47
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur.shd
@@ -0,0 +1,24 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9uniform sampler1D gaussian;
10varying vec4 col;
11varying vec2 tex_c;
12varying weight;
13uniform radius;
14void main()
15{
16 int i;
17 vec4 fc = vec4(0,0,0,0);
18
19 for (i = 0 ; i < radius ; i ++){
20 fc += texture2D(tex, tex_c.xy).rgba *
21 texture1D(gaussian,i/radius).aaaa;
22 }
23 gl_FragColor = fc / 4 * col;
24}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra.h
new file mode 100644
index 0000000..0862e4f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra.h
@@ -0,0 +1,24 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"uniform sampler1D gaussian;\n"
10"varying vec4 col;\n"
11"varying vec2 tex_c;\n"
12"varying weight;\n"
13"uniform radius;\n"
14"void main()\n"
15"{\n"
16" int i;\n"
17" vec4 fc = vec4(0,0,0,0);\n"
18" \n"
19" for (i = 0 ; i < radius ; i ++){\n"
20" fc += texture2D(tex, tex_c.xy).rgba *\n"
21" texture1D(gaussian,i/radius).aaaa;\n"
22" }\n"
23" gl_FragColor = fc / 4;\n"
24"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra.shd
new file mode 100644
index 0000000..a9134df
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra.shd
@@ -0,0 +1,24 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9uniform sampler1D gaussian;
10varying vec4 col;
11varying vec2 tex_c;
12varying weight;
13uniform radius;
14void main()
15{
16 int i;
17 vec4 fc = vec4(0,0,0,0);
18
19 for (i = 0 ; i < radius ; i ++){
20 fc += texture2D(tex, tex_c.xy).rgba *
21 texture1D(gaussian,i/radius).aaaa;
22 }
23 gl_FragColor = fc / 4;
24}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.h
new file mode 100644
index 0000000..0862e4f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.h
@@ -0,0 +1,24 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"uniform sampler1D gaussian;\n"
10"varying vec4 col;\n"
11"varying vec2 tex_c;\n"
12"varying weight;\n"
13"uniform radius;\n"
14"void main()\n"
15"{\n"
16" int i;\n"
17" vec4 fc = vec4(0,0,0,0);\n"
18" \n"
19" for (i = 0 ; i < radius ; i ++){\n"
20" fc += texture2D(tex, tex_c.xy).rgba *\n"
21" texture1D(gaussian,i/radius).aaaa;\n"
22" }\n"
23" gl_FragColor = fc / 4;\n"
24"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.shd
new file mode 100644
index 0000000..a9134df
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.shd
@@ -0,0 +1,24 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9uniform sampler1D gaussian;
10varying vec4 col;
11varying vec2 tex_c;
12varying weight;
13uniform radius;
14void main()
15{
16 int i;
17 vec4 fc = vec4(0,0,0,0);
18
19 for (i = 0 ; i < radius ; i ++){
20 fc += texture2D(tex, tex_c.xy).rgba *
21 texture1D(gaussian,i/radius).aaaa;
22 }
23 gl_FragColor = fc / 4;
24}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_nomul.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_nomul.h
new file mode 100644
index 0000000..0862e4f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_nomul.h
@@ -0,0 +1,24 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"uniform sampler1D gaussian;\n"
10"varying vec4 col;\n"
11"varying vec2 tex_c;\n"
12"varying weight;\n"
13"uniform radius;\n"
14"void main()\n"
15"{\n"
16" int i;\n"
17" vec4 fc = vec4(0,0,0,0);\n"
18" \n"
19" for (i = 0 ; i < radius ; i ++){\n"
20" fc += texture2D(tex, tex_c.xy).rgba *\n"
21" texture1D(gaussian,i/radius).aaaa;\n"
22" }\n"
23" gl_FragColor = fc / 4;\n"
24"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_nomul.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_nomul.shd
new file mode 100644
index 0000000..a9134df
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_blur_nomul.shd
@@ -0,0 +1,24 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9uniform sampler1D gaussian;
10varying vec4 col;
11varying vec2 tex_c;
12varying weight;
13uniform radius;
14void main()
15{
16 int i;
17 vec4 fc = vec4(0,0,0,0);
18
19 for (i = 0 ; i < radius ; i ++){
20 fc += texture2D(tex, tex_c.xy).rgba *
21 texture1D(gaussian,i/radius).aaaa;
22 }
23 gl_FragColor = fc / 4;
24}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale.h
new file mode 100644
index 0000000..850538a
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale.h
@@ -0,0 +1,15 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" float inten = dot(texture2D(tex,tex_c.xy).agb,vec3(.3, .59, .11));\n"
14" gl_FragColor = vec4(inten, inten, inten, texture2D(tex,tex_c.xy).r) * col;\n"
15"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale.shd
new file mode 100644
index 0000000..78ecf08
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale.shd
@@ -0,0 +1,15 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 float inten = dot(texture2D(tex,tex_c.xy).agb,vec3(.3, .59, .11));
14 gl_FragColor = vec4(inten, inten, inten, texture2D(tex,tex_c.xy).r) * col;
15}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra.h
new file mode 100644
index 0000000..3caef35
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra.h
@@ -0,0 +1,15 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" float inten = dot(texture2D(tex,tex_c.xy).rgb,vec3(.3, .59, .11));\n"
14" gl_FragColor = vec4(inten, inten, inten, texture2D(tex,tex_c.xy).a) * col;\n"
15"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra.shd
new file mode 100644
index 0000000..5dca381
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra.shd
@@ -0,0 +1,15 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 float inten = dot(texture2D(tex,tex_c.xy).rgb,vec3(.3, .59, .11));
14 gl_FragColor = vec4(inten, inten, inten, texture2D(tex,tex_c.xy).a) * col;
15}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.h
new file mode 100644
index 0000000..4cb36a8
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec2 tex_c;\n"
10"void main()\n"
11"{\n"
12" float inten = dot(texture2D(tex,tex_c.xy).rgb,vec3(.3, .59, .11));\n"
13" gl_FragColor = vec4(inten, inten, inten, texture2D(tex,tex_c.xy).a);\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.shd
new file mode 100644
index 0000000..a077eea
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec2 tex_c;
10void main()
11{
12 float inten = dot(texture2D(tex,tex_c.xy).rgb,vec3(.3, .59, .11));
13 gl_FragColor = vec4(inten, inten, inten, texture2D(tex,tex_c.xy).a);
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_nomul.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_nomul.h
new file mode 100644
index 0000000..f501a02
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_nomul.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec2 tex_c;\n"
10"void main()\n"
11"{\n"
12" float inten = dot(texture2D(tex,tex_c.xy).abg,vec3(.3, .59, .11));\n"
13" gl_FragColor = vec4(inten, inten, inten, texture2D(tex,tex_c.xy).r);\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_nomul.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_nomul.shd
new file mode 100644
index 0000000..b5b8ec6
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_greyscale_nomul.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec2 tex_c;
10void main()
11{
12 float inten = dot(texture2D(tex,tex_c.xy).abg,vec3(.3, .59, .11));
13 gl_FragColor = vec4(inten, inten, inten, texture2D(tex,tex_c.xy).r);
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_invert.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert.h
new file mode 100644
index 0000000..46373e0
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" gl_FragColor = (vec4(0, 1.0, 1.0, 1.0) - texture2D(tex, tex_c.xy).bgra)*col;\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_invert.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert.shd
new file mode 100644
index 0000000..a75b058
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 gl_FragColor = (vec4(0, 1.0, 1.0, 1.0) - texture2D(tex, tex_c.xy).bgra)*col;
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra.h
new file mode 100644
index 0000000..3e3011d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" gl_FragColor = (vec4(1.0, 1.0, 1.0, 1.0) - texture2D(tex, tex_c.xy))*col;\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra.shd
new file mode 100644
index 0000000..8d7df2d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 gl_FragColor = (vec4(1.0, 1.0, 1.0, 1.0) - texture2D(tex, tex_c.xy))*col;
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.h
new file mode 100644
index 0000000..b9f1e25
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.h
@@ -0,0 +1,15 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" vec3 inv = vec3(1.0, 1.0, 1.0) - texture2D(tex,tex_c.xy).rgb;\n"
14" gl_FragColor = vec4(inv.r, inv.g, inv.b, 1.0);\n"
15"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.shd
new file mode 100644
index 0000000..682acb2
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.shd
@@ -0,0 +1,15 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 vec3 inv = vec3(1.0, 1.0, 1.0) - texture2D(tex,tex_c.xy).rgb;
14 gl_FragColor = vec4(inv.r, inv.g, inv.b, 1.0);
15}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_nomul.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_nomul.h
new file mode 100644
index 0000000..46373e0
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_nomul.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" gl_FragColor = (vec4(0, 1.0, 1.0, 1.0) - texture2D(tex, tex_c.xy).bgra)*col;\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_nomul.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_nomul.shd
new file mode 100644
index 0000000..a75b058
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_invert_nomul.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 gl_FragColor = (vec4(0, 1.0, 1.0, 1.0) - texture2D(tex, tex_c.xy).bgra)*col;
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia.h
new file mode 100644
index 0000000..50fbf12
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia.h
@@ -0,0 +1,20 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" vec3 inp = texture2D(tex,tex_c.xy).abg;\n"
14" vec4 sep;\n"
15" sep.r = dot(inp, vec3(.393, .769, .189));\n"
16" sep.g = dot(inp, vec3(.349, .686, .168));\n"
17" sep.b = dot(inp, vec3(.272, .534, .131));\n"
18" sep.a = texture2D(tex,tex_c.xy).r;\n"
19" gl_FragColor = sep * col;\n"
20"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia.shd
new file mode 100644
index 0000000..027ecfb
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia.shd
@@ -0,0 +1,20 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 vec3 inp = texture2D(tex,tex_c.xy).abg;
14 vec4 sep;
15 sep.r = dot(inp, vec3(.393, .769, .189));
16 sep.g = dot(inp, vec3(.349, .686, .168));
17 sep.b = dot(inp, vec3(.272, .534, .131));
18 sep.a = texture2D(tex,tex_c.xy).r;
19 gl_FragColor = sep * col;
20}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra.h
new file mode 100644
index 0000000..41e4283
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra.h
@@ -0,0 +1,20 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" vec3 inp = texture2D(tex,tex_c.xy).rgb;\n"
14" vec4 sep;\n"
15" sep.r = dot(inp, vec3(.393, .769, .189));\n"
16" sep.g = dot(inp, vec3(.349, .686, .168));\n"
17" sep.b = dot(inp, vec3(.272, .534, .131));\n"
18" sep.a = texture2D(tex,tex_c.xy).a;\n"
19" gl_FragColor = sep * col;\n"
20"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra.shd
new file mode 100644
index 0000000..caed378
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra.shd
@@ -0,0 +1,20 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 vec3 inp = texture2D(tex,tex_c.xy).rgb;
14 vec4 sep;
15 sep.r = dot(inp, vec3(.393, .769, .189));
16 sep.g = dot(inp, vec3(.349, .686, .168));
17 sep.b = dot(inp, vec3(.272, .534, .131));
18 sep.a = texture2D(tex,tex_c.xy).a;
19 gl_FragColor = sep * col;
20}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.h
new file mode 100644
index 0000000..0c4fe1b
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.h
@@ -0,0 +1,18 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" vec3 inp = texture2D(tex,tex_c.xy).rgb;\n"
14" gl_FragColor.r = dot(inp, vec3(.393, .769, .189));\n"
15" gl_FragColor.g = dot(inp, vec3(.349, .686, .168));\n"
16" gl_FragColor.b = dot(inp, vec3(.272, .534, .131));\n"
17" gl_FragColor.a = texture2D(tex,tex_c.xy).a;\n"
18"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.shd
new file mode 100644
index 0000000..9c6c1d4
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.shd
@@ -0,0 +1,18 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 vec3 inp = texture2D(tex,tex_c.xy).rgb;
14 gl_FragColor.r = dot(inp, vec3(.393, .769, .189));
15 gl_FragColor.g = dot(inp, vec3(.349, .686, .168));
16 gl_FragColor.b = dot(inp, vec3(.272, .534, .131));
17 gl_FragColor.a = texture2D(tex,tex_c.xy).a;
18}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_nomul.h b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_nomul.h
new file mode 100644
index 0000000..23af9ec
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_nomul.h
@@ -0,0 +1,18 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" vec3 inp = texture2D(tex,tex_c.xy).abg;\n"
14" gl_FragColor.r = dot(inp, vec3(.393, .769, .189));\n"
15" gl_FragColor.g = dot(inp, vec3(.349, .686, .168));\n"
16" gl_FragColor.b = dot(inp, vec3(.272, .534, .131));\n"
17" gl_FragColor.a = texture2D(tex,tex_c.xy).r;\n"
18"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_nomul.shd b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_nomul.shd
new file mode 100644
index 0000000..f9871bd
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/filter_sepia_nomul.shd
@@ -0,0 +1,18 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 vec3 inp = texture2D(tex,tex_c.xy).abg;
14 gl_FragColor.r = dot(inp, vec3(.393, .769, .189));
15 gl_FragColor.g = dot(inp, vec3(.349, .686, .168));
16 gl_FragColor.b = dot(inp, vec3(.272, .534, .131));
17 gl_FragColor.a = texture2D(tex,tex_c.xy).r;
18}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/font_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/font_frag.h
new file mode 100644
index 0000000..f27dcdc
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/font_frag.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" gl_FragColor = texture2D(tex, tex_c.xy).aaaa * col;\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/font_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/font_frag.shd
new file mode 100644
index 0000000..a8eb9b7
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/font_frag.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 gl_FragColor = texture2D(tex, tex_c.xy).aaaa * col;
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/font_frag_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/font_frag_bin_s3c6410.h
new file mode 100644
index 0000000..daca692
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/font_frag_bin_s3c6410.h
@@ -0,0 +1,9 @@
10x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000003, 0x00000000,
20x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000001,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000e, 0x00000000,
40x00000000, 0x0000e407, 0x307820e4, 0x00000000, 0x01000000, 0x0100e400,
50x237a10ff, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
60x00000004, 0x00000003, 0x00000009, 0x00000000, 0x00000004, 0x00000008,
70x00000005, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000003,
80x0000000f, 0x00030005, 0x00000000, 0x00786574, 0x006c6f63, 0x5f786574,
90x00000063, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/font_frag_s3c6410.asm b/libraries/evas/src/modules/engines/gl_common/shader/font_frag_s3c6410.asm
new file mode 100644
index 0000000..4ed116f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/font_frag_s3c6410.asm
@@ -0,0 +1,26 @@
1#-------------------------------------------------
2# ORION - OpenGL ES 2.0 Shading Language Compiler
3# SAMSUNG INDIA SOFTWARE OPERATIONS PVT. LTD.
4# Compiler Version : v04.00.09
5# Release Date : 19.01.2009
6# FIMG VERSION : FIMGv1.5
7# Optimizer Options : -O --nolodcalc
8#-------------------------------------------------
9
10# hand optimised - removed useless ops
11
12ps_3_0
13
14fimg_version 0x01020000
15
16dcl_s2_tex s0
17dcl_f4_col v1.x
18dcl_f2_tex_c v0.x
19
20label start
21label main_
22texld r0.xyzw, v0.xyzw, s0 # tex=s0
23mul_sat oColor.xyzw, r0.wwww, v1.xyzw # gl_FragColor=oColor.xyzw, col=v1.xyzw
24label main_end
25ret
26# 4 instructions, 4 C regs, 1 R regs
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/font_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/font_vert.h
new file mode 100644
index 0000000..8921d9d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/font_vert.h
@@ -0,0 +1,15 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec4 color;\n"
6"attribute vec2 tex_coord;\n"
7"uniform mat4 mvp;\n"
8"varying vec4 col;\n"
9"varying vec2 tex_c;\n"
10"void main()\n"
11"{\n"
12" gl_Position = mvp * vertex;\n"
13" col = color;\n"
14" tex_c = tex_coord;\n"
15"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/font_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/font_vert.shd
new file mode 100644
index 0000000..606c297
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/font_vert.shd
@@ -0,0 +1,15 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec4 color;
6attribute vec2 tex_coord;
7uniform mat4 mvp;
8varying vec4 col;
9varying vec2 tex_c;
10void main()
11{
12 gl_Position = mvp * vertex;
13 col = color;
14 tex_c = tex_coord;
15}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/font_vert_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/font_vert_bin_s3c6410.h
new file mode 100644
index 0000000..1402448
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/font_vert_bin_s3c6410.h
@@ -0,0 +1,20 @@
10x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000007, 0x00000006,
20x00000000, 0x00000000, 0x00000003, 0x00000003, 0x00000001, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000031, 0x00000000,
40x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500,
50x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000,
60x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000,
70x20f801e4, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000,
80x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000,
90x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
100x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
110x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000c, 0x00000006,
130x00000009, 0x00000000, 0x00000000, 0x00000013, 0x00000005, 0x00000009,
140x00000000, 0x00000004, 0x00000019, 0x00000009, 0x00000003, 0x00000000,
150x00000008, 0x00000000, 0x0000000b, 0x00000009, 0x00010004, 0x00000000,
160x00000027, 0x00000003, 0x00000009, 0x00010004, 0x00000004, 0x0000002b,
170x00000005, 0x00000003, 0x00010004, 0x00000008, 0x00000023, 0x00000003,
180x0000000e, 0x00020001, 0x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69,
190x74726576, 0x63007865, 0x726f6c6f, 0x78657400, 0x6f6f635f, 0x6d006472,
200x63007076, 0x74006c6f, 0x635f7865, 0x00000000, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag.h
new file mode 100644
index 0000000..1ced5e0
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" gl_FragColor = texture2D(tex, tex_c.xy) * col;\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag.shd
new file mode 100644
index 0000000..2bc8d79
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 gl_FragColor = texture2D(tex, tex_c.xy) * col;
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag_bin_s3c6410.h
new file mode 100644
index 0000000..feb5bf5
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_frag_bin_s3c6410.h
@@ -0,0 +1,11 @@
10x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000004, 0x00000003,
20x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000001,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000e, 0x00000000,
40x00000000, 0x02025400, 0x23782050, 0x00000000, 0x00000000, 0x0100e407,
50x307820e4, 0x00000000, 0x01000000, 0x0100e400, 0x237a10e4, 0x00000000,
60x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000,
70x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
80x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000003,
90x00000009, 0x00000000, 0x00000004, 0x00000008, 0x00000005, 0x00000003,
100x00000000, 0x00000000, 0x00000000, 0x00000003, 0x0000000f, 0x00030005,
110x00000000, 0x00786574, 0x006c6f63, 0x5f786574, 0x00000063,
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.h
new file mode 100644
index 0000000..459611f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.h
@@ -0,0 +1,13 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec2 tex_c;\n"
10"void main()\n"
11"{\n"
12" gl_FragColor = texture2D(tex, tex_c.xy);\n"
13"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.shd
new file mode 100644
index 0000000..877df62
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.shd
@@ -0,0 +1,13 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec2 tex_c;
10void main()
11{
12 gl_FragColor = texture2D(tex, tex_c.xy);
13}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag_bin_s3c6410.h
new file mode 100644
index 0000000..b89eeb1
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_frag_bin_s3c6410.h
@@ -0,0 +1,10 @@
10x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000003, 0x00000003,
20x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000a, 0x00000000,
40x00000000, 0x02025400, 0x23782050, 0x00000000, 0x00000000, 0x0100e407,
50x307a10e4, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
60x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000,
70x3f800000, 0x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000,
80x00000004, 0x00000005, 0x00000003, 0x00000000, 0x00000000, 0x00000000,
90x00000003, 0x0000000f, 0x00030005, 0x00000000, 0x00786574, 0x5f786574,
100x00000063, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.h
new file mode 100644
index 0000000..13d5edd
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.h
@@ -0,0 +1,12 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec2 tex_coord;\n"
6"uniform mat4 mvp;\n"
7"varying vec2 tex_c;\n"
8"void main()\n"
9"{\n"
10" gl_Position = mvp * vertex;\n"
11" tex_c = tex_coord;\n"
12"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.shd
new file mode 100644
index 0000000..74f3207
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.shd
@@ -0,0 +1,12 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec2 tex_coord;
6uniform mat4 mvp;
7varying vec2 tex_c;
8void main()
9{
10 gl_Position = mvp * vertex;
11 tex_c = tex_coord;
12}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert_bin_s3c6410.h
new file mode 100644
index 0000000..314b5f3
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_nomul_vert_bin_s3c6410.h
@@ -0,0 +1,17 @@
10x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000006, 0x00000006,
20x00000000, 0x00000000, 0x00000002, 0x00000002, 0x00000001, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000027, 0x00000000,
40x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500,
50x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000,
60x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000,
70x20980154, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
80x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000,
90x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
100x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
110x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120x0000000c, 0x00000006, 0x00000009, 0x00000000, 0x00000000, 0x00000013,
130x00000009, 0x00000003, 0x00000000, 0x00000004, 0x00000000, 0x0000000b,
140x00000009, 0x00010004, 0x00000000, 0x00000021, 0x00000005, 0x00000003,
150x00010004, 0x00000004, 0x0000001d, 0x00000003, 0x0000000e, 0x00020001,
160x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69, 0x74726576, 0x74007865,
170x635f7865, 0x64726f6f, 0x70766d00, 0x78657400, 0x0000635f,
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert.h
new file mode 100644
index 0000000..8921d9d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert.h
@@ -0,0 +1,15 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec4 color;\n"
6"attribute vec2 tex_coord;\n"
7"uniform mat4 mvp;\n"
8"varying vec4 col;\n"
9"varying vec2 tex_c;\n"
10"void main()\n"
11"{\n"
12" gl_Position = mvp * vertex;\n"
13" col = color;\n"
14" tex_c = tex_coord;\n"
15"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert.shd
new file mode 100644
index 0000000..606c297
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert.shd
@@ -0,0 +1,15 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec4 color;
6attribute vec2 tex_coord;
7uniform mat4 mvp;
8varying vec4 col;
9varying vec2 tex_c;
10void main()
11{
12 gl_Position = mvp * vertex;
13 col = color;
14 tex_c = tex_coord;
15}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert_bin_s3c6410.h
new file mode 100644
index 0000000..1402448
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_bgra_vert_bin_s3c6410.h
@@ -0,0 +1,20 @@
10x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000007, 0x00000006,
20x00000000, 0x00000000, 0x00000003, 0x00000003, 0x00000001, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000031, 0x00000000,
40x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500,
50x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000,
60x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000,
70x20f801e4, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000,
80x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000,
90x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
100x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
110x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000c, 0x00000006,
130x00000009, 0x00000000, 0x00000000, 0x00000013, 0x00000005, 0x00000009,
140x00000000, 0x00000004, 0x00000019, 0x00000009, 0x00000003, 0x00000000,
150x00000008, 0x00000000, 0x0000000b, 0x00000009, 0x00010004, 0x00000000,
160x00000027, 0x00000003, 0x00000009, 0x00010004, 0x00000004, 0x0000002b,
170x00000005, 0x00000003, 0x00010004, 0x00000008, 0x00000023, 0x00000003,
180x0000000e, 0x00020001, 0x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69,
190x74726576, 0x63007865, 0x726f6c6f, 0x78657400, 0x6f6f635f, 0x6d006472,
200x63007076, 0x74006c6f, 0x635f7865, 0x00000000, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/img_frag.h
new file mode 100644
index 0000000..0a95502
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_frag.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" gl_FragColor = texture2D(tex, tex_c.xy).bgra * col;\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/img_frag.shd
new file mode 100644
index 0000000..9faa414
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_frag.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 gl_FragColor = texture2D(tex, tex_c.xy).bgra * col;
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_frag_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/img_frag_bin_s3c6410.h
new file mode 100644
index 0000000..3518e8d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_frag_bin_s3c6410.h
@@ -0,0 +1,9 @@
10x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000003, 0x00000000,
20x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000001,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000e, 0x00000000,
40x00000000, 0x0000e407, 0x307820e4, 0x00000000, 0x01000000, 0x0100e400,
50x237a10c6, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
60x00000004, 0x00000003, 0x00000009, 0x00000000, 0x00000004, 0x00000008,
70x00000005, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000003,
80x0000000f, 0x00030005, 0x00000000, 0x00786574, 0x006c6f63, 0x5f786574,
90x00000063, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_frag_s3c6410.asm b/libraries/evas/src/modules/engines/gl_common/shader/img_frag_s3c6410.asm
new file mode 100644
index 0000000..3716bce
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_frag_s3c6410.asm
@@ -0,0 +1,26 @@
1
2#-------------------------------------------------
3# ORION - OpenGL ES 2.0 Shading Language Compiler
4# SAMSUNG INDIA SOFTWARE OPERATIONS PVT. LTD.
5# Compiler Version : v04.00.09
6# Release Date : 19.01.2009
7# FIMG VERSION : FIMGv1.5
8# Optimizer Options : -O --nolodcalc
9#-------------------------------------------------
10
11# hand optimised - removed useless ops
12
13ps_3_0
14
15fimg_version 0x01020000
16
17dcl_s2_tex s0
18dcl_f4_col v1.x
19dcl_f2_tex_c v0.x
20
21label start
22label main_
23texld r0.xyzw, v0.xyzw, s0 # tex=s0
24mul_sat oColor.xyzw, r0.zyxw, v1.xyzw # gl_FragColor=oColor.xyzw, col=v1.xyzw
25label main_end
26ret
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_mask_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/img_mask_frag.h
new file mode 100644
index 0000000..1b28128
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_mask_frag.h
@@ -0,0 +1,15 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex, texm;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c, tex_cm;\n"
11"void main()\n"
12"{\n"
13" gl_FragColor = texture2D(texm, tex_cm.xy).aaaa * texture2D(tex, tex_c.xy).rgba * col;\n"
14"}\n"
15"\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_mask_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/img_mask_vert.h
new file mode 100644
index 0000000..7508c98
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_mask_vert.h
@@ -0,0 +1,16 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec4 color;\n"
6"attribute vec2 tex_coord, tex_coordm;\n"
7"uniform mat4 mvp;\n"
8"varying vec4 col;\n"
9"varying vec2 tex_c, tex_cm;\n"
10"void main()\n"
11"{\n"
12" gl_Position = mvp * vertex;\n"
13" col = color;\n"
14" tex_c = tex_coord;\n"
15" tex_cm = tex_coordm;\n"
16"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag.h
new file mode 100644
index 0000000..0343b34
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag.h
@@ -0,0 +1,13 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec2 tex_c;\n"
10"void main()\n"
11"{\n"
12" gl_FragColor = texture2D(tex, tex_c.xy).bgra;\n"
13"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag.shd
new file mode 100644
index 0000000..222d635
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag.shd
@@ -0,0 +1,13 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec2 tex_c;
10void main()
11{
12 gl_FragColor = texture2D(tex, tex_c.xy).bgra;
13}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag_bin_s3c6410.h
new file mode 100644
index 0000000..61662c8
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_frag_bin_s3c6410.h
@@ -0,0 +1,10 @@
10x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000003, 0x00000003,
20x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000a, 0x00000000,
40x00000000, 0x02025400, 0x23782050, 0x00000000, 0x00000000, 0x0100e407,
50x307a10c6, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
60x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000,
70x3f800000, 0x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000,
80x00000004, 0x00000005, 0x00000003, 0x00000000, 0x00000000, 0x00000000,
90x00000003, 0x0000000f, 0x00030005, 0x00000000, 0x00786574, 0x5f786574,
100x00000063, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert.h
new file mode 100644
index 0000000..13d5edd
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert.h
@@ -0,0 +1,12 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec2 tex_coord;\n"
6"uniform mat4 mvp;\n"
7"varying vec2 tex_c;\n"
8"void main()\n"
9"{\n"
10" gl_Position = mvp * vertex;\n"
11" tex_c = tex_coord;\n"
12"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert.shd
new file mode 100644
index 0000000..74f3207
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert.shd
@@ -0,0 +1,12 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec2 tex_coord;
6uniform mat4 mvp;
7varying vec2 tex_c;
8void main()
9{
10 gl_Position = mvp * vertex;
11 tex_c = tex_coord;
12}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert_bin_s3c6410.h
new file mode 100644
index 0000000..314b5f3
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_nomul_vert_bin_s3c6410.h
@@ -0,0 +1,17 @@
10x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000006, 0x00000006,
20x00000000, 0x00000000, 0x00000002, 0x00000002, 0x00000001, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000027, 0x00000000,
40x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500,
50x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000,
60x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000,
70x20980154, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
80x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000,
90x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
100x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
110x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120x0000000c, 0x00000006, 0x00000009, 0x00000000, 0x00000000, 0x00000013,
130x00000009, 0x00000003, 0x00000000, 0x00000004, 0x00000000, 0x0000000b,
140x00000009, 0x00010004, 0x00000000, 0x00000021, 0x00000005, 0x00000003,
150x00010004, 0x00000004, 0x0000001d, 0x00000003, 0x0000000e, 0x00020001,
160x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69, 0x74726576, 0x74007865,
170x635f7865, 0x64726f6f, 0x70766d00, 0x78657400, 0x0000635f,
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/img_vert.h
new file mode 100644
index 0000000..8921d9d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_vert.h
@@ -0,0 +1,15 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec4 color;\n"
6"attribute vec2 tex_coord;\n"
7"uniform mat4 mvp;\n"
8"varying vec4 col;\n"
9"varying vec2 tex_c;\n"
10"void main()\n"
11"{\n"
12" gl_Position = mvp * vertex;\n"
13" col = color;\n"
14" tex_c = tex_coord;\n"
15"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/img_vert.shd
new file mode 100644
index 0000000..606c297
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_vert.shd
@@ -0,0 +1,15 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec4 color;
6attribute vec2 tex_coord;
7uniform mat4 mvp;
8varying vec4 col;
9varying vec2 tex_c;
10void main()
11{
12 gl_Position = mvp * vertex;
13 col = color;
14 tex_c = tex_coord;
15}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/img_vert_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/img_vert_bin_s3c6410.h
new file mode 100644
index 0000000..1402448
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/img_vert_bin_s3c6410.h
@@ -0,0 +1,20 @@
10x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000007, 0x00000006,
20x00000000, 0x00000000, 0x00000003, 0x00000003, 0x00000001, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000031, 0x00000000,
40x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500,
50x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000,
60x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000,
70x20f801e4, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000,
80x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000,
90x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
100x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
110x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000c, 0x00000006,
130x00000009, 0x00000000, 0x00000000, 0x00000013, 0x00000005, 0x00000009,
140x00000000, 0x00000004, 0x00000019, 0x00000009, 0x00000003, 0x00000000,
150x00000008, 0x00000000, 0x0000000b, 0x00000009, 0x00010004, 0x00000000,
160x00000027, 0x00000003, 0x00000009, 0x00010004, 0x00000004, 0x0000002b,
170x00000005, 0x00000003, 0x00010004, 0x00000008, 0x00000023, 0x00000003,
180x0000000e, 0x00020001, 0x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69,
190x74726576, 0x63007865, 0x726f6c6f, 0x78657400, 0x6f6f635f, 0x6d006472,
200x63007076, 0x74006c6f, 0x635f7865, 0x00000000, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/make-c-bin.sh b/libraries/evas/src/modules/engines/gl_common/shader/make-c-bin.sh
new file mode 100755
index 0000000..2902df6
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/make-c-bin.sh
@@ -0,0 +1,3 @@
1#!/bin/sh
2od --width=4 -t x4 -v $1 | \
3awk '{ if (NF > 1) printf("0x%s, ", $2); L = L + 1; if (L > 5) { L = 0; printf("\n");}}'
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/make-c-str.sh b/libraries/evas/src/modules/engines/gl_common/shader/make-c-str.sh
new file mode 100755
index 0000000..fe7e80a
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/make-c-str.sh
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3awk '{printf("\"%s\\n\"\n", $0);}' $1
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/nv12_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/nv12_frag.h
new file mode 100644
index 0000000..fec4b23
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/nv12_frag.h
@@ -0,0 +1,31 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex, texuv;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c, tex_cuv;\n"
11"void main()\n"
12"{\n"
13" float y,u,v,vmu,r,g,b;\n"
14" y=texture2D(tex,tex_c).g;\n"
15" u=texture2D(texuv,tex_cuv).g;\n"
16" v=texture2D(texuv,tex_cuv).a;\n"
17"\n"
18" u=u-0.5;\n"
19" v=v-0.5;\n"
20" vmu=v*0.813+u*0.391;\n"
21" u=u*2.018;\n"
22" v=v*1.596;\n"
23" y=(y-0.062)*1.164;\n"
24"\n"
25" r=y+v;\n"
26" g=y-vmu;\n"
27" b=y+u;\n"
28"\n"
29" gl_FragColor=vec4(r,g,b,1.0) * col;\n"
30"}\n"
31"\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/nv12_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/nv12_frag.shd
new file mode 100644
index 0000000..34748fc
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/nv12_frag.shd
@@ -0,0 +1,31 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex, texuv;
9varying vec4 col;
10varying vec2 tex_c, tex_cuv;
11void main()
12{
13 float y,u,v,vmu,r,g,b;
14 y=texture2D(tex,tex_c).g;
15 u=texture2D(texuv,tex_cuv).g;
16 v=texture2D(texuv,tex_cuv).a;
17
18 u=u-0.5;
19 v=v-0.5;
20 vmu=v*0.813+u*0.391;
21 u=u*2.018;
22 v=v*1.596;
23 y=(y-0.062)*1.164;
24
25 r=y+v;
26 g=y-vmu;
27 b=y+u;
28
29 gl_FragColor=vec4(r,g,b,1.0) * col;
30}
31
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.h
new file mode 100644
index 0000000..df52d19
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.h
@@ -0,0 +1,31 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex, texuv;\n"
9"varying vec2 tex_c, tex_cuv;\n"
10"void main()\n"
11"{\n"
12" float y,u,v,vmu,r,g,b;\n"
13" y=texture2D(tex,tex_c).g;\n"
14" u=texture2D(texuv,tex_cuv).g;\n"
15" v=texture2D(texuv,tex_cuv).a;\n"
16"\n"
17" u=u-0.5;\n"
18" v=v-0.5;\n"
19" vmu=v*0.813+u*0.391;\n"
20" u=u*2.018;\n"
21" v=v*1.596;\n"
22" y=(y-0.062)*1.164;\n"
23"\n"
24" r=y+v;\n"
25" g=y-vmu;\n"
26" b=y+u;\n"
27"\n"
28" gl_FragColor=vec4(r,g,b,1.0);\n"
29"}\n"
30"\n"
31"\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd
new file mode 100644
index 0000000..6910933
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd
@@ -0,0 +1,31 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex, texuv;
9varying vec2 tex_c, tex_cuv;
10void main()
11{
12 float y,u,v,vmu,r,g,b;
13 y=texture2D(tex,tex_c).g;
14 u=texture2D(texuv,tex_cuv).g;
15 v=texture2D(texuv,tex_cuv).a;
16
17 u=u-0.5;
18 v=v-0.5;
19 vmu=v*0.813+u*0.391;
20 u=u*2.018;
21 v=v*1.596;
22 y=(y-0.062)*1.164;
23
24 r=y+v;
25 g=y-vmu;
26 b=y+u;
27
28 gl_FragColor=vec4(r,g,b,1.0);
29}
30
31
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_vert.h
new file mode 100644
index 0000000..6ff1040
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_vert.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec4 color;\n"
6"attribute vec2 tex_coord, tex_coord2;\n"
7"uniform mat4 mvp;\n"
8"varying vec2 tex_c, tex_cuv;\n"
9"void main()\n"
10"{\n"
11" gl_Position = mvp * vertex;\n"
12" tex_c = tex_coord;\n"
13" tex_cuv = tex_coord2 * 0.25;\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_vert.shd
new file mode 100644
index 0000000..994f5e6
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_vert.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec4 color;
6attribute vec2 tex_coord, tex_coord2;
7uniform mat4 mvp;
8varying vec2 tex_c, tex_cuv;
9void main()
10{
11 gl_Position = mvp * vertex;
12 tex_c = tex_coord;
13 tex_cuv = tex_coord2 * 0.25;
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/nv12_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/nv12_vert.h
new file mode 100644
index 0000000..38d6d9e
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/nv12_vert.h
@@ -0,0 +1,16 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec4 color;\n"
6"attribute vec2 tex_coord, tex_coord2;\n"
7"uniform mat4 mvp;\n"
8"varying vec4 col;\n"
9"varying vec2 tex_c, tex_cuv;\n"
10"void main()\n"
11"{\n"
12" gl_Position = mvp * vertex;\n"
13" col = color;\n"
14" tex_c = tex_coord;\n"
15" tex_cuv = tex_coord2 * 0.25;\n"
16"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/nv12_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/nv12_vert.shd
new file mode 100644
index 0000000..eb7cc36
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/nv12_vert.shd
@@ -0,0 +1,16 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec4 color;
6attribute vec2 tex_coord, tex_coord2;
7uniform mat4 mvp;
8varying vec4 col;
9varying vec2 tex_c, tex_cuv;
10void main()
11{
12 gl_Position = mvp * vertex;
13 col = color;
14 tex_c = tex_coord;
15 tex_cuv = tex_coord2 * 0.25;
16}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/rect_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/rect_frag.h
new file mode 100644
index 0000000..4a102a4
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/rect_frag.h
@@ -0,0 +1,13 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"void main()\n"
11"{\n"
12" gl_FragColor = col;\n"
13"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/rect_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/rect_frag.shd
new file mode 100644
index 0000000..02251ee
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/rect_frag.shd
@@ -0,0 +1,13 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10void main()
11{
12 gl_FragColor = col;
13}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/rect_frag_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/rect_frag_bin_s3c6410.h
new file mode 100644
index 0000000..ee94467
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/rect_frag_bin_s3c6410.h
@@ -0,0 +1,6 @@
10x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000002, 0x00000000,
20x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000000,
40x00000000, 0x00000000, 0x20fa10e4, 0x00000000, 0x00000000, 0x00000000,
50x1e000000, 0x00000000, 0x00000000, 0x00000003, 0x00000009, 0x00000000,
60x00000000, 0x006c6f63, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/rect_frag_s3c6410.asm b/libraries/evas/src/modules/engines/gl_common/shader/rect_frag_s3c6410.asm
new file mode 100644
index 0000000..24c47ac
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/rect_frag_s3c6410.asm
@@ -0,0 +1,24 @@
1
2#-------------------------------------------------
3# ORION - OpenGL ES 2.0 Shading Language Compiler
4# SAMSUNG INDIA SOFTWARE OPERATIONS PVT. LTD.
5# Compiler Version : v04.00.09
6# Release Date : 19.01.2009
7# FIMG VERSION : FIMGv1.5
8# Optimizer Options : -O --nolodcalc
9#-------------------------------------------------
10
11# hand optimised - removed useless ops
12
13ps_3_0
14
15fimg_version 0x01020000
16
17dcl_f4_col v0.x
18
19label start
20label main_
21label main_end
22mov_sat oColor.xyzw, v0.xyzw
23ret
24
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/rect_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/rect_vert.h
new file mode 100644
index 0000000..51d41aa
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/rect_vert.h
@@ -0,0 +1,12 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec4 color;\n"
6"uniform mat4 mvp;\n"
7"varying vec4 col;\n"
8"void main()\n"
9"{\n"
10" gl_Position = mvp * vertex;\n"
11" col = color;\n"
12"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/rect_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/rect_vert.shd
new file mode 100644
index 0000000..63fea5d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/rect_vert.shd
@@ -0,0 +1,12 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec4 color;
6uniform mat4 mvp;
7varying vec4 col;
8void main()
9{
10 gl_Position = mvp * vertex;
11 col = color;
12}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/rect_vert_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/rect_vert_bin_s3c6410.h
new file mode 100644
index 0000000..3130684
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/rect_vert_bin_s3c6410.h
@@ -0,0 +1,17 @@
10x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000006, 0x00000006,
20x00000000, 0x00000000, 0x00000002, 0x00000002, 0x00000001, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000021, 0x00000000,
40x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500,
50x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000,
60x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000,
70x20f801e4, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
80x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000,
90x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
100x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
110x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120x0000000c, 0x00000006, 0x00000009, 0x00000000, 0x00000000, 0x00000013,
130x00000005, 0x00000009, 0x00000000, 0x00000004, 0x00000000, 0x0000000b,
140x00000009, 0x00010004, 0x00000000, 0x0000001d, 0x00000003, 0x00000009,
150x00010004, 0x00000004, 0x00000019, 0x00000003, 0x0000000e, 0x00020001,
160x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69, 0x74726576, 0x63007865,
170x726f6c6f, 0x70766d00, 0x6c6f6300, 0x00000000, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/tex_frag.h
new file mode 100644
index 0000000..1ced5e0
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_frag.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c;\n"
11"void main()\n"
12"{\n"
13" gl_FragColor = texture2D(tex, tex_c.xy) * col;\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/tex_frag.shd
new file mode 100644
index 0000000..2bc8d79
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_frag.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec4 col;
10varying vec2 tex_c;
11void main()
12{
13 gl_FragColor = texture2D(tex, tex_c.xy) * col;
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_frag_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/tex_frag_bin_s3c6410.h
new file mode 100644
index 0000000..24af537
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_frag_bin_s3c6410.h
@@ -0,0 +1,9 @@
10x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000003, 0x00000000,
20x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000001,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000e, 0x00000000,
40x00000000, 0x0000e407, 0x307820e4, 0x00000000, 0x01000000, 0x0100e400,
50x237a10e4, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
60x00000004, 0x00000003, 0x00000009, 0x00000000, 0x00000004, 0x00000008,
70x00000005, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000003,
80x0000000f, 0x00030005, 0x00000000, 0x00786574, 0x006c6f63, 0x5f786574,
90x00000063, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_frag_s3c6410.asm b/libraries/evas/src/modules/engines/gl_common/shader/tex_frag_s3c6410.asm
new file mode 100644
index 0000000..14bbfa1
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_frag_s3c6410.asm
@@ -0,0 +1,26 @@
1
2#-------------------------------------------------
3# ORION - OpenGL ES 2.0 Shading Language Compiler
4# SAMSUNG INDIA SOFTWARE OPERATIONS PVT. LTD.
5# Compiler Version : v04.00.09
6# Release Date : 19.01.2009
7# FIMG VERSION : FIMGv1.5
8# Optimizer Options : -O --nolodcalc
9#-------------------------------------------------
10
11# hand optimised - removed useless ops
12
13ps_3_0
14
15fimg_version 0x01020000
16
17dcl_s2_tex s0
18dcl_f4_col v1.x
19dcl_f2_tex_c v0.x
20
21label start
22label main_
23texld r0.xyzw, v0.xyzw, s0 # tex=s0
24mul_sat oColor.xyzw, r0.xyzw, v1.xyzw # gl_FragColor=oColor.xyzw, col=v1.xyzw
25label main_end
26ret
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag.h
new file mode 100644
index 0000000..459611f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag.h
@@ -0,0 +1,13 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex;\n"
9"varying vec2 tex_c;\n"
10"void main()\n"
11"{\n"
12" gl_FragColor = texture2D(tex, tex_c.xy);\n"
13"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag.shd
new file mode 100644
index 0000000..877df62
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag.shd
@@ -0,0 +1,13 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex;
9varying vec2 tex_c;
10void main()
11{
12 gl_FragColor = texture2D(tex, tex_c.xy);
13}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag_bin_s3c6410.h
new file mode 100644
index 0000000..b89eeb1
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_frag_bin_s3c6410.h
@@ -0,0 +1,10 @@
10x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000003, 0x00000003,
20x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000a, 0x00000000,
40x00000000, 0x02025400, 0x23782050, 0x00000000, 0x00000000, 0x0100e407,
50x307a10e4, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
60x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000,
70x3f800000, 0x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000,
80x00000004, 0x00000005, 0x00000003, 0x00000000, 0x00000000, 0x00000000,
90x00000003, 0x0000000f, 0x00030005, 0x00000000, 0x00786574, 0x5f786574,
100x00000063, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert.h
new file mode 100644
index 0000000..13d5edd
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert.h
@@ -0,0 +1,12 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec2 tex_coord;\n"
6"uniform mat4 mvp;\n"
7"varying vec2 tex_c;\n"
8"void main()\n"
9"{\n"
10" gl_Position = mvp * vertex;\n"
11" tex_c = tex_coord;\n"
12"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert.shd
new file mode 100644
index 0000000..74f3207
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert.shd
@@ -0,0 +1,12 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec2 tex_coord;
6uniform mat4 mvp;
7varying vec2 tex_c;
8void main()
9{
10 gl_Position = mvp * vertex;
11 tex_c = tex_coord;
12}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert_bin_s3c6410.h
new file mode 100644
index 0000000..314b5f3
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_nomul_vert_bin_s3c6410.h
@@ -0,0 +1,17 @@
10x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000006, 0x00000006,
20x00000000, 0x00000000, 0x00000002, 0x00000002, 0x00000001, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000027, 0x00000000,
40x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500,
50x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000,
60x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000,
70x20980154, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
80x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000,
90x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
100x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
110x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120x0000000c, 0x00000006, 0x00000009, 0x00000000, 0x00000000, 0x00000013,
130x00000009, 0x00000003, 0x00000000, 0x00000004, 0x00000000, 0x0000000b,
140x00000009, 0x00010004, 0x00000000, 0x00000021, 0x00000005, 0x00000003,
150x00010004, 0x00000004, 0x0000001d, 0x00000003, 0x0000000e, 0x00020001,
160x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69, 0x74726576, 0x74007865,
170x635f7865, 0x64726f6f, 0x70766d00, 0x78657400, 0x0000635f,
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/tex_vert.h
new file mode 100644
index 0000000..8921d9d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_vert.h
@@ -0,0 +1,15 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec4 color;\n"
6"attribute vec2 tex_coord;\n"
7"uniform mat4 mvp;\n"
8"varying vec4 col;\n"
9"varying vec2 tex_c;\n"
10"void main()\n"
11"{\n"
12" gl_Position = mvp * vertex;\n"
13" col = color;\n"
14" tex_c = tex_coord;\n"
15"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/tex_vert.shd
new file mode 100644
index 0000000..606c297
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_vert.shd
@@ -0,0 +1,15 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec4 color;
6attribute vec2 tex_coord;
7uniform mat4 mvp;
8varying vec4 col;
9varying vec2 tex_c;
10void main()
11{
12 gl_Position = mvp * vertex;
13 col = color;
14 tex_c = tex_coord;
15}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/tex_vert_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/tex_vert_bin_s3c6410.h
new file mode 100644
index 0000000..1402448
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/tex_vert_bin_s3c6410.h
@@ -0,0 +1,20 @@
10x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000007, 0x00000006,
20x00000000, 0x00000000, 0x00000003, 0x00000003, 0x00000001, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000031, 0x00000000,
40x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500,
50x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000,
60x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000,
70x20f801e4, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000,
80x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000,
90x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
100x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
110x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000c, 0x00000006,
130x00000009, 0x00000000, 0x00000000, 0x00000013, 0x00000005, 0x00000009,
140x00000000, 0x00000004, 0x00000019, 0x00000009, 0x00000003, 0x00000000,
150x00000008, 0x00000000, 0x0000000b, 0x00000009, 0x00010004, 0x00000000,
160x00000027, 0x00000003, 0x00000009, 0x00010004, 0x00000004, 0x0000002b,
170x00000005, 0x00000003, 0x00010004, 0x00000008, 0x00000023, 0x00000003,
180x0000000e, 0x00020001, 0x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69,
190x74726576, 0x63007865, 0x726f6c6f, 0x78657400, 0x6f6f635f, 0x6d006472,
200x63007076, 0x74006c6f, 0x635f7865, 0x00000000, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h
new file mode 100644
index 0000000..de9acf8
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h
@@ -0,0 +1,20 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex, texu, texv;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c, tex_c2, tex_c3;\n"
11"void main()\n"
12"{\n"
13" const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000,\n"
14" 0.00000, -0.34410, 1.77200, 0.00000,\n"
15" 1.40200, -0.71410, 0.00000, 0.00000,\n"
16" -0.77380, 0.45630, -0.95880, 1.00000);\n"
17" gl_FragColor = (yuv2rgb * vec4(texture2D(tex, tex_c.xy).r,\n"
18" texture2D(texu, tex_c2.xy).r,\n"
19" texture2D(texv, tex_c3.xy).r, 1.0)) * col;\n"
20"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd
new file mode 100644
index 0000000..8e55d14
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd
@@ -0,0 +1,20 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex, texu, texv;
9varying vec4 col;
10varying vec2 tex_c, tex_c2, tex_c3;
11void main()
12{
13 const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000,
14 0.00000, -0.34410, 1.77200, 0.00000,
15 1.40200, -0.71410, 0.00000, 0.00000,
16 -0.77380, 0.45630, -0.95880, 1.00000);
17 gl_FragColor = (yuv2rgb * vec4(texture2D(tex, tex_c.xy).r,
18 texture2D(texu, tex_c2.xy).r,
19 texture2D(texv, tex_c3.xy).r, 1.0)) * col;
20}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag_bin_s3c6410.h
new file mode 100644
index 0000000..cd301dc
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag_bin_s3c6410.h
@@ -0,0 +1,24 @@
10x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x0000000d, 0x00000007,
20x00000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000003,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000026, 0x00000000,
40x00000000, 0x02065400, 0x23782050, 0x00000000, 0x00000000, 0x0100e407,
50x307820e4, 0x00000000, 0x01000000, 0x02065400, 0x23782150, 0x00000000,
60x01000000, 0x0101e407, 0x307821e4, 0x00000000, 0x02000000, 0x02065400,
70x23782250, 0x00000000, 0x02000000, 0x0102e407, 0x307822e4, 0x00000000,
80x00000000, 0x02020001, 0x237823e4, 0x00000000, 0x01e40103, 0x02030001,
90x2ef823e4, 0x00000000, 0x02e40103, 0x02040001, 0x2ef823e4, 0x00000000,
100x00000000, 0x02050000, 0x20f824e4, 0x00000000, 0x06e40103, 0x01040002,
110x2ef823e4, 0x00000000, 0x03000000, 0x0103e400, 0x237a10e4, 0x00000000,
120x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000,
130x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
140x3f94fdf4, 0x3f94fdf4, 0x3f94fdf4, 0x00000000, 0x00000000, 0xbeb02de0,
150x3fe2d0e5, 0x00000000, 0x3fb374bc, 0xbf36cf42, 0x00000000, 0x00000000,
160xbf4617c2, 0x3ee9a027, 0xbf7573eb, 0x3f800000, 0x3f800000, 0x00000000,
170x00000000, 0x00000000, 0x0000000e, 0x00000003, 0x00000009, 0x00000000,
180x0000000c, 0x00000012, 0x00000005, 0x00000003, 0x00000000, 0x00000000,
190x00000018, 0x00000006, 0x00000003, 0x00000000, 0x00000004, 0x0000001f,
200x00000006, 0x00000003, 0x00000000, 0x00000008, 0x00000000, 0x00000003,
210x0000000f, 0x00030005, 0x00000000, 0x00000004, 0x00000004, 0x0000000f,
220x00030005, 0x00000004, 0x00000009, 0x00000004, 0x0000000f, 0x00030005,
230x00000008, 0x00786574, 0x75786574, 0x78657400, 0x6f630076, 0x6574006c,
240x00635f78, 0x5f786574, 0x74003263, 0x635f7865, 0x00000033,
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag_s3c6410.asm b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag_s3c6410.asm
new file mode 100644
index 0000000..9a10bf0
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag_s3c6410.asm
@@ -0,0 +1,46 @@
1
2#-------------------------------------------------
3# ORION - OpenGL ES 2.0 Shading Language Compiler
4# SAMSUNG INDIA SOFTWARE OPERATIONS PVT. LTD.
5# Compiler Version : v04.00.09
6# Release Date : 19.01.2009
7# FIMG VERSION : FIMGv1.5
8# Optimizer Options : -O --nolodcalc
9#-------------------------------------------------
10
11# hand optimised - removed useless ops
12
13ps_3_0
14
15fimg_version 0x01020000
16
17dcl_s2_tex s0
18dcl_s2_texu s1
19dcl_s2_texv s2
20dcl_f4_col v3.x
21dcl_f2_tex_c v0.x
22dcl_f2_tex_c2 v1.x
23dcl_f2_tex_c3 v2.x
24
25def c2, 1.164000, 1.164000, 1.164000, 0.000000
26def c3, 0.000000, -0.344100, 1.772000, 0.000000
27def c4, 1.402000, -0.714100, 0.000000, 0.000000
28def c5, -0.773800, 0.456300, -0.958800, 1.000000
29def c6, 1.000000, 0.000000, 0.000000, 0.000000
30
31label start
32label main_
33mul r0.xyzw, c6.xxyy, v0.xyyy # tex_c=v0.xyyy
34texld r0.xyzw, r0.xyzw, s0 # tex=s0
35mul r1.xyzw, c6.xxyy, v1.xyyy # tex_c2=v1.xyyy
36texld r1.xyzw, r1.xyzw, s1 # texu=s1
37mul r2.xyzw, c6.xxyy, v2.xyyy # tex_c3=v2.xyyy
38texld r2.xyzw, r2.xyzw, s2 # texv=s2
39mul r3.xyzw, c2.xyzw, r0.xxxx # yuv=r0.xxxx
40mad r3.xyzw, c3.xyzw, r1.xxxx, r3.xyzw # yuv=r1.xxxx
41mad r3.xyzw, c4.xyzw, r2.xxxx, r3.xyzw # yuv=r2.xxxx
42mov r4.xyzw, c5.xyzw
43mad r3.xyzw, r4.xyzw, c6.xxxx, r3.xyzw # yuv=c6.xxxx
44mul_sat oColor.xyzw, r3.xyzw, v3.xyzw # gl_FragColor=oColor.xyzw, col=v3.xyzw
45label main_end
46ret
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h
new file mode 100644
index 0000000..ee5855c
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h
@@ -0,0 +1,19 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex, texu, texv;\n"
9"varying vec2 tex_c, tex_c2, tex_c3;\n"
10"void main()\n"
11"{\n"
12" const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000,\n"
13" 0.00000, -0.34410, 1.77200, 0.00000,\n"
14" 1.40200, -0.71410, 0.00000, 0.00000,\n"
15" -0.77380, 0.45630, -0.95880, 1.00000);\n"
16" gl_FragColor = yuv2rgb * vec4(texture2D(tex, tex_c.xy).r,\n"
17" texture2D(texu, tex_c2.xy).r,\n"
18" texture2D(texv, tex_c3.xy).r, 1.0);\n"
19"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd
new file mode 100644
index 0000000..3ec4311
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd
@@ -0,0 +1,19 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex, texu, texv;
9varying vec2 tex_c, tex_c2, tex_c3;
10void main()
11{
12 const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000,
13 0.00000, -0.34410, 1.77200, 0.00000,
14 1.40200, -0.71410, 0.00000, 0.00000,
15 -0.77380, 0.45630, -0.95880, 1.00000);
16 gl_FragColor = yuv2rgb * vec4(texture2D(tex, tex_c.xy).r,
17 texture2D(texu, tex_c2.xy).r,
18 texture2D(texv, tex_c3.xy).r, 1.0);
19}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag_bin_s3c6410.h
new file mode 100644
index 0000000..45aa66d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag_bin_s3c6410.h
@@ -0,0 +1,23 @@
10x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x0000000c, 0x00000007,
20x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000003,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000022, 0x00000000,
40x00000000, 0x02065400, 0x23782050, 0x00000000, 0x00000000, 0x0100e407,
50x307820e4, 0x00000000, 0x01000000, 0x02065400, 0x23782150, 0x00000000,
60x01000000, 0x0101e407, 0x307821e4, 0x00000000, 0x02000000, 0x02065400,
70x23782250, 0x00000000, 0x02000000, 0x0102e407, 0x307822e4, 0x00000000,
80x00000000, 0x02020001, 0x237823e4, 0x00000000, 0x01e40103, 0x02030001,
90x2ef823e4, 0x00000000, 0x02e40103, 0x02040001, 0x2ef823e4, 0x00000000,
100x00000000, 0x02050000, 0x20f824e4, 0x00000000, 0x06e40103, 0x01040002,
110x2efa10e4, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
120x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000,
130x3f800000, 0x3f800000, 0x3f94fdf4, 0x3f94fdf4, 0x3f94fdf4, 0x00000000,
140x00000000, 0xbeb02de0, 0x3fe2d0e5, 0x00000000, 0x3fb374bc, 0xbf36cf42,
150x00000000, 0x00000000, 0xbf4617c2, 0x3ee9a027, 0xbf7573eb, 0x3f800000,
160x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x0000000e, 0x00000005,
170x00000003, 0x00000000, 0x00000000, 0x00000014, 0x00000006, 0x00000003,
180x00000000, 0x00000004, 0x0000001b, 0x00000006, 0x00000003, 0x00000000,
190x00000008, 0x00000000, 0x00000003, 0x0000000f, 0x00030005, 0x00000000,
200x00000004, 0x00000004, 0x0000000f, 0x00030005, 0x00000004, 0x00000009,
210x00000004, 0x0000000f, 0x00030005, 0x00000008, 0x00786574, 0x75786574,
220x78657400, 0x65740076, 0x00635f78, 0x5f786574, 0x74003263, 0x635f7865,
230x00000033, \ No newline at end of file
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert.h
new file mode 100644
index 0000000..c3f585f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert.h
@@ -0,0 +1,14 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec2 tex_coord, tex_coord2, tex_coord3;\n"
6"uniform mat4 mvp;\n"
7"varying vec2 tex_c, tex_c2, tex_c3;\n"
8"void main()\n"
9"{\n"
10" gl_Position = mvp * vertex;\n"
11" tex_c = tex_coord;\n"
12" tex_c2 = tex_coord2;\n"
13" tex_c3 = tex_coord3;\n"
14"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert.shd
new file mode 100644
index 0000000..a83d505
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert.shd
@@ -0,0 +1,14 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec2 tex_coord, tex_coord2, tex_coord3;
6uniform mat4 mvp;
7varying vec2 tex_c, tex_c2, tex_c3;
8void main()
9{
10 gl_Position = mvp * vertex;
11 tex_c = tex_coord;
12 tex_c2 = tex_coord2;
13 tex_c3 = tex_coord3;
14}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert_bin_s3c6410.h
new file mode 100644
index 0000000..5942b4b
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_vert_bin_s3c6410.h
@@ -0,0 +1,23 @@
10x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000008, 0x00000006,
20x00000000, 0x00000000, 0x00000004, 0x00000004, 0x00000001, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000004b, 0x00000000,
40x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500,
50x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000,
60x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000,
70x20980154, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000,
80x00000000, 0x00030000, 0x20980354, 0x00000000, 0x00000000, 0x00000000,
90x1e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
100x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x00000000, 0x00000000,
110x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
130x00000000, 0x00000000, 0x0000000c, 0x00000006, 0x00000009, 0x00000000,
140x00000000, 0x00000013, 0x00000009, 0x00000003, 0x00000000, 0x00000004,
150x0000001d, 0x0000000a, 0x00000003, 0x00000000, 0x00000008, 0x00000028,
160x0000000a, 0x00000003, 0x00000000, 0x0000000c, 0x00000000, 0x0000000b,
170x00000009, 0x00010004, 0x00000000, 0x00000037, 0x00000005, 0x00000003,
180x00010004, 0x00000004, 0x0000003d, 0x00000006, 0x00000003, 0x00010004,
190x00000008, 0x00000044, 0x00000006, 0x00000003, 0x00010004, 0x0000000c,
200x00000033, 0x00000003, 0x0000000e, 0x00020001, 0x00000008, 0x505f6c67,
210x7469736f, 0x006e6f69, 0x74726576, 0x74007865, 0x635f7865, 0x64726f6f,
220x78657400, 0x6f6f635f, 0x00326472, 0x5f786574, 0x726f6f63, 0x6d003364,
230x74007076, 0x635f7865, 0x78657400, 0x0032635f, 0x5f786574, 0x00003363,
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_vert.h
new file mode 100644
index 0000000..6ccf06d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_vert.h
@@ -0,0 +1,17 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec4 color;\n"
6"attribute vec2 tex_coord, tex_coord2, tex_coord3;\n"
7"uniform mat4 mvp;\n"
8"varying vec4 col;\n"
9"varying vec2 tex_c, tex_c2, tex_c3;\n"
10"void main()\n"
11"{\n"
12" gl_Position = mvp * vertex;\n"
13" col = color;\n"
14" tex_c = tex_coord;\n"
15" tex_c2 = tex_coord2;\n"
16" tex_c3 = tex_coord3;\n"
17"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuv_vert.shd
new file mode 100644
index 0000000..0ea0b2f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_vert.shd
@@ -0,0 +1,17 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec4 color;
6attribute vec2 tex_coord, tex_coord2, tex_coord3;
7uniform mat4 mvp;
8varying vec4 col;
9varying vec2 tex_c, tex_c2, tex_c3;
10void main()
11{
12 gl_Position = mvp * vertex;
13 col = color;
14 tex_c = tex_coord;
15 tex_c2 = tex_coord2;
16 tex_c3 = tex_coord3;
17}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_vert_bin_s3c6410.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_vert_bin_s3c6410.h
new file mode 100644
index 0000000..e757b6d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_vert_bin_s3c6410.h
@@ -0,0 +1,26 @@
10x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000009, 0x00000006,
20x00000000, 0x00000000, 0x00000005, 0x00000005, 0x00000001, 0x00000000,
30x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000055, 0x00000000,
40x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500,
50x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000,
60x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000,
70x20f801e4, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000,
80x00000000, 0x00030000, 0x20980354, 0x00000000, 0x00000000, 0x00040000,
90x20980454, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000,
100x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000,
110x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
130x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
140x0000000c, 0x00000006, 0x00000009, 0x00000000, 0x00000000, 0x00000013,
150x00000005, 0x00000009, 0x00000000, 0x00000004, 0x00000019, 0x00000009,
160x00000003, 0x00000000, 0x00000008, 0x00000023, 0x0000000a, 0x00000003,
170x00000000, 0x0000000c, 0x0000002e, 0x0000000a, 0x00000003, 0x00000000,
180x00000010, 0x00000000, 0x0000000b, 0x00000009, 0x00010004, 0x00000000,
190x0000003d, 0x00000003, 0x00000009, 0x00010004, 0x00000004, 0x00000041,
200x00000005, 0x00000003, 0x00010004, 0x00000008, 0x00000047, 0x00000006,
210x00000003, 0x00010004, 0x0000000c, 0x0000004e, 0x00000006, 0x00000003,
220x00010004, 0x00000010, 0x00000039, 0x00000003, 0x0000000e, 0x00020001,
230x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69, 0x74726576, 0x63007865,
240x726f6c6f, 0x78657400, 0x6f6f635f, 0x74006472, 0x635f7865, 0x64726f6f,
250x65740032, 0x6f635f78, 0x3364726f, 0x70766d00, 0x6c6f6300, 0x78657400,
260x7400635f, 0x635f7865, 0x65740032, 0x33635f78, 0x00000000,
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuy2_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_frag.h
new file mode 100644
index 0000000..abe4b03
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_frag.h
@@ -0,0 +1,30 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex, texuv;\n"
9"varying vec4 col;\n"
10"varying vec2 tex_c, tex_cuv;\n"
11"void main()\n"
12"{\n"
13" float y,u,v,vmu,r,g,b;\n"
14" y=texture2D(tex,tex_c).r;\n"
15" u=texture2D(texuv,tex_cuv).g;\n"
16" v=texture2D(texuv,tex_cuv).a;\n"
17"\n"
18" u=u-0.5;\n"
19" v=v-0.5;\n"
20" vmu=v*0.813+u*0.391;\n"
21" u=u*2.018;\n"
22" v=v*1.596;\n"
23"\n"
24" r=y+v;\n"
25" g=y-vmu;\n"
26" b=y+u;\n"
27"\n"
28" gl_FragColor=vec4(r,g,b,1.0) * col;\n"
29"}\n"
30"\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuy2_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_frag.shd
new file mode 100644
index 0000000..98dd91b
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_frag.shd
@@ -0,0 +1,30 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex, texuv;
9varying vec4 col;
10varying vec2 tex_c, tex_cuv;
11void main()
12{
13 float y,u,v,vmu,r,g,b;
14 y=texture2D(tex,tex_c).r;
15 u=texture2D(texuv,tex_cuv).g;
16 v=texture2D(texuv,tex_cuv).a;
17
18 u=u-0.5;
19 v=v-0.5;
20 vmu=v*0.813+u*0.391;
21 u=u*2.018;
22 v=v*1.596;
23
24 r=y+v;
25 g=y-vmu;
26 b=y+u;
27
28 gl_FragColor=vec4(r,g,b,1.0) * col;
29}
30
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_frag.h
new file mode 100644
index 0000000..618fa50
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_frag.h
@@ -0,0 +1,30 @@
1"#ifdef GL_ES\n"
2"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
3"precision highp float;\n"
4"#else\n"
5"precision mediump float;\n"
6"#endif\n"
7"#endif\n"
8"uniform sampler2D tex, texuv;\n"
9"varying vec2 tex_c, tex_cuv;\n"
10"void main()\n"
11"{\n"
12" float y,u,v,vmu,r,g,b;\n"
13" y=texture2D(tex,tex_c).r;\n"
14" u=texture2D(texuv,tex_cuv).g;\n"
15" v=texture2D(texuv,tex_cuv).a;\n"
16"\n"
17" u=u-0.5;\n"
18" v=v-0.5;\n"
19" vmu=v*0.813+u*0.391;\n"
20" u=u*2.018;\n"
21" v=v*1.596;\n"
22" y=(y-0.062)*1.164;\n"
23"\n"
24" r=y+v;\n"
25" g=y-vmu;\n"
26" b=y+u;\n"
27"\n"
28" gl_FragColor=vec4(r,g,b,1.0);\n"
29"}\n"
30"\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_frag.shd
new file mode 100644
index 0000000..fd82e2a
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_frag.shd
@@ -0,0 +1,30 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex, texuv;
9varying vec2 tex_c, tex_cuv;
10void main()
11{
12 float y,u,v,vmu,r,g,b;
13 y=texture2D(tex,tex_c).r;
14 u=texture2D(texuv,tex_cuv).g;
15 v=texture2D(texuv,tex_cuv).a;
16
17 u=u-0.5;
18 v=v-0.5;
19 vmu=v*0.813+u*0.391;
20 u=u*2.018;
21 v=v*1.596;
22 y=(y-0.062)*1.164;
23
24 r=y+v;
25 g=y-vmu;
26 b=y+u;
27
28 gl_FragColor=vec4(r,g,b,1.0);
29}
30
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_vert.h
new file mode 100644
index 0000000..4620b66
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_vert.h
@@ -0,0 +1,13 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec2 tex_coord, tex_coord2;\n"
6"uniform mat4 mvp;\n"
7"varying vec2 tex_c, tex_cuv;\n"
8"void main()\n"
9"{\n"
10" gl_Position = mvp * vertex;\n"
11" tex_c = tex_coord;\n"
12" tex_cuv = vec2(tex_coord2.x * 0.5, tex_coord2.y);\n"
13"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_vert.shd
new file mode 100644
index 0000000..05acc9c
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_nomul_vert.shd
@@ -0,0 +1,13 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec2 tex_coord, tex_coord2;
6uniform mat4 mvp;
7varying vec2 tex_c, tex_cuv;
8void main()
9{
10 gl_Position = mvp * vertex;
11 tex_c = tex_coord;
12 tex_cuv = vec2(tex_coord2.x * 0.5, tex_coord2.y);
13}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuy2_vert.h b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_vert.h
new file mode 100644
index 0000000..1e49018
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_vert.h
@@ -0,0 +1,16 @@
1"#ifdef GL_ES\n"
2"precision highp float;\n"
3"#endif\n"
4"attribute vec4 vertex;\n"
5"attribute vec4 color;\n"
6"attribute vec2 tex_coord, tex_coord2;\n"
7"uniform mat4 mvp;\n"
8"varying vec4 col;\n"
9"varying vec2 tex_c, tex_cuv;\n"
10"void main()\n"
11"{\n"
12" gl_Position = mvp * vertex;\n"
13" col = color;\n"
14" tex_c = tex_coord;\n"
15" tex_cuv = vec2(tex_coord2.x * 0.5, tex_coord2.y);\n"
16"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuy2_vert.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_vert.shd
new file mode 100644
index 0000000..54efb1e
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuy2_vert.shd
@@ -0,0 +1,16 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4attribute vec4 vertex;
5attribute vec4 color;
6attribute vec2 tex_coord, tex_coord2;
7uniform mat4 mvp;
8varying vec4 col;
9varying vec2 tex_c, tex_cuv;
10void main()
11{
12 gl_Position = mvp * vertex;
13 col = color;
14 tex_c = tex_coord;
15 tex_cuv = vec2(tex_coord2.x * 0.5, tex_coord2.y);
16}