evas: improvement of Eina Rectangle Pool and integration with Evas GL backend.
authorRajeev Ranjan <rajeev.r@samsung.com>
Thu, 19 Jun 2014 12:35:37 +0000 (14:35 +0200)
committerCedric BAIL <c.bail@partner.samsung.com>
Thu, 19 Jun 2014 14:48:45 +0000 (16:48 +0200)
commitbd65b5db5ddcada0255c5ccbaaa1280279ea5679
treee5e733fd84babdcc9a3cbfc17af666401271302b
parent2cebf6785eed26e3f4eda7b6d3d77954a19d3bfc
evas: improvement of Eina Rectangle Pool and integration with Evas GL backend.

Summary:
This patch introduce various new logic for packing/unpacking of Eina Rectangle in a pool.
It is then used by Evas GL backend texture allocation to improve how efficiently we pack
image in texture atlas. This lead to improved memory usage and reduced power consumption
with usually a more stable higher FPS (as it use less texture to do the same task, their
is less texture switch, so saving memory and speed at the same time).

This patch was developped on Cedric's suggestions to optimize the packing logic using Skyline
algorithm. This patch is based on master and is a new submission for earlier phab link
https://phab.enlightenment.org/D774.

Signed-off-by: Sanjay Nirankari <sanjay.n1@samsung.com>
Signed-off-by: Rajeev Ranjan <rajeev.r@samsung.com>
Signed-off-by: Sreedeep Moulik <sreedeep.m@samsung.com>
Reviewers: cedric, raster

CC: wonsik, jpeg, sreedeep.m, sanjay, govi
Differential Revision: https://phab.enlightenment.org/D1063

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
AUTHORS
src/lib/eina/eina_rectangle.c
src/lib/eina/eina_rectangle.h
src/modules/evas/engines/gl_common/evas_gl_common.h
src/modules/evas/engines/gl_common/evas_gl_context.c
src/modules/evas/engines/gl_common/evas_gl_texture.c