From 4a7e01b14c77560fc542a8e04b294adbdac41725 Mon Sep 17 00:00:00 2001 From: Woo Seungsoo Date: Tue, 11 Oct 2011 09:05:31 +0900 Subject: [PATCH] Update shaders from svn Change-Id: I362840042e38cded06bc1e1f93017b23762c02a5 --- .../engines/gl_common/shader/compile-s3c6410.sh | 4 +++ .../engines/gl_common/shader/compile-sgx.sh | 31 ++++++++++++++++++++-- src/modules/engines/gl_common/shader/filter_blur.h | 4 +++ .../engines/gl_common/shader/filter_blur.shd | 4 +++ .../engines/gl_common/shader/filter_blur_bgra.h | 4 +++ .../engines/gl_common/shader/filter_blur_bgra.shd | 4 +++ .../gl_common/shader/filter_blur_bgra_nomul.h | 4 +++ .../gl_common/shader/filter_blur_bgra_nomul.shd | 4 +++ .../engines/gl_common/shader/filter_blur_nomul.h | 4 +++ .../engines/gl_common/shader/filter_blur_nomul.shd | 4 +++ .../engines/gl_common/shader/filter_blur_vert.h | 4 +++ .../engines/gl_common/shader/filter_blur_vert.shd | 4 +++ .../engines/gl_common/shader/filter_greyscale.h | 4 +++ .../engines/gl_common/shader/filter_greyscale.shd | 4 +++ .../gl_common/shader/filter_greyscale_bgra.h | 4 +++ .../gl_common/shader/filter_greyscale_bgra.shd | 4 +++ .../gl_common/shader/filter_greyscale_bgra_nomul.h | 4 +++ .../shader/filter_greyscale_bgra_nomul.shd | 4 +++ .../gl_common/shader/filter_greyscale_nomul.h | 4 +++ .../gl_common/shader/filter_greyscale_nomul.shd | 4 +++ .../engines/gl_common/shader/filter_invert.h | 4 +++ .../engines/gl_common/shader/filter_invert.shd | 4 +++ .../engines/gl_common/shader/filter_invert_bgra.h | 4 +++ .../gl_common/shader/filter_invert_bgra.shd | 4 +++ .../gl_common/shader/filter_invert_bgra_nomul.h | 4 +++ .../gl_common/shader/filter_invert_bgra_nomul.shd | 4 +++ .../engines/gl_common/shader/filter_invert_nomul.h | 4 +++ .../gl_common/shader/filter_invert_nomul.shd | 4 +++ .../engines/gl_common/shader/filter_sepia.h | 4 +++ .../engines/gl_common/shader/filter_sepia.shd | 4 +++ .../engines/gl_common/shader/filter_sepia_bgra.h | 4 +++ .../engines/gl_common/shader/filter_sepia_bgra.shd | 4 +++ .../gl_common/shader/filter_sepia_bgra_nomul.h | 4 +++ .../gl_common/shader/filter_sepia_bgra_nomul.shd | 4 +++ .../engines/gl_common/shader/filter_sepia_nomul.h | 4 +++ .../gl_common/shader/filter_sepia_nomul.shd | 4 +++ src/modules/engines/gl_common/shader/font_frag.h | 4 +++ src/modules/engines/gl_common/shader/font_frag.shd | 4 +++ src/modules/engines/gl_common/shader/font_vert.h | 4 +++ src/modules/engines/gl_common/shader/font_vert.shd | 4 +++ .../engines/gl_common/shader/img_bgra_frag.h | 4 +++ .../engines/gl_common/shader/img_bgra_frag.shd | 4 +++ .../engines/gl_common/shader/img_bgra_nomul_frag.h | 4 +++ .../gl_common/shader/img_bgra_nomul_frag.shd | 4 +++ .../engines/gl_common/shader/img_bgra_nomul_vert.h | 4 +++ .../gl_common/shader/img_bgra_nomul_vert.shd | 4 +++ .../engines/gl_common/shader/img_bgra_vert.h | 4 +++ .../engines/gl_common/shader/img_bgra_vert.shd | 4 +++ src/modules/engines/gl_common/shader/img_frag.h | 4 +++ src/modules/engines/gl_common/shader/img_frag.shd | 4 +++ .../engines/gl_common/shader/img_mask_frag.h | 4 +++ .../engines/gl_common/shader/img_mask_frag.shd | 4 +++ .../engines/gl_common/shader/img_mask_vert.h | 4 +++ .../engines/gl_common/shader/img_mask_vert.shd | 4 +++ .../engines/gl_common/shader/img_nomul_frag.h | 4 +++ .../engines/gl_common/shader/img_nomul_frag.shd | 4 +++ .../engines/gl_common/shader/img_nomul_vert.h | 4 +++ .../engines/gl_common/shader/img_nomul_vert.shd | 4 +++ src/modules/engines/gl_common/shader/img_vert.h | 4 +++ src/modules/engines/gl_common/shader/img_vert.shd | 4 +++ src/modules/engines/gl_common/shader/nv12_frag.h | 12 ++++++--- src/modules/engines/gl_common/shader/nv12_frag.shd | 31 ++++++++++++++++++++++ .../engines/gl_common/shader/nv12_nomul_frag.h | 13 ++++++--- .../engines/gl_common/shader/nv12_nomul_frag.shd | 31 ++++++++++++++++++++++ .../engines/gl_common/shader/nv12_nomul_vert.h | 4 +++ .../engines/gl_common/shader/nv12_nomul_vert.shd | 10 ++++--- src/modules/engines/gl_common/shader/nv12_vert.h | 4 +++ src/modules/engines/gl_common/shader/nv12_vert.shd | 10 ++++--- src/modules/engines/gl_common/shader/rect_frag.h | 4 +++ src/modules/engines/gl_common/shader/rect_frag.shd | 4 +++ src/modules/engines/gl_common/shader/rect_vert.h | 4 +++ src/modules/engines/gl_common/shader/rect_vert.shd | 4 +++ src/modules/engines/gl_common/shader/tex_frag.h | 4 +++ src/modules/engines/gl_common/shader/tex_frag.shd | 4 +++ .../engines/gl_common/shader/tex_nomul_frag.h | 4 +++ .../engines/gl_common/shader/tex_nomul_frag.shd | 4 +++ .../engines/gl_common/shader/tex_nomul_vert.h | 4 +++ .../engines/gl_common/shader/tex_nomul_vert.shd | 4 +++ src/modules/engines/gl_common/shader/tex_vert.h | 4 +++ src/modules/engines/gl_common/shader/tex_vert.shd | 4 +++ src/modules/engines/gl_common/shader/yuv_frag.h | 4 +++ src/modules/engines/gl_common/shader/yuv_frag.shd | 4 +++ .../engines/gl_common/shader/yuv_nomul_frag.h | 4 +++ .../engines/gl_common/shader/yuv_nomul_frag.shd | 4 +++ .../engines/gl_common/shader/yuv_nomul_vert.h | 4 +++ .../engines/gl_common/shader/yuv_nomul_vert.shd | 4 +++ src/modules/engines/gl_common/shader/yuv_vert.h | 4 +++ src/modules/engines/gl_common/shader/yuv_vert.shd | 4 +++ src/modules/engines/gl_common/shader/yuy2_frag.h | 12 ++++++--- src/modules/engines/gl_common/shader/yuy2_frag.shd | 4 +++ .../engines/gl_common/shader/yuy2_nomul_frag.h | 12 ++++++--- .../engines/gl_common/shader/yuy2_nomul_frag.shd | 4 +++ .../engines/gl_common/shader/yuy2_nomul_vert.h | 4 +++ .../engines/gl_common/shader/yuy2_nomul_vert.shd | 4 +++ src/modules/engines/gl_common/shader/yuy2_vert.h | 4 +++ src/modules/engines/gl_common/shader/yuy2_vert.shd | 4 +++ 96 files changed, 486 insertions(+), 24 deletions(-) create mode 100644 src/modules/engines/gl_common/shader/nv12_frag.shd create mode 100644 src/modules/engines/gl_common/shader/nv12_nomul_frag.shd diff --git a/src/modules/engines/gl_common/shader/compile-s3c6410.sh b/src/modules/engines/gl_common/shader/compile-s3c6410.sh index 90ec941..450e5de 100755 --- a/src/modules/engines/gl_common/shader/compile-s3c6410.sh +++ b/src/modules/engines/gl_common/shader/compile-s3c6410.sh @@ -40,4 +40,8 @@ compile yuv compile yuv_nomul compile tex compile tex_nomul +compile nv12 +compile nv12_nomul +compile yuy2 +compile yuy2_nomul ## FIXME: compile filter_* diff --git a/src/modules/engines/gl_common/shader/compile-sgx.sh b/src/modules/engines/gl_common/shader/compile-sgx.sh index cb5d8ff..a052fac 100755 --- a/src/modules/engines/gl_common/shader/compile-sgx.sh +++ b/src/modules/engines/gl_common/shader/compile-sgx.sh @@ -3,8 +3,15 @@ function compile() { F=$1 - make-c-str.sh $F"_frag.shd" > $F"_frag.h" - make-c-str.sh $F"_vert.shd" > $F"_vert.h" + if [ -f $F".shd" ]; then + make-c-str.sh $F".shd" > $F".h" + fi + if [ -f $F"_frag.shd" ]; then + make-c-str.sh $F"_frag.shd" > $F"_frag.h" + fi + if [ -f $F"_vert.shd" ]; then + make-c-str.sh $F"_vert.shd" > $F"_vert.h" + fi } compile rect @@ -18,4 +25,24 @@ compile yuv compile yuv_nomul compile tex compile tex_nomul +compile filter_blur_bgra +compile filter_blur_bgra_nomul +compile filter_blur +compile filter_blur_nomul +compile filter_greyscale_bgra +compile filter_greyscale_bgra_nomul +compile filter_greyscale +compile filter_greyscale_nomul +compile filter_invert_bgra +compile filter_invert_bgra_nomul +compile filter_invert +compile filter_invert_nomul +compile filter_sepia_bgra +compile filter_sepia_bgra_nomul +compile filter_sepia +compile filter_sepia_nomul +compile nv12 +compile nv12_nomul +compile yuy2 +compile yuy2_nomul ## FIXME: compile filter_* diff --git a/src/modules/engines/gl_common/shader/filter_blur.h b/src/modules/engines/gl_common/shader/filter_blur.h index 69e8c07..7c3a369 100644 --- a/src/modules/engines/gl_common/shader/filter_blur.h +++ b/src/modules/engines/gl_common/shader/filter_blur.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "uniform sampler1D gaussian;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/filter_blur.shd b/src/modules/engines/gl_common/shader/filter_blur.shd index 873fbc1..5f13a47 100644 --- a/src/modules/engines/gl_common/shader/filter_blur.shd +++ b/src/modules/engines/gl_common/shader/filter_blur.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; uniform sampler1D gaussian; diff --git a/src/modules/engines/gl_common/shader/filter_blur_bgra.h b/src/modules/engines/gl_common/shader/filter_blur_bgra.h index 4dc5f37..0862e4f 100644 --- a/src/modules/engines/gl_common/shader/filter_blur_bgra.h +++ b/src/modules/engines/gl_common/shader/filter_blur_bgra.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "uniform sampler1D gaussian;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/filter_blur_bgra.shd b/src/modules/engines/gl_common/shader/filter_blur_bgra.shd index b1377a4..a9134df 100644 --- a/src/modules/engines/gl_common/shader/filter_blur_bgra.shd +++ b/src/modules/engines/gl_common/shader/filter_blur_bgra.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; uniform sampler1D gaussian; diff --git a/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.h b/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.h index 4dc5f37..0862e4f 100644 --- a/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.h +++ b/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "uniform sampler1D gaussian;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.shd b/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.shd index b1377a4..a9134df 100644 --- a/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.shd +++ b/src/modules/engines/gl_common/shader/filter_blur_bgra_nomul.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; uniform sampler1D gaussian; diff --git a/src/modules/engines/gl_common/shader/filter_blur_nomul.h b/src/modules/engines/gl_common/shader/filter_blur_nomul.h index 4dc5f37..0862e4f 100644 --- a/src/modules/engines/gl_common/shader/filter_blur_nomul.h +++ b/src/modules/engines/gl_common/shader/filter_blur_nomul.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "uniform sampler1D gaussian;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/filter_blur_nomul.shd b/src/modules/engines/gl_common/shader/filter_blur_nomul.shd index b1377a4..a9134df 100644 --- a/src/modules/engines/gl_common/shader/filter_blur_nomul.shd +++ b/src/modules/engines/gl_common/shader/filter_blur_nomul.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; uniform sampler1D gaussian; diff --git a/src/modules/engines/gl_common/shader/filter_blur_vert.h b/src/modules/engines/gl_common/shader/filter_blur_vert.h index ed13d77..758bd9d 100644 --- a/src/modules/engines/gl_common/shader/filter_blur_vert.h +++ b/src/modules/engines/gl_common/shader/filter_blur_vert.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" "attribute vec2 tex_coord;\n" diff --git a/src/modules/engines/gl_common/shader/filter_blur_vert.shd b/src/modules/engines/gl_common/shader/filter_blur_vert.shd index 56ddc40..052df89 100644 --- a/src/modules/engines/gl_common/shader/filter_blur_vert.shd +++ b/src/modules/engines/gl_common/shader/filter_blur_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; diff --git a/src/modules/engines/gl_common/shader/filter_greyscale.h b/src/modules/engines/gl_common/shader/filter_greyscale.h index 7bb1b7b..850538a 100644 --- a/src/modules/engines/gl_common/shader/filter_greyscale.h +++ b/src/modules/engines/gl_common/shader/filter_greyscale.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/filter_greyscale.shd b/src/modules/engines/gl_common/shader/filter_greyscale.shd index 9bb572d..78ecf08 100644 --- a/src/modules/engines/gl_common/shader/filter_greyscale.shd +++ b/src/modules/engines/gl_common/shader/filter_greyscale.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/filter_greyscale_bgra.h b/src/modules/engines/gl_common/shader/filter_greyscale_bgra.h index e29c26a..3caef35 100644 --- a/src/modules/engines/gl_common/shader/filter_greyscale_bgra.h +++ b/src/modules/engines/gl_common/shader/filter_greyscale_bgra.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/filter_greyscale_bgra.shd b/src/modules/engines/gl_common/shader/filter_greyscale_bgra.shd index 5952aad..5dca381 100644 --- a/src/modules/engines/gl_common/shader/filter_greyscale_bgra.shd +++ b/src/modules/engines/gl_common/shader/filter_greyscale_bgra.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.h b/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.h index 687670a..4cb36a8 100644 --- a/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.h +++ b/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec2 tex_c;\n" "void main()\n" diff --git a/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.shd b/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.shd index bf3dcb6..a077eea 100644 --- a/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.shd +++ b/src/modules/engines/gl_common/shader/filter_greyscale_bgra_nomul.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec2 tex_c; diff --git a/src/modules/engines/gl_common/shader/filter_greyscale_nomul.h b/src/modules/engines/gl_common/shader/filter_greyscale_nomul.h index 1de16b9..f501a02 100644 --- a/src/modules/engines/gl_common/shader/filter_greyscale_nomul.h +++ b/src/modules/engines/gl_common/shader/filter_greyscale_nomul.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec2 tex_c;\n" "void main()\n" diff --git a/src/modules/engines/gl_common/shader/filter_greyscale_nomul.shd b/src/modules/engines/gl_common/shader/filter_greyscale_nomul.shd index e47d4a2..b5b8ec6 100644 --- a/src/modules/engines/gl_common/shader/filter_greyscale_nomul.shd +++ b/src/modules/engines/gl_common/shader/filter_greyscale_nomul.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec2 tex_c; diff --git a/src/modules/engines/gl_common/shader/filter_invert.h b/src/modules/engines/gl_common/shader/filter_invert.h index 2b5268a..46373e0 100644 --- a/src/modules/engines/gl_common/shader/filter_invert.h +++ b/src/modules/engines/gl_common/shader/filter_invert.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/filter_invert.shd b/src/modules/engines/gl_common/shader/filter_invert.shd index 50ed6bb..a75b058 100644 --- a/src/modules/engines/gl_common/shader/filter_invert.shd +++ b/src/modules/engines/gl_common/shader/filter_invert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/filter_invert_bgra.h b/src/modules/engines/gl_common/shader/filter_invert_bgra.h index 6ab298d..3e3011d 100644 --- a/src/modules/engines/gl_common/shader/filter_invert_bgra.h +++ b/src/modules/engines/gl_common/shader/filter_invert_bgra.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/filter_invert_bgra.shd b/src/modules/engines/gl_common/shader/filter_invert_bgra.shd index cf8cf0e..8d7df2d 100644 --- a/src/modules/engines/gl_common/shader/filter_invert_bgra.shd +++ b/src/modules/engines/gl_common/shader/filter_invert_bgra.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.h b/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.h index b0d0d53..b9f1e25 100644 --- a/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.h +++ b/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.shd b/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.shd index 1f90a70..682acb2 100644 --- a/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.shd +++ b/src/modules/engines/gl_common/shader/filter_invert_bgra_nomul.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/filter_invert_nomul.h b/src/modules/engines/gl_common/shader/filter_invert_nomul.h index 2b5268a..46373e0 100644 --- a/src/modules/engines/gl_common/shader/filter_invert_nomul.h +++ b/src/modules/engines/gl_common/shader/filter_invert_nomul.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/filter_invert_nomul.shd b/src/modules/engines/gl_common/shader/filter_invert_nomul.shd index 50ed6bb..a75b058 100644 --- a/src/modules/engines/gl_common/shader/filter_invert_nomul.shd +++ b/src/modules/engines/gl_common/shader/filter_invert_nomul.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/filter_sepia.h b/src/modules/engines/gl_common/shader/filter_sepia.h index 821c824..50fbf12 100644 --- a/src/modules/engines/gl_common/shader/filter_sepia.h +++ b/src/modules/engines/gl_common/shader/filter_sepia.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/filter_sepia.shd b/src/modules/engines/gl_common/shader/filter_sepia.shd index 70c49d8..027ecfb 100644 --- a/src/modules/engines/gl_common/shader/filter_sepia.shd +++ b/src/modules/engines/gl_common/shader/filter_sepia.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/filter_sepia_bgra.h b/src/modules/engines/gl_common/shader/filter_sepia_bgra.h index 66f88d3..41e4283 100644 --- a/src/modules/engines/gl_common/shader/filter_sepia_bgra.h +++ b/src/modules/engines/gl_common/shader/filter_sepia_bgra.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/filter_sepia_bgra.shd b/src/modules/engines/gl_common/shader/filter_sepia_bgra.shd index 9a1926e..caed378 100644 --- a/src/modules/engines/gl_common/shader/filter_sepia_bgra.shd +++ b/src/modules/engines/gl_common/shader/filter_sepia_bgra.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.h b/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.h index 6990485..0c4fe1b 100644 --- a/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.h +++ b/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.shd b/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.shd index f9cf473..9c6c1d4 100644 --- a/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.shd +++ b/src/modules/engines/gl_common/shader/filter_sepia_bgra_nomul.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/filter_sepia_nomul.h b/src/modules/engines/gl_common/shader/filter_sepia_nomul.h index ba4621c..23af9ec 100644 --- a/src/modules/engines/gl_common/shader/filter_sepia_nomul.h +++ b/src/modules/engines/gl_common/shader/filter_sepia_nomul.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/filter_sepia_nomul.shd b/src/modules/engines/gl_common/shader/filter_sepia_nomul.shd index 5d1558c..f9871bd 100644 --- a/src/modules/engines/gl_common/shader/filter_sepia_nomul.shd +++ b/src/modules/engines/gl_common/shader/filter_sepia_nomul.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/font_frag.h b/src/modules/engines/gl_common/shader/font_frag.h index f43af9a..f27dcdc 100644 --- a/src/modules/engines/gl_common/shader/font_frag.h +++ b/src/modules/engines/gl_common/shader/font_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/font_frag.shd b/src/modules/engines/gl_common/shader/font_frag.shd index cad119d..a8eb9b7 100644 --- a/src/modules/engines/gl_common/shader/font_frag.shd +++ b/src/modules/engines/gl_common/shader/font_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/font_vert.h b/src/modules/engines/gl_common/shader/font_vert.h index 8921d9d..19fb72f 100644 --- a/src/modules/engines/gl_common/shader/font_vert.h +++ b/src/modules/engines/gl_common/shader/font_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" diff --git a/src/modules/engines/gl_common/shader/font_vert.shd b/src/modules/engines/gl_common/shader/font_vert.shd index 606c297..efc0a92 100644 --- a/src/modules/engines/gl_common/shader/font_vert.shd +++ b/src/modules/engines/gl_common/shader/font_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; diff --git a/src/modules/engines/gl_common/shader/img_bgra_frag.h b/src/modules/engines/gl_common/shader/img_bgra_frag.h index 91edfa1..1ced5e0 100644 --- a/src/modules/engines/gl_common/shader/img_bgra_frag.h +++ b/src/modules/engines/gl_common/shader/img_bgra_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/img_bgra_frag.shd b/src/modules/engines/gl_common/shader/img_bgra_frag.shd index d4cdf22..2bc8d79 100644 --- a/src/modules/engines/gl_common/shader/img_bgra_frag.shd +++ b/src/modules/engines/gl_common/shader/img_bgra_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.h b/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.h index 26d3e0d..459611f 100644 --- a/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.h +++ b/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.shd b/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.shd index cfe1f1a..877df62 100644 --- a/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.shd +++ b/src/modules/engines/gl_common/shader/img_bgra_nomul_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec2 tex_c; diff --git a/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.h b/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.h index 13d5edd..75e301f 100644 --- a/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.h +++ b/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec2 tex_coord;\n" diff --git a/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.shd b/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.shd index 74f3207..22836c6 100644 --- a/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.shd +++ b/src/modules/engines/gl_common/shader/img_bgra_nomul_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec2 tex_coord; diff --git a/src/modules/engines/gl_common/shader/img_bgra_vert.h b/src/modules/engines/gl_common/shader/img_bgra_vert.h index 8921d9d..19fb72f 100644 --- a/src/modules/engines/gl_common/shader/img_bgra_vert.h +++ b/src/modules/engines/gl_common/shader/img_bgra_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" diff --git a/src/modules/engines/gl_common/shader/img_bgra_vert.shd b/src/modules/engines/gl_common/shader/img_bgra_vert.shd index 606c297..efc0a92 100644 --- a/src/modules/engines/gl_common/shader/img_bgra_vert.shd +++ b/src/modules/engines/gl_common/shader/img_bgra_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; diff --git a/src/modules/engines/gl_common/shader/img_frag.h b/src/modules/engines/gl_common/shader/img_frag.h index c0c07a5..0a95502 100644 --- a/src/modules/engines/gl_common/shader/img_frag.h +++ b/src/modules/engines/gl_common/shader/img_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/img_frag.shd b/src/modules/engines/gl_common/shader/img_frag.shd index 658ae1e..9faa414 100644 --- a/src/modules/engines/gl_common/shader/img_frag.shd +++ b/src/modules/engines/gl_common/shader/img_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/img_mask_frag.h b/src/modules/engines/gl_common/shader/img_mask_frag.h index 58661d7..1b28128 100644 --- a/src/modules/engines/gl_common/shader/img_mask_frag.h +++ b/src/modules/engines/gl_common/shader/img_mask_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex, texm;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/img_mask_frag.shd b/src/modules/engines/gl_common/shader/img_mask_frag.shd index 1292c3a..0b7307e 100644 --- a/src/modules/engines/gl_common/shader/img_mask_frag.shd +++ b/src/modules/engines/gl_common/shader/img_mask_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex, texm; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/img_mask_vert.h b/src/modules/engines/gl_common/shader/img_mask_vert.h index 7508c98..91d2716 100644 --- a/src/modules/engines/gl_common/shader/img_mask_vert.h +++ b/src/modules/engines/gl_common/shader/img_mask_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" diff --git a/src/modules/engines/gl_common/shader/img_mask_vert.shd b/src/modules/engines/gl_common/shader/img_mask_vert.shd index 1414870..2cd02a6 100644 --- a/src/modules/engines/gl_common/shader/img_mask_vert.shd +++ b/src/modules/engines/gl_common/shader/img_mask_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; diff --git a/src/modules/engines/gl_common/shader/img_nomul_frag.h b/src/modules/engines/gl_common/shader/img_nomul_frag.h index 94f0a76..0343b34 100644 --- a/src/modules/engines/gl_common/shader/img_nomul_frag.h +++ b/src/modules/engines/gl_common/shader/img_nomul_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/img_nomul_frag.shd b/src/modules/engines/gl_common/shader/img_nomul_frag.shd index 594299d..222d635 100644 --- a/src/modules/engines/gl_common/shader/img_nomul_frag.shd +++ b/src/modules/engines/gl_common/shader/img_nomul_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec2 tex_c; diff --git a/src/modules/engines/gl_common/shader/img_nomul_vert.h b/src/modules/engines/gl_common/shader/img_nomul_vert.h index 13d5edd..75e301f 100644 --- a/src/modules/engines/gl_common/shader/img_nomul_vert.h +++ b/src/modules/engines/gl_common/shader/img_nomul_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec2 tex_coord;\n" diff --git a/src/modules/engines/gl_common/shader/img_nomul_vert.shd b/src/modules/engines/gl_common/shader/img_nomul_vert.shd index 74f3207..22836c6 100644 --- a/src/modules/engines/gl_common/shader/img_nomul_vert.shd +++ b/src/modules/engines/gl_common/shader/img_nomul_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec2 tex_coord; diff --git a/src/modules/engines/gl_common/shader/img_vert.h b/src/modules/engines/gl_common/shader/img_vert.h index 8921d9d..19fb72f 100644 --- a/src/modules/engines/gl_common/shader/img_vert.h +++ b/src/modules/engines/gl_common/shader/img_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" diff --git a/src/modules/engines/gl_common/shader/img_vert.shd b/src/modules/engines/gl_common/shader/img_vert.shd index 606c297..efc0a92 100644 --- a/src/modules/engines/gl_common/shader/img_vert.shd +++ b/src/modules/engines/gl_common/shader/img_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; diff --git a/src/modules/engines/gl_common/shader/nv12_frag.h b/src/modules/engines/gl_common/shader/nv12_frag.h index 7473cdf..fec4b23 100644 --- a/src/modules/engines/gl_common/shader/nv12_frag.h +++ b/src/modules/engines/gl_common/shader/nv12_frag.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex, texuv;\n" "varying vec4 col;\n" "varying vec2 tex_c, tex_cuv;\n" @@ -10,18 +14,18 @@ " y=texture2D(tex,tex_c).g;\n" " u=texture2D(texuv,tex_cuv).g;\n" " v=texture2D(texuv,tex_cuv).a;\n" - +"\n" " u=u-0.5;\n" " v=v-0.5;\n" " vmu=v*0.813+u*0.391;\n" " u=u*2.018;\n" " v=v*1.596;\n" " y=(y-0.062)*1.164;\n" - +"\n" " r=y+v;\n" " g=y-vmu;\n" " b=y+u;\n" - +"\n" " gl_FragColor=vec4(r,g,b,1.0) * col;\n" "}\n" - +"\n" diff --git a/src/modules/engines/gl_common/shader/nv12_frag.shd b/src/modules/engines/gl_common/shader/nv12_frag.shd new file mode 100644 index 0000000..34748fc --- /dev/null +++ b/src/modules/engines/gl_common/shader/nv12_frag.shd @@ -0,0 +1,31 @@ +#ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif +#endif +uniform sampler2D tex, texuv; +varying vec4 col; +varying vec2 tex_c, tex_cuv; +void main() +{ + float y,u,v,vmu,r,g,b; + y=texture2D(tex,tex_c).g; + u=texture2D(texuv,tex_cuv).g; + v=texture2D(texuv,tex_cuv).a; + + u=u-0.5; + v=v-0.5; + vmu=v*0.813+u*0.391; + u=u*2.018; + v=v*1.596; + y=(y-0.062)*1.164; + + r=y+v; + g=y-vmu; + b=y+u; + + gl_FragColor=vec4(r,g,b,1.0) * col; +} + diff --git a/src/modules/engines/gl_common/shader/nv12_nomul_frag.h b/src/modules/engines/gl_common/shader/nv12_nomul_frag.h index 521c451..df52d19 100644 --- a/src/modules/engines/gl_common/shader/nv12_nomul_frag.h +++ b/src/modules/engines/gl_common/shader/nv12_nomul_frag.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex, texuv;\n" "varying vec2 tex_c, tex_cuv;\n" "void main()\n" @@ -9,18 +13,19 @@ " y=texture2D(tex,tex_c).g;\n" " u=texture2D(texuv,tex_cuv).g;\n" " v=texture2D(texuv,tex_cuv).a;\n" - +"\n" " u=u-0.5;\n" " v=v-0.5;\n" " vmu=v*0.813+u*0.391;\n" " u=u*2.018;\n" " v=v*1.596;\n" " y=(y-0.062)*1.164;\n" - +"\n" " r=y+v;\n" " g=y-vmu;\n" " b=y+u;\n" - +"\n" " gl_FragColor=vec4(r,g,b,1.0);\n" "}\n" - +"\n" +"\n" diff --git a/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd b/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd new file mode 100644 index 0000000..6910933 --- /dev/null +++ b/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd @@ -0,0 +1,31 @@ +#ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif +#endif +uniform sampler2D tex, texuv; +varying vec2 tex_c, tex_cuv; +void main() +{ + float y,u,v,vmu,r,g,b; + y=texture2D(tex,tex_c).g; + u=texture2D(texuv,tex_cuv).g; + v=texture2D(texuv,tex_cuv).a; + + u=u-0.5; + v=v-0.5; + vmu=v*0.813+u*0.391; + u=u*2.018; + v=v*1.596; + y=(y-0.062)*1.164; + + r=y+v; + g=y-vmu; + b=y+u; + + gl_FragColor=vec4(r,g,b,1.0); +} + + diff --git a/src/modules/engines/gl_common/shader/nv12_nomul_vert.h b/src/modules/engines/gl_common/shader/nv12_nomul_vert.h index 21304c2..819ae51 100644 --- a/src/modules/engines/gl_common/shader/nv12_nomul_vert.h +++ b/src/modules/engines/gl_common/shader/nv12_nomul_vert.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" "attribute vec2 tex_coord, tex_coord2;\n" diff --git a/src/modules/engines/gl_common/shader/nv12_nomul_vert.shd b/src/modules/engines/gl_common/shader/nv12_nomul_vert.shd index b61c3c3..77fe807 100644 --- a/src/modules/engines/gl_common/shader/nv12_nomul_vert.shd +++ b/src/modules/engines/gl_common/shader/nv12_nomul_vert.shd @@ -1,14 +1,18 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; attribute vec2 tex_coord, tex_coord2; uniform mat4 mvp; -varying vec2 tex_y, tex_cuv; +varying vec2 tex_c, tex_cuv; void main() { gl_Position = mvp * vertex; - tex_y = tex_coord; - tex_cuv = tex_coord2; + tex_c = tex_coord; + tex_cuv = tex_coord2 * 0.5; } diff --git a/src/modules/engines/gl_common/shader/nv12_vert.h b/src/modules/engines/gl_common/shader/nv12_vert.h index 6b3fea7..4574a46 100644 --- a/src/modules/engines/gl_common/shader/nv12_vert.h +++ b/src/modules/engines/gl_common/shader/nv12_vert.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" "attribute vec2 tex_coord, tex_coord2;\n" diff --git a/src/modules/engines/gl_common/shader/nv12_vert.shd b/src/modules/engines/gl_common/shader/nv12_vert.shd index 68934e9..d24ed73 100644 --- a/src/modules/engines/gl_common/shader/nv12_vert.shd +++ b/src/modules/engines/gl_common/shader/nv12_vert.shd @@ -1,16 +1,20 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; attribute vec2 tex_coord, tex_coord2; uniform mat4 mvp; varying vec4 col; -varying vec2 tex_y, tex_cuv; +varying vec2 tex_c, tex_cuv; void main() { gl_Position = mvp * vertex; col = color; - tex_y = tex_coord; - tex_cuv = tex_coord2; + tex_c = tex_coord; + tex_cuv = tex_coord2 * 0.5; } diff --git a/src/modules/engines/gl_common/shader/rect_frag.h b/src/modules/engines/gl_common/shader/rect_frag.h index 852a1b5..4a102a4 100644 --- a/src/modules/engines/gl_common/shader/rect_frag.h +++ b/src/modules/engines/gl_common/shader/rect_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/rect_frag.shd b/src/modules/engines/gl_common/shader/rect_frag.shd index fe366c5..02251ee 100644 --- a/src/modules/engines/gl_common/shader/rect_frag.shd +++ b/src/modules/engines/gl_common/shader/rect_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/rect_vert.h b/src/modules/engines/gl_common/shader/rect_vert.h index 51d41aa..22d38e5 100644 --- a/src/modules/engines/gl_common/shader/rect_vert.h +++ b/src/modules/engines/gl_common/shader/rect_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" diff --git a/src/modules/engines/gl_common/shader/rect_vert.shd b/src/modules/engines/gl_common/shader/rect_vert.shd index 63fea5d..e1966ee 100644 --- a/src/modules/engines/gl_common/shader/rect_vert.shd +++ b/src/modules/engines/gl_common/shader/rect_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; diff --git a/src/modules/engines/gl_common/shader/tex_frag.h b/src/modules/engines/gl_common/shader/tex_frag.h index 91edfa1..1ced5e0 100644 --- a/src/modules/engines/gl_common/shader/tex_frag.h +++ b/src/modules/engines/gl_common/shader/tex_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/tex_frag.shd b/src/modules/engines/gl_common/shader/tex_frag.shd index d4cdf22..2bc8d79 100644 --- a/src/modules/engines/gl_common/shader/tex_frag.shd +++ b/src/modules/engines/gl_common/shader/tex_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/tex_nomul_frag.h b/src/modules/engines/gl_common/shader/tex_nomul_frag.h index 26d3e0d..459611f 100644 --- a/src/modules/engines/gl_common/shader/tex_nomul_frag.h +++ b/src/modules/engines/gl_common/shader/tex_nomul_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex;\n" "varying vec2 tex_c;\n" diff --git a/src/modules/engines/gl_common/shader/tex_nomul_frag.shd b/src/modules/engines/gl_common/shader/tex_nomul_frag.shd index cfe1f1a..877df62 100644 --- a/src/modules/engines/gl_common/shader/tex_nomul_frag.shd +++ b/src/modules/engines/gl_common/shader/tex_nomul_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex; varying vec2 tex_c; diff --git a/src/modules/engines/gl_common/shader/tex_nomul_vert.h b/src/modules/engines/gl_common/shader/tex_nomul_vert.h index 13d5edd..75e301f 100644 --- a/src/modules/engines/gl_common/shader/tex_nomul_vert.h +++ b/src/modules/engines/gl_common/shader/tex_nomul_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec2 tex_coord;\n" diff --git a/src/modules/engines/gl_common/shader/tex_nomul_vert.shd b/src/modules/engines/gl_common/shader/tex_nomul_vert.shd index 74f3207..22836c6 100644 --- a/src/modules/engines/gl_common/shader/tex_nomul_vert.shd +++ b/src/modules/engines/gl_common/shader/tex_nomul_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec2 tex_coord; diff --git a/src/modules/engines/gl_common/shader/tex_vert.h b/src/modules/engines/gl_common/shader/tex_vert.h index 8921d9d..19fb72f 100644 --- a/src/modules/engines/gl_common/shader/tex_vert.h +++ b/src/modules/engines/gl_common/shader/tex_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" diff --git a/src/modules/engines/gl_common/shader/tex_vert.shd b/src/modules/engines/gl_common/shader/tex_vert.shd index 606c297..efc0a92 100644 --- a/src/modules/engines/gl_common/shader/tex_vert.shd +++ b/src/modules/engines/gl_common/shader/tex_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; diff --git a/src/modules/engines/gl_common/shader/yuv_frag.h b/src/modules/engines/gl_common/shader/yuv_frag.h index 4346e1d..de9acf8 100644 --- a/src/modules/engines/gl_common/shader/yuv_frag.h +++ b/src/modules/engines/gl_common/shader/yuv_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex, texu, texv;\n" "varying vec4 col;\n" diff --git a/src/modules/engines/gl_common/shader/yuv_frag.shd b/src/modules/engines/gl_common/shader/yuv_frag.shd index a1e1b8a..8e55d14 100644 --- a/src/modules/engines/gl_common/shader/yuv_frag.shd +++ b/src/modules/engines/gl_common/shader/yuv_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex, texu, texv; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/yuv_nomul_frag.h b/src/modules/engines/gl_common/shader/yuv_nomul_frag.h index 6f70bec..ee5855c 100644 --- a/src/modules/engines/gl_common/shader/yuv_nomul_frag.h +++ b/src/modules/engines/gl_common/shader/yuv_nomul_frag.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "uniform sampler2D tex, texu, texv;\n" "varying vec2 tex_c, tex_c2, tex_c3;\n" diff --git a/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd b/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd index bb5c825..3ec4311 100644 --- a/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd +++ b/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex, texu, texv; varying vec2 tex_c, tex_c2, tex_c3; diff --git a/src/modules/engines/gl_common/shader/yuv_nomul_vert.h b/src/modules/engines/gl_common/shader/yuv_nomul_vert.h index c3f585f..3201b54 100644 --- a/src/modules/engines/gl_common/shader/yuv_nomul_vert.h +++ b/src/modules/engines/gl_common/shader/yuv_nomul_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec2 tex_coord, tex_coord2, tex_coord3;\n" diff --git a/src/modules/engines/gl_common/shader/yuv_nomul_vert.shd b/src/modules/engines/gl_common/shader/yuv_nomul_vert.shd index a83d505..6bfd706 100644 --- a/src/modules/engines/gl_common/shader/yuv_nomul_vert.shd +++ b/src/modules/engines/gl_common/shader/yuv_nomul_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec2 tex_coord, tex_coord2, tex_coord3; diff --git a/src/modules/engines/gl_common/shader/yuv_vert.h b/src/modules/engines/gl_common/shader/yuv_vert.h index 6ccf06d..092f7a2 100644 --- a/src/modules/engines/gl_common/shader/yuv_vert.h +++ b/src/modules/engines/gl_common/shader/yuv_vert.h @@ -1,5 +1,9 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" "precision highp float;\n" +"#else\n" +"precision mediump float;\n" +"#endif\n" "#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" diff --git a/src/modules/engines/gl_common/shader/yuv_vert.shd b/src/modules/engines/gl_common/shader/yuv_vert.shd index 0ea0b2f..7dd5153 100644 --- a/src/modules/engines/gl_common/shader/yuv_vert.shd +++ b/src/modules/engines/gl_common/shader/yuv_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; diff --git a/src/modules/engines/gl_common/shader/yuy2_frag.h b/src/modules/engines/gl_common/shader/yuy2_frag.h index f431607..abe4b03 100644 --- a/src/modules/engines/gl_common/shader/yuy2_frag.h +++ b/src/modules/engines/gl_common/shader/yuy2_frag.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex, texuv;\n" "varying vec4 col;\n" "varying vec2 tex_c, tex_cuv;\n" @@ -10,17 +14,17 @@ " y=texture2D(tex,tex_c).r;\n" " u=texture2D(texuv,tex_cuv).g;\n" " v=texture2D(texuv,tex_cuv).a;\n" - +"\n" " u=u-0.5;\n" " v=v-0.5;\n" " vmu=v*0.813+u*0.391;\n" " u=u*2.018;\n" " v=v*1.596;\n" - +"\n" " r=y+v;\n" " g=y-vmu;\n" " b=y+u;\n" - +"\n" " gl_FragColor=vec4(r,g,b,1.0) * col;\n" "}\n" - +"\n" diff --git a/src/modules/engines/gl_common/shader/yuy2_frag.shd b/src/modules/engines/gl_common/shader/yuy2_frag.shd index 9087320..98dd91b 100644 --- a/src/modules/engines/gl_common/shader/yuy2_frag.shd +++ b/src/modules/engines/gl_common/shader/yuy2_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex, texuv; varying vec4 col; diff --git a/src/modules/engines/gl_common/shader/yuy2_nomul_frag.h b/src/modules/engines/gl_common/shader/yuy2_nomul_frag.h index 69c2dec..618fa50 100644 --- a/src/modules/engines/gl_common/shader/yuy2_nomul_frag.h +++ b/src/modules/engines/gl_common/shader/yuy2_nomul_frag.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "uniform sampler2D tex, texuv;\n" "varying vec2 tex_c, tex_cuv;\n" "void main()\n" @@ -9,18 +13,18 @@ " y=texture2D(tex,tex_c).r;\n" " u=texture2D(texuv,tex_cuv).g;\n" " v=texture2D(texuv,tex_cuv).a;\n" - +"\n" " u=u-0.5;\n" " v=v-0.5;\n" " vmu=v*0.813+u*0.391;\n" " u=u*2.018;\n" " v=v*1.596;\n" " y=(y-0.062)*1.164;\n" - +"\n" " r=y+v;\n" " g=y-vmu;\n" " b=y+u;\n" - +"\n" " gl_FragColor=vec4(r,g,b,1.0);\n" "}\n" - +"\n" diff --git a/src/modules/engines/gl_common/shader/yuy2_nomul_frag.shd b/src/modules/engines/gl_common/shader/yuy2_nomul_frag.shd index 6607402..fd82e2a 100644 --- a/src/modules/engines/gl_common/shader/yuy2_nomul_frag.shd +++ b/src/modules/engines/gl_common/shader/yuy2_nomul_frag.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif uniform sampler2D tex, texuv; varying vec2 tex_c, tex_cuv; diff --git a/src/modules/engines/gl_common/shader/yuy2_nomul_vert.h b/src/modules/engines/gl_common/shader/yuy2_nomul_vert.h index 75ae0c5..ec8b8f8 100644 --- a/src/modules/engines/gl_common/shader/yuy2_nomul_vert.h +++ b/src/modules/engines/gl_common/shader/yuy2_nomul_vert.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "attribute vec4 vertex;\n" "attribute vec2 tex_coord, tex_coord2;\n" "uniform mat4 mvp;\n" diff --git a/src/modules/engines/gl_common/shader/yuy2_nomul_vert.shd b/src/modules/engines/gl_common/shader/yuy2_nomul_vert.shd index 05acc9c..a7234b3 100644 --- a/src/modules/engines/gl_common/shader/yuy2_nomul_vert.shd +++ b/src/modules/engines/gl_common/shader/yuy2_nomul_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec2 tex_coord, tex_coord2; diff --git a/src/modules/engines/gl_common/shader/yuy2_vert.h b/src/modules/engines/gl_common/shader/yuy2_vert.h index a2ec64a..fe9bca1 100644 --- a/src/modules/engines/gl_common/shader/yuy2_vert.h +++ b/src/modules/engines/gl_common/shader/yuy2_vert.h @@ -1,6 +1,10 @@ "#ifdef GL_ES\n" +"#ifdef GL_FRAGMENT_PRECISION_HIGH\n" +"precision highp float;\n" +"#else\n" "precision mediump float;\n" "#endif\n" +"#endif\n" "attribute vec4 vertex;\n" "attribute vec4 color;\n" "attribute vec2 tex_coord, tex_coord2;\n" diff --git a/src/modules/engines/gl_common/shader/yuy2_vert.shd b/src/modules/engines/gl_common/shader/yuy2_vert.shd index 54efb1e..c16ab00 100644 --- a/src/modules/engines/gl_common/shader/yuy2_vert.shd +++ b/src/modules/engines/gl_common/shader/yuy2_vert.shd @@ -1,5 +1,9 @@ #ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; +#else +precision mediump float; +#endif #endif attribute vec4 vertex; attribute vec4 color; -- 2.7.4