more shaders... for more speeeeeeds!
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 18 Feb 2010 08:36:07 +0000 (08:36 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 18 Feb 2010 08:36:07 +0000 (08:36 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@46268 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

38 files changed:
src/modules/engines/gl_common/Makefile.am
src/modules/engines/gl_common/evas_gl_common.h
src/modules/engines/gl_common/evas_gl_context.c
src/modules/engines/gl_common/evas_gl_shader.c
src/modules/engines/gl_common/shader/compile-s3c6410.sh
src/modules/engines/gl_common/shader/compile-sgx.sh
src/modules/engines/gl_common/shader/img_bgra_solid_frag.h [deleted file]
src/modules/engines/gl_common/shader/img_bgra_solid_frag.shd [deleted file]
src/modules/engines/gl_common/shader/img_bgra_solid_frag_bin_s3c6410.h [deleted file]
src/modules/engines/gl_common/shader/img_bgra_solid_nomul_frag.shd [deleted file]
src/modules/engines/gl_common/shader/img_bgra_solid_nomul_frag_bin_s3c6410.h [deleted file]
src/modules/engines/gl_common/shader/img_bgra_solid_nomul_vert_bin_s3c6410.h [deleted file]
src/modules/engines/gl_common/shader/img_bgra_solid_vert.h [deleted file]
src/modules/engines/gl_common/shader/img_bgra_solid_vert.shd [deleted file]
src/modules/engines/gl_common/shader/img_bgra_solid_vert_bin_s3c6410.h [deleted file]
src/modules/engines/gl_common/shader/img_solid_frag.h [deleted file]
src/modules/engines/gl_common/shader/img_solid_frag.shd [deleted file]
src/modules/engines/gl_common/shader/img_solid_frag_bin_s3c6410.h [deleted file]
src/modules/engines/gl_common/shader/img_solid_nomul_frag.h [deleted file]
src/modules/engines/gl_common/shader/img_solid_nomul_frag.shd [deleted file]
src/modules/engines/gl_common/shader/img_solid_nomul_frag_bin_s3c6410.h [deleted file]
src/modules/engines/gl_common/shader/img_solid_nomul_vert_bin_s3c6410.h [deleted file]
src/modules/engines/gl_common/shader/img_solid_vert.h [deleted file]
src/modules/engines/gl_common/shader/img_solid_vert.shd [deleted file]
src/modules/engines/gl_common/shader/tex_nomul_frag.h [moved from src/modules/engines/gl_common/shader/img_bgra_solid_nomul_frag.h with 51% similarity]
src/modules/engines/gl_common/shader/tex_nomul_frag.shd [new file with mode: 0644]
src/modules/engines/gl_common/shader/tex_nomul_frag_bin_s3c6410.h [new file with mode: 0644]
src/modules/engines/gl_common/shader/tex_nomul_vert.h [moved from src/modules/engines/gl_common/shader/img_bgra_solid_nomul_vert.h with 74% similarity]
src/modules/engines/gl_common/shader/tex_nomul_vert.shd [moved from src/modules/engines/gl_common/shader/img_bgra_solid_nomul_vert.shd with 73% similarity]
src/modules/engines/gl_common/shader/tex_nomul_vert_bin_s3c6410.h [new file with mode: 0644]
src/modules/engines/gl_common/shader/yuv_frag.h
src/modules/engines/gl_common/shader/yuv_frag.shd
src/modules/engines/gl_common/shader/yuv_nomul_frag.h [new file with mode: 0644]
src/modules/engines/gl_common/shader/yuv_nomul_frag.shd [new file with mode: 0644]
src/modules/engines/gl_common/shader/yuv_nomul_frag_bin_s3c6410.h [new file with mode: 0644]
src/modules/engines/gl_common/shader/yuv_nomul_vert.h [moved from src/modules/engines/gl_common/shader/img_solid_nomul_vert.h with 79% similarity]
src/modules/engines/gl_common/shader/yuv_nomul_vert.shd [moved from src/modules/engines/gl_common/shader/img_solid_nomul_vert.shd with 79% similarity]
src/modules/engines/gl_common/shader/yuv_nomul_vert_bin_s3c6410.h [moved from src/modules/engines/gl_common/shader/img_solid_vert_bin_s3c6410.h with 55% similarity]

index 5c72687..1f95e92 100644 (file)
@@ -22,6 +22,10 @@ evas_gl_image.c \
 evas_gl_font.c \
 evas_gl_polygon.c \
 evas_gl_line.c \
+shader/rect_frag.h \
+shader/rect_frag_bin_s3c6410.h \
+shader/rect_vert.h \
+shader/rect_vert_bin_s3c6410.h \
 shader/font_frag.h \
 shader/font_frag_bin_s3c6410.h \
 shader/font_vert.h \
@@ -34,14 +38,6 @@ shader/img_nomul_frag.h \
 shader/img_nomul_frag_bin_s3c6410.h \
 shader/img_nomul_vert.h \
 shader/img_nomul_vert_bin_s3c6410.h \
-shader/img_solid_frag.h \
-shader/img_solid_frag_bin_s3c6410.h \
-shader/img_solid_vert.h \
-shader/img_solid_vert_bin_s3c6410.h \
-shader/img_solid_nomul_frag.h \
-shader/img_solid_nomul_frag_bin_s3c6410.h \
-shader/img_solid_nomul_vert.h \
-shader/img_solid_nomul_vert_bin_s3c6410.h \
 shader/img_bgra_frag.h \
 shader/img_bgra_frag_bin_s3c6410.h \
 shader/img_bgra_vert.h \
@@ -50,26 +46,22 @@ shader/img_bgra_nomul_frag.h \
 shader/img_bgra_nomul_frag_bin_s3c6410.h \
 shader/img_bgra_nomul_vert.h \
 shader/img_bgra_nomul_vert_bin_s3c6410.h \
-shader/img_bgra_solid_frag.h \
-shader/img_bgra_solid_frag_bin_s3c6410.h \
-shader/img_bgra_solid_vert.h \
-shader/img_bgra_solid_vert_bin_s3c6410.h \
-shader/img_bgra_solid_nomul_frag.h \
-shader/img_bgra_solid_nomul_frag_bin_s3c6410.h \
-shader/img_bgra_solid_nomul_vert.h \
-shader/img_bgra_solid_nomul_vert_bin_s3c6410.h \
-shader/rect_frag.h \
-shader/rect_frag_bin_s3c6410.h \
-shader/rect_vert.h \
-shader/rect_vert_bin_s3c6410.h \
 shader/yuv_frag.h \
 shader/yuv_frag_bin_s3c6410.h \
 shader/yuv_vert.h \
 shader/yuv_vert_bin_s3c6410.h \
+shader/yuv_nomul_frag.h \
+shader/yuv_nomul_frag_bin_s3c6410.h \
+shader/yuv_nomul_vert.h \
+shader/yuv_nomul_vert_bin_s3c6410.h \
 shader/tex_frag.h \
 shader/tex_frag_bin_s3c6410.h \
 shader/tex_vert.h \
-shader/tex_vert_bin_s3c6410.h
+shader/tex_vert_bin_s3c6410.h \
+shader/tex_nomul_frag.h \
+shader/tex_nomul_frag_bin_s3c6410.h \
+shader/tex_nomul_vert.h \
+shader/tex_nomul_vert_bin_s3c6410.h
 
 libevas_engine_gl_common_la_LIBADD = @EINA_LIBS@ @evas_engine_gl_common_libs@ @dlopen_libs@
 endif
@@ -79,33 +71,29 @@ shader/compile-s3c6410.sh \
 shader/compile-sgx.sh \
 shader/make-c-bin.sh \
 shader/make-c-str.sh \
+shader/rect_frag.shd \
+shader/rect_frag_s3c6410.asm \
+shader/rect_vert.shd \
+shader/font_frag.shd \
+shader/font_frag_s3c6410.asm \
+shader/font_vert.shd \
 shader/img_frag.shd \
 shader/img_frag_s3c6410.asm \
 shader/img_vert.shd \
 shader/img_nomul_frag.shd \
 shader/img_nomul_vert.shd \
-shader/img_solid_frag.shd \
-shader/img_solid_vert.shd \
-shader/img_solid_nomul_frag.shd \
-shader/img_solid_nomul_vert.shd \
 shader/img_bgra_vert.shd \
 shader/img_bgra_frag.shd \
 shader/img_bgra_vert.shd \
 shader/img_bgra_nomul_frag.shd \
 shader/img_bgra_nomul_vert.shd \
-shader/img_bgra_solid_frag.shd \
-shader/img_bgra_solid_vert.shd \
-shader/img_bgra_solid_nomul_frag.shd \
-shader/img_bgra_solid_nomul_vert.shd \
-shader/rect_frag.shd \
-shader/rect_frag_s3c6410.asm \
-shader/rect_vert.shd \
-shader/font_frag.shd \
-shader/font_frag_s3c6410.asm \
-shader/font_vert.shd \
 shader/yuv_frag.shd \
 shader/yuv_frag_s3c6410.asm \
 shader/yuv_vert.shd \
+shader/yuv_nomul_frag.shd \
+shader/yuv_nomul_vert.shd \
 shader/tex_frag.shd \
 shader/tex_frag_s3c6410.asm \
-shader/tex_vert.shd
+shader/tex_vert.shd \
+shader/tex_nomul_frag.shd \
+shader/tex_nomul_vert.shd
index 05287a2..36d3c2e 100644 (file)
@@ -103,17 +103,13 @@ struct _Evas_GL_Shared
    } tex;
    
    struct {
-      // ADD: tex_nomul, tex_solid, tex_solid_nomul, yuv_nomul
-      Evas_GL_Program  img,            img_nomul;
-      Evas_GL_Program  img_solid,      img_solid_nomul;
-      
-      Evas_GL_Program  img_bgra,       img_bgra_nomul;
-      Evas_GL_Program  img_bgra_solid, img_bgra_solid_nomul;
-
       Evas_GL_Program  rect;
       Evas_GL_Program  font;
-      Evas_GL_Program  yuv;
-      Evas_GL_Program  tex;
+      
+      Evas_GL_Program  img,            img_nomul;
+      Evas_GL_Program  img_bgra,       img_bgra_nomul;
+      Evas_GL_Program  yuv,            yuv_nomul;
+      Evas_GL_Program  tex,            tex_nomul;
    } shader;
    int references;
    int w, h;
@@ -263,33 +259,26 @@ extern Evas_GL_Program_Source shader_rect_frag_src;
 extern Evas_GL_Program_Source shader_rect_vert_src;
 extern Evas_GL_Program_Source shader_font_frag_src;
 extern Evas_GL_Program_Source shader_font_vert_src;
-extern Evas_GL_Program_Source shader_yuv_frag_src;
-extern Evas_GL_Program_Source shader_yuv_vert_src;
 
 extern Evas_GL_Program_Source shader_img_frag_src;
 extern Evas_GL_Program_Source shader_img_vert_src;
-
 extern Evas_GL_Program_Source shader_img_nomul_frag_src;
 extern Evas_GL_Program_Source shader_img_nomul_vert_src;
-extern Evas_GL_Program_Source shader_img_solid_frag_src;
-extern Evas_GL_Program_Source shader_img_solid_vert_src;
-extern Evas_GL_Program_Source shader_img_solid_nomul_frag_src;
-extern Evas_GL_Program_Source shader_img_solid_nomul_vert_src;
 extern Evas_GL_Program_Source shader_img_bgra_frag_src;
 extern Evas_GL_Program_Source shader_img_bgra_vert_src;
 extern Evas_GL_Program_Source shader_img_bgra_nomul_frag_src;
 extern Evas_GL_Program_Source shader_img_bgra_nomul_vert_src;
-extern Evas_GL_Program_Source shader_img_bgra_solid_frag_src;
-extern Evas_GL_Program_Source shader_img_bgra_solid_vert_src;
-extern Evas_GL_Program_Source shader_img_bgra_solid_nomul_frag_src;
-extern Evas_GL_Program_Source shader_img_bgra_solid_nomul_vert_src;
 
-// fixme: more yuv shaders
+extern Evas_GL_Program_Source shader_yuv_frag_src;
+extern Evas_GL_Program_Source shader_yuv_vert_src;
+extern Evas_GL_Program_Source shader_yuv_nomul_frag_src;
+extern Evas_GL_Program_Source shader_yuv_nomul_vert_src;
 
 extern Evas_GL_Program_Source shader_tex_frag_src;
 extern Evas_GL_Program_Source shader_tex_vert_src;
-// fixme: more tex shaders
-// 
+extern Evas_GL_Program_Source shader_tex_nomul_frag_src;
+extern Evas_GL_Program_Source shader_tex_nomul_vert_src;
+
 void glerr(int err, const char *file, const char *func, int line, const char *op);
  
 Evas_GL_Context  *evas_gl_common_context_new(void);
index f25b0b4..b15cb27 100644 (file)
@@ -149,35 +149,37 @@ _evas_gl_common_viewport_set(Evas_GL_Context *gc)
    glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.font.prog, "mvp"), 1,
                       GL_FALSE, proj);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
