path: root/src/modules/evas/engines/wayland_egl/evas_engine.c (follow)
AgeCommit message (Collapse)Author
2019-02-28evas gl - swap with damage - look for KHR extn string tooCarsten Haitzler (Rasterman)
as per shortlog - look for KHR in addition to EXT for swap with damage region extn detection.
2018-08-30evas-wayland-egl: Remove cserve2 supportChris Michael
Summary: ref T7226 Depends on D6924 Reviewers: raster, cedric, zmike, Hermet Reviewed By: Hermet Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7226 Differential Revision:
2018-06-05evas engines: do not immediately free native surface when unsetting itMike Blumenkrantz
Summary: this is a longstanding issue which was exposed by recent patches to standardize object lifecycles. when a native surface is used by multiple images, unsetting the surface from one image must not destroy the native surface or else the remaining images fix T6970 @fix Reviewers: ManMower Reviewed By: ManMower Subscribers: cedric, #committers Tags: #efl Maniphest Tasks: T6970 Differential Revision:
2017-12-01wayland evas: Remove Ecore_Wl2_Display from engine infoDerek Foreman
We've got the Ecore_Wl2_Window so we can always get the display from that.
2017-11-10evas/vg: added support for engine surface cache.subhransu mohanty
2017-11-06evas-wayland-egl: Remove need for useless free_region functionChris Michael
Signed-off-by: Chris Michael <>
2017-10-26evas: image_native_set actually receive a context, not an output.Cedric BAIL
2017-08-30wayland: Store Ecore_Wl2_Display instead of wl_display in enginesDerek Foreman
We'll need to call ecore_wl2 functions on it soon, and anything that really needs the wl_display can query it.
2017-08-25evas: fix build with egl.Cedric BAIL
2017-08-25evas: differentiate engine from output.Cedric BAIL
2017-08-25evas: Render_Engine_Swap_Mode is actually about output swap.Cedric BAIL
2017-08-25evas: reduce duplication of merge_mode getenv logic.Cedric BAIL
2017-08-25evas: make the info size a parameter of the function to make it safer to ↵Cedric BAIL
roll in.
2017-08-25evas: factorize call to info and info_free.Cedric BAIL
2017-08-25evas: all this function (info, setup and update) are really output related.Cedric BAIL
2017-08-25evas: Render_Engine_GL_Generic is actually an output.Cedric BAIL
2017-08-25evas: prevent double tilebuf creation/destruction during window resize.Cedric BAIL
2017-08-25evas: all GL backend require strict tilebuf, let's make that the default.Cedric BAIL
2017-08-25evas: no need to double init tilebuf as it is created by software generic.Cedric BAIL
2017-08-25evas: engine should not access Evas canvas directly.Cedric BAIL
2017-08-18wayland: Put Ecore_Wl2_Win instead of wl_surface into the enginesDerek Foreman
We'll need to track some state in a common way, so attaching it to the window seems like a good idea.
2017-07-21wayland: stop creating 1x1 surfaces on initMike Blumenkrantz
fix T5226 #IGot99TicketsBut1x1AintOne
2017-07-19wayland_egl: Defer gl symbol lookups until they're possibleDerek Foreman
Commit 2e6587a14b adds a gl extension string to glsym_evas_gl_symbols() to prevent using functions that are provided by extensions that aren't available in the current gl context. However, we can't query the extension strings until after we create an egl context. Split the regular symbol lookup stuff from the gl symbol lookup stuff so we can query at the appropriate time.
2017-07-19wayland_egl: de-wtf the eglGetProcAddress prototypeDerek Foreman
2017-07-16evas gl - fix compositing/native surface with egl/gles after glvndCarsten Haitzler (Rasterman)
this fixes an issue that has cropped up in the past few months - only nvidia drivers with egl/gles in x11... and compositing won't work (native surface) and the introduction of libglvnd it's a combination of libglvnd lying that it has symbols it can't later find, new features to get core functions via procaddress that we hadn't migrated to use AND use preferring core functions that libglvnd will expose, so switching to KHR extensions by preference. we also need to symmetrically use destroy image khr too... oddly enough using procaddress purely for create/destroy image makes wayland fail ... sofor now i'm taking advantage of the fact that wayland has no extensions string passed in at the moment and still doing dlsym... this is odd though. @fix
2017-05-12evas: stat introducing a concept of engine and output in the backend.Cedric BAIL
2017-03-03wayland_egl: recreate outbuf on session restoreDerek Foreman
If we get an eng_update with no outbuf, try to create one.
2017-03-03wayland_egl: Destroy the outbuf when we lose our surfaceDerek Foreman
This way we properly shut down when we get disconnected from the compositor, and can reconnect later.
2017-03-03wayland_egl: Don't crash when asked to dump with no outbufDerek Foreman
Another session recovery corner case.
2017-02-12evas wayland egl engine - fix warning about struct wl_resource not usedCarsten Haitzler (Rasterman)
this struct is not actually used other than in this func ptr decl and it's warning-land for gcc, so .. make it void * and do things like pretty much all other gl extn func ptrs... be very generic
2016-12-20evas engines: Use EGLImageKHR instead of EGLImageDerek Foreman
If someone's trying to build efl git with 2.5 year old EGL headers they get a break on missing EGLImage... We should probably consider keeping an up to date copy of the EGL headers in efl. There may be someone out there with even older headers.
2016-12-19wayland_egl: Use common implementation of eglCreateImageDerek Foreman
This might fix nested compositors on some architectures...
2016-12-19wayland_egl: Remove some weirdness from our egl extension queriesDerek Foreman
Still totally wrong, of course, but at least a little less wacky.
2016-12-16evas engines: Stop using arrays of 1 member for egl context and surfaceDerek Foreman
There's actually an array of 2 in gl_x11, but it appears we only use the first 1, except in an #if 0 block. I gather this is legacy for some reason - it sure doesn't seem to make any sense now, so I'm chopping off all the extra array indexes. Note: I've not changed gl_sdl - it looks like it doesn't use the context or surface at all and they could just be removed, but I don't build that one here and don't want to touch it.
2016-12-16evas: Remove context from some engine functionJean-Philippe Andre
This is for canvas_alpha_get. context is never used.
2016-12-08evas-wayland-egl: Cleanup wayland_egl engine and fix build breakChris Michael
A previous patch to refactor setup stage and reduce complexity actually introduced several build breaks. This patch fixes the build break for wayland-egl. ref 73b308fb66f871b93ef8e324997872e3bf175906 BAD CEDRIC !!!!! Signed-off-by: Chris Michael <>
2016-12-07evas: refactor setup stage and reduce complexity for engine.Cedric BAIL
2016-12-05evas: refactor initialisation and shutdown of evas_common.Cedric BAIL
2016-11-17evas surface/buffer wl support - define missing egl ifdefs if missingCarsten Haitzler (Rasterman)
this will define EGL_WAYLAND_PLANE_WL and EGL_WAYLAND_BUFFER_WL if missing as SOME older egl public headers dont expose them and yet we still wans to compile and support the feature should the egl BINARY etc. actually support this (or be upgraded to support it after efl compilation). @fix
2016-11-17evas modules - only unregister log domain if its registeredCarsten Haitzler (Rasterman)
some modules did check, some didnt... but this makes them consistent and silences and eina err log. :)
2016-11-02wayland evas engines: share engine info structureDerek Foreman
These engines are incredibly similar - by sharing the same engine info structure we'll be able to simplify the wayland ecore_evas bits and make them much more maintainable.
2016-11-02wayland evas engines: rename wayland display to wl_displayDerek Foreman
Continuing to make the shm and egl engines closer to eachother.
2016-11-02wayland_egl: Rename surface to wl_surfaceDerek Foreman
Making this code more closely match the wayland_shm engine
2016-11-02wayland_egl: Remove screen from engine infoDerek Foreman
Doesn't appear to actually be used for anything.
2016-09-08evas_engines: Add a redraws_clear callbackDerek Foreman
This gives us a callback from the main thread after outbuf_flush occurs - this is useful to get timing right on the drm and wayland engines.
2016-08-23wayland_egl: Destroy gl context if engine info updated with NULL wl_surfaceDerek Foreman
We set the wayland surface to NULL in engine info, then destroy the wayland surface later. The GL stack tries to render to the destroyed surface and dies. If we destroy the GL surface when we set the engine info (before we destroy the wayland surface)it stops the GL stack from doing bad wayland calls. This fixes a crash on exit, or when any window closes when using mali GL drivers. Surprisingly, Mesa was tolerant of this.
2016-08-19wayland_egl: Fix EGL_KHR_Partial_Update usageDerek Foreman
Use the new damage region set callback to do partial updates that actually work. Fixes gl rendering on mali. @fix
2016-08-19engines: Add a damage_region_set callbackDerek Foreman
To properly implement EGL_KHR_partial_update we need to know the buffer damage before any drawing operations take place. Add a new callback to software_generic that takes place after combining of surface damage and swap mode when we actually have this available. Note: This means the three copy pasta implementations of EGL_KHR_partial_update scattered around the tree are all wrong. bummer.
2016-08-17wayland_egl: Remove swap_mode from engine infoDerek Foreman
This was never set anywhere and always defaulted to 0, or AUTO
2016-08-15Eo: Finish the renaming of Eo to the EFL.Tom Hacohen
This renames all the rest of the API to the EFL namespace except for Eo_Event that will follow soon. Obviously breaks both API and ABI.