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
Drew DeVault
6f5c70ac69
Let backend track transform state
...
This will be necessary to provide it to clients via wl_output.
2017-06-06 11:48:30 -04:00