more shaders... for more speeeeeeds!

SVN revision: 46268
This commit is contained in:
Carsten Haitzler 2010-02-18 08:36:07 +00:00
parent 25f169fc21
commit 136316d6ce
38 changed files with 302 additions and 625 deletions

View 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/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/img_frag.shd \
shader/img_frag_s3c6410.asm \
shader/img_vert.shd \
shader/img_nomul_frag.shd \
shader/img_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/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

View 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);

View File

@ -149,16 +149,28 @@ _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.yuv_nomul.prog);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.yuv_nomul.prog, "mvp"), 1,
GL_FALSE, proj);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUseProgram(gc->shared->shader.tex.prog);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.tex.prog, "mvp"), 1,
GL_FALSE, proj);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUseProgram(gc->shared->shader.tex_nomul.prog);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.tex_nomul.prog, "mvp"), 1,
GL_FALSE, proj);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUseProgram(gc->shared->shader.img.prog);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
@ -170,16 +182,6 @@ _evas_gl_common_viewport_set(Evas_GL_Context *gc)
glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img_nomul.prog, "mvp"), 1,
GL_FALSE, proj);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUseProgram(gc->shared->shader.img_solid.prog);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img_solid.prog, "mvp"), 1,
GL_FALSE, proj);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUseProgram(gc->shared->shader.img_solid_nomul.prog);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUniformMatrix4fv(glGetUniformLocation(gc->shared->shader.img_solid_nomul.prog, "mvp"), 1,
GL_FALSE, proj);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
glUseProgram(gc->shared->shader.img_bgra.prog);
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,40 +304,6 @@ evas_gl_common_context_new(void)
glEnableVertexAttribArray(SHAD_COLOR);
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
evas_gl_common_shader_program_init(&(shared->shader.img),
&(shader_img_vert_src),
&(shader_img_frag_src),
"img");
evas_gl_common_shader_program_init(&(shared->shader.img_nomul),
&(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),
"img_bgra");
evas_gl_common_shader_program_init(&(shared->shader.img_bgra_nomul),
&(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),
@ -354,15 +312,39 @@ evas_gl_common_context_new(void)
&(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),
"img");
evas_gl_common_shader_program_init(&(shared->shader.img_nomul),
&(shader_img_nomul_vert_src),
&(shader_img_nomul_frag_src),
"img_nomul");
evas_gl_common_shader_program_init(&(shared->shader.img_bgra),
&(shader_img_bgra_vert_src),
&(shader_img_bgra_frag_src),
"img_bgra");
evas_gl_common_shader_program_init(&(shared->shader.img_bgra_nomul),
&(shader_img_bgra_nomul_vert_src),
&(shader_img_bgra_nomul_frag_src),
"img_bgra_nomul");
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),

View File

