From 87131a971b86921c6b4d9ecb6f97b73e39c4dcd5 Mon Sep 17 00:00:00 2001 From: raster Date: Tue, 29 Mar 2011 09:10:57 +0000 Subject: [PATCH] wer can release compiler data if we want when done with glsl compiling. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@58172 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/modules/engines/gl_common/evas_gl_common.h | 1 + src/modules/engines/gl_common/evas_gl_context.c | 2 ++ src/modules/engines/gl_common/evas_gl_shader.c | 8 ++++++++ 3 files changed, 11 insertions(+) diff --git a/src/modules/engines/gl_common/evas_gl_common.h b/src/modules/engines/gl_common/evas_gl_common.h index 5410c2b..bd2abe4 100644 --- a/src/modules/engines/gl_common/evas_gl_common.h +++ b/src/modules/engines/gl_common/evas_gl_common.h @@ -448,6 +448,7 @@ int evas_gl_common_shader_program_init(Evas_GL_Program *p, Evas_GL_Program_Source *vert, Evas_GL_Program_Source *frag, const char *name); +void evas_gl_common_shader_program_init_done(void); void evas_gl_common_shader_program_shutdown(Evas_GL_Program *p); void evas_gl_common_rect_draw(Evas_Engine_GL_Context *gc, int x, int y, int w, int h); diff --git a/src/modules/engines/gl_common/evas_gl_context.c b/src/modules/engines/gl_common/evas_gl_context.c index 156462b..2e7e79e 100644 --- a/src/modules/engines/gl_common/evas_gl_context.c +++ b/src/modules/engines/gl_common/evas_gl_context.c @@ -733,6 +733,8 @@ evas_gl_common_context_new(void) glUseProgram(gc->pipe[0].shader.cur_prog); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); + + evas_gl_common_shader_program_init_done(); // in shader: // uniform sampler2D tex[8]; // diff --git a/src/modules/engines/gl_common/evas_gl_shader.c b/src/modules/engines/gl_common/evas_gl_shader.c index 221fca8..0736e65 100644 --- a/src/modules/engines/gl_common/evas_gl_shader.c +++ b/src/modules/engines/gl_common/evas_gl_shader.c @@ -512,6 +512,14 @@ evas_gl_common_shader_program_init(Evas_GL_Program *p, } void +evas_gl_common_shader_program_init_done(void) +{ +#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) + glReleaseShaderCompiler(); +#endif +} + +void evas_gl_common_shader_program_shutdown(Evas_GL_Program *p) { glDeleteShader(p->vert); -- 2.7.4