path: root/src/modules/evas/engines/gl_drm (follow)
AgeCommit message (Collapse)Author
2021-05-18egl: silence warning of deprecated feature test.Alastair Poole
2021-04-16evas gl - drm - native bind - handle null eglimage create on bindCarsten Haitzler (Rasterman)
this can happen if dmabuf is invalid (already destroyed) so handle this so evas knows and falls back to rendering a rect and complains to stderr so we know @fix
2021-03-26evas - gl - respect yinvert now as it ... seems to work.Carsten Haitzler (Rasterman)
2020-06-23Get rid of trailing whitespaces (13 / 14)Elyes HAOUAS
Remove trailing whitespaces Differential Revision:
2020-05-27refactor buildMarcel Hollerbach
libraries are split into deps, external deps, and pub deps. Evas engines are refactored to use the predefined engine deps. this is preparation work for efl-one. Reviewed-by: Stefan Schmidt <> Differential Revision:
2020-03-06evas_gl_drm: Fix incorrect define statement.Christopher Michael
This actually should be #ifndef so that if it's not defined in the system, then we can still compile properly.
2020-01-03gl native surf - create pixmap failes - make them warnsCarsten Haitzler (Rasterman)
these can be race conditions so really should be warns and not errors. they just are noise we'll never fix as it's racey anyway...
2020-01-02evas: fix compilation with -Dwl=falseBoris Faure
Reviewed-by: Chris Michael <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-11-15gl_drm: remove dead return statementStefan Schmidt
Summary: This return can never be reached in this function. CID: 1402607 Depends on D10682 Reviewers: raster, devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-10-18efl/engines: fix null derefsMike Blumenkrantz
Summary: CIDs 1402640, 1402709 Reviewers: cedric Reviewed By: cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-10-04build - remove evas-modules option as its rather pointlessCarsten Haitzler (Rasterman)
evas-modules affects evas engine modules if they are static or shared, but ecore evas modules are still modules... so all in all this doesnt help much as it still requires modules to be separate from the shared libs, thus disallowing for statically linking efl into an app anyway etc. etc. etc. ... so less options to deal with, less complexity. better.
2019-09-30evas - gl_drm - handle modifiers for drm formatsCarsten Haitzler (Rasterman)
this was/is breaking e on rpi4 as modifiers are used to pass tiling info it seems. we had no support thus leaving garbage in buffers. this fixes that.
2019-08-29evas -gl engines - buffer age - bring back fix for changing buffer ageCarsten Haitzler (Rasterman)
so we USED to... if buffer age changed between frames, force a full redraw and add that to the pipeline... somehow someone removed that. this brings that back as it's really needed to deal with updating correctly. @fix
2019-08-07evas egl - esnure we always destroy surfaces because creating new onesCarsten Haitzler (Rasterman)
be sure we dont leak them.
2019-08-07evas - gl_drm - delete old surfaces before creating new onesCarsten Haitzler (Rasterman)
we shouldnt go have multiple drm window surfaces per drm surface... this is bad. @fix
2019-04-19meson: make it possible to link our engines against evasMarcel Hollerbach
Summary: it FINALLY happend! With this python bindings should be able to work again with a meson build, you can also enable b_lundef right now. And it appears to work, with this we can also get another step closer to a windows build. Depends on D8669 Reviewers: zmike, stefan_schmidt, cedric, vtorri Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-04-19meson: move build definitions of software_generic to libevasMarcel Hollerbach
Summary: with this we don't have any static module anymore in the engine directory. This means either *all* modules in the enignes directory are static OR shared. There is no mixture anymore. This is a requirement for the directory to be build whenever we want it to be build. Depends on D8667 Reviewers: zmike, stefan_schmidt, cedric, vtorri Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-03-29Revert "evas gl engines - avoid getting context if possible"Carsten Haitzler (Rasterman)
This reverts commit e7771438a25382a2e4fabe33753456dcde8cab40. This should fix T7764 zmike - you're right. thanks for narrowing down the commit... revert time.
2019-03-06evas-gl-drm: Fix issue of rotation not actually rotatingChristopher Michael
When we call evas_outbuf_reconfigure (when rotation changes), we need to update the Outbuf with new values for width, height, rotation, etc. Failing to do this here causes any rotations applied to the engine to fail. ref T7690 @fix Reviewed-by: Cedric BAIL <> Differential Revision:
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-12-14gl_drm: use dlsym looked up symbol for extension checkDerek Foreman
We looked this up with dlsym, so I guess we should use that even though the direct call seems to work just fine most of the time. Signed-off-by: Derek Foreman <> Reviewed-by: Chris Michael <> Differential Revision:
2018-11-09evas gl engines - avoid getting context if possibleCarsten Haitzler (Rasterman)
so getting context at least on some dviers is expensive. it may really impact cpu usage a lot (in this cate getpid() was being called by the nouveau drivers and that can be expensive. it is on ARM as it's a full syscall and 1-2% of cpu time was just getting pid all the time thanks to this... @opt
2018-10-13meson: link gl_drm to gdmMarcel Hollerbach
gl_drm uses that - this was forgotten. Sorry. Reported by ApBBB.
2018-10-02here comes mesonMarcel Hollerbach
a new shiny buildtool that currently completes in the total of ~ 4 min.. 1 min. conf time 2:30 min. build time Where autotools takes: 1:50 min. conf time 3:40 min. build time. meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read. Further informations can be gathered from the README.meson Right now, bindings & windows support are missing. It is highly recommented to use meson 0.48 due to optimizations in meson that reduced the time the meson call would need. Co-authored-by: Mike Blumenkrantz <> Differential Revision: Depends on D7011
2018-08-30evas-gl-drm: Remove cserve2 supportChris Michael
Summary: ref T7226 Depends on D6931 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:
2018-03-08gl_drm: Use gl extension string helper instead of strstrDerek Foreman
2018-03-08gl_drm: Don't NULL init a variable we're about to setDerek Foreman
minor clean up with no functional change.
2018-03-08gl_drm: Check EGL client extensions before using platform_baseDerek Foreman
The comment here was right, we shouldn't just trust these without testing if we should trust these.
2018-03-08gl_drm: Rename eng_gl_symbols to eng_egl_symbolsDerek Foreman
It now only deals with egl. gl extensions must be queried later, so it was previously a bit weird/confusing.
2018-03-08gl_drm: Move some extension queries to after context creationDerek Foreman
Anything non-EGL we might query would have to be queried here, so I'm moving the call here to protect us in the event that we need GL extensions in the future. I'm still a bit confused as to what string I should be passing to evas_gl_symbols, though.
2018-03-07gl_drm: use EGL_IMG_context_priority if availableDerek Foreman
This is a hint that we want a high priority context. Since gl_drm is likely a compositor or a full screen app, it makes sense that it try to use this (but other engines probably shouldn't) Based loosely on Chris Wilson's weston patch to do the same thing. (weston commit b678befb6ed055e6c66466505d9195a3cebf8073) As this extension appears to have been around for years, I haven't added fallback defines for: EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100 EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101
2018-03-07gl_drm: Move the gl symbol check to immediately after display initDerek Foreman
We don't actually need a context first, just an initialized display.
2018-02-14gl_drm: NULL check imgDerek Foreman
If we set native surface on a new object we can get here with NULL engine_info from the caller. We should still create a native surface.
2018-02-13evas drm engines: Fix variable type for outputChris Michael
We already include the Ecore_Drm2 header for these engines, so there is no need for the 'output' field to be a void pointer here. @fix Signed-off-by: Chris Michael <>
2017-12-12evas-gl-drm: Don't pass invalid surface or bo to gbm functionChris Michael
This small patch just checks that we have a valid surface and bo that we can pass to gbm_surface_release_buffer. If they are not valid, this causes a hard crash. NB: This does not actually Fix the ticket issue.... ref T6483 Signed-off-by: Chris Michael <>
2017-11-21gl_drm: Use the same gbm_device for multiple instancesDerek Foreman
If we want to share a gl context (we do) between multiple instances of gl_drm, we need to make sure they all use the same gbm_device. This resolves a blocker for multi-output on the gl_drm backend.
2017-11-10evas/vg: added support for engine surface cache.subhransu mohanty
2017-11-06evas-gl-drm: Remove need for useless region_free functionChris Michael
Signed-off-by: Chris Michael <>
2017-08-28evas: handle new API use correctly for gl_drm backend.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: follow all other engines convention and use ORD macro.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