Commit Graph

28 Commits

Author SHA1 Message Date
Rafael Antognolli 1210067fbe ecore_evas/wayland_egl: Only render if last frame has been presented.
This avoids blocking in eglSwapBuffers and has the side effect of
avoiding doing unnecessary work - painting where a frame won't be
presented.

We do this by using the event that the wayland compositor will send us
to tell us that the frame has been presented. Due to the fact that
evas_render_updates() could do no work and not cause a eglSwapBuffers we
must always have a frame callback listener setup.

Original patch by: Rob Bradford <rob@linux.intel.com>

(I just adjusted the patch to the single efl tree)

SVN revision: 83387
2013-01-28 19:13:46 +00:00
Christopher Michael 40dec84b3e Set the engine's wl_shm reference during creation.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83278
2013-01-24 09:21:04 +00:00
Christopher Michael b5c4759f1d Rename 'time' parameter in function prototype.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83275
2013-01-24 09:20:55 +00:00
Christopher Michael 0d8e6279c5 Rename 'time' parameter.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83274
2013-01-24 09:20:45 +00:00
Christopher Michael 4203a3afbc Remove unused variable.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83273
2013-01-24 09:20:40 +00:00
Christopher Michael c329317711 Modify ecore_evas_wayland_shm to handle passing the wl_shm and
wl_surface to the new double-buffer engine.

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

SVN revision: 83270
2013-01-24 09:20:29 +00:00
Christopher Michael 7ebc5523bb Remove old line which did a wl buffer attach.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83269
2013-01-24 09:19:51 +00:00
Christopher Michael 269ce8364f Remove all old code from ecore_evas that involved creating the wayland
buffer and shm pool.

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

SVN revision: 83268
2013-01-24 09:18:34 +00:00
Rafael Antognolli 43894851a7 efl/ecore_evas/wayland: Report the requested window width x height.
Before this commit, when using any of the wayland backends, if the user
requested an ecore_evas window of width x height, the reported size of
the window would include the frames width and height.

Now the requested size is stored on the ecore_evas and reported when
ecore_evas_geometry_get() is used, although the ecore_evas is still
created with additional space for the frame area.

This is one of the reasons causing bug #1673.

SVN revision: 83042
2013-01-21 16:05:12 +00:00
Gustavo Sverzut Barbieri df701d8ca2 some clang warning cleanups i forgot to commit
SVN revision: 83024
2013-01-21 00:22:35 +00:00
Leandro Pereira f52f44e7a2 evas_render: Measure time spent while rendering in sync and async modes
SVN revision: 82936
2013-01-17 14:31:34 +00:00
Gustavo Sverzut Barbieri 4d310f96ff fix --enable-sdl compilation.
Patch by Arvind R.


SVN revision: 82896
2013-01-16 19:47:03 +00:00
Gustavo Sverzut Barbieri b1bc5aeb24 efl: simplify automake.
Instead of -I$(top_srcdir)... -I$(top_builddir)... and then do it for
the .la, use the EFL_ macros to generate the contents to be used in
automake files.

There is a nasty bit that libtool will parse Makefile*.am and will not
get _DEPENDENCIES from _LIBADD and _LDADD if these are in
@REPLACEMENT@. To solve this we must explicitly set _DEPENDENCIES. The
contents of this is almost the same as _LIBADD or _LDADD with the
"_INTERNAL_" replacement name.

I hope the code will be result will be shorter and consistent as there
is less places to change when we add/remove dependencies.

Statistics are quite impressive (diffstat):
{{{
37 files changed, 663 insertions(+), 1599 deletions(-)
}}}



SVN revision: 82785
2013-01-14 22:36:23 +00:00
Carsten Haitzler 006e73ec41 follow on from last week - ee state not quite being handled right in
x11 when being iconified. missed commenting it out. fix and handle
initial state too.



SVN revision: 82747
2013-01-14 09:45:05 +00:00
Gustavo Sverzut Barbieri 0f5bf5197f ecore_evas_x: add some debug to help find out e_border problems.
EDBG macro is at level 5 to avoid messing existing debugs, use it like:

