Commit Graph

103 Commits

Author SHA1 Message Date
Derek Foreman 3e196c1c61 compile against stable EFL again
E should probably continue to build against released EFL older than
the current interface name changes.
2018-04-25 11:06:12 -05:00
Carsten Haitzler f3498ee82c compile again after efl change interface names... 2018-04-25 14:37:49 +09:00
Chris Michael cf80e5d2b2 Revert "wl-drm: Enable all degrees of screen rotation"
Reverting this as it has issues still, and when multi-output support
for wayland lands this is not going to work anyway.

This reverts commit 8f5299be08.
2017-12-15 11:41:14 -05:00
Chris Michael 61b07a16ff wl-drm: sort screen modes and assign zone->output
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-12-15 11:09:56 -05:00
Chris Michael 26e2533d94 wl-drm: get screen geometry after e_comp_wl_init is called
This change is needed because if we call
ecore_evas_screen_geometry_get before calling e_comp_wl_init, then
when the drm2 randr settings are applied, the screen geometry could
change (saved resolutions are restored). This commit ensures that drm2
has the same resolution settings as the randr ones, and
screen_geometry_get will return the proper values now.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-12-15 11:04:20 -05:00
Chris Michael 8f5299be08 wl-drm: Enable all degrees of screen rotation
This patch enables all degrees of rotation to be selectable in the
Screen Setup dialog. It then applies the rotation based on hardware or
software ... that is, if the hardware can do the selected rotation,
then we use hardware otherwise we will use ecore_evas_rotation
functions (software).

ref T5999

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-12-05 10:10:57 -05:00
Chris Michael 846722277c Revert "wl-drm: Fix issue of not being able to set output mode"
Reverting this in favor of a better way to fix the issue inside EFL
itself.

This reverts commit 5dc1c1c8eb.
2017-11-01 08:49:55 -04:00
Chris Michael 5dc1c1c8eb wl-drm: Fix issue of not being able to set output mode
If we pass in screen geometry here when trying to set an output mode,
we can encounter "out of memory" errors from libdrm with outputs that
have a high resolution. As it turns out, we should be passing 0, 0 for
the x/y values when trying to set an output mode.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-25 15:28:46 -04:00
Derek Foreman c21c282483 Fix video explosion on rpi3 during screen blank
Seems like spamming dpms on when it's already on and we're rendering
is antisocial, so cut that out.

Fix T5977
2017-09-05 14:35:07 -05:00
Chris Michael f5e19a7721 wl-drm: Add screen position to debug output
Small patch which adds the screen geometry to the output of drm2 randr
apply so we can test mutli-output setups and know which screen is where.

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-08-29 15:19:00 -04:00
Chris Michael 3cc70fc607 wl-drm: Properly retrieve output geometry and propertly set output mode
Previously when we were getting the output size, the resulting
geometry was being placed in the wrong variables which resulting in
randr screen config modes being set to zero. This patch also fixes the
issue where when setting drm2 output mode, we were always passing in
0x0 as the output geometry.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-08-29 15:19:00 -04:00
Derek Foreman 0fd23928f0 Add a compatibility layer to protect against ecore_drm2 api change
In case we roll an E release before the next EFL one, we need these
API changes to be hidden.

Later we can remove this...
2017-08-09 14:59:26 -05:00
Derek Foreman 50169af1db Update to recent ecore_drm2 changes 2017-08-09 14:59:25 -05:00
Derek Foreman fbceceff5a Fix geometry for drm outputs
It appears that config.geom.x and config.geom.y specify the corner of
an output in global space, but ecore_drm2_output_mode_set's x and y
are offsets into the framebuffer for the corner of the display.

Just pass 0, 0 and everything will be ok.
2017-07-27 15:20:32 -05:00
Mike Blumenkrantz 3055c0ecae remove wl screenshooter protocol
this should never have existed, as it makes no sense for a compositor to
use protocol in order to allow itself to take screenshots
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz b58e380b19 simplify drm output update event by using randr screen refresh queuing
also moves all the output add/del into e_comp_wl
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz 773122db66 store output subpixel value to randr2 screen data during drm init 2017-06-16 15:00:12 -04:00
Mike Blumenkrantz c2e891bbf4 update wl_drm for recent efl_input_device api changes
@jpeg plz http://i1.kym-cdn.com/photos/images/original/000/312/563/05d.jpg
2017-06-12 05:48:32 -04:00
Mike Blumenkrantz 79ed10927e preserve cursor state in drm output during vt switch
#wew

