summaryrefslogtreecommitdiffstats
path: root/meta-efl
diff options
context:
space:
mode:
Diffstat (limited to 'meta-efl')
-rw-r--r--meta-efl/recipes-efl/efl/evas/revert.r83789.patch146
-rw-r--r--meta-efl/recipes-efl/efl/evas_1.7.7.bb3
2 files changed, 148 insertions, 1 deletions
diff --git a/meta-efl/recipes-efl/efl/evas/revert.r83789.patch b/meta-efl/recipes-efl/efl/evas/revert.r83789.patch
new file mode 100644
index 000000000..a5b8ce6c3
--- /dev/null
+++ b/meta-efl/recipes-efl/efl/evas/revert.r83789.patch
@@ -0,0 +1,146 @@
1From 134e338a40af875d5f7b221a7a8dbeefa7a48f55 Mon Sep 17 00:00:00 2001
2From: Daniel Willmann <d.willmann@samsung.com>
3Date: Tue, 07 May 2013 09:49:53 +0000
4Subject: Revert "Backport rev 83789"
5
6This reverts commit 9a7a28b7582f516c67b23c4bb1a016cfc2ec5b31.
7Was reverted long ago in efl as it doesn't actually work.
8
9Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
10---
11diff --git a/ChangeLog b/ChangeLog
12index 54da44a..93d3834 100644
13--- a/ChangeLog
14+++ b/ChangeLog
15@@ -1294,3 +1294,7 @@
16
17 * Evas text: Fixed line size calculation when using multiple
18 fonts.
19+
20+2013-05-16 Daniel Wilmann
21+ * x11 backend: Revert "Fix memory usage spike when rotating with the
22+ software_x11 engine". This doesn't actually work.
23diff --git a/NEWS b/NEWS
24index 6188963..c8002db 100644
25--- a/NEWS
26+++ b/NEWS
27@@ -13,6 +13,7 @@ Fixes:
28 * Evas: If an object goes to be hidden without replacing the cur/prev state info, the object context can be corrupted at the next show time. Now it replaces the cur/prev in that rare case.
29 * Fix recursive proxy image rendering to just render black
30 * Evas text: Fixed line size calculation when using multiple fonts.
31+ * Revert "Fix memory usage spike when rotating with the software_x11 engine."
32
33 Evas 1.7.6
34 * Fix SIGFPE in evas map update if image is 0.
35diff --git a/src/modules/engines/software_x11/evas_xlib_outbuf.c b/src/modules/engines/software_x11/evas_xlib_outbuf.c
36index 3cb1ea0..e337e99 100644
37--- a/src/modules/engines/software_x11/evas_xlib_outbuf.c
38+++ b/src/modules/engines/software_x11/evas_xlib_outbuf.c
39@@ -362,7 +362,7 @@ evas_software_xlib_outbuf_setup_x(int w, int h, int rot, Outbuf_Depth depth,
40 RGBA_Image *
41 evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch)
42 {
43- RGBA_Image *im = NULL;
44+ RGBA_Image *im;
45 Outbuf_Region *obr;
46 int bpl = 0;
47 int use_shm = 1;
48@@ -455,11 +455,6 @@ evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w
49 }
50 else
51 {
52- /* FIXME: For the onebuf case we probably need to do the same thing we did below
53- * (try to get an existing image before we allocate a new one). This code path
54- * is not really used at the moment so no way to test (and that's why the change
55- * is not implemented here as well.
56- */
57 #ifdef EVAS_CSERVE2
58 if (evas_cserve2_use_get())
59 im = (RGBA_Image *)evas_cache2_image_empty(evas_common_image_cache2_get());
60@@ -613,73 +608,26 @@ evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w
61 }
62 else
63 {
64- obr->xob = _find_xob(buf->priv.x11.xlib.disp,
65- buf->priv.x11.xlib.vis,
66- buf->priv.x11.xlib.depth,
67- w, h,
68- use_shm,
69- NULL);
70 #ifdef EVAS_CSERVE2
71 if (evas_cserve2_use_get())
72- {
73- if (obr->xob)
74- im = (RGBA_Image *)evas_cache2_image_data(evas_common_image_cache2_get(),
75- w, h,
76- (DATA32 *) evas_software_xlib_x_output_buffer_data(obr->xob, &bpl),
77- alpha, EVAS_COLORSPACE_ARGB8888);
78-
79- if (!im)
80- {
81- if (obr->xob) _unfind_xob(obr->xob, 0);
82- im = (RGBA_Image *)evas_cache2_image_empty(evas_common_image_cache2_get());
83- if (!im)
84- {
85- free(obr);
86- return NULL;
87- }
88- else
89- {
90- im->cache_entry.w = w;
91- im->cache_entry.h = h;
92- im->cache_entry.flags.alpha |= alpha ? 1 : 0;
93- evas_cache2_image_surface_alloc(&im->cache_entry, w, h);
94- }
95- }
96- }
97+ im = (RGBA_Image *)evas_cache2_image_empty(evas_common_image_cache2_get());
98 else
99 #endif
100+ im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get());
101+ if (!im)
102 {
103- if (obr->xob)
104- im = (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(),
105- w, h,
106- (DATA32 *) evas_software_xlib_x_output_buffer_data(obr->xob, &bpl),
107- alpha, EVAS_COLORSPACE_ARGB8888);
108-
109- if (!im)
110- {
111- if (obr->xob) _unfind_xob(obr->xob, 0);
112- im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get());
113- if (!im)
114- {
115- free(obr);
116- return NULL;
117- }
118- else
119- {
120- im->cache_entry.w = w;
121- im->cache_entry.h = h;
122- im->cache_entry.flags.alpha |= alpha ? 1 : 0;
123- evas_cache_image_surface_alloc(&im->cache_entry, w, h);
124- }
125- }
126+ free(obr);
127+ return NULL;
128 }
129-
130- /* Need to update cache_entry w/h here because the render path expects them to be updated
131- * to the new geometry. */
132 im->cache_entry.w = w;
133 im->cache_entry.h = h;
134 im->cache_entry.flags.alpha |= alpha ? 1 : 0;
135-
136+#ifdef EVAS_CSERVE2
137+ if (evas_cserve2_use_get())
138+ evas_cache2_image_surface_alloc(&im->cache_entry, w, h);
139+ else
140+#endif
141+ evas_cache_image_surface_alloc(&im->cache_entry, w, h);
142 im->extended_info = obr;
143 if ((buf->rot == 0) || (buf->rot == 180))
144 {
145--
146cgit v0.9.1
diff --git a/meta-efl/recipes-efl/efl/evas_1.7.7.bb b/meta-efl/recipes-efl/efl/evas_1.7.7.bb
index fb6394cef..20355ec6a 100644
--- a/meta-efl/recipes-efl/efl/evas_1.7.7.bb
+++ b/meta-efl/recipes-efl/efl/evas_1.7.7.bb
@@ -1,9 +1,10 @@
1require ${BPN}.inc 1require ${BPN}.inc
2 2
3PR = "${INC_PR}.1" 3PR = "${INC_PR}.2"
4 4
5SRC_URI = "\ 5SRC_URI = "\
6 ${E_MIRROR}/${SRCNAME}-${SRCVER}.tar.gz \ 6 ${E_MIRROR}/${SRCNAME}-${SRCVER}.tar.gz \
7 file://revert.r83789.patch \
7" 8"
8 9
9SRC_URI[md5sum] = "980abd6f645a38aa0a5d74f11a0e07f9" 10SRC_URI[md5sum] = "980abd6f645a38aa0a5d74f11a0e07f9"