Scott Anderson
025b3ee515
Add error recovery for failed page flips
2017-09-23 18:27:14 +12:00
Scott Anderson
459d138fa2
Add timeout to DRM cleanup
...
This prevents a potential infinite loop preventing us from closing
properly.
2017-09-23 16:32:25 +12:00
Scott Anderson
8cbade355f
Print connector name on atomic commit failure
2017-09-23 13:38:43 +12:00
Scott Anderson
4a53aab466
Allow forcing legacy DRM interface
2017-09-23 13:20:17 +12:00
Scott Anderson
1682c0d983
Remove non-blocking flag on modesetting commits
...
This seems to make hotplugging DisplayPort MST connectors more reliable.
2017-09-10 00:13:39 +12:00
Scott Anderson
6717b78bd6
Retry atomic commit on failure
...
So we don't lose any previously "good" properties that were set.
2017-09-09 23:10:18 +12:00
Scott Anderson
0aa00da1f3
Check for disappearing DRM connectors
...
DisplayPort MST connectors will disappear when they're disconnected, so
we need to check for that.
2017-09-09 23:09:51 +12:00
emersion
6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl
2017-09-06 18:53:08 +02:00
Drew DeVault
6daf9e9ab2
Merge pull request #120 from acrisci/feature/wlr-cursor
...
wlr_cursor
2017-08-29 12:12:18 -05:00
Tony Crisci
e3d47376dc
add wlr_cursor basic implementation
2017-08-26 08:32:11 -04:00
Scott Anderson
fb93628bda
Merge wlr_udev into wlr_session
2017-08-26 14:02:04 +12:00
Dominique Martinet
f24b3df980
wlr renderer/texture: rename init to create when it does alloc
2017-08-19 08:33:31 +02:00
Dominique Martinet
0252c8e072
drm realloc_crtcs: check we found an output
...
This follows-up on #105 that just initialized to 0.
Instead, make sure we actually found an output that matches
2017-08-18 18:27:59 +02:00
Tony Crisci
784cf65635
fix uninitialized warning
...
`index` might be uninitialized. Warning can be produced with gcc and `-01` flag.
2017-08-18 12:08:28 -04:00
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
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
Scott Anderson
c97de93fe1
Added output rotation example
2017-06-05 22:48:51 +12:00
Drew DeVault
7d82476590
Refactor type implementations
2017-06-04 19:30:50 -04:00
Scott Anderson
5df56653ab
Changed invalidate interface.
2017-06-04 17:43:34 +12:00
Scott Anderson
de44994dfc
Udev event device matching
2017-06-03 15:47:33 +12:00
Drew DeVault
40b85d992a
Refactor udev and drm initialization
2017-06-01 20:29:10 -04:00
ascent12
62d612a01e
Merge branch 'master' into session
2017-06-01 23:10:19 +12:00
Drew DeVault
ae77004346
Add more logging around udev
2017-05-31 16:53:59 -04:00
Drew DeVault
e2ee67125e
s/wayland.h/types.h/g
2017-05-31 16:24:32 -04:00
Drew DeVault
c7f6981d9c
Clean up outputs on exit
2017-05-31 16:17:04 -04:00
Drew DeVault
fee409bd0a
Generalize DPMS, remove DRM refs from example
2017-05-31 15:38:26 -04:00
Drew DeVault
03c9b46034
Have backend manage opengl context
2017-05-31 15:15:42 -04:00
Scott Anderson
f9d363fece
Added device matching
2017-05-14 13:07:34 +12:00
Scott Anderson
7efdd3c9fc
Refactored renderer startup to function.
2017-05-14 12:48:47 +12:00
Scott Anderson
ce8786721b
Got it working.
2017-05-14 12:42:49 +12:00
Scott Anderson
058b8bdf27
Working commit
2017-05-14 12:42:49 +12:00
Scott Anderson
409065ba2e
Changed to signed
2017-05-14 01:26:43 +12:00
Scott Anderson
eac603bfdf
Merge branch 'master' into refresh
2017-05-14 01:24:09 +12:00
Scott Anderson
3000b8615f
More accurate refresh rates (mHz)
2017-05-13 22:27:25 +12:00
Scott Anderson
599d1bcbdc
DPMS support
2017-05-13 20:37:15 +12:00
Drew DeVault
42878b45a1
Remove unnecessary TODO
2017-05-10 10:36:37 -04:00
Drew DeVault
00931f2f8f
Generalize output handling
2017-05-07 12:26:48 -04:00
Drew DeVault
15b1ce9e6c
Refactor backend state management
2017-05-07 10:12:54 -04:00
Scott Anderson
7e9feb70a0
Fixed hotplugging + make EGL more chatty.
2017-05-04 21:58:11 +12:00
Scott Anderson
ef9768858e
Changed modesetting interface.
2017-05-03 22:41:49 +12:00
Scott Anderson
d196a79b6c
Changed backend to accept wl_display.
2017-05-03 21:28:44 +12:00
Scott Anderson
18387468bb
Renamed 'wlr_drm_display' to 'wlr_drm_output'
2017-05-03 17:49:03 +12:00
Scott Anderson
15d247bf34
Changed drm to use new EGL interface.
2017-05-03 17:17:14 +12:00
Scott Anderson
81998fdc98
Removed old session code from DRM backend.
2017-05-03 16:23:07 +12:00
Scott Anderson
e446a5300b
Added example.
2017-05-02 18:13:17 +12:00
Scott Anderson
e9d716fc0c
Changed display to use list_t.
2017-05-02 14:34:33 +12:00
Scott Anderson
115d4ae637
Changed events to use wayland functions.
2017-05-02 14:08:34 +12:00
Scott Anderson
562d43a5ec
Changed logging.
2017-05-02 13:00:25 +12:00
Scott Anderson
41a82fd2fc
Renaming.
2017-05-01 17:49:18 +12:00
Scott Anderson
9ac46ec5ed
Got it to build
2017-05-01 15:50:19 +12:00
Scott Anderson
95a553dc51
Moved headers to the correct place.
2017-05-01 15:33:42 +12:00