+   
    glUseProgram(gc->shared->shader.yuv.prog);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
    glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.yuv.prog, "mvp"), 1,
                       GL_FALSE, proj);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUseProgram(gc->shared->shader.tex.prog);
+   glUseProgram(gc->shared->shader.yuv_nomul.prog);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.tex.prog, "mvp"), 1,
+   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.yuv_nomul.prog, "mvp"), 1,
                       GL_FALSE, proj);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
    
-   glUseProgram(gc->shared->shader.img.prog);
+   glUseProgram(gc->shared->shader.tex.prog);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img.prog, "mvp"), 1,
+   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.tex.prog, "mvp"), 1,
                       GL_FALSE, proj);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUseProgram(gc->shared->shader.img_nomul.prog);
+   glUseProgram(gc->shared->shader.tex_nomul.prog);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img_nomul.prog, "mvp"), 1,
+   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.tex_nomul.prog, "mvp"), 1,
                       GL_FALSE, proj);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUseProgram(gc->shared->shader.img_solid.prog);
+   
+   glUseProgram(gc->shared->shader.img.prog);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img_solid.prog, "mvp"), 1,
+   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img.prog, "mvp"), 1,
                       GL_FALSE, proj);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUseProgram(gc->shared->shader.img_solid_nomul.prog);
+   glUseProgram(gc->shared->shader.img_nomul.prog);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img_solid_nomul.prog, "mvp"), 1,
+   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img_nomul.prog, "mvp"), 1,
                       GL_FALSE, proj);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
 
@@ -191,16 +193,6 @@ _evas_gl_common_viewport_set(Evas_GL_Context *gc)
    glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img_bgra_nomul.prog, "mvp"), 1,
                       GL_FALSE, proj);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUseProgram(gc->shared->shader.img_bgra_solid.prog);
-   GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img_bgra_solid.prog, "mvp"), 1,
-                      GL_FALSE, proj);
-   GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUseProgram(gc->shared->shader.img_bgra_solid_nomul.prog);
-   GLERR(__FUNCTION__, __FILE__, __LINE__, "");
-   glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img_bgra_solid_nomul.prog, "mvp"), 1,
-                      GL_FALSE, proj);
-   GLERR(__FUNCTION__, __FILE__, __LINE__, "");
 
    glUseProgram(gc->shader.cur_prog);
    GLERR(__FUNCTION__, __FILE__, __LINE__, "");
@@ -312,6 +304,14 @@ evas_gl_common_context_new(void)
         glEnableVertexAttribArray(SHAD_COLOR);
         GLERR(__FUNCTION__, __FILE__, __LINE__, "");
         
+        evas_gl_common_shader_program_init(&(shared->shader.rect), 
+                                           &(shader_rect_vert_src), 
+                                           &(shader_rect_frag_src),
+                                           "rect");
+        evas_gl_common_shader_program_init(&(shared->shader.font),
+                                           &(shader_font_vert_src), 
+                                           &(shader_font_frag_src),
+                                           "font");
         evas_gl_common_shader_program_init(&(shared->shader.img),
                                            &(shader_img_vert_src),
                                            &(shader_img_frag_src),
@@ -320,15 +320,6 @@ evas_gl_common_context_new(void)
                                            &(shader_img_nomul_vert_src),
                                            &(shader_img_nomul_frag_src),
                                            "img_nomul");
-        evas_gl_common_shader_program_init(&(shared->shader.img_solid),
-                                           &(shader_img_solid_vert_src),
-                                           &(shader_img_solid_frag_src),
-                                           "img_solid");
-        evas_gl_common_shader_program_init(&(shared->shader.img_solid_nomul),
-                                           &(shader_img_solid_nomul_vert_src),
-                                           &(shader_img_solid_nomul_frag_src),
-                                           "img_solid_nomul");
-
         evas_gl_common_shader_program_init(&(shared->shader.img_bgra),
                                            &(shader_img_bgra_vert_src),
                                            &(shader_img_bgra_frag_src),
@@ -337,32 +328,23 @@ evas_gl_common_context_new(void)
                                            &(shader_img_bgra_nomul_vert_src),
                                            &(shader_img_bgra_nomul_frag_src),
                                            "img_bgra_nomul");
-        evas_gl_common_shader_program_init(&(shared->shader.img_bgra_solid),
-                                           &(shader_img_bgra_solid_vert_src),
-                                           &(shader_img_bgra_solid_frag_src),
-                                           "img_bgra_solid");
-        evas_gl_common_shader_program_init(&(shared->shader.img_bgra_solid_nomul),
-                                           &(shader_img_bgra_solid_nomul_vert_src),
-                                           &(shader_img_bgra_solid_nomul_frag_src),
-                                           "img_bgra_solid_nomul");
-        
-        evas_gl_common_shader_program_init(&(shared->shader.rect), 
-                                           &(shader_rect_vert_src), 
-                                           &(shader_rect_frag_src),
-                                           "rect");
-        evas_gl_common_shader_program_init(&(shared->shader.font),
-                                           &(shader_font_vert_src), 
-                                           &(shader_font_frag_src),
-                                           "font");
         evas_gl_common_shader_program_init(&(shared->shader.tex),
                                            &(shader_tex_vert_src), 
                                            &(shader_tex_frag_src),
                                            "tex");
