Commit graph

87 commits

Author SHA1 Message Date
Drew DeVault
e7fa4f12e1 Fix DRM problem introduced in 901c14c 2017-08-16 17:36:57 -04:00
Calvin Lee
901c14c409 Prevent alloc errors from crashing in list_t
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
2017-08-16 09:23:21 +02:00
Drew DeVault
c8c6619146 Refactor out wlr_output_mode_state 2017-08-14 08:03:51 -04:00
Calvin Lee
de66bdb867 Add backend detection functions
Resolves #80
2017-08-13 23:08:33 +02:00
Drew DeVault
41e735242d Remove wlr_output_state, update backends 2017-08-13 11:38:03 -04:00
Drew DeVault
4386816889 wlr_backend_init -> wlr_backend_start
Also renames create to init. We'll use create for anything that
allocates and init for anything that takes a pointer and initializes it.
2017-08-13 10:19:57 -04:00
Drew DeVault
234b2104e4 Refactor wlr_backend_state out of DRM backend 2017-08-12 19:52:22 -04:00
Dominique Martinet
de86965174 Use libinput_event_destroy/xkb_*_unref
Also sneak in a missing drmModeFreePlaneResources
2017-08-12 00:11:18 +02:00
Dominique Martinet
0354aaeff2 Complete a few destroy functions
This adds missing free calls for:
 - drm outputs
 - libinput backend in general
 - final udev free
 - output mode state
2017-08-11 19:17:03 +02:00
Drew DeVault
6569c2b626 Merge pull request #53 from nyorain/drm_buffer
Implement drm (egl) buffer attaching
2017-08-10 22:20:21 -04:00
Drew DeVault
c24351681f Refactor EGL handling 2017-08-10 22:15:37 -04:00
Scott Anderson
fe2fbd0fad Fix possible use of CRTC after monitor is unplugged 2017-08-11 11:12:41 +12:00
nyorain
67369173aa Implement drm (egl) buffer attaching 2017-08-10 10:59:58 +02:00
Scott Anderson
a77fac0760 Added null check on crtc 2017-08-10 01:43:42 +12:00
Scott Anderson
af67966d92 Atomic modesetting 2017-08-09 08:07:00 -04:00
nyorain
e167f41fde Rename wlr_surface -> wlr_texture; attach -> upload 2017-08-08 18:25:16 +02:00
Scott Anderson
d09ca20a4d Use gbm_bo_map for cursor 2017-08-07 21:07:42 +12:00
Scott Anderson
dbe66d1963 Style changes 2017-08-07 10:15:05 +12:00
Scott Anderson
5f7042a1f2 Moved headers 2017-08-06 21:49:04 +12:00
Scott Anderson
d307c2f2c2 Renamed some variables to be less generic 2017-08-06 21:42:36 +12:00
Scott Anderson
1db97a9af9 Updated DRM cursor rendering 2017-08-06 21:38:40 +12:00
Scott Anderson
aedfa27d3a Clean up resources when plane is reassigned 2017-08-06 15:54:38 +12:00
Scott Anderson
2f8b5c4448 More cleanups 2017-08-06 15:53:41 +12:00
Scott Anderson
dd7a349295 Various cleanups 2017-08-06 15:51:49 +12:00
Scott Anderson
d1ca1ec16e Split off some functions into drm-util 2017-08-06 15:51:49 +12:00
Scott Anderson
c46605d605 Use plane for rendering 2017-08-06 15:50:23 +12:00
Scott Anderson
e16c5504cd Add planes. 2017-08-06 15:49:05 +12:00
Scott Anderson
67b51f0922 Upgraded CRTC and Encoder matching 2017-08-06 15:49:05 +12:00
Scott Anderson
31867a1b2e Various changes/cleanups 2017-08-06 15:49:05 +12:00
Scott Anderson
7b772e1a4b DRM resource initalisation 2017-08-06 15:49:02 +12:00
Scott Anderson
601bbad5d8 Added DRM property infrastructure 2017-08-06 15:47:00 +12:00
Scott Anderson
cb4d50e22c Changed header paths. 2017-08-06 13:25:26 +12:00
Tony Crisci
d822e0768b Use ARGB8888 pixel format for cursor bo
The previous pixel format (RGBA8888) is not supported on all devices for cursors.

Weston uses ARGB8888 exclusively for its cursor buffer object which leads me to
believe this pixel format is better supported.
2017-07-27 17:55:35 -04:00
Tony Crisci
8b6dc48355 bugfix: add null check on output gbm on pageflip
The gbm for the output might be null for the pageflip in the case that
the output has been disconnected. The gbm might be set to null by
wlr_drm_output_cleanup() in this case.

If the output is cleaned up before the pageflip, then a double free
will crash the compositor on the call to gbm_surface_release_buffer()
in the pageflip handler. The outputs buffer object bo[1] will point to
invalid memory.
2017-07-24 19:50:13 -04:00
Drew DeVault
038dfdbc85 Log max cursor size on error 2017-06-26 10:34:26 -04:00
Scott Anderson
82322d81a7 Hardware cursor improvements. 2017-06-26 19:32:36 +12:00
Scott Anderson
0cd94f0cf0 Added software cursor fallback 2017-06-26 17:34:15 +12:00
Drew DeVault
168f0955ab Add wl_output globals for wlr_outputs 2017-06-22 14:27:35 -04:00
Drew DeVault
f4453d104d Reorganize wlr-common 2017-06-21 12:10:07 -04:00
Drew DeVault
fd91244e83 Update everyone to use new headers 2017-06-21 10:27:45 -04:00
Scott Anderson
55854565dc Fixed VT switching 2017-06-21 13:31:29 +12:00
Scott Anderson
091de12bf4 Changed session signal to only emit on DRM changes 2017-06-21 12:47:53 +12:00
Drew DeVault
b9d36c8149 Add dynamic output resizing for Wayland backend
This allows outputs to:
- Not support modesetting
- Resize themselves
2017-06-20 17:51:45 -04:00
Drew DeVault
e9609e9adf Allocate framebuffers for hardware cursors
Still doesn't fix cursors though
2017-06-19 14:02:25 -04:00
Drew DeVault
7e038a6110 Add (broken) DRM hardware cursors 2017-06-16 15:38:34 -04:00
Drew DeVault
e65f83d7f2 Add more DRM info to wlr_output
Yes I know this is the libinput branch, I thought this would be useful
for a libinput feature (but it wasn't)
2017-06-14 16:17:05 -04:00
Drew DeVault
2b06f88f0b Combine internal DRM headers into one
Everything always just included both anyway
2017-06-10 12:30:02 -04:00
Scott Anderson
63c3faa006 Fixed rendering bug: Delay calling gbm_surface_release_buffer until it
has been scanned out.
2017-06-09 17:15:55 +12:00
Scott Anderson
382f712792 Merge remote-tracking branch 'upstream/master' into rotation 2017-06-08 00:52:33 +12:00
Scott Anderson
632a7acb03 Filled out more wlr_output fields. 2017-06-08 00:39:40 +12:00