sung pushed a commit to branch master.
commit 62e146f2fc66ada3e60d641be6226994f7102b18
Author: Sung W. Park <[email protected]>
Date: Mon Jun 17 18:22:04 2013 +0900
Revert "Touch for evas gl direct rendering partial rendering/swap fix."
This reverts commit 382ffbb4f522624f572dd41e537b07332bd154d4.
---
src/lib/evas/canvas/evas_object_image.c | 35 ++++++++++++++++++++++--
src/modules/evas/engines/gl_common/evas_gl_api.c | 8 +++---
2 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/src/lib/evas/canvas/evas_object_image.c
b/src/lib/evas/canvas/evas_object_image.c
index bced46c..1a319ac 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -3868,7 +3868,7 @@ evas_object_image_render(Evas_Object *eo_obj,
Evas_Object_Protected_Data *obj, v
if
(obj->layer->evas->engine.func->gl_get_pixels_set)
{
-
obj->layer->evas->engine.func->gl_get_pixels_set(output,
o->pixels->func.get_pixels, o->pixels->func.get_pixels_data, eo_obj);
+
obj->layer->evas->engine.func->gl_get_pixels_set(output,
o->pixels->func.get_pixels, o->pixels->func.get_pixels_data, obj);
}
o->direct_render = EINA_TRUE;
@@ -3906,6 +3906,38 @@ evas_object_image_render(Evas_Object *eo_obj,
Evas_Object_Protected_Data *obj, v
}
}
+ /*
+ if (obj->layer->evas->engine.func->context_flush)
+ obj->layer->evas->engine.func->context_flush(output);
+
+ // Set img object for direct rendering optimization
+ // Check for image w/h against image geometry w/h
+ // Check for image color r,g,b,a = {255,255,255,255}
+ // Check and make sure that there are no maps.
+ if ( (obj->cur->geometry.w == o->cur->image.w) &&
+ (obj->cur->geometry.h == o->cur->image.h) &&
+ (obj->cur->color.r == 255) &&
+ (obj->cur->color.g == 255) &&
+ (obj->cur->color.b == 255) &&
+ (obj->cur->color.a == 255) &&
+ (!obj->map->cur.map) )
+ {
+ if (obj->layer->evas->engine.func->gl_img_obj_set)
+ {
+
obj->layer->evas->engine.func->gl_img_obj_set(output, eo_obj,
o->cur->has_alpha);
+ img_set = 1;
+ }
+ }
+
+ o->pixels->func.get_pixels(o->pixels->func.get_pixels_data,
eo_obj);
+ if (o->engine_data != pixels)
+ pixels = o->engine_data;
+ o->engine_data =
obj->layer->evas->engine.func->image_dirty_region
+ (obj->layer->evas->engine.data.output, o->engine_data,
+ 0, 0, o->cur->image.w, o->cur->image.h);
+ }
+ o->dirty_pixels = EINA_FALSE;
+*/
if ((obj->map->cur.map) && (obj->map->cur.map->count > 3) &&
(obj->map->cur.usemap))
{
evas_object_map_update(eo_obj, x, y, imagew, imageh, uvw, uvh);
@@ -4144,7 +4176,6 @@ evas_object_image_render(Evas_Object *eo_obj,
Evas_Object_Protected_Data *obj, v
if (dobreak_w) break;
}
}
- }
}
static void
diff --git a/src/modules/evas/engines/gl_common/evas_gl_api.c
b/src/modules/evas/engines/gl_common/evas_gl_api.c
index 968f7e1..9406043 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_api.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_api.c
@@ -169,10 +169,10 @@ compute_gl_coordinates(Evas_Object *obj, int rot, int
clip_image,
int out_w, out_h;
// Original Coordinates
- obj_x = pd->cur->geometry.x;
- obj_y = pd->cur->geometry.y;
- obj_w = pd->cur->geometry.w;
- obj_h = pd->cur->geometry.h;
+ obj_x = pd->cur->geometry->x;
+ obj_y = pd->cur->geometry->y;
+ obj_w = pd->cur->geometry->w;
+ obj_h = pd->cur->geometry->h;
// Clip Region
clip_x = clip[0];
--
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev