Commit Graph

75 Commits

Author SHA1 Message Date
Chris Michael 3ebe41af18 evas-wayland-shm: Refactor Evas Wayland Shm Engine (Fix T2201)
Summary: This patch set fixes the issue of Evas wayland shm engine
causing crashes when resizing efl apps in the E wayland compositor. It
refactors the evas engine to wait for release events on buffers, and
hooks into frame callbacks so that release events will get triggered
at the appropriate time.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-17 15:49:09 -04:00
Cedric BAIL 93333ede15 evas: refactor shutdown. 2015-02-23 11:35:29 +01:00
Cedric BAIL 552a38cde5 evas: refactor software engine initialisation. 2015-02-20 15:04:52 +01:00
Cedric BAIL 289b3691b0 evas: add more infrastructure to software_generic backend to be ready for GL_X11 migration. 2014-07-04 15:11:22 +02:00
Cedric BAIL 0fdf8fab3a evas: simplify Wayland_SHM backend to use software generic infrastructure. 2014-07-04 15:11:22 +02:00
Tom Hacohen 7f3a44894b Evas canvas eolian: Fix namespace and class name for the evas canvas. 2014-06-30 17:47:06 +01:00
Chris Michael f940f11a9b Fix copy/paste issue.
Use proper width & height for the new tilebuffer.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael ce716ff052 Avoid potential memleak on rotation of tilebuf.
Port of 70f443d8a8 to wayland_shm

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 08:21:36 +01:00
Chris Michael a9853f96f7 Port 1f82fbe14d to wayland shm engine
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 08:11:16 +01:00
Sebastian Dransfeld 51023d2d4f evas: Keep sane name for public header
Evas_Common.h should be used for the public header, and rather rename
evas_common.h internal header to another name.

Sa:
Evas_Common_Header.h -> Evas_Common.h
evas_common.h -> evas_common_private.h

Shouldn't have both Evas_Common.h and evas_common.h because of case
insensitive filesystems.
2013-06-20 12:53:29 +02:00
Carsten Haitzler f8c9a8d167 revert the revert... damn you git!
Revert "Revert "Efl: replace eo_data_get for objects data referencing.""

This reverts commit b64a2994b3.
2013-05-02 16:47:16 +09:00
Carsten Haitzler b64a2994b3 Revert "Efl: replace eo_data_get for objects data referencing."
This reverts commit 654a3f5f94.
2013-05-02 14:17:19 +09:00
Daniel Zaoui 654a3f5f94 Efl: replace eo_data_get for objects data referencing. 2013-05-01 10:37:08 +03:00
Chris Michael 53fd97fd08 Add missing braces
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 12:58:02 +01:00
Chris Michael 66d258d17b Be sure to set the Render_Engine's info to the new engine info.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 11:32:18 +01:00
Chris Michael 1435a48d4d Remove blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-26 07:14:58 +01:00
Rafael Antognolli 6890a0e452 evas/wayland_shm: Fix resize to the left or top when rotated. 2013-04-25 19:58:05 -03:00
Christopher Michael ba86389448 Fix valid variable check.
When doing double/triple buffering, and we go to merge the rectangles,
if we are triple buffering then we should not use the double-buffer
rectangles as a valid check for triple-buffer rectangles.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-27 10:19:06 +00:00
Rafael Antognolli 8be4940bb3 evas/wayland_shm: Remove x,y offsets from swapbuf related APIs.
These offsets can be calculated later during the resize operations.
2013-02-19 10:42:39 -03:00
Rafael Antognolli dc0d88df9c ecore_evas/wayland_shm: Fixed window resize.
Using the server_allocation/allocation to determine the resize offset
was not completely precise, and causing the window to not always resize
correctly.