-        
+        evas_gl_common_shader_program_init(&(shared->shader.tex_nomul),
+                                           &(shader_tex_nomul_vert_src), 
+                                           &(shader_tex_nomul_frag_src),
+                                           "tex_nomul");
         evas_gl_common_shader_program_init(&(shared->shader.yuv),
                                            &(shader_yuv_vert_src), 
                                            &(shader_yuv_frag_src),
                                            "yuv");
+        evas_gl_common_shader_program_init(&(shared->shader.yuv_nomul),
+                                           &(shader_yuv_nomul_vert_src), 
+                                           &(shader_yuv_nomul_frag_src),
+                                           "yuv_nomul");
+        
         glUseProgram(shared->shader.yuv.prog);
         GLERR(__FUNCTION__, __FILE__, __LINE__, "");
         glUniform1i(glGetUniformLocation(shared->shader.yuv.prog, "tex"), 0);
@@ -371,6 +353,16 @@ evas_gl_common_context_new(void)
         GLERR(__FUNCTION__, __FILE__, __LINE__, "");
         glUniform1i(glGetUniformLocation(shared->shader.yuv.prog, "texv"), 2);
         GLERR(__FUNCTION__, __FILE__, __LINE__, "");
+        
+        glUseProgram(shared->shader.yuv_nomul.prog);
+        GLERR(__FUNCTION__, __FILE__, __LINE__, "");
+        glUniform1i(glGetUniformLocation(shared->shader.yuv_nomul.prog, "tex"), 0);
+        GLERR(__FUNCTION__, __FILE__, __LINE__, "");
+        glUniform1i(glGetUniformLocation(shared->shader.yuv_nomul.prog, "texu"), 1);
+        GLERR(__FUNCTION__, __FILE__, __LINE__, "");
+        glUniform1i(glGetUniformLocation(shared->shader.yuv_nomul.prog, "texv"), 2);
+        GLERR(__FUNCTION__, __FILE__, __LINE__, "");
+        
         glUseProgram(gc->shader.cur_prog);
         GLERR(__FUNCTION__, __FILE__, __LINE__, "");
         // in shader:
