evas: fix size of borders in case need generate texture without atlases

Summary:
Set size of texture unit without 2 pixels for borders in case use it without
atlses. Just one case if texture for 3D use repeat mode and non-normalized
tuxture coordinates

Reviewers: Hermet, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2805

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
Oleksandr Shcherbina 2015-07-28 22:33:49 +02:00 committed by Cedric BAIL
parent 7745189b0a
commit 1f758ad96d
1 changed files with 14 additions and 3 deletions

View File

@ -526,9 +526,20 @@ evas_gl_common_texture_new(Evas_Engine_GL_Context *gc, RGBA_Image *im, Eina_Bool
case EVAS_COLORSPACE_ETC1_ALPHA:
return evas_gl_common_texture_rgb_a_pair_new(gc, im);
default:
// One pixel gap and two pixels for duplicated borders
w = im->cache_entry.w + 3;
h = im->cache_entry.h + 3;
if (disable_atlas)
{
/*Just one pixel gap. Generate texture unit without pixels for
borders in case using this for evas_canvas3d in repeat mode of the
texture unit*/
w = im->cache_entry.w + 1;
h = im->cache_entry.h + 1;
}
else
{
/*One pixel gap and two pixels for duplicated borders*/
w = im->cache_entry.w + 3;
h = im->cache_entry.h + 3;
}
break;
}