emersion
4ca38b84ed
backend/drm: fix hardware cursors not moving
...
This adds back `wlr_output::needs_swap`. This allows a backend to
request buffer swaps even if the output isn't damaged. This is
needed by the DRM backend to trigger pageflips when the cursor
moves.
7 years ago
emersion
584f06ad2f
backend/drm: do not try a pageflip is another one is in pending
7 years ago
emersion
f0f97280a0
backend/drm: fix retry pageflip
7 years ago
emersion
53ba9b4eec
Fix output enable in DRM backend
7 years ago
emersion
771263380c
Add wlr_output::enabled
7 years ago
emersion
e737f65e38
Fix cursor on transformed output with DRM backend
7 years ago
Dominique Martinet
be95147385
drm backend: add wlr_output_is_drm
7 years ago
emersion
0256de0002
Add full refresh rate support to custom modes
7 years ago
emersion
466e86b7b2
Merge branch 'master' into surface-transform
7 years ago
emersion
3b4b8953d9
Update output layout when scale or transform changes
7 years ago
emersion
8af779fae6
Fix segfault when moving hardware cursor
7 years ago
emersion
6a69b4419f
Make wlr_output_transform_* functions public, refactoring
7 years ago
Dominique Martinet
f451ea3639
rootston exit: fix drm destroy
...
wlr_drm_connector were being freed without removing them
from the drm->outputs list, segfaulting on destroy
7 years ago
emersion
a15b35aa10
Remove mysterious hotspot switch in DRM backend
7 years ago
emersion
60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend
7 years ago
emersion
0beae99188
Apply output transformation to pointer events in Wayland backend
7 years ago
emersion
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend
7 years ago
emersion
6656e25fd4
Transform cursor hotspot
7 years ago
emersion
1b6c729360
Add wlr_output_cursor
7 years ago
Drew DeVault
fa9c6ecc53
Fix segfault in DRM cursor
7 years ago
emersion
9d587d759f
Do not set hw cursor if disabled when switching VT
7 years ago
Scott Anderson
75f0a6c998
Merge pull request #286 from versusvoid/update-connector-crtc-bindings
...
Update Connector-CRTC bindings after resume in DRM backend
7 years ago
Versus Void
549777ca19
Set crtc field when scanning for DRM connectors
...
and always use it when matching CRTCs with connectors.
Fix deactivated monitors check.
7 years ago
Versus Void
3c31209a97
Reinitialize only changed DRM outputs after setting mode on one
7 years ago
Versus Void
ecb2a2b0d3
Emit output resolution event only when resolution changes
7 years ago
emersion
1cc8f21d8e
Cleanup wlr_gamma_control
7 years ago
emersion
e1d213fccd
Create globals only for enabled outputs in DRM backend
7 years ago
Versus Void
2ab080e79a
Fix index computation in DRM output scan and CRTC match
7 years ago
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
7 years ago
Scott Anderson
bdeffad7e5
Remove drm field from wlr_drm_connector
7 years ago
Scott Anderson
822a9f65a4
Add pointer to backend inside wlr_output
7 years ago
Scott Anderson
4ea84c5765
Remove unnecesary wlr_renderers
7 years ago
Heghedus Razvan
1d716241af
Replace list_t with wl_list in wlr_output
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
Heghedus Razvan
c03e774636
Replace list_t with wl_list in wlr_drm_backend
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
emersion
92daa790bb
Allow to update the cursor hotspot without its pixels
7 years ago
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
7 years ago
Versus Void
c5df6ca900
Fix memory leaks
7 years ago
Scott Anderson
f193623ca1
Change iface prefix to suffix
7 years ago
Scott Anderson
f6f9c40965
Minor fixes
7 years ago
Scott Anderson
009c3747a8
Multi-GPU DRM
7 years ago
Scott Anderson
eaef028976
Add renderer pointer inside drm_surface
7 years ago
Scott Anderson
4101b89700
Rename wlr_drm_output to wlr_drm_connector
7 years ago
Scott Anderson
22e77d9195
Rename backend to drm
7 years ago
Scott Anderson
ec5b95e08f
Add pointer to backend from DRM outputs
7 years ago
Scott Anderson
096249a2a1
Split DRM rendering to its own file
7 years ago
Scott Anderson
d0708b1a3a
Split DRM internal interface to its own header
7 years ago
Scott Anderson
610b0493ac
Rename files to remove pointless drm prefix
7 years ago
Scott Anderson
517ba0bc16
Change egl_get_config to always use visual id
7 years ago
Scott Anderson
a466c86fba
Set state properly
7 years ago
Scott Anderson
db5e9385d4
Simplify retry_pageflip
7 years ago
Scott Anderson
025b3ee515
Add error recovery for failed page flips
7 years ago
Scott Anderson
459d138fa2
Add timeout to DRM cleanup
...
This prevents a potential infinite loop preventing us from closing
properly.
7 years ago
Scott Anderson
4a53aab466
Allow forcing legacy DRM interface
7 years ago
Scott Anderson
0aa00da1f3
Check for disappearing DRM connectors
...
DisplayPort MST connectors will disappear when they're disconnected, so
we need to check for that.
7 years ago
emersion
6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl
7 years ago
Tony Crisci
e3d47376dc
add wlr_cursor basic implementation
7 years ago
Dominique Martinet
f24b3df980
wlr renderer/texture: rename init to create when it does alloc
7 years ago
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
7 years ago
Tony Crisci
784cf65635
fix uninitialized warning
...
`index` might be uninitialized. Warning can be produced with gcc and `-01` flag.
7 years ago
Drew DeVault
e7fa4f12e1
Fix DRM problem introduced in 901c14c
7 years ago
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
7 years ago
Drew DeVault
c8c6619146
Refactor out wlr_output_mode_state
7 years ago
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
7 years ago
Drew DeVault
234b2104e4
Refactor wlr_backend_state out of DRM backend
7 years ago
Dominique Martinet
de86965174
Use libinput_event_destroy/xkb_*_unref
...
Also sneak in a missing drmModeFreePlaneResources
7 years ago
Drew DeVault
6569c2b626
Merge pull request #53 from nyorain/drm_buffer
...
Implement drm (egl) buffer attaching
7 years ago
Drew DeVault
c24351681f
Refactor EGL handling
7 years ago
Scott Anderson
fe2fbd0fad
Fix possible use of CRTC after monitor is unplugged
7 years ago
nyorain
67369173aa
Implement drm (egl) buffer attaching
7 years ago
Scott Anderson
af67966d92
Atomic modesetting
7 years ago
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
7 years ago
Scott Anderson
d09ca20a4d
Use gbm_bo_map for cursor
7 years ago
Scott Anderson
dbe66d1963
Style changes
7 years ago
Scott Anderson
5f7042a1f2
Moved headers
7 years ago
Scott Anderson
d307c2f2c2
Renamed some variables to be less generic
7 years ago
Scott Anderson
1db97a9af9
Updated DRM cursor rendering
7 years ago
Scott Anderson
aedfa27d3a
Clean up resources when plane is reassigned
7 years ago
Scott Anderson
2f8b5c4448
More cleanups
7 years ago
Scott Anderson
dd7a349295
Various cleanups
7 years ago
Scott Anderson
d1ca1ec16e
Split off some functions into drm-util
7 years ago
Scott Anderson
c46605d605
Use plane for rendering
7 years ago
Scott Anderson
e16c5504cd
Add planes.
7 years ago
Scott Anderson
67b51f0922
Upgraded CRTC and Encoder matching
7 years ago
Scott Anderson
31867a1b2e
Various changes/cleanups
7 years ago
Scott Anderson
7b772e1a4b
DRM resource initalisation
7 years ago
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.
7 years ago
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.
7 years ago
Drew DeVault
038dfdbc85
Log max cursor size on error
8 years ago
Scott Anderson
82322d81a7
Hardware cursor improvements.
8 years ago
Scott Anderson
0cd94f0cf0
Added software cursor fallback
8 years ago
Drew DeVault
168f0955ab
Add wl_output globals for wlr_outputs
8 years ago
Drew DeVault
f4453d104d
Reorganize wlr-common
8 years ago
Drew DeVault
fd91244e83
Update everyone to use new headers
8 years ago
Scott Anderson
55854565dc
Fixed VT switching
8 years ago
Drew DeVault
b9d36c8149
Add dynamic output resizing for Wayland backend
...
This allows outputs to:
- Not support modesetting
- Resize themselves
8 years ago
Drew DeVault
e9609e9adf
Allocate framebuffers for hardware cursors
...
Still doesn't fix cursors though
8 years ago
Drew DeVault
7e038a6110
Add (broken) DRM hardware cursors
8 years ago
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)
8 years ago
Drew DeVault
2b06f88f0b
Combine internal DRM headers into one
...
Everything always just included both anyway
8 years ago
Scott Anderson
63c3faa006
Fixed rendering bug: Delay calling gbm_surface_release_buffer until it
...
has been scanned out.
8 years ago