@@ -642,7 +634,6 @@ evas_gl_common_context_image_push(Evas_GL_Context *gc,
 {
    int pnum, nv, nc, nu, nu2, nt, i;
    GLfloat tx1, tx2, ty1, ty2;
-   GLfloat bl = 1.0;
    Eina_Bool blend = 1;
    GLuint prog = gc->shared->shader.img.prog;
 
@@ -652,7 +643,7 @@ evas_gl_common_context_image_push(Evas_GL_Context *gc,
    if (tex_only)
      {
         if ((a == 255) && (r == 255) && (g == 255) && (b == 255))
-          prog = gc->shared->shader.tex.prog; // fixme: nomul
+          prog = gc->shared->shader.tex_nomul.prog;
         else
           prog = gc->shared->shader.tex.prog;
      }
@@ -704,8 +695,7 @@ evas_gl_common_context_image_push(Evas_GL_Context *gc,
    // if nomul... dont need this
    gc->array.use_color = 1;
    gc->array.use_texuv = 1;
-   // if not solid, don't need this
-   gc->array.use_texuv2 = 1;
+   gc->array.use_texuv2 = 0;
    gc->array.use_texuv3 = 0;
   
    pnum = gc->array.num;
@@ -728,7 +718,6 @@ evas_gl_common_context_image_push(Evas_GL_Context *gc,
         tx2 = ((double)(tex->x) + sx + sw) / (double)tex->pt->w;
         ty2 = ((double)(tex->y) + sy + sh) / (double)tex->pt->h;
      }
-   if (blend) bl = 0.0;
 
    PUSH_VERTEX(x    , y    , 0);
    PUSH_VERTEX(x + w, y    , 0);
@@ -738,10 +727,6 @@ evas_gl_common_context_image_push(Evas_GL_Context *gc,
    PUSH_TEXUV(tx2, ty1);
    PUSH_TEXUV(tx1, ty2);
    
-   PUSH_TEXUV2(bl, 0.0);
-   PUSH_TEXUV2(bl, 0.0);
-   PUSH_TEXUV2(bl, 0.0);
-   
    PUSH_VERTEX(x + w, y    , 0);
    PUSH_VERTEX(x + w, y + h, 0);
    PUSH_VERTEX(x    , y + h, 0);
@@ -750,10 +735,6 @@ evas_gl_common_context_image_push(Evas_GL_Context *gc,
    PUSH_TEXUV(tx2, ty2);
    PUSH_TEXUV(tx1, ty2);
 
-   PUSH_TEXUV2(bl, 0.0);
-   PUSH_TEXUV2(bl, 0.0);
-   PUSH_TEXUV2(bl, 0.0);
-
    // if nomul... dont need this
    for (i = 0; i < 6; i++)
      {
@@ -847,11 +828,17 @@ evas_gl_common_context_yuv_push(Evas_GL_Context *gc,
    int pnum, nv, nc, nu, nu2, nu3, nt, i;
    GLfloat tx1, tx2, ty1, ty2, t2x1, t2x2, t2y1, t2y2;
    Eina_Bool blend = 0;
+   GLuint prog = gc->shared->shader.yuv.prog;
 
    if (a < 255) blend = 1;
    
+   if ((a == 255) && (r == 255) && (g == 255) && (b == 255))
+     prog = gc->shared->shader.yuv_nomul.prog;
+   else
+     prog = gc->shared->shader.yuv.prog;
+   
    if ((gc->shader.cur_tex != tex->pt->texture)
-       || (gc->shader.cur_prog != gc->shared->shader.yuv.prog)
+       || (gc->shader.cur_prog != prog)
        || (gc->shader.smooth != smooth)
        || (gc->shader.blend != blend)
        || (gc->shader.render_op != gc->dc->render_op)
@@ -862,7 +849,7 @@ evas_gl_common_context_yuv_push(Evas_GL_Context *gc,
         gc->shader.cur_tex = tex->pt->texture;
         gc->shader.cur_texu = tex->ptu->texture;
         gc->shader.cur_texv = tex->ptv->texture;
-        gc->shader.cur_prog = gc->shared->shader.yuv.prog;
+        gc->shader.cur_prog = prog;
         gc->shader.smooth = smooth;
         gc->shader.blend = blend;
         gc->shader.render_op = gc->dc->render_op;
@@ -940,7 +927,6 @@ evas_gl_common_context_image_map4_push(Evas_GL_Context *gc,
    int pnum, nv, nc, nu, nu2, nt, i;
    const int points[6] = { 0, 1, 2, 0, 2, 3 };
    GLfloat tx[4], ty[4];
-   GLfloat bl = 1.0;
    Eina_Bool blend = 1;
    RGBA_Map_Point *pt;
    DATA32 cmul;
@@ -952,7 +938,7 @@ evas_gl_common_context_image_map4_push(Evas_GL_Context *gc,
    if (tex_only)
      {
         if ((a == 255) && (r == 255) && (g == 255) && (b == 255))
-          prog = gc->shared->shader.tex.prog; // fixme: nomul
+          prog = gc->shared->shader.tex_nomul.prog;
         else
           prog = gc->shared->shader.tex.prog;
      }
@@ -1031,8 +1017,6 @@ evas_gl_common_context_image_map4_push(Evas_GL_Context *gc,
         // FIXME: handle yinvert
      }
    
-   if (blend) bl = 0.0;
-   
    cmul = ARGB_JOIN(a, r, g, b);
    for (i = 0; i < 6; i++)
      {
@@ -1040,13 +1024,9 @@ evas_gl_common_context_image_map4_push(Evas_GL_Context *gc,
         PUSH_VERTEX((p[points[i]].x >> FP), 
                     (p[points[i]].y >> FP),
                     0);
-//                    (p[points[i]].y >> FP) + 4096);
-//                    (p[points[i]].z >> FP));
         PUSH_TEXUV(tx[points[i]],
                    ty[points[i]]);
         
-        PUSH_TEXUV2(bl, 0.0);
-   
         PUSH_COLOR(R_VAL(&cl),
                    G_VAL(&cl),
                    B_VAL(&cl),
index 2d23e85..f80c1be 100644 (file)
@@ -122,86 +122,79 @@ Evas_GL_Program_Source shader_yuv_vert_src =
 
 /////////////////////////////////////////////
 #if defined (GLES_VARIETY_S3C6410)
-const unsigned int tex_frag_bin[] =
+const unsigned int yuv_nomul_frag_bin[] =
 {
-# include "shader/tex_frag_bin_s3c6410.h"
+# include "shader/yuv_nomul_frag_bin_s3c6410.h"
 };
 #endif
 
-const char tex_frag_glsl[] =
-#include "shader/tex_frag.h"
+const char yuv_nomul_frag_glsl[] =
+#include "shader/yuv_nomul_frag.h"
   ;
-Evas_GL_Program_Source shader_tex_frag_src =
+Evas_GL_Program_Source shader_yuv_nomul_frag_src =
 {
-   tex_frag_glsl,
+   yuv_nomul_frag_glsl,
 #if defined (GLES_VARIETY_S3C6410)
-     tex_frag_bin, sizeof(tex_frag_bin)
+     yuv_nomul_frag_bin, sizeof(yuv_nomul_frag_bin)
 #else     
      NULL, 0
 #endif     
 };
 
 #if defined (GLES_VARIETY_S3C6410)
-const unsigned int tex_vert_bin[] =
+const unsigned int yuv_nomul_vert_bin[] =
 {
-# include "shader/tex_vert_bin_s3c6410.h"
+# include "shader/yuv_nomul_vert_bin_s3c6410.h"
 };
 #endif
-const char tex_vert_glsl[] =
-#include "shader/tex_vert.h"
+const char yuv_nomul_vert_glsl[] =
+#include "shader/yuv_nomul_vert.h"
   ;
-Evas_GL_Program_Source shader_tex_vert_src =
+Evas_GL_Program_Source shader_yuv_nomul_vert_src =
 {
-   tex_vert_glsl,
+   yuv_nomul_vert_glsl,
 #if defined (GLES_VARIETY_S3C6410)
-     tex_vert_bin, sizeof(tex_vert_bin)
+     yuv_nomul_vert_bin, sizeof(yuv_nomul_vert_bin)
 #else     
      NULL, 0
 #endif     
 };
 
-
-
-
-
-
-
-
 /////////////////////////////////////////////
 #if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_frag_bin[] =
+const unsigned int tex_frag_bin[] =
 {
-# include "shader/img_frag_bin_s3c6410.h"
+# include "shader/tex_frag_bin_s3c6410.h"
 };
 #endif
 
-const char img_frag_glsl[] =
-#include "shader/img_frag.h"
+const char tex_frag_glsl[] =
+#include "shader/tex_frag.h"
   ;
-Evas_GL_Program_Source shader_img_frag_src =
+Evas_GL_Program_Source shader_tex_frag_src =
 {
-   img_frag_glsl,
+   tex_frag_glsl,
 #if defined (GLES_VARIETY_S3C6410)
-     img_frag_bin, sizeof(img_frag_bin)
+     tex_frag_bin, sizeof(tex_frag_bin)
 #else     
      NULL, 0
 #endif     
 };
 
 #if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_vert_bin[] =
+const unsigned int tex_vert_bin[] =
 {
-# include "shader/img_vert_bin_s3c6410.h"
+# include "shader/tex_vert_bin_s3c6410.h"
 };
 #endif
-const char img_vert_glsl[] =
-#include "shader/img_vert.h"
+const char tex_vert_glsl[] =
+#include "shader/tex_vert.h"
   ;
-Evas_GL_Program_Source shader_img_vert_src =
+Evas_GL_Program_Source shader_tex_vert_src =
 {
-   img_vert_glsl,
+   tex_vert_glsl,
 #if defined (GLES_VARIETY_S3C6410)
-     img_vert_bin, sizeof(img_vert_bin)
+     tex_vert_bin, sizeof(tex_vert_bin)
 #else     
      NULL, 0
 #endif     
@@ -209,39 +202,39 @@ Evas_GL_Program_Source shader_img_vert_src =
 
 /////////////////////////////////////////////
 #if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_nomul_frag_bin[] =
+const unsigned int tex_nomul_frag_bin[] =
 {
-# include "shader/img_nomul_frag_bin_s3c6410.h"
+# include "shader/tex_nomul_frag_bin_s3c6410.h"
 };
 #endif
 
-const char img_nomul_frag_glsl[] =
-#include "shader/img_nomul_frag.h"
+const char tex_nomul_frag_glsl[] =
+#include "shader/tex_nomul_frag.h"
   ;
-Evas_GL_Program_Source shader_img_nomul_frag_src =
+Evas_GL_Program_Source shader_tex_nomul_frag_src =
 {
-   img_nomul_frag_glsl,
+   tex_nomul_frag_glsl,
 #if defined (GLES_VARIETY_S3C6410)
-     img_nomul_frag_bin, sizeof(img_nomul_frag_bin)
+     tex_nomul_frag_bin, sizeof(tex_nomul_frag_bin)
 #else     
      NULL, 0
 #endif     
 };
 
 #if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_nomul_vert_bin[] =
+const unsigned int tex_nomul_vert_bin[] =
 {
-# include "shader/img_nomul_vert_bin_s3c6410.h"
+# include "shader/tex_nomul_vert_bin_s3c6410.h"
 };
 #endif
-const char img_nomul_vert_glsl[] =
-#include "shader/img_nomul_vert.h"
+const char tex_nomul_vert_glsl[] =
+#include "shader/tex_nomul_vert.h"
   ;
-Evas_GL_Program_Source shader_img_nomul_vert_src =
+Evas_GL_Program_Source shader_tex_nomul_vert_src =
 {
-   img_nomul_vert_glsl,
+   tex_nomul_vert_glsl,
 #if defined (GLES_VARIETY_S3C6410)
-     img_nomul_vert_bin, sizeof(img_nomul_vert_bin)
+     tex_nomul_vert_bin, sizeof(tex_nomul_vert_bin)
 #else     
      NULL, 0
 #endif     
@@ -249,39 +242,39 @@ Evas_GL_Program_Source shader_img_nomul_vert_src =
 
 /////////////////////////////////////////////
 #if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_solid_frag_bin[] =
+const unsigned int img_frag_bin[] =
 {
-# include "shader/img_solid_frag_bin_s3c6410.h"
+# include "shader/img_frag_bin_s3c6410.h"
 };
 #endif
 
-const char img_solid_frag_glsl[] =
-#include "shader/img_solid_frag.h"
+const char img_frag_glsl[] =
+#include "shader/img_frag.h"
   ;
-Evas_GL_Program_Source shader_img_solid_frag_src =
+Evas_GL_Program_Source shader_img_frag_src =
 {
-   img_solid_frag_glsl,
+   img_frag_glsl,
 #if defined (GLES_VARIETY_S3C6410)
-     img_solid_frag_bin, sizeof(img_solid_frag_bin)
+     img_frag_bin, sizeof(img_frag_bin)
 #else     
      NULL, 0
 #endif     
 };
 
 #if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_solid_vert_bin[] =
+const unsigned int img_vert_bin[] =
 {
-# include "shader/img_solid_vert_bin_s3c6410.h"
+# include "shader/img_vert_bin_s3c6410.h"
 };
 #endif
-const char img_solid_vert_glsl[] =
-#include "shader/img_solid_vert.h"
+const char img_vert_glsl[] =
+#include "shader/img_vert.h"
   ;
-Evas_GL_Program_Source shader_img_solid_vert_src =
+Evas_GL_Program_Source shader_img_vert_src =
 {
-   img_solid_vert_glsl,
+   img_vert_glsl,
 #if defined (GLES_VARIETY_S3C6410)
-     img_solid_vert_bin, sizeof(img_solid_vert_bin)
+     img_vert_bin, sizeof(img_vert_bin)
 #else     
      NULL, 0
 #endif     
@@ -289,50 +282,44 @@ Evas_GL_Program_Source shader_img_solid_vert_src =
 
 /////////////////////////////////////////////
 #if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_solid_nomul_frag_bin[] =
+const unsigned int img_nomul_frag_bin[] =
 {
-# include "shader/img_solid_nomul_frag_bin_s3c6410.h"
+# include "shader/img_nomul_frag_bin_s3c6410.h"
 };
 #endif
 
-const char img_solid_nomul_frag_glsl[] =
-#include "shader/img_solid_nomul_frag.h"
+const char img_nomul_frag_glsl[] =
+#include "shader/img_nomul_frag.h"
   ;
-Evas_GL_Program_Source shader_img_solid_nomul_frag_src =
+Evas_GL_Program_Source shader_img_nomul_frag_src =
 {
-   img_solid_nomul_frag_glsl,
+   img_nomul_frag_glsl,
 #if defined (GLES_VARIETY_S3C6410)
-     img_solid_nomul_frag_bin, sizeof(img_solid_nomul_frag_bin)
+     img_nomul_frag_bin, sizeof(img_nomul_frag_bin)
 #else     
      NULL, 0
 #endif     
 };
 
 #if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_solid_nomul_vert_bin[] =
+const unsigned int img_nomul_vert_bin[] =
 {
-# include "shader/img_solid_nomul_vert_bin_s3c6410.h"
+# include "shader/img_nomul_vert_bin_s3c6410.h"
 };
 #endif
-const char img_solid_nomul_vert_glsl[] =
-#include "shader/img_solid_nomul_vert.h"
+const char img_nomul_vert_glsl[] =
+#include "shader/img_nomul_vert.h"
   ;
-Evas_GL_Program_Source shader_img_solid_nomul_vert_src =
+Evas_GL_Program_Source shader_img_nomul_vert_src =
 {
-   img_solid_nomul_vert_glsl,
+   img_nomul_vert_glsl,
 #if defined (GLES_VARIETY_S3C6410)
-     img_solid_nomul_vert_bin, sizeof(img_solid_nomul_vert_bin)
+     img_nomul_vert_bin, sizeof(img_nomul_vert_bin)
 #else     
      NULL, 0
 #endif     
 };
 
-
-
-
-
-
-
 /////////////////////////////////////////////
 #if defined (GLES_VARIETY_S3C6410)
 const unsigned int img_bgra_frag_bin[] =
@@ -414,92 +401,6 @@ Evas_GL_Program_Source shader_img_bgra_nomul_vert_src =
 };
 
 /////////////////////////////////////////////
-#if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_bgra_solid_frag_bin[] =
-{
-# include "shader/img_bgra_solid_frag_bin_s3c6410.h"
-};
-#endif
-
-const char img_bgra_solid_frag_glsl[] =
-#include "shader/img_bgra_solid_frag.h"
-  ;
-Evas_GL_Program_Source shader_img_bgra_solid_frag_src =
-{
-   img_bgra_solid_frag_glsl,
-#if defined (GLES_VARIETY_S3C6410)
-     img_bgra_solid_frag_bin, sizeof(img_bgra_solid_frag_bin)
-#else     
-     NULL, 0
-#endif     
-};
-
-#if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_bgra_solid_vert_bin[] =
-{
-# include "shader/img_bgra_solid_vert_bin_s3c6410.h"
-};
-#endif
-const char img_bgra_solid_vert_glsl[] =
-#include "shader/img_bgra_solid_vert.h"
-  ;
-Evas_GL_Program_Source shader_img_bgra_solid_vert_src =
-{
-   img_bgra_solid_vert_glsl,
-#if defined (GLES_VARIETY_S3C6410)
-     img_bgra_solid_vert_bin, sizeof(img_bgra_solid_vert_bin)
-#else     
-     NULL, 0
-#endif     
-};
-
-/////////////////////////////////////////////
-#if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_bgra_solid_nomul_frag_bin[] =
-{
-# include "shader/img_bgra_solid_nomul_frag_bin_s3c6410.h"
-};
-#endif
-
-const char img_bgra_solid_nomul_frag_glsl[] =
-#include "shader/img_bgra_solid_nomul_frag.h"
-  ;
-Evas_GL_Program_Source shader_img_bgra_solid_nomul_frag_src =
-{
-   img_bgra_solid_nomul_frag_glsl,
-#if defined (GLES_VARIETY_S3C6410)
-     img_bgra_solid_nomul_frag_bin, sizeof(img_bgra_solid_nomul_frag_bin)
-#else     
-     NULL, 0
-#endif     
-};
-
-#if defined (GLES_VARIETY_S3C6410)
-const unsigned int img_bgra_solid_nomul_vert_bin[] =
-{
-# include "shader/img_bgra_solid_nomul_vert_bin_s3c6410.h"
-};
-#endif
-const char img_bgra_solid_nomul_vert_glsl[] =
-#include "shader/img_bgra_solid_nomul_vert.h"
-  ;
-Evas_GL_Program_Source shader_img_bgra_solid_nomul_vert_src =
-{
-   img_bgra_solid_nomul_vert_glsl,
-#if defined (GLES_VARIETY_S3C6410)
-     img_bgra_solid_nomul_vert_bin, sizeof(img_bgra_solid_nomul_vert_bin)
-#else     
-     NULL, 0
-#endif     
-};
-
-
-
-
-
-
-
-/////////////////////////////////////////////
 static void
 gl_compile_link_error(GLuint target, const char *action)
 {
index 01dc4fd..924096b 100755 (executable)
@@ -30,14 +30,12 @@ function compile()
 }
 
 compile rect
+compile font
 compile img
 compile img_nomul
-compile img_solid
-compile img_solid_nomul
 compile img_bgra
 compile img_bgra_nomul
-compile img_bgra_solid
-compile img_bgra_solid_nomul
-compile font
 compile yuv
+compile yuv_nomul
 compile tex
+compile tex_nomul
index ac48bd9..ff7f28d 100755 (executable)
@@ -8,14 +8,12 @@ function compile()
 }
 
 compile rect
+compile font
 compile img
 compile img_nomul
-compile img_solid
-compile img_solid_nomul
 compile img_bgra
 compile img_bgra_nomul
-compile img_bgra_solid
-compile img_bgra_solid_nomul
-compile font
 compile yuv
+compile yuv_nomul
 compile tex
+compile tex_nomul
diff --git a/src/modules/engines/gl_common/shader/img_bgra_solid_frag.h b/src/modules/engines/gl_common/shader/img_bgra_solid_frag.h
deleted file mode 100644 (file)
index e0f44d7..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-"#ifdef GL_ES\n"
-"precision mediump float;\n"
-"#endif\n"
-"uniform sampler2D tex;\n"
-"varying vec4 col;\n"
-"varying vec2 tex_c;\n"
-"varying vec2 tex_c2;\n"
-"void main()\n"
-"{\n"
-"   vec4 t = texture2D(tex, tex_c.xy);\n"
-"   gl_FragColor = vec4(t.r, t.g, t.b, t.a + tex_c2.x) * col;\n"
-"}\n"
diff --git a/src/modules/engines/gl_common/shader/img_bgra_solid_frag.shd b/src/modules/engines/gl_common/shader/img_bgra_solid_frag.shd
deleted file mode 100644 (file)
index 697aeed..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef GL_ES
-precision mediump float;
-#endif
-uniform sampler2D tex;
-varying vec4 col;
-varying vec2 tex_c;
-varying vec2 tex_c2;
-void main()
-{
-   vec4 t = texture2D(tex, tex_c.xy);
-   gl_FragColor = vec4(t.r, t.g, t.b, t.a + tex_c2.x) * col;
-}
diff --git a/src/modules/engines/gl_common/shader/img_bgra_solid_frag_bin_s3c6410.h b/src/modules/engines/gl_common/shader/img_bgra_solid_frag_bin_s3c6410.h
deleted file mode 100644 (file)
index 269af25..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-0x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000007, 0x00000003, 
-0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000001, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000015, 0x00000000, 
-0x00000000, 0x02025400, 0x23782050, 0x00000000, 0x00000000, 0x0100e407, 
-0x307820e4, 0x00000000, 0x00000000, 0x01000000, 0x20b821a4, 0x00000000, 
-0x01000000, 0x01000000, 0x220822ff, 0x00000000, 0x00000000, 0x01020000, 
-0x20c02100, 0x00000000, 0x02000000, 0x0101e400, 0x237a10e4, 0x00000000, 
-0x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 
-0x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000003, 
-0x00000009, 0x00000000, 0x00000008, 0x00000008, 0x00000005, 0x00000003, 
-0x00000000, 0x00000000, 0x0000000e, 0x00000006, 0x00000003, 0x00000000, 
-0x00000004, 0x00000000, 0x00000003, 0x0000000f, 0x00030005, 0x00000000, 
-0x00786574, 0x006c6f63, 0x5f786574, 0x65740063, 0x32635f78, 0x00000000, 
diff --git a/src/modules/engines/gl_common/shader/img_bgra_solid_nomul_frag.shd b/src/modules/engines/gl_common/shader/img_bgra_solid_nomul_frag.shd
deleted file mode 100644 (file)
index 4606d1b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifdef GL_ES
-precision mediump float;
-#endif
-uniform sampler2D tex;
-varying vec2 tex_c;
-varying vec2 tex_c2;
-void main()
-{
-   vec4 t = texture2D(tex, tex_c.xy);
-   gl_FragColor = vec4(t.r, t.g, t.b, t.a + tex_c2.x);
-}
diff --git a/src/modules/engines/gl_common/shader/img_bgra_solid_nomul_frag_bin_s3c6410.h b/src/modules/engines/gl_common/shader/img_bgra_solid_nomul_frag_bin_s3c6410.h
deleted file mode 100644 (file)
index 087f5e7..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-0x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000007, 0x00000003, 
-0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000000, 
-0x00000000, 0x02025400, 0x23782150, 0x00000000, 0x00000000, 0x0101e407, 
-0x307821e4, 0x00000000, 0x00000000, 0x01010000, 0x20b820a4, 0x00000000, 
-0x01000000, 0x01010000, 0x220822ff, 0x00000000, 0x00000000, 0x01020000, 
-0x20c02000, 0x00000000, 0x00000000, 0x01000000, 0x20fa10e4, 0x00000000, 
-0x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 
-0x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000005, 
-0x00000003, 0x00000000, 0x00000000, 0x0000000a, 0x00000006, 0x00000003, 
-0x00000000, 0x00000004, 0x00000000, 0x00000003, 0x0000000f, 0x00030005, 
-0x00000000, 0x00786574, 0x5f786574, 0x65740063, 0x32635f78, 0x00000000, 
diff --git a/src/modules/engines/gl_common/shader/img_bgra_solid_nomul_vert_bin_s3c6410.h b/src/modules/engines/gl_common/shader/img_bgra_solid_nomul_vert_bin_s3c6410.h
deleted file mode 100644 (file)
index dc5c67b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-0x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000007, 0x00000006, 
-0x00000000, 0x00000000, 0x00000003, 0x00000003, 0x00000001, 0x00000000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000039, 0x00000000, 
-0x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500, 
-0x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000, 
-0x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000, 
-0x20980154, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000, 
-0x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000c, 0x00000006, 
-0x00000009, 0x00000000, 0x00000000, 0x00000013, 0x00000009, 0x00000003, 
-0x00000000, 0x00000004, 0x0000001d, 0x0000000a, 0x00000003, 0x00000000, 
-0x00000008, 0x00000000, 0x0000000b, 0x00000009, 0x00010004, 0x00000000, 
-0x0000002c, 0x00000005, 0x00000003, 0x00010004, 0x00000004, 0x00000032, 
-0x00000006, 0x00000003, 0x00010004, 0x00000008, 0x00000028, 0x00000003, 
-0x0000000e, 0x00020001, 0x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69, 
-0x74726576, 0x74007865, 0x635f7865, 0x64726f6f, 0x78657400, 0x6f6f635f, 
-0x00326472, 0x0070766d, 0x5f786574, 0x65740063, 0x32635f78, 0x00000000, 
diff --git a/src/modules/engines/gl_common/shader/img_bgra_solid_vert.h b/src/modules/engines/gl_common/shader/img_bgra_solid_vert.h
deleted file mode 100644 (file)
index ae3ae71..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-"#ifdef GL_ES\n"
-"precision mediump float;\n"
-"#endif\n"
-"attribute vec4 vertex;\n"
-"attribute vec4 color;\n"
-"attribute vec2 tex_coord;\n"
-"attribute vec2 tex_coord2;\n"
-"uniform mat4 mvp;\n"
-"varying vec4 col;\n"
-"varying vec2 tex_c;\n"
-"varying vec2 tex_c2;\n"
-"void main()\n"
-"{\n"
-"   gl_Position = mvp * vertex;\n"
-"   col = color;\n"
-"   tex_c = tex_coord;\n"
-"   tex_c2 = tex_coord2;\n"
-"}\n"
diff --git a/src/modules/engines/gl_common/shader/img_bgra_solid_vert.shd b/src/modules/engines/gl_common/shader/img_bgra_solid_vert.shd
deleted file mode 100644 (file)
index 3e8931b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifdef GL_ES
-precision mediump float;
-#endif
-attribute vec4 vertex;
-attribute vec4 color;
-attribute vec2 tex_coord;
-attribute vec2 tex_coord2;
-uniform mat4 mvp;
-varying vec4 col;
-varying vec2 tex_c;
-varying vec2 tex_c2;
-void main()
-{
-   gl_Position = mvp * vertex;
-   col = color;
-   tex_c = tex_coord;
-   tex_c2 = tex_coord2;
-}
diff --git a/src/modules/engines/gl_common/shader/img_bgra_solid_vert_bin_s3c6410.h b/src/modules/engines/gl_common/shader/img_bgra_solid_vert_bin_s3c6410.h
deleted file mode 100644 (file)
index a474920..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-0x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000008, 0x00000006, 
-0x00000000, 0x00000000, 0x00000004, 0x00000004, 0x00000001, 0x00000000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000000, 
-0x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500, 
-0x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000, 
-0x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000, 
-0x20f801e4, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000, 
-0x00000000, 0x00030000, 0x20980354, 0x00000000, 0x00000000, 0x00000000, 
-0x1e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
-0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x0000000c, 0x00000006, 0x00000009, 0x00000000, 
-0x00000000, 0x00000013, 0x00000005, 0x00000009, 0x00000000, 0x00000004, 
-0x00000019, 0x00000009, 0x00000003, 0x00000000, 0x00000008, 0x00000023, 
-0x0000000a, 0x00000003, 0x00000000, 0x0000000c, 0x00000000, 0x0000000b, 
-0x00000009, 0x00010004, 0x00000000, 0x00000032, 0x00000003, 0x00000009, 
-0x00010004, 0x00000004, 0x00000036, 0x00000005, 0x00000003, 0x00010004, 
-0x00000008, 0x0000003c, 0x00000006, 0x00000003, 0x00010004, 0x0000000c, 
-0x0000002e, 0x00000003, 0x0000000e, 0x00020001, 0x00000008, 0x505f6c67, 
-0x7469736f, 0x006e6f69, 0x74726576, 0x63007865, 0x726f6c6f, 0x78657400, 
-0x6f6f635f, 0x74006472, 0x635f7865, 0x64726f6f, 0x766d0032, 0x6f630070, 
-0x6574006c, 0x00635f78, 0x5f786574, 0x00003263, 
\ No newline at end of file
diff --git a/src/modules/engines/gl_common/shader/img_solid_frag.h b/src/modules/engines/gl_common/shader/img_solid_frag.h
deleted file mode 100644 (file)
index 13812a9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-"#ifdef GL_ES\n"
-"precision mediump float;\n"
-"#endif\n"
-"uniform sampler2D tex;\n"
-"varying vec4 col;\n"
-"varying vec2 tex_c;\n"
-"varying vec2 tex_c2;\n"
-"void main()\n"
-"{\n"
-"   vec4 t = texture2D(tex, tex_c.xy).bgra;\n"
-"   gl_FragColor = vec4(t.r, t.g, t.b, t.a + tex_c2.x) * col;\n"
-"}\n"
diff --git a/src/modules/engines/gl_common/shader/img_solid_frag.shd b/src/modules/engines/gl_common/shader/img_solid_frag.shd
deleted file mode 100644 (file)
index 7fc9598..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef GL_ES
-precision mediump float;
-#endif
-uniform sampler2D tex;
-varying vec4 col;
-varying vec2 tex_c;
-varying vec2 tex_c2;
-void main()
-{
-   vec4 t = texture2D(tex, tex_c.xy).bgra;
-   gl_FragColor = vec4(t.r, t.g, t.b, t.a + tex_c2.x) * col;
-}
diff --git a/src/modules/engines/gl_common/shader/img_solid_frag_bin_s3c6410.h b/src/modules/engines/gl_common/shader/img_solid_frag_bin_s3c6410.h
deleted file mode 100644 (file)
index b4984c8..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-0x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000007, 0x00000003, 
-0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000001, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000015, 0x00000000, 
-0x00000000, 0x02025400, 0x23782050, 0x00000000, 0x00000000, 0x0100e407, 
-0x307820e4, 0x00000000, 0x00000000, 0x01000000, 0x20b82106, 0x00000000, 
-0x01000000, 0x01000000, 0x220822ff, 0x00000000, 0x00000000, 0x01020000, 
-0x20c02100, 0x00000000, 0x02000000, 0x0101e400, 0x237a10e4, 0x00000000, 
-0x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 
-0x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000003, 
-0x00000009, 0x00000000, 0x00000008, 0x00000008, 0x00000005, 0x00000003, 
-0x00000000, 0x00000000, 0x0000000e, 0x00000006, 0x00000003, 0x00000000, 
-0x00000004, 0x00000000, 0x00000003, 0x0000000f, 0x00030005, 0x00000000, 
-0x00786574, 0x006c6f63, 0x5f786574, 0x65740063, 0x32635f78, 0x00000000, 
diff --git a/src/modules/engines/gl_common/shader/img_solid_nomul_frag.h b/src/modules/engines/gl_common/shader/img_solid_nomul_frag.h
deleted file mode 100644 (file)
index 7b53fee..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-"#ifdef GL_ES\n"
-"precision mediump float;\n"
-"#endif\n"
-"uniform sampler2D tex;\n"
-"varying vec2 tex_c;\n"
-"varying vec2 tex_c2;\n"
-"void main()\n"
-"{\n"
-"   vec4 t = texture2D(tex, tex_c.xy).bgra;\n"
-"   gl_FragColor = vec4(t.r, t.g, t.b, t.a + tex_c2.x);\n"
-"}\n"
diff --git a/src/modules/engines/gl_common/shader/img_solid_nomul_frag.shd b/src/modules/engines/gl_common/shader/img_solid_nomul_frag.shd
deleted file mode 100644 (file)
index c657c83..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifdef GL_ES
-precision mediump float;
-#endif
-uniform sampler2D tex;
-varying vec2 tex_c;
-varying vec2 tex_c2;
-void main()
-{
-   vec4 t = texture2D(tex, tex_c.xy).bgra;
-   gl_FragColor = vec4(t.r, t.g, t.b, t.a + tex_c2.x);
-}
diff --git a/src/modules/engines/gl_common/shader/img_solid_nomul_frag_bin_s3c6410.h b/src/modules/engines/gl_common/shader/img_solid_nomul_frag_bin_s3c6410.h
deleted file mode 100644 (file)
index 8d53514..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-0x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000007, 0x00000003, 
-0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000001, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000000, 
-0x00000000, 0x02025400, 0x23782150, 0x00000000, 0x00000000, 0x0101e407, 
-0x307821e4, 0x00000000, 0x00000000, 0x01010000, 0x20b82006, 0x00000000, 
-0x01000000, 0x01010000, 0x220822ff, 0x00000000, 0x00000000, 0x01020000, 
-0x20c02000, 0x00000000, 0x00000000, 0x01000000, 0x20fa10e4, 0x00000000, 
-0x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 
-0x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000005, 
-0x00000003, 0x00000000, 0x00000000, 0x0000000a, 0x00000006, 0x00000003, 
-0x00000000, 0x00000004, 0x00000000, 0x00000003, 0x0000000f, 0x00030005, 
-0x00000000, 0x00786574, 0x5f786574, 0x65740063, 0x32635f78, 0x00000000, 
diff --git a/src/modules/engines/gl_common/shader/img_solid_nomul_vert_bin_s3c6410.h b/src/modules/engines/gl_common/shader/img_solid_nomul_vert_bin_s3c6410.h
deleted file mode 100644 (file)
index dc5c67b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-0x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000007, 0x00000006, 
-0x00000000, 0x00000000, 0x00000003, 0x00000003, 0x00000001, 0x00000000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000039, 0x00000000, 
-0x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500, 
-0x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000, 
-0x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000, 
-0x20980154, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000, 
-0x00000000, 0x00000000, 0x1e000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000c, 0x00000006, 
-0x00000009, 0x00000000, 0x00000000, 0x00000013, 0x00000009, 0x00000003, 
-0x00000000, 0x00000004, 0x0000001d, 0x0000000a, 0x00000003, 0x00000000, 
-0x00000008, 0x00000000, 0x0000000b, 0x00000009, 0x00010004, 0x00000000, 
-0x0000002c, 0x00000005, 0x00000003, 0x00010004, 0x00000004, 0x00000032, 
-0x00000006, 0x00000003, 0x00010004, 0x00000008, 0x00000028, 0x00000003, 
-0x0000000e, 0x00020001, 0x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69, 
-0x74726576, 0x74007865, 0x635f7865, 0x64726f6f, 0x78657400, 0x6f6f635f, 
-0x00326472, 0x0070766d, 0x5f786574, 0x65740063, 0x32635f78, 0x00000000, 
diff --git a/src/modules/engines/gl_common/shader/img_solid_vert.h b/src/modules/engines/gl_common/shader/img_solid_vert.h
deleted file mode 100644 (file)
index ae3ae71..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-"#ifdef GL_ES\n"
-"precision mediump float;\n"
-"#endif\n"
-"attribute vec4 vertex;\n"
-"attribute vec4 color;\n"
-"attribute vec2 tex_coord;\n"
-"attribute vec2 tex_coord2;\n"
-"uniform mat4 mvp;\n"
-"varying vec4 col;\n"
-"varying vec2 tex_c;\n"
-"varying vec2 tex_c2;\n"
-"void main()\n"
-"{\n"
-"   gl_Position = mvp * vertex;\n"
-"   col = color;\n"
-"   tex_c = tex_coord;\n"
-"   tex_c2 = tex_coord2;\n"
-"}\n"
diff --git a/src/modules/engines/gl_common/shader/img_solid_vert.shd b/src/modules/engines/gl_common/shader/img_solid_vert.shd
deleted file mode 100644 (file)
index 3e8931b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifdef GL_ES
-precision mediump float;
-#endif
-attribute vec4 vertex;
-attribute vec4 color;
-attribute vec2 tex_coord;
-attribute vec2 tex_coord2;
-uniform mat4 mvp;
-varying vec4 col;
-varying vec2 tex_c;
-varying vec2 tex_c2;
-void main()
-{
-   gl_Position = mvp * vertex;
-   col = color;
-   tex_c = tex_coord;
-   tex_c2 = tex_coord2;
-}
@@ -3,9 +3,7 @@
 "#endif\n"
 "uniform sampler2D tex;\n"
 "varying vec2 tex_c;\n"
-"varying vec2 tex_c2;\n"
 "void main()\n"
 "{\n"
-"   vec4 t = texture2D(tex, tex_c.xy);\n"
-"   gl_FragColor = vec4(t.r, t.g, t.b, t.a + tex_c2.x);\n"
+"   gl_FragColor = texture2D(tex, tex_c.xy);\n"
 "}\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
new file mode 100644 (file)
index 0000000..3f2ec6f
--- /dev/null
@@ -0,0 +1,9 @@
+#ifdef GL_ES
+precision mediump float;
+#endif
+uniform sampler2D tex;
+varying vec2 tex_c;
+void main()
+{
+   gl_FragColor = texture2D(tex, tex_c.xy);
+}
diff --git a/src/modules/engines/gl_common/shader/tex_nomul_frag_bin_s3c6410.h b/src/modules/engines/gl_common/shader/tex_nomul_frag_bin_s3c6410.h
new file mode 100644 (file)
index 0000000..b89eeb1
--- /dev/null
@@ -0,0 +1,10 @@
+0x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x00000003, 0x00000003, 
+0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 
+0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000a, 0x00000000, 
+0x00000000, 0x02025400, 0x23782050, 0x00000000, 0x00000000, 0x0100e407, 
+0x307a10e4, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000, 
+0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000, 
+0x3f800000, 0x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000, 
+0x00000004, 0x00000005, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 
+0x00000003, 0x0000000f, 0x00030005, 0x00000000, 0x00786574, 0x5f786574, 
+0x00000063, 
\ No newline at end of file
@@ -3,13 +3,10 @@
 "#endif\n"
 "attribute vec4 vertex;\n"
 "attribute vec2 tex_coord;\n"
-"attribute vec2 tex_coord2;\n"
 "uniform mat4 mvp;\n"
 "varying vec2 tex_c;\n"
-"varying vec2 tex_c2;\n"
 "void main()\n"
 "{\n"
 "   gl_Position = mvp * vertex;\n"
 "   tex_c = tex_coord;\n"
-"   tex_c2 = tex_coord2;\n"
 "}\n"
@@ -3,13 +3,10 @@ precision mediump float;
 #endif
 attribute vec4 vertex;
 attribute vec2 tex_coord;
-attribute vec2 tex_coord2;
 uniform mat4 mvp;
 varying vec2 tex_c;
-varying vec2 tex_c2;
 void main()
 {
    gl_Position = mvp * vertex;
    tex_c = tex_coord;
-   tex_c2 = tex_coord2;
 }
diff --git a/src/modules/engines/gl_common/shader/tex_nomul_vert_bin_s3c6410.h b/src/modules/engines/gl_common/shader/tex_nomul_vert_bin_s3c6410.h
new file mode 100644 (file)
index 0000000..314b5f3
--- /dev/null
@@ -0,0 +1,17 @@
+0x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000006, 0x00000006, 
+0x00000000, 0x00000000, 0x00000002, 0x00000002, 0x00000001, 0x00000000, 
+0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000027, 0x00000000, 
+0x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500, 
+0x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000, 
+0x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000, 
+0x20980154, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000, 
+0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000, 
+0x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
+0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
+0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
+0x0000000c, 0x00000006, 0x00000009, 0x00000000, 0x00000000, 0x00000013, 
+0x00000009, 0x00000003, 0x00000000, 0x00000004, 0x00000000, 0x0000000b, 
+0x00000009, 0x00010004, 0x00000000, 0x00000021, 0x00000005, 0x00000003, 
+0x00010004, 0x00000004, 0x0000001d, 0x00000003, 0x0000000e, 0x00020001, 
+0x00000008, 0x505f6c67, 0x7469736f, 0x006e6f69, 0x74726576, 0x74007865, 
+0x635f7865, 0x64726f6f, 0x70766d00, 0x78657400, 0x0000635f, 
index af1aa48..379ce91 100644 (file)
@@ -8,10 +8,10 @@
 "varying vec2 tex_c3;\n"
 "void main()\n"
 "{\n"
-"   mat4 yuv2rgb = mat4( 1.16400,  1.16400,  1.16400, 0.00000,\n"
-"                        0.00000, -0.34410,  1.77200, 0.00000,\n"
-"                        1.40200, -0.71410,  0.00000, 0.00000,\n"
-"                       -0.77380,  0.45630, -0.95880, 1.00000);\n"
+"   const mat4 yuv2rgb = mat4( 1.16400,  1.16400,  1.16400, 0.00000,\n"
+"                              0.00000, -0.34410,  1.77200, 0.00000,\n"
+"                              1.40200, -0.71410,  0.00000, 0.00000,\n"
+"                             -0.77380,  0.45630, -0.95880, 1.00000);\n"
 "   vec4 yuv = vec4(texture2D(tex, tex_c.xy).r,\n"
 "                   texture2D(texu, tex_c2.xy).r,\n"
 "                   texture2D(texv, tex_c3.xy).r, 1.0);\n"
index 7da2546..cc2bc1f 100644 (file)
@@ -8,10 +8,10 @@ varying vec2 tex_c2;
 varying vec2 tex_c3;
 void main()
 {
-   mat4 yuv2rgb = mat4( 1.16400,  1.16400,  1.16400, 0.00000,
-                        0.00000, -0.34410,  1.77200, 0.00000,
-                        1.40200, -0.71410,  0.00000, 0.00000,
-                       -0.77380,  0.45630, -0.95880, 1.00000);
+   const mat4 yuv2rgb = mat4( 1.16400,  1.16400,  1.16400, 0.00000,
+                              0.00000, -0.34410,  1.77200, 0.00000,
+                              1.40200, -0.71410,  0.00000, 0.00000,
+                             -0.77380,  0.45630, -0.95880, 1.00000);
    vec4 yuv = vec4(texture2D(tex, tex_c.xy).r,
                    texture2D(texu, tex_c2.xy).r,
                    texture2D(texv, tex_c3.xy).r, 1.0);
diff --git a/src/modules/engines/gl_common/shader/yuv_nomul_frag.h b/src/modules/engines/gl_common/shader/yuv_nomul_frag.h
new file mode 100644 (file)
index 0000000..457ad22
--- /dev/null
@@ -0,0 +1,18 @@
+"#ifdef GL_ES\n"
+"precision mediump float;\n"
+"#endif\n"
+"uniform sampler2D tex, texu, texv;\n"
+"varying vec2 tex_c;\n"
+"varying vec2 tex_c2;\n"
+"varying vec2 tex_c3;\n"
+"void main()\n"
+"{\n"
+"   const mat4 yuv2rgb = mat4( 1.16400,  1.16400,  1.16400, 0.00000,\n"
+"                              0.00000, -0.34410,  1.77200, 0.00000,\n"
+"                              1.40200, -0.71410,  0.00000, 0.00000,\n"
+"                             -0.77380,  0.45630, -0.95880, 1.00000);\n"
+"   vec4 yuv = vec4(texture2D(tex, tex_c.xy).r,\n"
+"                   texture2D(texu, tex_c2.xy).r,\n"
+"                   texture2D(texv, tex_c3.xy).r, 1.0);\n"
+"   gl_FragColor = (yuv2rgb * yuv);\n"
+"}\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
new file mode 100644 (file)
index 0000000..f80d940
--- /dev/null
@@ -0,0 +1,18 @@
+#ifdef GL_ES
+precision mediump float;
+#endif
+uniform sampler2D tex, texu, texv;
+varying vec2 tex_c;
+varying vec2 tex_c2;
+varying vec2 tex_c3;
+void main()
+{
+   const mat4 yuv2rgb = mat4( 1.16400,  1.16400,  1.16400, 0.00000,
+                              0.00000, -0.34410,  1.77200, 0.00000,
+                              1.40200, -0.71410,  0.00000, 0.00000,
+                             -0.77380,  0.45630, -0.95880, 1.00000);
+   vec4 yuv = vec4(texture2D(tex, tex_c.xy).r,
+                   texture2D(texu, tex_c2.xy).r,
+                   texture2D(texv, tex_c3.xy).r, 1.0);
+   gl_FragColor = (yuv2rgb * yuv);
+}
diff --git a/src/modules/engines/gl_common/shader/yuv_nomul_frag_bin_s3c6410.h b/src/modules/engines/gl_common/shader/yuv_nomul_frag_bin_s3c6410.h
new file mode 100644 (file)
index 0000000..0951f16
--- /dev/null
@@ -0,0 +1,23 @@
+0x20205350, 0xffff0008, 0x00000048, 0x01020000, 0x0000000c, 0x00000007, 
+0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000003, 
+0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000022, 0x00000000, 
+0x00000000, 0x02025400, 0x23782050, 0x00000000, 0x00000000, 0x0100e407, 
+0x307820e4, 0x00000000, 0x01000000, 0x02025400, 0x23782150, 0x00000000, 
+0x01000000, 0x0101e407, 0x307821e4, 0x00000000, 0x02000000, 0x02025400, 
+0x23782250, 0x00000000, 0x02000000, 0x0102e407, 0x307822e4, 0x00000000, 
+0x00000000, 0x02030001, 0x237823e4, 0x00000000, 0x01e40103, 0x02040001, 
+0x2ef823e4, 0x00000000, 0x02e40103, 0x02050001, 0x2ef823e4, 0x00000000, 
+0x00000000, 0x02060000, 0x20f824e4, 0x00000000, 0x02e40103, 0x01040002, 
+0x2efa10e4, 0x00000000, 0x00000000, 0x00000000, 0x1e000000, 0x00000000, 
+0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3f800000, 0x3f800000, 
+0x3f800000, 0x3f800000, 0x3f800000, 0x00000000, 0x00000000, 0x00000000, 
+0x3f94fdf4, 0x3f94fdf4, 0x3f94fdf4, 0x00000000, 0x00000000, 0xbeb02de0, 
+0x3fe2d0e5, 0x00000000, 0x3fb374bc, 0xbf36cf42, 0x00000000, 0x00000000, 
+0xbf4617c2, 0x3ee9a027, 0xbf7573eb, 0x3f800000, 0x0000000e, 0x00000005, 
+0x00000003, 0x00000000, 0x00000000, 0x00000014, 0x00000006, 0x00000003, 
+0x00000000, 0x00000004, 0x0000001b, 0x00000006, 0x00000003, 0x00000000, 
+0x00000008, 0x00000000, 0x00000003, 0x0000000f, 0x00030005, 0x00000000, 
+0x00000004, 0x00000004, 0x0000000f, 0x00030005, 0x00000004, 0x00000009, 
+0x00000004, 0x0000000f, 0x00030005, 0x00000008, 0x00786574, 0x75786574, 
+0x78657400, 0x65740076, 0x00635f78, 0x5f786574, 0x74003263, 0x635f7865, 
+0x00000033, 
\ No newline at end of file
@@ -4,12 +4,15 @@
 "attribute vec4 vertex;\n"
 "attribute vec2 tex_coord;\n"
 "attribute vec2 tex_coord2;\n"
+"attribute vec2 tex_coord3;\n"
 "uniform mat4 mvp;\n"
 "varying vec2 tex_c;\n"
 "varying vec2 tex_c2;\n"
+"varying vec2 tex_c3;\n"
 "void main()\n"
 "{\n"
 "   gl_Position = mvp * vertex;\n"
 "   tex_c = tex_coord;\n"
 "   tex_c2 = tex_coord2;\n"
+"   tex_c3 = tex_coord3;\n"
 "}\n"
@@ -4,12 +4,15 @@ precision mediump float;
 attribute vec4 vertex;
 attribute vec2 tex_coord;
 attribute vec2 tex_coord2;
+attribute vec2 tex_coord3;
 uniform mat4 mvp;
 varying vec2 tex_c;
 varying vec2 tex_c2;
+varying vec2 tex_c3;
 void main()
 {
    gl_Position = mvp * vertex;
    tex_c = tex_coord;
    tex_c2 = tex_coord2;
+   tex_c3 = tex_coord3;
 }
@@ -1,23 +1,23 @@
 0x20205356, 0xffff0008, 0x00000048, 0x01020000, 0x00000008, 0x00000006, 
 0x00000000, 0x00000000, 0x00000004, 0x00000004, 0x00000001, 0x00000000, 
-0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000000, 
+0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000004b, 0x00000000, 
 0x00000000, 0x02020000, 0x237820e4, 0x00000000, 0x00e40100, 0x02035500, 
 0x2ef820e4, 0x00000000, 0x00e40100, 0x0204aa00, 0x2ef820e4, 0x00000000, 
 0x00e40100, 0x0205ff00, 0x2ef800e4, 0x00000000, 0x00000000, 0x00010000, 
-0x20f801e4, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000, 
+0x20980154, 0x00000000, 0x00000000, 0x00020000, 0x20980254, 0x00000000, 
 0x00000000, 0x00030000, 0x20980354, 0x00000000, 0x00000000, 0x00000000, 
 0x1e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x00000000, 0x00000000, 
 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
 0x00000000, 0x00000000, 0x0000000c, 0x00000006, 0x00000009, 0x00000000, 
-0x00000000, 0x00000013, 0x00000005, 0x00000009, 0x00000000, 0x00000004, 
-0x00000019, 0x00000009, 0x00000003, 0x00000000, 0x00000008, 0x00000023
+0x00000000, 0x00000013, 0x00000009, 0x00000003, 0x00000000, 0x00000004, 
+0x0000001d, 0x0000000a, 0x00000003, 0x00000000, 0x00000008, 0x00000028
 0x0000000a, 0x00000003, 0x00000000, 0x0000000c, 0x00000000, 0x0000000b, 
-0x00000009, 0x00010004, 0x00000000, 0x00000032, 0x00000003, 0x00000009, 
-0x00010004, 0x00000004, 0x00000036, 0x00000005, 0x00000003, 0x00010004, 
-0x00000008, 0x0000003c, 0x00000006, 0x00000003, 0x00010004, 0x0000000c, 
-0x0000002e, 0x00000003, 0x0000000e, 0x00020001, 0x00000008, 0x505f6c67, 
-0x7469736f, 0x006e6f69, 0x74726576, 0x63007865, 0x726f6c6f, 0x78657400, 
-0x6f6f635f, 0x74006472, 0x635f7865, 0x64726f6f, 0x766d0032, 0x6f630070, 
-0x6574006c, 0x00635f78, 0x5f786574, 0x00003263, 
\ No newline at end of file
+0x00000009, 0x00010004, 0x00000000, 0x00000037, 0x00000005, 0x00000003, 
+0x00010004, 0x00000004, 0x0000003d, 0x00000006, 0x00000003, 0x00010004, 
+0x00000008, 0x00000044, 0x00000006, 0x00000003, 0x00010004, 0x0000000c, 
+0x00000033, 0x00000003, 0x0000000e, 0x00020001, 0x00000008, 0x505f6c67, 
+0x7469736f, 0x006e6f69, 0x74726576, 0x74007865, 0x635f7865, 0x64726f6f, 
+0x78657400, 0x6f6f635f, 0x00326472, 0x5f786574, 0x726f6f63, 0x6d003364, 
+0x74007076, 0x635f7865, 0x78657400, 0x0032635f, 0x5f786574, 0x00003363,