wer can release compiler data if we want when done with glsl compiling.
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 29 Mar 2011 09:10:57 +0000 (09:10 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 29 Mar 2011 09:10:57 +0000 (09:10 +0000)
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
src/modules/engines/gl_common/evas_gl_context.c
src/modules/engines/gl_common/evas_gl_shader.c

index 5410c2b..bd2abe4 100644 (file)
@@ -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);
index 156462b..2e7e79e 100644 (file)
@@ -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];
         // 
index 221fca8..0736e65 100644 (file)
@@ -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);