Additionally, calling evas_engine_info_set() on every resize step caused
the window content to blink and resize very slow, because the swap
buffer, swapper, and everything were being destroyed and recreated. Now
only the swapbuf_reconfigure is being called during the resize, which is
way faster.
2013-02-19 10:18:03 -03:00
Christopher Michael 5dde66b4e4 Fix function prototypes to take x & y as params. Fix functions to take x & y as params (for resize edges).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael cfbdc648d1 Add logging functions
Remove dead commented out code
Do not call wl_surface_attach if the buffer is the same as the one
already attached.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83293
2013-01-24 12:15:07 +00:00
Christopher Michael 0e6b2ad6f7 Reset Render_Engine onebuf if it was set previously.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83286
2013-01-24 09:21:27 +00:00
Christopher Michael 313e82c680 Rename the env variable that we will check for buffering support.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83279
2013-01-24 09:21:06 +00:00
Christopher Michael fa783d8e75 Fix typo.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83276
2013-01-24 09:20:58 +00:00
Christopher Michael aed4b4e7b6 Remove included evas_outbuf.h
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83272
2013-01-24 09:20:36 +00:00
Christopher Michael ac1ecc770a Add engine output redraws next update get code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83266
2013-01-24 09:18:19 +00:00
Christopher Michael 17225d31e8 Add merge rectangles code (borrowed from the x11 engine).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83265
2013-01-24 09:18:15 +00:00
Christopher Michael 824971a110 Add local function prototype for mergine rectangles.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83264
2013-01-24 09:18:09 +00:00
Christopher Michael 082f2c8f83 Add engine idle flush code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83263
2013-01-24 09:18:03 +00:00
Christopher Michael b5ac8fe948 Add engine output flush code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83262
2013-01-24 09:17:56 +00:00
Christopher Michael a3559d4c88 Add code for engine redraws push.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83261
2013-01-24 09:17:51 +00:00
Christopher Michael 4c04c1bb54 Add engine output redraws clear code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83260
2013-01-24 09:17:47 +00:00
Christopher Michael 866576b89b Add engine output redraws rectangle del code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83259
2013-01-24 09:17:40 +00:00
Christopher Michael 7de14722fe Add engine output redraws rectangle add code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83258
2013-01-24 09:17:37 +00:00
Christopher Michael 25e5af9ae6 Add engine tile size set function code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83257
2013-01-24 09:17:34 +00:00
Christopher Michael 6eda15c183 Add eng_output_resize code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83256
2013-01-24 09:17:30 +00:00
Christopher Michael 3dcaec35b5 Add code to the eng_output_free function to do any cleanup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83255
2013-01-24 09:17:26 +00:00
Christopher Michael ae0076c929 Create engine context if missing and return success.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83254
2013-01-24 09:17:23 +00:00
Christopher Michael a2e3bfc356 Reassign engine data output
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83253
2013-01-24 09:17:19 +00:00
Christopher Michael 8fa451f2db If we have an existing render engine already, then free the existing
output buffer, create a new one, and assign render engine functions.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83252
2013-01-24 09:17:15 +00:00
Christopher Michael f72dfd4c31 Try to create the new Render_Engine on initial engine setup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83251
2013-01-24 09:17:11 +00:00
Christopher Michael 034721bcd8 Add check to make sure output buffer creation worked.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83250
2013-01-24 09:17:00 +00:00
Christopher Michael 8a7ba73169 Add code to create the output buffer of the render engine and set the
render_engine functions.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83249
2013-01-24 09:16:55 +00:00
Christopher Michael 1d3cfce8a7 Remove include for evas_outbuf.h
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83246
2013-01-24 09:16:46 +00:00
Christopher Michael 9b9fdf840b Set tilebuffer tile size in engine setup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83243
2013-01-24 09:16:36 +00:00
Christopher Michael fe75b1bf24 Try to create new tilebuffer in engine setup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83242
2013-01-24 09:16:22 +00:00
Christopher Michael f0a6c5ca26 During engine setup, try to allocate a new Render_Engine structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83241
2013-01-24 09:16:19 +00:00
Christopher Michael 753aa3d487 Add base function for engine output setup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83240
2013-01-24 09:16:15 +00:00
Christopher Michael b1cadea6c5 Add local function prototype for engine output setup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83239
2013-01-24 09:16:12 +00:00