From: Ji-Youn Park Date: Mon, 11 May 2015 10:08:12 +0000 (+0900) Subject: evas: fix bug in evas gl texture. X-Git-Tag: v1.15.0-alpha1~626 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9bf8a0e56b72fed562a127f5af3e91eaeaa33fd9;p=platform%2Fupstream%2Fefl.git evas: fix bug in evas gl texture. Summary: If the pixel size of image is not 32 bit like EVAS_COLORSPACE_AGRY88, GL_UNPACK_ALIGNMENT have to be changed. --- diff --git a/src/modules/evas/engines/gl_common/evas_gl_texture.c b/src/modules/evas/engines/gl_common/evas_gl_texture.c index 5c1c07f..e71b8e4 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_texture.c +++ b/src/modules/evas/engines/gl_common/evas_gl_texture.c @@ -1047,7 +1047,10 @@ evas_gl_common_texture_upload(Evas_GL_Texture *tex, RGBA_Image *im, unsigned int { glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); } - glPixelStorei(GL_UNPACK_ALIGNMENT, 4); + if ((bytes_count == 1) || (bytes_count == 2)) + glPixelStorei(GL_UNPACK_ALIGNMENT, bytes_count); + else + glPixelStorei(GL_UNPACK_ALIGNMENT, 4); // printf("tex upload %ix%i\n", im->cache_entry.w, im->cache_entry.h); // +-+ @@ -1370,7 +1373,10 @@ evas_gl_common_texture_update(Evas_GL_Texture *tex, RGBA_Image *im) { glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); } - glPixelStorei(GL_UNPACK_ALIGNMENT, 4); + if ((bytes_count == 1) || (bytes_count == 2)) + glPixelStorei(GL_UNPACK_ALIGNMENT, bytes_count); + else + glPixelStorei(GL_UNPACK_ALIGNMENT, 4); _tex_sub_2d(tex->gc, u, tex->ty, EVAS_GL_TILE_SIZE, EVAS_GL_TILE_SIZE, fmt, tex->ptt->dataformat, out);