export EINA_LOG_LEVELS=ecore_evas:5



SVN revision: 82656
2013-01-11 18:45:10 +00:00
Gustavo Sverzut Barbieri 85f8163c3e efl/ecore_evas: merge buffer into core, split extn apart.
buffer is lightweight and dependency for many engines, merge it back
into core.

extn is a module on its own, and it's the only one linking to
ecore_ipc, no need to add that to ecore_evas.

minor cosmetic changes to configure to make output consistent.



SVN revision: 82648
2013-01-11 16:57:21 +00:00
Carsten Haitzler ede2faa1aa oh and also fix up properties to not update until event comes back
from x telling us they did. :)



SVN revision: 82558
2013-01-10 11:53:07 +00:00
Carsten Haitzler e2243e6c55 elm win throttle/norender auto... eocre-evas got a few things wrong.
no - not planning a backport of this at this stage. small thing. maybe
backport (and chlog/news) if this doesnt cause any new issues?



SVN revision: 82549
2013-01-10 11:23:10 +00:00
Carsten Haitzler 478de3ec76 small change - not worth chglogging... make evas gl x11 header not
need xlib.h anymore... :)



SVN revision: 82378
2013-01-08 03:49:49 +00:00
Gustavo Sverzut Barbieri 4148218617 efl/ecore_evas_x: remove includes that are not required.
SVN revision: 82371
2013-01-07 23:14:08 +00:00
Gustavo Sverzut Barbieri b716ab72e9 efl: warnings--
SVN revision: 82273
2013-01-05 14:04:22 +00:00
Gustavo Sverzut Barbieri 0a2d116119 efl: eina_alloca.h to simplify alloca() usage.
having to replicate 18 lines per file just to access alloca() is
insane. Let's do that in Eina.h and avoid that crap :-/



SVN revision: 82082
2013-01-03 15:10:34 +00:00
Carsten Haitzler 87d15b8d20 how about we export symbols we intend to dlsym() ?
SVN revision: 81860
2012-12-29 03:56:54 +00:00
Gustavo Sverzut Barbieri 412c269b1c efl/ecore_evas_extn: don't leak bdata.
PS: I cannot backport this to 1.7.x, could someone do this for me?



SVN revision: 81305
2012-12-18 20:59:44 +00:00
Gustavo Sverzut Barbieri 57da05d406 efl/ecore_evas_extn: fix memory errors.
- EVAS_CALLBACK_FREE and EVAS_CALLBACK_DEL were doing the same thing
   at different stages, causing a segv due double free.

 - extn->file.updates and its Ipc_Data_Update were leaking.

PS: I can't backport this to 1.7, but the problem is still
there. Could someone look into those?



SVN revision: 81304
2012-12-18 20:51:50 +00:00
Leandro Pereira 613659b1d8 ecore-evas: Async render
SVN revision: 81283
2012-12-18 16:27:26 +00:00
Carsten Haitzler fd90f7b882 start some work on allowing ecore_extn to double-buffer. doesn't do
anything atm about it.. just sets up infra for 2 buffers to exist and
be locked. :)



SVN revision: 80931
2012-12-14 11:19:09 +00:00
Flavio Vinicius Alvares Ceolin ad7579c129 ecore_evas: Make the engines loadable modules
Implementing support for loadables modules. It makes the engines been
loaded when they are needed. It not breakes the api, so each engine
still has its own api.

The implementation basically is:

* Functions that creates Ecore_Evas, for example
  ecore_evas_software_x11_new, request to load its module and then get
  the module's function to create the Ecore_Evas.
* The other functions such as \(.*\)_window_get from the Ecore_Evas
  its interface and then call the appropriate method.
* As there is no unified interface to communicate with the engines
  (not break api problem), all interfaces were declared in
  ecore_evas_private.h
* Now the data necessary for each module is not declared in the
  Ecore_Evas_Engine structure, instead of this, the struct has a void
  pointer that is used by the modules.
* In this first moment engines as software_x11 and gl_x11 were put
  together in the same module, but obviously exporting all the things
  necessary.


SVN revision: 80280
2012-12-05 21:15:42 +00:00