From: Enlightenment S. <no-...@en...> - 2010-08-09 04:54:11
|
Log: allow for debug checking of # of flushes per frame. checking to see if this all works Author: raster Date: 2010-08-08 21:54:05 -0700 (Sun, 08 Aug 2010) New Revision: 50919 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-09 04:42:15 UTC (rev 50918) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-09 04:54:05 UTC (rev 50919) @@ -640,8 +640,15 @@ evas_gl_common_context_newframe(Evas_GL_Context *gc) { int i; + static int dbgflushnum = -1; -// printf("prev frame flushnum = %i\n", gc->flushnum); + if (dbgflushnum < 0) + { + dbgflushnum = 0; + if (getenv("DBGEVAS")) dbgflushnum = 1; + } + if (dbgflushnum) printf("prev-flushnum: %i\n", gc->flushnum); + gc->flushnum = 0; gc->state.current.cur_prog = 0; gc->state.current.cur_tex = 0; |
From: Enlightenment S. <no-...@en...> - 2010-08-09 04:59:20
|
Log: fix yuv with gl pipe stuff. Author: raster Date: 2010-08-08 21:59:14 -0700 (Sun, 08 Aug 2010) New Revision: 50920 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-09 04:54:05 UTC (rev 50919) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-09 04:59:14 UTC (rev 50920) @@ -1487,7 +1487,9 @@ { gc->pipe[pn].region.type = RTYPE_YUV; gc->pipe[pn].shader.cur_tex = tex->pt->texture; - gc->pipe[pn].shader.cur_prog = gc->shared->shader.font.prog; + gc->pipe[pn].shader.cur_texu = tex->ptu->texture; + gc->pipe[pn].shader.cur_texv = tex->ptv->texture; + gc->pipe[pn].shader.cur_prog = prog; gc->pipe[pn].shader.smooth = smooth; gc->pipe[pn].shader.blend = blend; gc->pipe[pn].shader.render_op = gc->dc->render_op; @@ -1535,7 +1537,9 @@ gc->state.top_pipe = pn; gc->pipe[pn].region.type = RTYPE_YUV; gc->pipe[pn].shader.cur_tex = tex->pt->texture; - gc->pipe[pn].shader.cur_prog = gc->shared->shader.font.prog; + gc->pipe[pn].shader.cur_texu = tex->ptu->texture; + gc->pipe[pn].shader.cur_texv = tex->ptv->texture; + gc->pipe[pn].shader.cur_prog = prog; gc->pipe[pn].shader.smooth = smooth; gc->pipe[pn].shader.blend = blend; gc->pipe[pn].shader.render_op = gc->dc->render_op; |
From: Enlightenment S. <no-...@en...> - 2010-08-09 07:14:05
|
Log: useless repeats... remove. Author: raster Date: 2010-08-09 00:13:58 -0700 (Mon, 09 Aug 2010) New Revision: 50923 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-09 06:43:33 UTC (rev 50922) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-09 07:13:58 UTC (rev 50923) @@ -685,10 +685,6 @@ gc->pipe[i].shader.cur_texu = 0; gc->pipe[i].shader.cur_texv = 0; gc->pipe[i].shader.render_op = EVAS_RENDER_BLEND; - gc->pipe[i].shader.cx = 0; - gc->pipe[i].shader.cy = 0; - gc->pipe[i].shader.cw = 0; - gc->pipe[i].shader.ch = 0; gc->pipe[i].shader.smooth = 0; gc->pipe[i].shader.blend = 0; gc->pipe[i].shader.clip = 0; |
From: Enlightenment S. <no-...@en...> - 2010-08-09 08:38:37
|
Log: magic numbers. :) Author: raster Date: 2010-08-09 01:38:28 -0700 (Mon, 09 Aug 2010) New Revision: 50924 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-09 07:13:58 UTC (rev 50923) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-09 08:38:28 UTC (rev 50924) @@ -412,8 +412,11 @@ glGetIntegerv(GL_MAX_TEXTURE_SIZE, &(shared->info.max_texture_size)); - shared->info.cutout_max = MAX_CUTOUT; - shared->info.pipes_max = MAX_PIPES; + // magic numbers that are a result of imperical testing and getting + // "best case" performance across a range of systems + shared->info.cutout_max = 512; + shared->info.pipes_max = 32; + if (getenv("EVAS_GL_CUTOUT_MAX")) shared->info.cutout_max = atoi(getenv("EVAS_GL_CUTOUT_MAX")); if (getenv("EVAS_GL_PIPES_MAX")) |
From: Enlightenment S. <no-...@en...> - 2010-08-11 23:12:11
|
Log: i->0 Author: raster Date: 2010-08-11 16:12:03 -0700 (Wed, 11 Aug 2010) New Revision: 51026 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-11 22:16:35 UTC (rev 51025) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-11 23:12:03 UTC (rev 51026) @@ -1843,8 +1843,8 @@ gc->pipe[pn].array.use_texuv3 = 0; #endif - x = w = (p[points[i]].x >> FP); - y = h = (p[points[i]].y >> FP); + x = w = (p[points[0]].x >> FP); + y = h = (p[points[0]].y >> FP); for (i = 0; i < 4; i++) { tx[i] = ((double)(tex->x) + (((double)p[i].u) / FP1)) / |
From: Enlightenment S. <no-...@en...> - 2010-08-13 11:09:03
|
Log: and make it work... yes. first time sec egl image works. Author: raster Date: 2010-08-13 04:08:57 -0700 (Fri, 13 Aug 2010) New Revision: 51072 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_image.c trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_image.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_image.c 2010-08-13 10:39:41 UTC (rev 51071) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_image.c 2010-08-13 11:08:57 UTC (rev 51072) @@ -276,13 +276,12 @@ void evas_gl_common_image_content_hint_set(Evas_GL_Image *im, int hint) { - im->content_hint = hint; if (im->content_hint == hint) return; + im->content_hint = hint; if (!im->gc) return; if (!im->gc->shared->info.sec_image_map) return; // does not handle yuv yet. if (im->cs.space != EVAS_COLORSPACE_ARGB8888) return; - return; if (im->content_hint == EVAS_IMAGE_CONTENT_HINT_DYNAMIC) { if (im->cs.data) Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-08-13 10:39:41 UTC (rev 51071) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-08-13 11:08:57 UTC (rev 51072) @@ -410,9 +410,8 @@ EGL_MAP_GL_TEXTURE_PIXEL_TYPE_SEC, EGL_MAP_GL_TEXTURE_UNSIGNED_BYTE_SEC, EGL_NONE }; - void *egldisplay = pt->gc->egldisp; + void *egldisplay; - pt = calloc(1, sizeof(Evas_GL_Texture_Pool)); if (!pt) return NULL; h = _tex_round_slot(gc, h) << 4; @@ -438,13 +437,17 @@ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); + egldisplay = pt->gc->egldisp; + attr[1] = pt->w; - attr[2] = pt->h; + attr[3] = pt->h; + printf("make egl image for %p... %ix%i\n", pt, pt->w, pt->h); pt->dyn.img = secsym_eglCreateImage(egldisplay, EGL_NO_CONTEXT, EGL_MAP_GL_TEXTURE_2D_SEC, 0, attr); + printf("pt->dyn.img = %p\n", pt->dyn.img); if (!pt->dyn.img) { GLERR(__FUNCTION__, __FILE__, __LINE__, ""); |
From: Enlightenment S. <no-...@en...> - 2010-08-13 11:13:52
|
Log: comments. Author: raster Date: 2010-08-13 04:13:45 -0700 (Fri, 13 Aug 2010) New Revision: 51073 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-08-13 11:08:57 UTC (rev 51072) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-08-13 11:13:45 UTC (rev 51073) @@ -442,12 +442,14 @@ attr[1] = pt->w; attr[3] = pt->h; - printf("make egl image for %p... %ix%i\n", pt, pt->w, pt->h); + // FIXME: RGBA/ABGR is swapped. + // FIXME: seems a bit slower than i'd like - maybe too many flushes? + // FIXME: YCbCr no support as yet + // FIXME: stride not fetched or used from engine api pt->dyn.img = secsym_eglCreateImage(egldisplay, EGL_NO_CONTEXT, EGL_MAP_GL_TEXTURE_2D_SEC, 0, attr); - printf("pt->dyn.img = %p\n", pt->dyn.img); if (!pt->dyn.img) { GLERR(__FUNCTION__, __FILE__, __LINE__, ""); |
From: Enlightenment S. <no-...@en...> - 2010-08-13 11:23:14
|
Log: more comments Author: raster Date: 2010-08-13 04:23:07 -0700 (Fri, 13 Aug 2010) New Revision: 51074 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-08-13 11:13:45 UTC (rev 51073) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-08-13 11:23:07 UTC (rev 51074) @@ -446,6 +446,8 @@ // FIXME: seems a bit slower than i'd like - maybe too many flushes? // FIXME: YCbCr no support as yet // FIXME: stride not fetched or used from engine api + // FIXME: have to set dynamic AFTER setting alpha and size. shoudl allow + // any order pt->dyn.img = secsym_eglCreateImage(egldisplay, EGL_NO_CONTEXT, EGL_MAP_GL_TEXTURE_2D_SEC, |
From: Enlightenment S. <no-...@en...> - 2010-08-18 09:53:21
|
Log: fix direct egl img rgba ordering. Author: raster Date: 2010-08-18 02:53:14 -0700 (Wed, 18 Aug 2010) New Revision: 51273 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c trunk/evas/src/modules/engines/gl_common/evas_gl_image.c trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-18 08:56:44 UTC (rev 51272) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-18 09:53:14 UTC (rev 51273) @@ -1187,10 +1187,20 @@ if (tex_only) { - if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) - prog = gc->shared->shader.tex_nomul.prog; + if (tex->pt->dyn.img) + { + if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + prog = gc->shared->shader.img_nomul.prog; + else + prog = gc->shared->shader.img.prog; + } else - prog = gc->shared->shader.tex.prog; + { + if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + prog = gc->shared->shader.tex_nomul.prog; + else + prog = gc->shared->shader.tex.prog; + } } else { @@ -1769,16 +1779,32 @@ if (tex_only) { - if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + if (tex->pt->dyn.img) { - if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && - (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) - prog = gc->shared->shader.tex_nomul.prog; + if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + { + if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && + (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) + prog = gc->shared->shader.img_nomul.prog; + else + prog = gc->shared->shader.img.prog; + } else - prog = gc->shared->shader.tex.prog; + prog = gc->shared->shader.img.prog; } else - prog = gc->shared->shader.tex.prog; + { + if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + { + if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && + (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) + prog = gc->shared->shader.tex_nomul.prog; + else + prog = gc->shared->shader.tex.prog; + } + else + prog = gc->shared->shader.tex.prog; + } } else { Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_image.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_image.c 2010-08-18 08:56:44 UTC (rev 51272) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_image.c 2010-08-18 09:53:14 UTC (rev 51273) @@ -280,6 +280,7 @@ im->content_hint = hint; if (!im->gc) return; if (!im->gc->shared->info.sec_image_map) return; + if (!im->gc->shared->info.bgra) return; // does not handle yuv yet. if (im->cs.space != EVAS_COLORSPACE_ARGB8888) return; if (im->content_hint == EVAS_IMAGE_CONTENT_HINT_DYNAMIC) Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-08-18 08:56:44 UTC (rev 51272) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-08-18 09:53:14 UTC (rev 51273) @@ -442,12 +442,11 @@ attr[1] = pt->w; attr[3] = pt->h; - // FIXME: RGBA/ABGR is swapped. - // FIXME: seems a bit slower than i'd like - maybe too many flushes? - // FIXME: YCbCr no support as yet // FIXME: stride not fetched or used from engine api // FIXME: have to set dynamic AFTER setting alpha and size. shoudl allow // any order + // FIXME: seems a bit slower than i'd like - maybe too many flushes? + // FIXME: YCbCr no support as yet pt->dyn.img = secsym_eglCreateImage(egldisplay, EGL_NO_CONTEXT, EGL_MAP_GL_TEXTURE_2D_SEC, @@ -671,16 +670,16 @@ if (tex->alpha) { if (gc->shared->info.bgra) - tex->pt = _pool_tex_dynamic_new(gc, tex->w, tex->h, rgba_ifmt, rgba_fmt); + tex->pt = _pool_tex_dynamic_new(gc, tex->w, tex->h, bgra_ifmt, bgra_fmt); else - tex->pt = _pool_tex_dynamic_new(gc, tex->w, tex->h, rgba_ifmt, rgba_fmt); + tex->pt = _pool_tex_dynamic_new(gc, tex->w, tex->h, bgra_ifmt, bgra_fmt); } else { if (gc->shared->info.bgra) - tex->pt = _pool_tex_dynamic_new(gc, tex->w, tex->h, rgb_ifmt, rgb_fmt); + tex->pt = _pool_tex_dynamic_new(gc, tex->w, tex->h, bgra_ifmt, bgra_fmt); else - tex->pt = _pool_tex_dynamic_new(gc, tex->w, tex->h, rgb_ifmt, rgb_fmt); + tex->pt = _pool_tex_dynamic_new(gc, tex->w, tex->h, bgra_ifmt, bgra_fmt); } if (!tex->pt) { |
From: Enlightenment S. <no-...@en...> - 2010-08-21 05:59:38
|
Log: fix free shutdown of gl common part of gl engine -> gl pipes badbess. Author: raster Date: 2010-08-20 22:59:27 -0700 (Fri, 20 Aug 2010) New Revision: 51485 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-21 05:07:52 UTC (rev 51484) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-21 05:59:27 UTC (rev 51485) @@ -660,6 +660,15 @@ if (gc->def_surface) evas_gl_common_image_free(gc->def_surface); + for (i = 0; i < gc->shared->info.pipes_max; i++) + { + if (gc->pipe[i].array.vertex) free(gc->pipe[i].array.vertex); + if (gc->pipe[i].array.color) free(gc->pipe[i].array.color); + if (gc->pipe[i].array.texuv) free(gc->pipe[i].array.texuv); + if (gc->pipe[i].array.texuv2) free(gc->pipe[i].array.texuv2); + if (gc->pipe[i].array.texuv3) free(gc->pipe[i].array.texuv3); + } + if ((gc->shared) && (gc->shared->references == 0)) { evas_gl_common_shader_program_shutdown(&(gc->shared->shader.rect)); @@ -697,17 +706,6 @@ free(gc->shared); shared = NULL; } - - - for (i = 0; i < gc->shared->info.pipes_max; i++) - { - if (gc->pipe[i].array.vertex) free(gc->pipe[i].array.vertex); - if (gc->pipe[i].array.color) free(gc->pipe[i].array.color); - if (gc->pipe[i].array.texuv) free(gc->pipe[i].array.texuv); - if (gc->pipe[i].array.texuv2) free(gc->pipe[i].array.texuv2); - if (gc->pipe[i].array.texuv3) free(gc->pipe[i].array.texuv3); - } - if (gc == _evas_gl_common_context) _evas_gl_common_context = NULL; free(gc); } |
From: Enlightenment S. <no-...@en...> - 2010-08-25 13:41:10
|
Log: and fail init of gl cleanly again... :) Author: raster Date: 2010-08-25 06:41:03 -0700 (Wed, 25 Aug 2010) New Revision: 51644 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c trunk/evas/src/modules/engines/gl_common/evas_gl_shader.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-25 13:01:06 UTC (rev 51643) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-08-25 13:41:03 UTC (rev 51644) @@ -659,14 +659,17 @@ if (gc->shared) gc->shared->references--; if (gc->def_surface) evas_gl_common_image_free(gc->def_surface); - - for (i = 0; i < gc->shared->info.pipes_max; i++) + + if (gc->shared) { - if (gc->pipe[i].array.vertex) free(gc->pipe[i].array.vertex); - if (gc->pipe[i].array.color) free(gc->pipe[i].array.color); - if (gc->pipe[i].array.texuv) free(gc->pipe[i].array.texuv); - if (gc->pipe[i].array.texuv2) free(gc->pipe[i].array.texuv2); - if (gc->pipe[i].array.texuv3) free(gc->pipe[i].array.texuv3); + for (i = 0; i < gc->shared->info.pipes_max; i++) + { + if (gc->pipe[i].array.vertex) free(gc->pipe[i].array.vertex); + if (gc->pipe[i].array.color) free(gc->pipe[i].array.color); + if (gc->pipe[i].array.texuv) free(gc->pipe[i].array.texuv); + if (gc->pipe[i].array.texuv2) free(gc->pipe[i].array.texuv2); + if (gc->pipe[i].array.texuv3) free(gc->pipe[i].array.texuv3); + } } if ((gc->shared) && (gc->shared->references == 0)) Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_shader.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_shader.c 2010-08-25 13:01:06 UTC (rev 51643) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_shader.c 2010-08-25 13:41:03 UTC (rev 51644) @@ -441,6 +441,7 @@ GLERR(__FUNCTION__, __FILE__, __LINE__, ""); glCompileShader(p->vert); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); + ok = 0; glGetShaderiv(p->vert, GL_COMPILE_STATUS, &ok); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); if (!ok) @@ -454,6 +455,7 @@ GLERR(__FUNCTION__, __FILE__, __LINE__, ""); glCompileShader(p->frag); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); + ok = 0; glGetShaderiv(p->frag, GL_COMPILE_STATUS, &ok); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); if (!ok) @@ -482,6 +484,7 @@ glLinkProgram(p->prog); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); + ok = 0; glGetProgramiv(p->prog, GL_LINK_STATUS, &ok); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); if (!ok) |
From: Enlightenment S. <no-...@en...> - 2010-08-27 02:02:45
|
Log: tracing/info to check texture allocation/usage. no leaks that i see. dump works perfectly. yay! Author: raster Date: 2010-08-26 19:02:38 -0700 (Thu, 26 Aug 2010) New Revision: 51669 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-08-27 01:14:03 UTC (rev 51668) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-08-27 02:02:38 UTC (rev 51669) @@ -27,7 +27,30 @@ static const GLenum lum_fmt = GL_LUMINANCE; static const GLenum lum_ifmt = GL_LUMINANCE; +static struct { + struct { + int num, pix; + } c, a, v, r, n, d; +} texinfo = {0}; + static int +_print_tex_count(void) +{ + if (getenv("EVAS_GL_MEMINFO")) + { + fprintf(stderr, + "T: c:%i/%ik | a:%i/%ik | v:%i/%ik | r:%i/%ik | n:%i/%ik | d:%i/%ik\n", + texinfo.c.num, (texinfo.c.pix * 4) / 1024, + texinfo.a.num, (texinfo.a.pix ) / 1024, + texinfo.v.num, (texinfo.v.pix ) / 1024, + texinfo.r.num, (texinfo.r.pix * 4) / 1024, + texinfo.n.num, (texinfo.n.pix * 4) / 1024, + texinfo.d.num, (texinfo.d.pix * 4) / 1024 + ); + } +} + +static int _nearest_pow2(int num) { unsigned int n = num - 1; @@ -109,6 +132,25 @@ pt->format = format; pt->dataformat = GL_UNSIGNED_BYTE; pt->references = 0; + + if (format == alpha_fmt) + { + texinfo.a.num++; + texinfo.a.pix += pt->w * pt->h; + } + else if (format == lum_fmt) + { + texinfo.v.num++; + texinfo.v.pix += pt->w * pt->h; + } + else + { + texinfo.c.num++; + texinfo.c.pix += pt->w * pt->h; + } + + _print_tex_count(); + glGenTextures(1, &(pt->texture)); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); glBindTexture(GL_TEXTURE_2D, pt->texture); @@ -324,6 +366,11 @@ # define GL_COLOR_ATTACHMENT0 GL_COLOR_ATTACHMENT0_EXT # endif #endif + texinfo.r.num++; + texinfo.r.pix += pt->w * pt->h; + + _print_tex_count(); + glGenTextures(1, &(pt->texture)); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); glBindTexture(GL_TEXTURE_2D, pt->texture); @@ -364,6 +411,8 @@ if (im->native.target == GL_TEXTURE_RECTANGLE_ARB) { printf("REEEEEEEEECT\n"); + pt->w = w; + pt->h = h; } else #endif @@ -377,6 +426,11 @@ pt->dataformat = GL_UNSIGNED_BYTE; pt->references = 0; pt->native = 1; + texinfo.n.num++; + texinfo.n.pix += pt->w * pt->h; + + _print_tex_count(); + glGenTextures(1, &(pt->texture)); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); glBindTexture(im->native.target, pt->texture); @@ -436,6 +490,11 @@ pt->dataformat = GL_UNSIGNED_BYTE; pt->render = 1; pt->references = 0; + texinfo.d.num++; + texinfo.d.pix += pt->w * pt->h; + + _print_tex_count(); + glGenTextures(1, &(pt->texture)); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); glBindTexture(GL_TEXTURE_2D, pt->texture); @@ -550,6 +609,40 @@ { pt->references--; if (pt->references != 0) return; + + if (pt->format == alpha_fmt) + { + texinfo.a.num--; + texinfo.a.pix -= pt->w * pt->h; + } + else if (pt->format == lum_fmt) + { + texinfo.v.num--; + texinfo.v.pix -= pt->w * pt->h; + } + else if (pt->dyn.img) + { + texinfo.d.num--; + texinfo.d.pix -= pt->w * pt->h; + } + else if (pt->render) + { + texinfo.r.num--; + texinfo.r.pix -= pt->w * pt->h; + } + else if (pt->native) + { + texinfo.n.num--; + texinfo.n.pix -= pt->w * pt->h; + } + else + { + texinfo.c.num--; + texinfo.c.pix -= pt->w * pt->h; + } + + _print_tex_count(); + if (!((pt->render) || (pt->native))) { if (pt->whole) |
From: Enlightenment S. <no-...@en...> - 2010-09-05 02:58:37
|
Log: and fix gl engine to actually do map for yuv images! :) fix fix. Author: raster Date: 2010-09-04 19:58:30 -0700 (Sat, 04 Sep 2010) New Revision: 51893 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h trunk/evas/src/modules/engines/gl_common/evas_gl_context.c trunk/evas/src/modules/engines/gl_common/evas_gl_image.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-09-05 00:56:54 UTC (rev 51892) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-09-05 02:58:30 UTC (rev 51893) @@ -427,7 +427,8 @@ int clip, int cx, int cy, int cw, int ch, int r, int g, int b, int a, Eina_Bool smooth, - Eina_Bool tex_only); + Eina_Bool tex_only, + Eina_Bool yuv); void evas_gl_common_context_flush(Evas_GL_Context *gc); int evas_gl_common_shader_program_init(Evas_GL_Program *p, Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-09-05 00:56:54 UTC (rev 51892) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-09-05 02:58:30 UTC (rev 51893) @@ -1785,83 +1785,101 @@ RGBA_Map_Point *p, int clip, int cx, int cy, int cw, int ch, int r, int g, int b, int a, - Eina_Bool smooth, Eina_Bool tex_only) + Eina_Bool smooth, Eina_Bool tex_only, + Eina_Bool yuv) { - int pnum, nv, nc, nu, nu2, nt, i; + int pnum, nv, nc, nu, nu2, nu3, nt, i; const int points[6] = { 0, 1, 2, 0, 2, 3 }; int x = 0, y = 0, w = 0, h = 0, px = 0, py = 0; - GLfloat tx[4], ty[4]; + GLfloat tx[4], ty[4], t2x[4], t2y[4]; Eina_Bool blend = 1; DATA32 cmul; GLuint prog = gc->shared->shader.img.prog; int pn = 0; - + if (!tex->alpha) blend = 0; if (a < 255) blend = 1; if ((A_VAL(&(p[0].col)) < 0xff) || (A_VAL(&(p[1].col)) < 0xff) || (A_VAL(&(p[2].col)) < 0xff) || (A_VAL(&(p[3].col)) < 0xff)) blend = 1; - if (tex_only) + if (yuv) { - if (tex->pt->dyn.img) + prog = gc->shared->shader.yuv.prog; + if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) { - if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && + (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) + prog = gc->shared->shader.yuv_nomul.prog; + else + prog = gc->shared->shader.yuv.prog; + } + else + prog = gc->shared->shader.yuv.prog; + } + else + { + if (tex_only) + { + if (tex->pt->dyn.img) { - if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && - (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) - prog = gc->shared->shader.img_nomul.prog; + if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + { + if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && + (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) + prog = gc->shared->shader.img_nomul.prog; + else + prog = gc->shared->shader.img.prog; + } else prog = gc->shared->shader.img.prog; } else - prog = gc->shared->shader.img.prog; - } - else - { - if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) { - if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && - (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) - prog = gc->shared->shader.tex_nomul.prog; + if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + { + if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && + (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) + prog = gc->shared->shader.tex_nomul.prog; + else + prog = gc->shared->shader.tex.prog; + } else prog = gc->shared->shader.tex.prog; } - else - prog = gc->shared->shader.tex.prog; } - } - else - { - if (tex->gc->shared->info.bgra) + else { - if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + if (tex->gc->shared->info.bgra) { - if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && - (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) - prog = gc->shared->shader.img_bgra_nomul.prog; + if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + { + if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && + (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) + prog = gc->shared->shader.img_bgra_nomul.prog; + else + prog = gc->shared->shader.img_bgra.prog; + } else - prog = gc->shared->shader.img_bgra.prog; + prog = gc->shared->shader.img_bgra.prog; } else - prog = gc->shared->shader.img_bgra.prog; - } - else - { - if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) { - if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && - (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) - prog = gc->shared->shader.img_nomul.prog; + if ((a == 255) && (r == 255) && (g == 255) && (b == 255)) + { + if ((p[0].col == 0xffffffff) && (p[1].col == 0xffffffff) && + (p[2].col == 0xffffffff) && (p[3].col == 0xffffffff)) + prog = gc->shared->shader.img_nomul.prog; + else + prog = gc->shared->shader.img.prog; + } else - prog = gc->shared->shader.img.prog; + prog = gc->shared->shader.img.prog; } - else - prog = gc->shared->shader.img.prog; } } - /*xxx*/ shader_array_flush(gc); +// /*xxx*/ shader_array_flush(gc); again: pn = gc->state.top_pipe; #ifdef GLPIPES @@ -1869,6 +1887,11 @@ { gc->pipe[pn].region.type = RTYPE_MAP; gc->pipe[pn].shader.cur_tex = tex->pt->texture; + if (yuv) + { + gc->pipe[pn].shader.cur_texu = tex->ptu->texture; + gc->pipe[pn].shader.cur_texv = tex->ptv->texture; + } gc->pipe[pn].shader.cur_prog = prog; gc->pipe[pn].shader.smooth = smooth; gc->pipe[pn].shader.blend = blend; @@ -1882,8 +1905,16 @@ gc->pipe[pn].array.use_vertex = 1; gc->pipe[pn].array.use_color = 1; gc->pipe[pn].array.use_texuv = 1; - gc->pipe[pn].array.use_texuv2 = 0; - gc->pipe[pn].array.use_texuv3 = 0; + if (yuv) + { + gc->pipe[pn].array.use_texuv2 = 1; + gc->pipe[pn].array.use_texuv3 = 1; + } + else + { + gc->pipe[pn].array.use_texuv2 = 0; + gc->pipe[pn].array.use_texuv3 = 0; + } } else { @@ -1921,6 +1952,11 @@ gc->state.top_pipe = pn; gc->pipe[pn].region.type = RTYPE_MAP; gc->pipe[pn].shader.cur_tex = tex->pt->texture; + if (yuv) + { + gc->pipe[pn].shader.cur_texu = tex->ptu->texture; + gc->pipe[pn].shader.cur_texv = tex->ptv->texture; + } gc->pipe[pn].shader.cur_prog = prog; gc->pipe[pn].shader.smooth = smooth; gc->pipe[pn].shader.blend = blend; @@ -1934,8 +1970,16 @@ gc->pipe[pn].array.use_vertex = 1; gc->pipe[pn].array.use_color = 1; gc->pipe[pn].array.use_texuv = 1; - gc->pipe[pn].array.use_texuv2 = 0; - gc->pipe[pn].array.use_texuv3 = 0; + if (yuv) + { + gc->pipe[pn].array.use_texuv2 = 1; + gc->pipe[pn].array.use_texuv3 = 1; + } + else + { + gc->pipe[pn].array.use_texuv2 = 0; + gc->pipe[pn].array.use_texuv3 = 0; + } } } if ((tex->im) && (tex->im->native.data)) @@ -2005,8 +2049,16 @@ gc->pipe[pn].array.use_vertex = 1; gc->pipe[pn].array.use_color = 1; gc->pipe[pn].array.use_texuv = 1; - gc->pipe[pn].array.use_texuv2 = 0; - gc->pipe[pn].array.use_texuv3 = 0; + if (yuv) + { + gc->pipe[pn].array.use_texuv2 = 1; + gc->pipe[pn].array.use_texuv3 = 1; + } + else + { + gc->pipe[pn].array.use_texuv2 = 0; + gc->pipe[pn].array.use_texuv3 = 0; + } #endif x = w = (p[points[0]].x >> FP); @@ -2023,6 +2075,11 @@ py = (p[points[i]].y >> FP); if (py < y) y = py; else if (py > h) h = py; + if (yuv) + { + t2x[i] = ((((double)p[i].u / 2) / FP1)) / (double)tex->ptu->w; + t2y[i] = ((((double)p[i].v / 2) / FP1)) / (double)tex->ptu->h; + } } w = w - x; h = h - y; @@ -2031,7 +2088,7 @@ pnum = gc->pipe[pn].array.num; nv = pnum * 3; nc = pnum * 4; nu = pnum * 2; nu2 = pnum * 2; - nt = pnum * 4; + nu2 = pnum * 2; nu3 = pnum * 2; nt = pnum * 4; gc->pipe[pn].array.num += 6; array_alloc(gc, pn); @@ -2052,6 +2109,15 @@ PUSH_TEXUV(pn, tx[points[i]], ty[points[i]]); + if (yuv) + { + PUSH_TEXUV2(pn, + t2x[points[i]], + t2y[points[i]]); + PUSH_TEXUV3(pn, + t2x[points[i]], + t2y[points[i]]); + } PUSH_COLOR(pn, R_VAL(&cl), @@ -2147,7 +2213,7 @@ case EVAS_RENDER_MASK: /**< d = d*sa */ case EVAS_RENDER_MUL: /**< d = d*s */ default: - glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); break; } Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_image.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_image.c 2010-09-05 00:56:54 UTC (rev 51892) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_image.c 2010-09-05 02:58:30 UTC (rev 51893) @@ -468,6 +468,7 @@ RGBA_Draw_Context *dc; int r, g, b, a; int c, cx, cy, cw, ch; + Eina_Bool yuv = 0; dc = gc->dc; if (dc->mul.use) @@ -488,9 +489,13 @@ cx = gc->dc->clip.x; cy = gc->dc->clip.y; cw = gc->dc->clip.w; ch = gc->dc->clip.h; im->tex->im = im; + if ((im->cs.space == EVAS_COLORSPACE_YCBCR422P601_PL) || + (im->cs.space == EVAS_COLORSPACE_YCBCR422P709_PL)) + yuv = 1; evas_gl_common_context_image_map4_push(gc, im->tex, p, c, cx, cy, cw, ch, - r, g, b, a, smooth, im->tex_only); + r, g, b, a, smooth, im->tex_only, + yuv); } void |
From: Enlightenment S. <no-...@en...> - 2010-09-06 13:36:41
|
Log: well dldrawarrays doesnthave a limit according to the gl spec - but drivers may implement one. as such add a check. but check and fix seems to fail for some rendering. wonder why? Author: raster Date: 2010-09-06 06:36:32 -0700 (Mon, 06 Sep 2010) New Revision: 51923 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-09-06 12:19:17 UTC (rev 51922) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-09-06 13:36:32 UTC (rev 51923) @@ -128,6 +128,7 @@ struct { GLint max_texture_units; GLint max_texture_size; + GLint max_vertex_elements; GLfloat anisotropic; Eina_Bool rgb : 1; Eina_Bool bgra : 1; Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-09-06 12:19:17 UTC (rev 51922) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-09-06 13:36:32 UTC (rev 51923) @@ -461,8 +461,8 @@ // FIXME: there should be an extension name/string to check for // not just symbols in the lib i = 0; - if (getenv("EVAS_GL_NO_MAP_IMAGE_SEC")) - i = atoi(getenv("EVAS_GL_NO_MAP_IMAGE_SEC")); + s = getenv("EVAS_GL_NO_MAP_IMAGE_SEC"); + if (s) i = atoi(s); if (!i) { // test for all needed symbols - be "conservative" and @@ -481,6 +481,15 @@ &(shared->info.max_texture_units)); glGetIntegerv(GL_MAX_TEXTURE_SIZE, &(shared->info.max_texture_size)); + shared->info.max_vertex_elements = 6 * 10000; +#ifdef GL_MAX_ELEMENTS_VERTICES + glGetIntegerv(GL_MAX_ELEMENTS_VERTICES, + &(shared->info.max_vertex_elements)); +#endif + s = getenv("EVAS_GL_VERTEX_MAX"); + if (s) shared->info.max_vertex_elements = atoi(s); + if (shared->info.max_vertex_elements < 6) + shared->info.max_vertex_elements = 6; // magic numbers that are a result of imperical testing and getting // "best case" performance across a range of systems @@ -531,7 +540,10 @@ "bgra : %i\n" "max ansiotropic filtering: %3.3f\n" "egl sec map image: %i\n" + "max vertex count: %i\n" "\n" + "(can set EVAS_GL_VERTEX_MAX EVAS_GL_NO_MAP_IMAGE_SEC EVAS_GL_INFO EVAS_GL_MEMINFO )\n" + "\n" "EVAS_GL_CUTOUT_MAX: %i\n" "EVAS_GL_PIPES_MAX: %i\n" "EVAS_GL_ATLAS_ALLOC_SIZE: %i\n" @@ -546,6 +558,7 @@ (int)shared->info.bgra, (double)shared->info.anisotropic, (int)shared->info.sec_image_map, + (int)shared->info.max_vertex_elements, (int)shared->info.tune.cutout.max, (int)shared->info.tune.pipes.max, @@ -1005,6 +1018,19 @@ gc->pipe[n].region.h = y2 - y1; } +static Eina_Bool +vertex_array_size_check(Evas_GL_Context *gc, int pn, int n) +{ + return 1; +// this fixup breaks for expedite test 32. why? + if ((gc->pipe[pn].array.num + n) > gc->shared->info.max_vertex_elements) + { + shader_array_flush(gc); + return 0; + } + return 1; +} + void evas_gl_common_context_line_push(Evas_GL_Context *gc, int x1, int y1, int x2, int y2, @@ -1020,6 +1046,7 @@ if (gc->dc->render_op == EVAS_RENDER_COPY) blend = 0; shader_array_flush(gc); + vertex_array_size_check(gc, gc->state.top_pipe, 2); pn = gc->state.top_pipe; gc->pipe[pn].shader.cur_tex = 0; gc->pipe[pn].shader.cur_prog = prog; @@ -1040,7 +1067,7 @@ pnum = gc->pipe[pn].array.num; nv = pnum * 3; nc = pnum * 4; nu = pnum * 2; nt = pnum * 4; - gc->pipe[pn].array.num += 1; + gc->pipe[pn].array.num += 2; array_alloc(gc, pn); PUSH_VERTEX(pn, x1, y1, 0); @@ -1074,6 +1101,7 @@ if (gc->dc->render_op == EVAS_RENDER_COPY) blend = 0; again: + vertex_array_size_check(gc, gc->state.top_pipe, 6); pn = gc->state.top_pipe; #ifdef GLPIPES if ((pn == 0) && (gc->pipe[pn].array.num == 0)) @@ -1246,6 +1274,7 @@ } again: + vertex_array_size_check(gc, gc->state.top_pipe, 6); pn = gc->state.top_pipe; #ifdef GLPIPES if ((pn == 0) && (gc->pipe[pn].array.num == 0)) @@ -1445,6 +1474,7 @@ int pn = 0; again: + vertex_array_size_check(gc, gc->state.top_pipe, 6); pn = gc->state.top_pipe; #ifdef GLPIPES if ((pn == 0) && (gc->pipe[pn].array.num == 0)) @@ -1613,6 +1643,7 @@ prog = gc->shared->shader.yuv.prog; again: + vertex_array_size_check(gc, gc->state.top_pipe, 6); pn = gc->state.top_pipe; #ifdef GLPIPES if ((pn == 0) && (gc->pipe[pn].array.num == 0)) @@ -1881,6 +1912,7 @@ // /*xxx*/ shader_array_flush(gc); again: + vertex_array_size_check(gc, gc->state.top_pipe, 6); pn = gc->state.top_pipe; #ifdef GLPIPES if ((pn == 0) && (gc->pipe[pn].array.num == 0)) |
From: Enlightenment S. <no-...@en...> - 2010-09-19 02:10:17
|
Log: warning-- Author: raster Date: 2010-09-18 19:10:09 -0700 (Sat, 18 Sep 2010) New Revision: 52445 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_image.c trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_image.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_image.c 2010-09-19 02:04:12 UTC (rev 52444) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_image.c 2010-09-19 02:10:09 UTC (rev 52445) @@ -463,7 +463,7 @@ void evas_gl_common_image_map4_draw(Evas_GL_Context *gc, Evas_GL_Image *im, - RGBA_Map_Point *p, int smooth, int level) + RGBA_Map_Point *p, int smooth, int level __UNUSED__) { RGBA_Draw_Context *dc; int r, g, b, a; Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-09-19 02:04:12 UTC (rev 52444) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-09-19 02:10:09 UTC (rev 52445) @@ -31,7 +31,7 @@ struct { int num, pix; } c, a, v, r, n, d; -} texinfo = {0}; +} texinfo = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}; static void _print_tex_count(void) @@ -170,7 +170,7 @@ } static int -_pool_tex_alloc(Evas_GL_Texture_Pool *pt, int w, int h, int *u, int *v, Eina_List **l_after) +_pool_tex_alloc(Evas_GL_Texture_Pool *pt, int w, int h __UNUSED__, int *u, int *v, Eina_List **l_after) { Eina_List *l; Evas_GL_Texture *tex, *tex2; @@ -600,6 +600,12 @@ glBindTexture(GL_TEXTURE_2D, gc->pipe[0].shader.cur_tex); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); +#else + gc = NULL; + w = 0; + h = 0; + intformat = 0; + format = 0; #endif return pt; } @@ -955,7 +961,7 @@ void evas_gl_common_texture_alpha_update(Evas_GL_Texture *tex, DATA8 *pixels, - unsigned int w, unsigned int h, int fh) + unsigned int w, unsigned int h, int fh __UNUSED__) { if (!tex->pt) return; glBindTexture(GL_TEXTURE_2D, tex->pt->texture); |
From: Enlightenment S. <no-...@en...> - 2010-09-30 23:20:37
|
Log: found the gl engine flashing white bug with laucnher 3 map test! aaah gl state bug/assumption. reset state when moving from 1 surface target to another and then we are all happy. also fix lip geometry issue in gl when rendering to non-default surf - related. Author: raster Date: 2010-09-30 16:20:26 -0700 (Thu, 30 Sep 2010) New Revision: 52933 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-09-30 21:37:49 UTC (rev 52932) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-09-30 23:20:26 UTC (rev 52933) @@ -141,9 +141,8 @@ // FIXME bug with pipes > 1 right now, should default to 32 #define MAX_PIPES 128 -#define DEF_PIPES 1 -//#define DEF_PIPES_SGX_540 32 -#define DEF_PIPES_SGX_540 1 +#define DEF_PIPES 32 +#define DEF_PIPES_SGX_540 32 #define DEF_PIPES_TEGRA_2 1 #define MIN_ATLAS_ALLOC 16 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-09-30 21:37:49 UTC (rev 52932) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-09-30 23:20:26 UTC (rev 52933) @@ -29,6 +29,8 @@ unsigned int (*secsym_eglGetImageAttribSEC) (void *a, void *b, int c, int *d) = NULL; #endif +static int dbgflushnum = -1; + static void sym_missing(void) { @@ -817,14 +819,13 @@ evas_gl_common_context_newframe(Evas_GL_Context *gc) { int i; - static int dbgflushnum = -1; if (dbgflushnum < 0) { dbgflushnum = 0; - if (getenv("DBGEVAS")) dbgflushnum = 1; + if (getenv("EVAS_GL_DBG")) dbgflushnum = 1; } - if (dbgflushnum) printf("prev-flushnum: %i\n", gc->flushnum); + if (dbgflushnum) printf("----prev-flushnum: %i -----------------------------------\n", gc->flushnum); gc->flushnum = 0; gc->state.current.cur_prog = 0; @@ -832,10 +833,6 @@ gc->state.current.cur_texu = 0; gc->state.current.cur_texv = 0; gc->state.current.render_op = 0; - gc->state.current.cx = 0; - gc->state.current.cy = 0; - gc->state.current.cw = 0; - gc->state.current.ch = 0; gc->state.current.smooth = 0; gc->state.current.blend = 0; gc->state.current.clip = 0; @@ -926,6 +923,7 @@ evas_gl_common_context_resize(Evas_GL_Context *gc, int w, int h, int rot) { if ((gc->w == w) && (gc->h == h) && (gc->rot == rot)) return; + evas_gl_common_context_flush(gc); gc->change.size = 1; gc->rot = rot; gc->w = w; @@ -940,6 +938,19 @@ if (surface == gc->pipe[0].shader.surface) return; evas_gl_common_context_flush(gc); + + gc->state.current.cur_prog = -1; + gc->state.current.cur_tex = -1; + gc->state.current.cur_texu = -1; + gc->state.current.cur_texv = -1; + gc->state.current.render_op = -1; + gc->state.current.smooth = -1; + gc->state.current.blend = -1; + gc->state.current.clip = -1; + gc->state.current.cx = -1; + gc->state.current.cy = -1; + gc->state.current.cw = -1; + gc->state.current.ch = -1; gc->pipe[0].shader.surface = surface; gc->change.size = 1; @@ -1890,7 +1901,8 @@ if ((p[0].z == p[1].z) && (p[1].z == p[2].z) && (p[2].z == p[3].z)) flat = 1; - + + if (!clip) cx = cy = cw = ch = 0; if (!flat) { if (p[0].foc <= 0) flat = 1; @@ -2259,12 +2271,23 @@ static void shader_array_flush(Evas_GL_Context *gc) { - int i; + int i, setclip; + int done = 0; + int gw, gh; + gw = gc->w; + gh = gc->h; + if (!((gc->pipe[0].shader.surface == gc->def_surface) || + (!gc->pipe[0].shader.surface))) + { + gw = gc->pipe[0].shader.surface->w; + gh = gc->pipe[0].shader.surface->h; + } for (i = 0; i < gc->shared->info.tune.pipes.max; i++) { if (gc->pipe[i].array.num <= 0) break; - + + done++; gc->flushnum++; GLERR(__FUNCTION__, __FILE__, __LINE__, "<flush err>"); if (gc->pipe[i].shader.cur_prog != gc->state.current.cur_prog) @@ -2395,23 +2418,25 @@ } } #if 1 + setclip = 0; if (gc->pipe[i].shader.clip != gc->state.current.clip) { if (gc->pipe[i].shader.clip) { glEnable(GL_SCISSOR_TEST); glScissor(gc->pipe[i].shader.cx, - gc->h - gc->pipe[i].shader.cy - gc->pipe[i].shader.ch, + gh - gc->pipe[i].shader.cy - gc->pipe[i].shader.ch, gc->pipe[i].shader.cw, gc->pipe[i].shader.ch); + setclip = 1; } else { glDisable(GL_SCISSOR_TEST); -// glScissor(0, 0, 0, 0); + glScissor(0, 0, 0, 0); } } - if (gc->pipe[i].shader.clip) + if ((gc->pipe[i].shader.clip) && (!setclip)) { if ((gc->pipe[i].shader.cx != gc->state.current.cx) || (gc->pipe[i].shader.cx != gc->state.current.cx) || @@ -2419,7 +2444,7 @@ (gc->pipe[i].shader.cx != gc->state.current.cx)) { glScissor(gc->pipe[i].shader.cx, - gc->h - gc->pipe[i].shader.cy - gc->pipe[i].shader.ch, + gh - gc->pipe[i].shader.cy - gc->pipe[i].shader.ch, gc->pipe[i].shader.cw, gc->pipe[i].shader.ch); } @@ -2490,7 +2515,20 @@ glDisableVertexAttribArray(SHAD_TEXUV3); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); } - + if (dbgflushnum) + { + const char *types[6] = + {"----", "RECT", "IMAG", "FONT", "YUV-", "MAP"}; + printf(" DRAW %4i -> %p[%4ix%4i] @ %4ix%4i -{ tex %4i type %s }-\n", + gc->pipe[i].array.num / 6, + gc->pipe[0].shader.surface, + gc->pipe[0].shader.surface->w, + gc->pipe[0].shader.surface->h, + gw, gh, + gc->pipe[i].shader.cur_tex, + types[gc->pipe[i].region.type] + ); + } glDrawArrays(GL_TRIANGLES, 0, gc->pipe[i].array.num); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); } @@ -2537,5 +2575,9 @@ gc->pipe[i].region.h = 0; gc->pipe[i].region.type = 0; } - gc->state.top_pipe = 0; + gc->state.top_pipe = 0; + if (dbgflushnum) + { + if (done > 0) printf("DONE (pipes): %i\n", done); + } } |
From: Enlightenment S. <no-...@en...> - 2010-09-30 23:23:58
|
Log: and make values int so we can have "-1" :) Author: raster Date: 2010-09-30 16:23:51 -0700 (Thu, 30 Sep 2010) New Revision: 52934 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-09-30 23:20:26 UTC (rev 52933) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-09-30 23:23:51 UTC (rev 52934) @@ -230,9 +230,9 @@ GLuint cur_tex, cur_texu, cur_texv; int render_op; int cx, cy, cw, ch; - Eina_Bool smooth : 1; - Eina_Bool blend : 1; - Eina_Bool clip : 1; + int smooth; + int blend; + int clip; } current; } state; @@ -251,9 +251,9 @@ GLuint cur_tex, cur_texu, cur_texv; int render_op; int cx, cy, cw, ch; - Eina_Bool smooth : 1; - Eina_Bool blend : 1; - Eina_Bool clip : 1; + int smooth; + int blend; + int clip; } shader; struct { int num, alloc; |
From: Enlightenment S. <no-...@en...> - 2010-10-01 03:40:19
|
Log: map in map render bug with gl - fix. Author: raster Date: 2010-09-30 20:40:12 -0700 (Thu, 30 Sep 2010) New Revision: 52936 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-09-30 23:51:46 UTC (rev 52935) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-10-01 03:40:12 UTC (rev 52936) @@ -381,6 +381,8 @@ vy = 0; } + if (m == -1) ay = vy * 2; + if ((rot == 0) || (rot == 180)) glViewport(-2 * vx, -2 * vy, vw, vh); else @@ -1901,6 +1903,7 @@ if ((p[0].z == p[1].z) && (p[1].z == p[2].z) && (p[2].z == p[3].z)) flat = 1; +// flat = 1; if (!clip) cx = cy = cw = ch = 0; if (!flat) @@ -1992,6 +1995,8 @@ gc->py = p[0].py >> FP; gc->change.size = 1; _evas_gl_common_viewport_set(gc); + cx += gc->shared->ax; + cy -= gc->shared->ay; } again: vertex_array_size_check(gc, gc->state.top_pipe, 6); |
From: Enlightenment S. <no-...@en...> - 2010-10-01 04:46:11
|
Log: aaaah and map in map clip and more bug fixes... Author: raster Date: 2010-09-30 21:46:04 -0700 (Thu, 30 Sep 2010) New Revision: 52939 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-10-01 03:59:17 UTC (rev 52938) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-10-01 04:46:04 UTC (rev 52939) @@ -1903,9 +1903,9 @@ if ((p[0].z == p[1].z) && (p[1].z == p[2].z) && (p[2].z == p[3].z)) flat = 1; -// flat = 1; if (!clip) cx = cy = cw = ch = 0; + if (!flat) { if (p[0].foc <= 0) flat = 1; @@ -1995,8 +1995,6 @@ gc->py = p[0].py >> FP; gc->change.size = 1; _evas_gl_common_viewport_set(gc); - cx += gc->shared->ax; - cy -= gc->shared->ay; } again: vertex_array_size_check(gc, gc->state.top_pipe, 6); @@ -2276,9 +2274,7 @@ static void shader_array_flush(Evas_GL_Context *gc) { - int i, setclip; - int done = 0; - int gw, gh; + int i, gw, gh, setclip, cy, fbo = 0, done = 0; gw = gc->w; gh = gc->h; @@ -2287,11 +2283,12 @@ { gw = gc->pipe[0].shader.surface->w; gh = gc->pipe[0].shader.surface->h; + fbo = 1; } for (i = 0; i < gc->shared->info.tune.pipes.max; i++) { if (gc->pipe[i].array.num <= 0) break; - + setclip = 0; done++; gc->flushnum++; GLERR(__FUNCTION__, __FILE__, __LINE__, "<flush err>"); @@ -2422,17 +2419,16 @@ GLERR(__FUNCTION__, __FILE__, __LINE__, ""); } } -#if 1 - setclip = 0; if (gc->pipe[i].shader.clip != gc->state.current.clip) { + if (gc->pipe[i].shader.clip) { + cy = gh - gc->pipe[i].shader.cy - gc->pipe[i].shader.ch; + if (fbo) cy = gc->pipe[i].shader.cy; glEnable(GL_SCISSOR_TEST); - glScissor(gc->pipe[i].shader.cx, - gh - gc->pipe[i].shader.cy - gc->pipe[i].shader.ch, - gc->pipe[i].shader.cw, - gc->pipe[i].shader.ch); + glScissor(gc->pipe[i].shader.cx, cy, + gc->pipe[i].shader.cw, gc->pipe[i].shader.ch); setclip = 1; } else @@ -2444,17 +2440,17 @@ if ((gc->pipe[i].shader.clip) && (!setclip)) { if ((gc->pipe[i].shader.cx != gc->state.current.cx) || - (gc->pipe[i].shader.cx != gc->state.current.cx) || - (gc->pipe[i].shader.cx != gc->state.current.cx) || - (gc->pipe[i].shader.cx != gc->state.current.cx)) + (gc->pipe[i].shader.cy != gc->state.current.cy) || + (gc->pipe[i].shader.cw != gc->state.current.cw) || + (gc->pipe[i].shader.ch != gc->state.current.ch)) { - glScissor(gc->pipe[i].shader.cx, - gh - gc->pipe[i].shader.cy - gc->pipe[i].shader.ch, - gc->pipe[i].shader.cw, - gc->pipe[i].shader.ch); + cy = gh - gc->pipe[i].shader.cy - gc->pipe[i].shader.ch; + if (fbo) cy = gc->pipe[i].shader.cy; + glScissor(gc->pipe[i].shader.cx, cy, + gc->pipe[i].shader.cw, gc->pipe[i].shader.ch); } } -#endif + glVertexAttribPointer(SHAD_VERTEX, 3, GL_SHORT, GL_FALSE, 0, gc->pipe[i].array.vertex); GLERR(__FUNCTION__, __FILE__, __LINE__, ""); glVertexAttribPointer(SHAD_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, gc->pipe[i].array.color); @@ -2524,7 +2520,8 @@ { const char *types[6] = {"----", "RECT", "IMAG", "FONT", "YUV-", "MAP"}; - printf(" DRAW %4i -> %p[%4ix%4i] @ %4ix%4i -{ tex %4i type %s }-\n", + printf(" DRAW#%3i %4i -> %p[%4ix%4i] @ %4ix%4i -{ tex %4i type %s }-\n", + i, gc->pipe[i].array.num / 6, gc->pipe[0].shader.surface, gc->pipe[0].shader.surface->w, @@ -2548,16 +2545,16 @@ gc->pipe[i].array.im = NULL; } - gc->state.current.cur_prog = gc->pipe[i].shader.cur_prog; - gc->state.current.cur_tex = gc->pipe[i].shader.cur_tex; - gc->state.current.blend = gc->pipe[i].shader.blend; - gc->state.current.smooth = gc->pipe[i].shader.smooth; + gc->state.current.cur_prog = gc->pipe[i].shader.cur_prog; + gc->state.current.cur_tex = gc->pipe[i].shader.cur_tex; + gc->state.current.blend = gc->pipe[i].shader.blend; + gc->state.current.smooth = gc->pipe[i].shader.smooth; gc->state.current.render_op = gc->pipe[i].shader.render_op; - gc->state.current.clip = gc->pipe[i].shader.clip; - gc->state.current.cx = gc->pipe[i].shader.cx; - gc->state.current.cy = gc->pipe[i].shader.cy; - gc->state.current.cw = gc->pipe[i].shader.cw; - gc->state.current.ch = gc->pipe[i].shader.ch; + gc->state.current.clip = gc->pipe[i].shader.clip; + gc->state.current.cx = gc->pipe[i].shader.cx; + gc->state.current.cy = gc->pipe[i].shader.cy; + gc->state.current.cw = gc->pipe[i].shader.cw; + gc->state.current.ch = gc->pipe[i].shader.ch; if (gc->pipe[i].array.vertex) free(gc->pipe[i].array.vertex); if (gc->pipe[i].array.color) free(gc->pipe[i].array.color); |
From: Enlightenment S. <no-...@en...> - 2010-10-01 06:22:38
|
Log: fix flipped object texture if map enabled AND object happens to be exactly viewport size. Author: raster Date: 2010-09-30 23:22:31 -0700 (Thu, 30 Sep 2010) New Revision: 52940 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h trunk/evas/src/modules/engines/gl_common/evas_gl_context.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-10-01 04:46:04 UTC (rev 52939) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-10-01 06:22:31 UTC (rev 52940) @@ -199,6 +199,7 @@ int references; int w, h; int rot; + int mflip; // persp map int foc, z0, px, py; int ax, ay; Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_context.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-10-01 04:46:04 UTC (rev 52939) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_context.c 2010-10-01 06:22:31 UTC (rev 52940) @@ -301,15 +301,17 @@ rot = 0; m = -1; } - + if ((!gc->change.size) || ((gc->shared->w == w) && (gc->shared->h == h) && - (gc->shared->rot == rot) && (gc->shared->foc == gc->foc))) + (gc->shared->rot == rot) && (gc->shared->foc == gc->foc) && + (gc->shared->mflip == m))) return; gc->shared->w = w; gc->shared->h = h; gc->shared->rot = rot; + gc->shared->mflip = m; gc->shared->foc = foc; gc->shared->z0 = gc->z0; gc->shared->px = gc->px; |
From: Enlightenment S. <no-...@en...> - 2010-10-01 06:33:24
|
Log: From: Howell Tam <how...@fl...> Subject: Evas evas_gl_shader.c patch Patch for evas_gl_shader.c, need to check shader compile errors too, not only program linking errors. Not that it's very useful now since all Evas' shaders are in good shape already, but it was useful when we're mucking around with things. And also to make Robi happy that there are some FST contributions to E ;) And probably more to come... Author: raster Date: 2010-09-30 23:33:17 -0700 (Thu, 30 Sep 2010) New Revision: 52941 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_shader.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_shader.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_shader.c 2010-10-01 06:22:31 UTC (rev 52940) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_shader.c 2010-10-01 06:33:17 UTC (rev 52941) @@ -406,7 +406,21 @@ { int loglen = 0, chars = 0; char *logtxt; + + /* Shader info log */ + glGetShaderiv(target, GL_INFO_LOG_LENGTH, &loglen); + if (loglen > 0) + { + logtxt = calloc(loglen, sizeof(char)); + if (logtxt) + { + glGetShaderInfoLog(target, loglen, &chars, logtxt); + printf("Failed to %s: %s\n", action, logtxt); + free(logtxt); + } + } + /* Program info log */ glGetProgramiv(target, GL_INFO_LOG_LENGTH, &loglen); if (loglen > 0) { |
From: Enlightenment S. <no-...@en...> - 2010-10-04 11:17:18
|
Log: dynamic tex ref wrong. fix. Author: raster Date: 2010-10-04 04:17:11 -0700 (Mon, 04 Oct 2010) New Revision: 53027 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-10-04 11:00:21 UTC (rev 53026) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-10-04 11:17:11 UTC (rev 53027) @@ -765,8 +765,8 @@ tex->y = 0; tex->w = w; tex->h = h; - tex->pt->references++; - return tex; + tex->pt->references++; + return tex; } Evas_GL_Texture * @@ -807,7 +807,7 @@ free(tex); return NULL; } - + tex->pt->references++; return tex; } |
From: Enlightenment S. <no-...@en...> - 2010-10-24 13:30:33
|
Log: make sure they are extern fn pointers Author: raster Date: 2010-10-24 06:30:27 -0700 (Sun, 24 Oct 2010) New Revision: 53831 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-10-24 12:28:36 UTC (rev 53830) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2010-10-24 13:30:27 UTC (rev 53831) @@ -484,18 +484,18 @@ void evas_gl_common_line_draw(Evas_GL_Context *gc, int x1, int y1, int x2, int y2); -void (*glsym_glGenFramebuffers) (GLsizei a, GLuint *b); -void (*glsym_glBindFramebuffer) (GLenum a, GLuint b); -void (*glsym_glFramebufferTexture2D) (GLenum a, GLenum b, GLenum c, GLuint d, GLint e); -void (*glsym_glDeleteFramebuffers) (GLsizei a, const GLuint *b); +extern void (*glsym_glGenFramebuffers) (GLsizei a, GLuint *b); +extern void (*glsym_glBindFramebuffer) (GLenum a, GLuint b); +extern void (*glsym_glFramebufferTexture2D) (GLenum a, GLenum b, GLenum c, GLuint d, GLint e); +extern void (*glsym_glDeleteFramebuffers) (GLsizei a, const GLuint *b); #if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) -void *(*secsym_eglCreateImage) (void *a, void *b, GLenum c, void *d, const int *e); -unsigned int (*secsym_eglDestroyImage) (void *a, void *b); -void (*secsym_glEGLImageTargetTexture2DOES) (int a, void *b); -void *(*secsym_eglMapImageSEC) (void *a, void *b); -unsigned int (*secsym_eglUnmapImageSEC) (void *a, void *b); -unsigned int (*secsym_eglGetImageAttribSEC) (void *a, void *b, int c, int *d); +extern void *(*secsym_eglCreateImage) (void *a, void *b, GLenum c, void *d, const int *e); +extern unsigned int (*secsym_eglDestroyImage) (void *a, void *b); +extern void (*secsym_glEGLImageTargetTexture2DOES) (int a, void *b); +extern void *(*secsym_eglMapImageSEC) (void *a, void *b); +extern unsigned int (*secsym_eglUnmapImageSEC) (void *a, void *b); +extern unsigned int (*secsym_eglGetImageAttribSEC) (void *a, void *b, int c, int *d); #endif #define GL_ERRORS 1 |
From: Enlightenment S. <no-...@en...> - 2010-10-26 07:00:35
|
Log: fmting. Author: raster Date: 2010-10-26 00:00:26 -0700 (Tue, 26 Oct 2010) New Revision: 53887 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-10-26 06:10:46 UTC (rev 53886) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_texture.c 2010-10-26 07:00:26 UTC (rev 53887) @@ -766,7 +766,7 @@ tex->w = w; tex->h = h; tex->pt->references++; - return tex; + return tex; } Evas_GL_Texture * |
From: Enlightenment S. <no-...@en...> - 2011-01-07 10:04:48
|
Log: i read the other day that glgeterror... causes driverstalls.. at least in some drivers/architectures... so this may slow things down. disable. Author: raster Date: 2011-01-07 02:04:41 -0800 (Fri, 07 Jan 2011) New Revision: 55976 Trac: http://trac.enlightenment.org/e/changeset/55976 Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h Modified: trunk/evas/src/modules/engines/gl_common/evas_gl_common.h =================================================================== --- trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2011-01-07 08:51:17 UTC (rev 55975) +++ trunk/evas/src/modules/engines/gl_common/evas_gl_common.h 2011-01-07 10:04:41 UTC (rev 55976) @@ -498,7 +498,7 @@ extern unsigned int (*secsym_eglGetImageAttribSEC) (void *a, void *b, int c, int *d); #endif -#define GL_ERRORS 1 +//#define GL_ERRORS 1 #ifdef GL_ERRORS # define GLERR(fn, fl, ln, op) \ |