summaryrefslogtreecommitdiff
path: root/src/lib/evas/include/evas_common_private.h
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-10-05 18:41:00 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-10-05 18:41:00 +0900
commit5801013ad4be24baf55e88dcd8cefd89ac57f5e6 (patch)
tree9f841fd5180cae06be0be36e039f8e9e872486ae /src/lib/evas/include/evas_common_private.h
parent966b3c8f2335b04145061b0dbba9689a4d5eabae (diff)
evas - region updates - go back to tiler as its faster
the overhead didnt show up in y tests. do show up with certain expedite tests. hmmm. last time i messed with region code it was actually same speed as tiler. bonus was it was fully accurate.
Diffstat (limited to 'src/lib/evas/include/evas_common_private.h')
-rw-r--r--src/lib/evas/include/evas_common_private.h62
1 files changed, 60 insertions, 2 deletions
diff --git a/src/lib/evas/include/evas_common_private.h b/src/lib/evas/include/evas_common_private.h
index 2c4234164e..632a94126a 100644
--- a/src/lib/evas/include/evas_common_private.h
+++ b/src/lib/evas/include/evas_common_private.h
@@ -244,7 +244,7 @@ extern EAPI int _evas_log_dom_global;
244/*****************************************************************************/ 244/*****************************************************************************/
245 245
246/* use exact rects for updates not tiles */ 246/* use exact rects for updates not tiles */
247/* #define RECTUPDATE */ 247//#define NEWTILER
248#define TILESIZE 8 248#define TILESIZE 8
249#define IMG_MAX_SIZE 65000 249#define IMG_MAX_SIZE 65000
250 250
@@ -433,7 +433,11 @@ typedef struct _Cutout_Rects Cutout_Rects;
433typedef struct _Convert_Pal Convert_Pal; 433typedef struct _Convert_Pal Convert_Pal;
434 434
435typedef struct _Tilebuf Tilebuf; 435typedef struct _Tilebuf Tilebuf;
436typedef struct _Tilebuf_Rect Tilebuf_Rect; 436typedef struct _Tilebuf_Rect Tilebuf_Rect;
437
438#ifndef NEWTILER
439typedef struct _Tilebuf_Tile Tilebuf_Tile;
440#endif
437 441
438typedef struct _Evas_Common_Transform Evas_Common_Transform; 442typedef struct _Evas_Common_Transform Evas_Common_Transform;
439 443
@@ -1075,11 +1079,65 @@ struct _RGBA_Gfx_Compositor
1075 RGBA_Gfx_Pt_Func (*composite_pixel_mask_pt_get)(Eina_Bool src_alpha, Eina_Bool dst_alpha); 1079 RGBA_Gfx_Pt_Func (*composite_pixel_mask_pt_get)(Eina_Bool src_alpha, Eina_Bool dst_alpha);
1076}; 1080};
1077 1081
1082#ifndef NEWTILER
1083typedef struct list_node list_node_t;
1084typedef struct list list_t;
1085typedef struct rect rect_t;
1086typedef struct rect_node rect_node_t;
1087
1088struct list_node
1089{
1090 struct list_node *next;
1091};
1092
1093struct list
1094{
1095 struct list_node *head;
1096 struct list_node *tail;
1097};
1098
1099struct rect
1100{
1101 int left;
1102 int top;
1103 int right;
1104 int bottom;
1105 int width;
1106 int height;
1107 int area;
1108};
1109
1110struct rect_node
1111{
1112 struct list_node _lst;
1113 struct rect rect;
1114};
1115#endif
1116
1078struct _Tilebuf 1117struct _Tilebuf
1079{ 1118{
1080 int outbuf_w, outbuf_h; 1119 int outbuf_w, outbuf_h;
1120#ifdef NEWTILER
1081 void *region; 1121 void *region;
1122#else
1123 struct {
1124 short w, h;
1125 } tile_size;
1126 int need_merge;
1127 list_t rects;
1128 struct {
1129 int x, y, w, h;
1130 } prev_add, prev_del;
1131 Eina_Bool strict_tiles : 1;
1132#endif
1133};
1134
1135#ifndef NEWTILER
1136struct _Tilebuf_Tile
1137{
1138 Eina_Bool redraw : 1;
1082}; 1139};
1140#endif
1083 1141
1084struct _Tilebuf_Rect 1142struct _Tilebuf_Rect
1085{ 1143{