@ -120,6 +120,46 @@ Evas_GL_Program_Source shader_yuv_vert_src =
#endif
};
/////////////////////////////////////////////
#if defined (GLES_VARIETY_S3C6410)
const unsigned int yuv_nomul_frag_bin[] =
{
# include "shader/yuv_nomul_frag_bin_s3c6410.h"
};
#endif
const char yuv_nomul_frag_glsl[] =
#include "shader/yuv_nomul_frag.h"
;
Evas_GL_Program_Source shader_yuv_nomul_frag_src =
{
yuv_nomul_frag_glsl,
#if defined (GLES_VARIETY_S3C6410)
yuv_nomul_frag_bin, sizeof(yuv_nomul_frag_bin)
#else
NULL, 0
#endif
};
#if defined (GLES_VARIETY_S3C6410)
const unsigned int yuv_nomul_vert_bin[] =
{
# include "shader/yuv_nomul_vert_bin_s3c6410.h"
};
#endif
const char yuv_nomul_vert_glsl[] =
#include "shader/yuv_nomul_vert.h"
;
Evas_GL_Program_Source shader_yuv_nomul_vert_src =
{
yuv_nomul_vert_glsl,
#if defined (GLES_VARIETY_S3C6410)
yuv_nomul_vert_bin, sizeof(yuv_nomul_vert_bin)
#else
NULL, 0
#endif
};
/////////////////////////////////////////////
#if defined (GLES_VARIETY_S3C6410)
const unsigned int tex_frag_bin[] =
@ -160,12 +200,45 @@ Evas_GL_Program_Source shader_tex_vert_src =
#endif
};
/////////////////////////////////////////////
#if defined (GLES_VARIETY_S3C6410)
const unsigned int tex_nomul_frag_bin[] =
{
# include "shader/tex_nomul_frag_bin_s3c6410.h"
};
#endif
const char tex_nomul_frag_glsl[] =
#include "shader/tex_nomul_frag.h"
;
Evas_GL_Program_Source shader_tex_nomul_frag_src =
{
tex_nomul_frag_glsl,
#if defined (GLES_VARIETY_S3C6410)
tex_nomul_frag_bin, sizeof(tex_nomul_frag_bin)
#else
NULL, 0
#endif
};
#if defined (GLES_VARIETY_S3C6410)
const unsigned int tex_nomul_vert_bin[] =
{
# include "shader/tex_nomul_vert_bin_s3c6410.h"
};
#endif
const char tex_nomul_vert_glsl[] =
#include "shader/tex_nomul_vert.h"
;
Evas_GL_Program_Source shader_tex_nomul_vert_src =
{
tex_nomul_vert_glsl,
#if defined (GLES_VARIETY_S3C6410)
tex_nomul_vert_bin, sizeof(tex_nomul_vert_bin)
#else
NULL, 0
#endif
};
/////////////////////////////////////////////
#if defined (GLES_VARIETY_S3C6410)
@ -247,92 +320,6 @@ Evas_GL_Program_Source shader_img_nomul_vert_src =
#endif
};
/////////////////////////////////////////////
#if defined (GLES_VARIETY_S3C6410)
const unsigned int img_solid_frag_bin[] =
{
# include "shader/img_solid_frag_bin_s3c6410.h"
};
#endif
const char img_solid_frag_glsl[] =
#include "shader/img_solid_frag.h"
;
Evas_GL_Program_Source shader_img_solid_frag_src =
{
img_solid_frag_glsl,
#if defined (GLES_VARIETY_S3C6410)
img_solid_frag_bin, sizeof(img_solid_frag_bin)
#else
NULL, 0
#endif
};
#if defined (GLES_VARIETY_S3C6410)
const unsigned int img_solid_vert_bin[] =
{
# include "shader/img_solid_vert_bin_s3c6410.h"
};
#endif
const char img_solid_vert_glsl[] =
#include "shader/img_solid_vert.h"
;
Evas_GL_Program_Source shader_img_solid_vert_src =
{
img_solid_vert_glsl,
#if defined (GLES_VARIETY_S3C6410)
img_solid_vert_bin, sizeof(img_solid_vert_bin)
#else
NULL, 0
#endif
};
/////////////////////////////////////////////
#if defined (GLES_VARIETY_S3C6410)
const unsigned int img_solid_nomul_frag_bin[] =
{
# include "shader/img_solid_nomul_frag_bin_s3c6410.h"
};
#endif
const char img_solid_nomul_frag_glsl[] =
#include "shader/img_solid_nomul_frag.h"
;
Evas_GL_Program_Source shader_img_solid_nomul_frag_src =
{
img_solid_nomul_frag_glsl,
#if defined (GLES_VARIETY_S3C6410)
img_solid_nomul_frag_bin, sizeof(img_solid_nomul_frag_bin)
#else
NULL, 0
#endif
};
#if defined (GLES_VARIETY_S3C6410)
const unsigned int img_solid_nomul_vert_bin[] =
{
# include "shader/img_solid_nomul_vert_bin_s3c6410.h"
};
#endif
const char img_solid_nomul_vert_glsl[] =
#include "shader/img_solid_nomul_vert.h"
;
Evas_GL_Program_Source shader_img_solid_nomul_vert_src =
{
img_solid_nomul_vert_glsl,
#if defined (GLES_VARIETY_S3C6410)
img_solid_nomul_vert_bin, sizeof(img_solid_nomul_vert_bin)
#else
NULL, 0
#endif
};
/////////////////////////////////////////////
#if defined (GLES_VARIETY_S3C6410)
const unsigned int img_bgra_frag_bin[] =
@ -413,92 +400,6 @@ Evas_GL_Program_Source shader_img_bgra_nomul_vert_src =
#endif
};
/////////////////////////////////////////////
#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)

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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;
}

View File

@ -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,

View File

@ -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);
}

View File

@ -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,

View File

@ -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,

View File

@ -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"

View File

@ -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;
}

View File

@ -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,

View File

@ -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"

View File

@ -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;
}

View File

@ -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,

View File

@ -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"

View File

@ -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);
}

View File

@ -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,

View File

@ -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,

View File

@ -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"

View File

@ -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;
}

View File

@ -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"

View File

@ -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);
}

View File

@ -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,

View 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"

View File

@ -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;
}

View File

@ -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,

View 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"

View 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);

View File

@ -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"

View File

@ -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);
}

View File

@ -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,

View 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"

View File

@ -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;
}

View File

@ -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,
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,