Hi,

I am not sure that "Tizen 3.0" is a valid test plan for our purposes. If a
fix is submitted upstream, I think it makes sense to also submit a
corresponding test to verify that the issue is solved and does not recur in
the future.

Thoughts?

On Mon, Jan 2, 2017 at 2:44 AM Minkyoung Kim <[email protected]> wrote:

> jpeg pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/efl.git/commit/?id=40e9da0101e2c9afb6f823c7b21c02a011cc5300
>
> commit 40e9da0101e2c9afb6f823c7b21c02a011cc5300
> Author: Minkyoung Kim <[email protected]>
> Date:   Mon Jan 2 15:29:48 2017 +0900
>
>     Evas GL:Bind texture to correct one.
>
>     Summary:
>     If user bind textureA and want to use it continuously, do not call
> glBindTexture(textureA) again.
>     But expect that textureA will be binding.
>     So EvasGL sould not change binded texture silently.
>     Restore texture to previous bound one after allocating new texture.
>     And when destroy texture, reset texture to 0 if it is current bound
> texture.
>
>     Test Plan: Tizen 3.0
>
>     Reviewers: wonsik, dkdk, cedric, jpeg
>
>     Reviewed By: jpeg
>
>     Differential Revision: https://phab.enlightenment.org/D4524
> ---
>  src/modules/evas/engines/gl_common/evas_gl_core.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/src/modules/evas/engines/gl_common/evas_gl_core.c
> b/src/modules/evas/engines/gl_common/evas_gl_core.c
> index 14d17f6..8292b5c 100644
> --- a/src/modules/evas/engines/gl_common/evas_gl_core.c
> +++ b/src/modules/evas/engines/gl_common/evas_gl_core.c
> @@ -234,19 +234,26 @@ _texture_allocate_2d(GLuint tex, GLint ifmt, GLenum
> fmt, GLenum type, int w, int
>  {
>     //if (!(*tex))
>     //   glGenTextures(1, tex);
> +   GLint curr_tex = 0;
> +   glGetIntegerv(GL_TEXTURE_BINDING_2D, &curr_tex);
> +
>     glBindTexture(GL_TEXTURE_2D, tex);
>     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
>     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
>     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
>     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
>     glTexImage2D(GL_TEXTURE_2D, 0, ifmt, w, h, 0, fmt, type, NULL);
> -   glBindTexture(GL_TEXTURE_2D, 0);
> +   glBindTexture(GL_TEXTURE_2D, (GLuint)curr_tex);
>  }
>
>  // Destroy Texture
>  static void
>  _texture_destroy(GLuint *tex)
>  {
> +   GLint curr_tex = 0;
> +   glGetIntegerv(GL_TEXTURE_BINDING_2D, &curr_tex);
> +
> +   if ((GLuint)curr_tex == *tex) glBindTexture(GL_TEXTURE_2D, 0);
>     if (*tex)
>       {
>          glDeleteTextures(1, tex);
>
> --
>
>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to