ref T5483
2017-06-09 20:18:13 -04:00
Derek Foreman 71f70ad8a5 Fix unused var compiler warning in wl_drm
Unused variable after my session activation cleanup
2017-06-07 12:11:59 -05:00
Derek Foreman 239101d95f Fix wl_drm session (de)activation callback
I missed this in my last commit - we probably shouldn't be calling
e_comp_render_queue or e_comp_shape_queue_block() after hiding the
ecore_evas anyway - and by removing the e_comp_shape_queue_block()
in the activation callback I made things asymmetrical.  Ungood.
2017-06-02 13:59:42 -05:00
Derek Foreman 5ce8bf3992 Fix wl_drm session activation callback
The code intended to force evas to redraw when we switch back from
another virtual console is failing to do so.  Remove it and replace
it with simpler code that successfully forces a redraw.
2017-06-02 13:49:06 -05:00
Mike Blumenkrantz cfc538ca55 remove all unnecessary efl version checks
the version of efl required by configure is already higher than these checks
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e33c01cdce add new explicit method for enabling backlight depending on output type
ensure that nested compositors don't mess with backlight
2017-02-24 14:15:38 -05:00
Chris Michael 4339f9f783 bump efl minor version check for ecore_drm2 API function usage
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-17 19:21:17 -05:00
Chris Michael b535aefaad wl_drm: Fix potentially uninitialized variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-07 13:18:19 -05:00
Chris Michael 8cb4a92ab5 minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-07 11:09:54 -05:00
Mike Blumenkrantz 8144cd0cda use e_pointer_show() when updating wl-drm seat caps to enable pointer
prev function doesn't handle canvas pointers
2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 501efaf357 add flag for comp screen iface to indicate relative motion eventing 2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 186cf73294 implement relative-pointer v1 2017-02-03 15:13:45 -05:00
Chris Michael ba7e910f9c re-enable getting and setting output rotations in wl_drm
Small patch to re-enable the ability to query and set the rotation of
an output.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-18 11:30:30 -05:00
Chris Michael 307072fc43 remove old ecore_drm1 code from wl_drm module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-18 09:03:20 -05:00
Chris Michael 1e37dd65fd update touch enabled/disabled based on seat capabilities
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-17 08:42:53 -05:00
Chris Michael 20166f16be make mouse pointer visibility syn with hotplug/un-plug
This patch makes the mouse pointer disappear when the physical mouse
device is unplugged. It also makes the mouse pointer reappear when a
physical mouse is hotplugged.

NB: There is one small hiccup with this patch and that is: when you
re-plug the mouse in the pointer itself doesn't show until you
physically move the mouse. Tried several things locally to sort it
out, but no success :/

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-09 08:56:32 -05:00
Derek Foreman dc2bad0fcd bump ecore_drm2 dependency, update to latest beta API 2016-09-08 11:51:36 -05:00
Chris Michael 35febc367d add key_up and key_down methods to sreen interface
This patch adds new methods to the screen interface that we can use
inside wl_drm to determine if a key event is eaten or not. This fixes
an issue where VT-Switching would not work if an application was on
the screen (E-Wayland).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-27 13:31:13 -04:00
Chris Michael 0d2b6b047c port enlightenment to use drm2
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 09:53:41 -04:00
Marcel Hollerbach a7c659e258 wl: remove useless calls to e_comp_wl_input_keymap_set
those calls are not needed anymore since they will be overriden by e_xkb
init which takes place a few calls later
2016-03-24 20:54:03 +01:00
Marcel Hollerbach ab4e4e17cb e_comp_wl: allow variants and options for keyboard settings
Also set options and variants to the rule names struct.
There is no need to use strdup here the values are just freed in the
end.
2016-03-24 20:54:03 +01:00
Chris Michael d49f60dd8a don't have to hook the ecore_evas resize callback here as that should
be handled by elm now

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-08 16:09:55 -05:00
Chris Michael 993f387433 don't define variables that we are not going to use
If our efl version is not >= 1.18, then the rotations and orient
variables here end up being unused. This patch just moves those
variables (and their usage) inside the 1.18 version check

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-01 10:22:21 -05:00
Chris Michael 04e108dbac correctly wrap 1.18 API function calls
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 11:19:56 -05:00
Chris Michael b88e8b7a4d wrap 1.18 drm rotation functions around #ifdefs
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 11:17:48 -05:00
Chris Michael 04ea946f3d Add support for configuring output rotations
When running under DRM, this patch adds support for getting the
supported rotations of an output, listing them in the Screen Setup
dialog, and adds the ability to set a rotation on a given screen

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 09:16:02 -05:00
Mike Blumenkrantz 542079d841 move all wayland extension implementations into e_comp_wl_extensions.c
e_comp_wl.c getting a bit hard to manage already, future extension additions
are going to make it a lot worse
2016-01-22 16:25:29 -05:00
JengHyun Kang bdb462e19f Set cached xkb context/keymap
Summary:
Set xkb context and keymap to Ecore_Drm.
         In enlightenment (used in wayland with drm backend), keymap is used only one.
         So for avoid unnecessary open keymap files, set cached context and keymap.
         But for this, enlightenment must compile keymap before init ecore_drm.
         So I changed booting sequence also.

Test Plan: Distinguish time between before and after during add a keyboard device.

Reviewers: raster, devilhorns, zmike

Subscribers: cedric, input.hacker, ohduna

Differential Revision: https://phab.enlightenment.org/D3504
2016-01-05 13:07:27 -05:00
Chris Michael 2cd6fcc3a9 enlightenment: Use 'fabs' to compute absolute value of floating point
types

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:38:14 -04:00
Mike Blumenkrantz 3f13b6889d replace existing usage of x/wl_comp_data with corresponding globals 2015-08-13 16:05:57 -04:00
Stefan Schmidt 5e5fcc4828 wl_drm: No need to init orient to 0 as it will never be read. 2015-08-07 15:55:49 +02:00
Mike Blumenkrantz 780bba76d2 add wl_drm dpms setting 2015-07-27 16:48:19 -04:00