gl_generic: directly copy existing image when changing orientation

Summary:
in gl engines, orientation is applied during the draw. this is different from
sw engines where the orientation is directly applied to the internal pixel data
which results in a state change of the object internals.

this preserves image cache state and allows the image to be loaded normally instead
of displaying a black rectangle if orientation is set prior to a texture being
created

@fix
Depends on D8916

Reviewers: Hermet, cedric

Reviewed By: Hermet, cedric

Subscribers: Hermet, cedric, #reviewers, #committers

Tags: #efl_rendering

Differential Revision: https://phab.enlightenment.org/D8918
This commit is contained in:
Mike Blumenkrantz 2019-06-03 08:56:11 -04:00
parent bed3fa5904
commit 012ca46377
1 changed files with 1 additions and 1 deletions

View File

@ -1139,7 +1139,7 @@ eng_image_orient_set(void *engine, void *image, Evas_Image_Orient orient)
evas_gl_common_image_update(im->gc, im);
im_new = evas_gl_common_image_new(im->gc, im->w, im->h, im->alpha, im->cs.space);
im_new = evas_gl_common_image_new_from_rgbaimage(im->gc, im->im, &im->load_opts, NULL);
if (!im_new) return im;
im_new->load_opts = im->load_opts;