summaryrefslogtreecommitdiff
path: root/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c (unfollow)
AgeCommit message (Collapse)Author
2016-12-19ecore_evas: remove float comparison warning from DRM backend.Cedric BAIL
2016-11-28Ecore_Evas: Add support for per-seat focus.Guilherme Iscaro
2016-11-28ecore-evas-drm: Implement ecore_evas_screen_dpi_get for drm canvasChris Michael
Small patch to implement support for ecore_evas_screen_dpi get on the drm canvas. This will be used in enlightenment (e_scale) to get the screen dpi of the compositor canvas when we call e_scale_update. Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-21ecore_evas_drm: Fix render freezesDerek Foreman
Missed setting pending to true in one of the paths, this resulted in an extra pageflip being scheduled too soon and returning EBUSY. This was more likely to happen on slow systems, and is hopefully the last remaining cause of render freeze on the RPI3.
2016-11-16ecore_evas_drm: Stop errant page from flip handlerDerek Foreman
This was required due to bugs elsewhere, and could potentially cause stutters in display. Now that we don't need it we're better off without.
2016-11-16ecore_evas_drm: Don't do a flip if we know a frame is comingDerek Foreman
If the async renderer is running then something's going to trigger a pageflip naturally, and if we do one now we'll block it.
2016-11-15ecore-evas-drm: Fix call to drmHandleEventChris Michael
As we don't compile-time link to libdrm anymore, we need to make a call to ecore_drm2_event_handle in order to process drm events. Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-14ecore_evas_drm: Fix bugs in pending trackingDerek Foreman
This has been dead wrong for a while but only recently became a showstopper when another bug was fixed that made this one manifest.
2016-11-14ecore_evas_drm: Use timestamp from pageflip event for animator timeDerek Foreman
Should be more accurate this way.
2016-11-14ecore: introduce adjusting main loop time on animator.Cedric BAIL
2016-09-09evas drm engine - fix build if gl not enabled for drm engine buildCarsten Haitzler (Rasterman)
this fixes the build after a derek b0rk :)
2016-09-08ecore_evas_drm: Use pageflips, not vblanks, to drive animationDerek Foreman
This should sort some timing problems.
2016-09-08ecore_drm2: Add a page flip completion callDerek Foreman
Add a function for ecore_evas_drm to call after a page flip happens so ecore_drm2 can track busy status for fbs itself (including for the fb that's currently being flipped to scanout) Also, call the completion function from ecore_evas_drm
2016-09-08ecore_drm2: Implicitly set buffer busy status when flippingDerek Foreman
This simplifies other code that shouldn't need to deal with this.
2016-09-08ee_drm: Move all ticking into ecore_evas_drm and use new tick systemDerek Foreman
Combines all the gl_drm and drm ticking code into one set in ecore_evas_drm and uses the new evas tick register/unregister callbacks to set it up.
2016-09-08ecore_evas_drm: Refactor common codeDerek Foreman
ecore_evas_gl_drm_new_internal and ecore_Evas_drm_new_internal are huge functions differing in very few lines. Combined them.
2016-09-08ecore_evas_drm: check for libglapi presence firstDerek Foreman
Minor refactor
2016-09-08evas_engines: Add fn_evas_changed callbackDerek Foreman
To allow using the pageflip completion event to drive timing in the DRM engine we need to know as soon as possible that a render has been after a render has been considered if it will cause a page flip or not. The fn_evas_changed callback sends this information.
2016-06-13ecore-evas-drm: Re-enable direct input callbackChris Michael
As it seems the jpeg breakage is over wrt direct input callbacks, we can re-enable these for the drm engines @fix Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-31ecore-evas-drm: Disable direct input callbackChris Michael
For ecore_evas drm engine(s), disable setting of ecore_event_window_direct_callback as this Completely Breaks all input when running Enlightenment Wayland. NB: This can likely be re-enabled at some point, when the jpeg breakage is over ;) @fix Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-31ecore-evas-drm: Register direct input callback for gl_drm alsoChris Michael
@fix Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-31ecore_evas: Register direct input cb from modulesJean-Philippe Andre
If the ecore_evas modules were using ecore_event_window_register() then they can also redirect everything though the direct callback instead.
2016-05-27ecore-evas-drm: Fix issue of mouse pointer not centering on startupChris Michael
This patch fixes an issue where starting Enlightenment would not center the mouse pointer. Basically the issue is that we cannot warp the mouse pointer until After the ee->prop.window has been set else E will not process the mouse_move event @fix Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: update to latest elputMike Blumenkrantz
2016-05-27ecore-evas: Port ecore_evas drm engine to use Ecore_Drm2 libraryChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-18ecore_evas_drm: enable pointer warpingDerek Foreman
Use ecore_drm_device_pointer_warp() to warp the pointer
2016-02-02ecore_evas: introduce support for per window animator trigger.Cedric BAIL
This code is currently only using the older fallback code and not any new event source, so all animator on all window are still triggered whatever the case are.
2016-01-21ecore-evas-drm: Cleanup drm outputs during shutdownChris Michael
As we no longer cleanup outputs inside the ecore_drm_device_free function (see previous commit), we should be cleaning up outputs here as they are created during the _ecore_evas_drm_init function. @fix Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-14ecore_drm/ecore_wl2: logging: remove errant usage of %mDerek Foreman
Summary: printf %m stringifies and prints errno. I've tried to remove its use anywhere that the immediately preceding function might not set errno or is a complicated function for which knowing errno doesn't really give any useful information. I've left a few of the drmMode calls because they're just wrappers around ioctl, which legitimately sets errno. @fix Reviewers: zmike, devilhorns Reviewed By: zmike, devilhorns Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D3572
2015-11-17ecore-evas-drm: Send fake mouse_move event after registeringChris Michael
This fixes an issue where ecore_drm was sending an initial mouse_move event too early in the startup process. Instead, we will send the event from Ecore_Evas after it has been registered with Ecore_Input. This is done here to address and Fix T2854. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-16ecore-evas drm: null global device pointer after freeMike Blumenkrantz
ref T2844 @fix
2015-11-04ecore-evas-gl-drm: Don't create software dumb buffers when using glChris Michael
Summary: If we are rendering using gl_drm, then we don't need to be creating extra software dumb buffers. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-02ecore-evas-drm: Use GBM_FORMAT_XRGB8888 when creating new canvasChris Michael
Summary: With linux kernels >= 4.2.x, we need to use GBM_FORMAT_XRGB8888 when creating a new canvas else we end up with a format mismatch when trying to add the framebuffer @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-06ecore-evas-gl-drm: Disable async rendering for EGLChris Michael
Summary: Disable async rendering for EGL engine as EGL is sync only. This fixes gl_drm engine to work (in my tests) using ecore_evas example apps. Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-17ecore-evas-drm: Default to GBM_FORMAT_ARGB8888Chris Michael
Summary: Seems some platforms (my setup here at least) don't have EGL configs which suppose GBM_FORMAT_XRGB8888, so default to ARGB @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05ecore-evas-drm: We don't need to feed mouse events hereChris Michael
@fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05ecore-evas-drm: Use XRGB format for gl_drm canvasChris Michael
@fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05ecore-evas-drm: Update ecore_evas_drm for recent evas gl_drm changesChris Michael
Summary: Previous Ecore_Evas drm code would create the gbm device and surface inside the gl_drm function. As these are now handled inside the evas-gl-drm engine itself, this code is not needed here. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07ecore: remove the need to order the header correctly for Windows.Cedric BAIL
2015-04-21ecore-evas-drm: Fix issue of fullscreen surfaces not getting focus on showChris Michael
Summary: This fixed T2349 where elm apps would not get initial focus on show when running via drm. This also addresses the issue of always sending the state_change event even when not an override. NB: Thanks to bu5hm4n for reporting ... and even providing a potential fix ;) @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10ecore-evas-drm: Use new Ecore_Drm functions to get properties of the outputChris Michael
Summary: This makes use of the newly added Ecore_Drm API functions to get information about the output so we can setup the Evas engine properly @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10ecore-evas-drm: Setup Ecore_Drm_Device for software renderingChris Michael
Summary: If we are using the software version of ecore_evas_drm, then make API call to setup the Ecore_Drm_Device for software rendering. This creates the dumb buffers on the Ecore_Drm_Device. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-04ecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drmChris Michael
engine Summary: This changes the ecore_evas_pointer_xy_get function call (on drm engine) to use the new ecore_drm_device_pointer_xy_get so we can center mouse pointer on an output at startup. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-06ecore evas should not crash when unsetting pointerMike Blumenkrantz
ref D812 disappointed.jpg
2015-01-26ecore-evas-drm: Fix improper shutdown sequenceChris Michael
Summary: As the launcher code now uses some fields from the Ecore_Drm_Device, we need to free the device After the launcher has been disconnected. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-22ee engines should not crash when re-setting the same title/name_classMike Blumenkrantz
@fix
2015-01-13ecore-evas-drm: Init outputs before inputs so that input devices canChris Michael
have a pointer to outputs Summary: In order to limit pointer motion, we need to assign an Output to each Input device. In order to accomplish that, we need to initialize Outputs first @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-07ecore-evas-drm: Fix formattingChris Michael
Summary: No functional changes, just formatting cleanup Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-07ecore_evas_drm: Added support for initial rotation in ecore_evas_drmkabeer khan
Summary: Resolved FIXME added support for initial rotation in ecore_evas_drm initialisation @fix Signed-off-by: kabeer khan <kabeer.khan@samsung.com> Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D1837
2015-01-06ecore-evas-drm: Perform shutdown in proper orderChris Michael
Summary: This fixes an incorrect order with shutdown of drm library. Sprites are created (during init) before inputs, so they should be shutdown After inputs are. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>