emersion
edb4c8d858
output: damage whole output when fullscreen surface size changes
2018-01-30 22:06:10 +01:00
emersion
a295c805c4
output: fix output_damage_whole for scaled outputs
2018-01-30 21:42:12 +01:00
emersion
babdd6ccf7
backend: fix use-after-free when destroying backends
...
The backend destroy signal is emitted before the output_remove
signal is. When the destroy signal is emitted listeners remove
their output_remove listener, so the output_remove signal is never
received and listeners have an invalid output pointer.
The correct way to solve this would be to remove the output_remove
signal completely and use the wlr_output.events.destroy signal
instead. This isn't yet possible because wl_signal_emit is unsafe
and listeners cannot be removed in listeners.
2018-01-30 19:45:57 +01:00
emersion
704130cc11
output: fix performance issues with wlr_output_schedule_frame
2018-01-30 14:45:02 +01:00
emersion
d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
...
output: add wlr_output_transformed_resolution
2018-01-30 10:23:35 +01:00
emersion
2cc989e097
output: restrict provided damage to output bounds
2018-01-29 23:21:30 +01:00
emersion
7881d039b6
rootston: fix output_damage_whole
...
This should fix artifacts when leaving fullscreen on rotated outputs.
2018-01-28 21:58:02 +01:00
emersion
485aa87468
output: fix fullscreen on transformed outputs
2018-01-28 10:40:38 +01:00
emersion
7adf13e284
Fix flickering when switching VT
2018-01-27 11:16:42 +01:00
emersion
8d58ed502b
output: add wlr_output_schedule_frame
2018-01-26 22:39:23 +01:00
emersion
ece2c1e4e2
Damage tracking for transformed outputs
2018-01-26 22:11:09 +01:00
emersion
6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-24 14:48:01 +01:00
Markus Ongyerth
f946c10cb1
re-adds wlr_output_update_enabled
...
Re-add the wlr_output_update_enabled to make sure
wlr_output::events.enable is called when the output enabled state
changes.
2018-01-24 10:23:48 +01:00
Markus Ongyerth
3cf7225cec
decouples outputenable state and wl_output global
...
This decouples wlr_output_enable and the wl_global.
The previously internal functions wlr_output_(destroy/create)_global are
exposed and used automatically in the wlr_output_layout to create/tear
down the global.
The compositor can handle them itself if it wants to, but I think this
is the right moment to create/destroy the wl_output when the
wlr_output_layout is used.
2018-01-23 17:40:12 +01:00
emersion
0365b587f0
output: add damage tracking via buffer age
2018-01-21 00:06:35 +01:00
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.
2018-01-20 16:43:14 +01:00
emersion
e29a0df8c1
output: fix software cursors damage tracking
2018-01-19 14:08:47 +01:00
emersion
a0f24b809e
output: add damage event
2018-01-19 13:13:46 +01:00
emersion
443bd4cd89
output: fullscreen surface damage tracking
2018-01-19 11:20:27 +01:00
emersion
f061a1da63
output: fix software cursor artifacts
2018-01-18 22:18:53 +01:00
emersion
59ba8f35ed
rootston: use surface damage
2018-01-18 21:34:10 +01:00
emersion
bde255933e
output: add wlr_output::damage, fixes #572
2018-01-18 19:47:21 +01:00
emersion
0eebaf98d0
drm: do not pageflip when enabling output
2018-01-15 21:49:37 +01:00
emersion
8ebd7d4dbe
output: rename resolution event to mode
2018-01-06 12:42:32 +01:00
emersion
d9ecfbaf32
Add wlr_output enable event
2018-01-04 14:51:36 +01:00
emersion
771263380c
Add wlr_output::enabled
2018-01-04 12:46:15 +01:00
Drew DeVault
b23bd8ea28
Merge pull request #544 from emersion/fix-views-outside-output-layout
...
Fix views outside output layout
2018-01-01 11:45:08 -05:00
emersion
9ac9ba861f
Free fullscreen surface and cursors when destroying output
2017-12-31 13:00:35 +01:00
emersion
1fe1d64042
Fix views outside output layout
2017-12-31 12:49:06 +01:00
Timidger
6e9cef4ed6
Don't send custom mode info twice on DRM refresh
2017-12-28 11:12:44 -06:00
Timidger
f56ce11aa0
Fixes #535 send mode info on DRM refresh once
...
When DRM refreshed, wlr_output_set_mode is called. It would then call
the DRM set_mode callback which sends the updated matrix and mode info.
However once that call completed it would then immediantly send the
information again. This is handled poorly by xwayland, causing it to
scale up the clients twice.
2017-12-28 11:12:44 -06:00
emersion
e737f65e38
Fix cursor on transformed output with DRM backend
2017-12-26 18:16:37 +01:00
emersion
01cefbb868
Output fixes
...
Fixes setting a hardware cursor image twice (used to fallback to
software cursor) and destroy handlers.
2017-12-19 11:06:09 +01:00
Tony Crisci
d654a12b2e
remove display_destroy unlisten before output free
2017-12-18 16:24:56 -05:00
Tony Crisci
c59210ad17
remove display destroy when output is destroyed
2017-12-18 15:10:32 -05:00
emersion
0256de0002
Add full refresh rate support to custom modes
2017-12-17 18:02:55 +01:00
Drew DeVault
95fddf2fa8
s/L_INFO/L_DEBUG/ @ software cursor fallback
2017-12-16 09:56:30 -05:00
emersion
80b0b327de
Remove fractional output PR artifact
2017-12-15 17:14:30 +01:00
emersion
51db087210
Introduce fractional scaling
2017-12-15 01:00:03 +01:00
Drew DeVault
23fb663ea4
Merge pull request #453 from emersion/surface-transform
...
Add surface transforms support
2017-12-14 14:43:04 -05:00
emersion
466e86b7b2
Merge branch 'master' into surface-transform
2017-12-14 20:31:18 +01:00
emersion
75ef7860bb
Merge branch 'master' into display-destroy
2017-12-14 20:29:30 +01:00
emersion
257559d890
Remove output instead of terminating display when a wayland backend view closed
2017-12-13 21:48:59 +01:00
emersion
3b4b8953d9
Update output layout when scale or transform changes
2017-12-12 21:58:00 +01:00
emersion
c67a5824b8
Merge branch 'master' into display-destroy
2017-12-11 16:14:03 +01:00
emersion
529675b7b0
Add wlr_output_set_custom_mode
2017-12-11 12:14:23 +01:00
emersion
15bb9a53b4
Fix unscaled cursor sx, sy
2017-12-08 14:40:57 +01:00
emersion
5dc303fc26
Fix client cursors hotspot on scaled outputs
2017-12-08 14:33:02 +01:00
emersion
c5fa415a03
Send wl_surface.{enter,leave} to cursor surfaces
2017-12-08 14:23:33 +01:00
emersion
0e066f0d76
Listen to display destroy in output
2017-12-07 01:12:04 +01:00
emersion
dac0233804
Send new output to clients when changing transform
2017-12-06 16:54:08 +01:00
emersion
bf2b58eb6d
Add wlr_output_set_scale
...
Fixes #465
2017-12-06 16:36:46 +01:00
emersion
6a69b4419f
Make wlr_output_transform_* functions public, refactoring
2017-12-01 09:15:33 +01:00
Tony Crisci
5d7eb438d9
Merge pull request #437 from emersion/fullscreen
...
Fullscreen support
2017-11-30 03:25:05 -05:00
emersion
0781f6e483
Fix initial hardware cursor position
2017-11-29 00:26:55 +01:00
emersion
cc2468923b
Fix non-HiDPI-aware fullscreen surface rendering in wlr_output
2017-11-21 21:12:12 +01:00
emersion
3262661e1e
Fix HiDPI support
2017-11-21 20:58:15 +01:00
emersion
5a664e1e46
Fix messed up outputs after fullscreen
2017-11-21 18:43:22 +01:00
emersion
dcb168914e
Merge branch 'master' into fullscreen
2017-11-21 18:34:12 +01:00
emersion
a268f57ed5
Forgot a call to glClear
2017-11-20 21:05:05 +01:00
emersion
54f1135c05
Fix fullscreen in xdg-shell
2017-11-20 20:53:13 +01:00
emersion
80998cdf57
Add support for fullscreen xwayland views
2017-11-20 17:58:26 +01:00
emersion
b04a9a248d
Initial fullscreen support
2017-11-20 17:27:36 +01:00
emersion
016744ef4d
Refactor wlr_list inside wlroots
2017-11-19 00:17:40 +01:00
emersion
bf1f461eba
Call wl_output_send_done when current mode is updated
2017-11-15 22:35:16 +01:00
Drew DeVault
2f6cfe4057
Fix software cursors on scaled outputs
...
There was an issue where it would only work within the boundaries of the
unscaled resolution.
2017-11-04 11:47:34 -04:00
Drew DeVault
6d8e1abfc0
Improve input sensitivity
...
We now use doubles until the last minute, which makes it so we can move
the pointer more precisely. This also includes a fix for tablet tools,
which move absolutely and sometimes do not update the X or Y axis.
2017-11-04 01:35:12 -04:00
Drew DeVault
86b8729998
Merge remote-tracking branch 'origin/master' into hidpi
2017-11-02 23:34:02 -04:00
Drew DeVault
ca8cf7d48d
Rethink HiDPI output layouts, fixes everything
...
Except for subsurfaces not rendering at the right scale. But that part
is (somewhat) easy.
2017-11-02 23:17:39 -04:00
emersion
f8de7aa0fd
Add checks for wl_resource_create
2017-11-02 23:14:24 +01:00
emersion
0384c9c094
Process surface position for software cursor hotspots
2017-11-02 19:24:48 +01:00
emersion
b46d2a8b33
Fix wlr_output_cursor_destroy
2017-11-02 11:42:42 +01:00
emersion
d11973ed7d
Fix disabled cursors
2017-11-02 11:37:43 +01:00
emersion
e18460c981
Add wlr_output.needs_swap
2017-11-01 20:08:15 +01:00
emersion
a15b35aa10
Remove mysterious hotspot switch in DRM backend
2017-11-01 14:36:58 +01:00
emersion
60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend
2017-11-01 14:25:41 +01:00
Drew DeVault
ed74f473d6
Fix various rebase-related bugs
2017-11-01 08:57:30 -04:00
Drew DeVault
8c0929cfb3
Fix backwards bit banging
2017-11-01 08:51:59 -04:00
Drew DeVault
c8f97a3a2c
Use surface matrix for software cursors
...
A similar change should probably be applied to hardware cursors, though
more complicated. Also, this doesn't actually fix the issue where the
cursor is too small when over a scale=2 surface. Apparently they don't
set their cursor scales to 2. Seems like a client bug? idk
2017-11-01 08:51:59 -04:00
Drew DeVault
a6930cd8ea
Handle output enter/leave correctly
2017-11-01 08:51:59 -04:00
Drew DeVault
9861add146
Send surface enter output events to clients
2017-11-01 08:50:33 -04:00
Drew DeVault
a7446792a1
Consider scale factor when rendering views
2017-11-01 08:44:07 -04:00
emersion
510ce27fb7
Re-enable hardware cursors
2017-11-01 11:01:18 +01:00
emersion
0beae99188
Apply output transformation to pointer events in Wayland backend
2017-11-01 11:00:27 +01:00
emersion
ec22fe7134
Make wlr_output_interface.enable optional
2017-10-31 15:19:55 +01:00
emersion
d2581eadbc
Assert mandatory impl fields in wlr_output_init
2017-10-31 15:08:45 +01:00
emersion
c97b5ac4ce
Fix output_cursor_render bounds check
2017-10-31 13:48:09 +01:00
emersion
9142def292
Do not render off-screen software cursors
2017-10-31 12:57:20 +01:00
emersion
ae9a46fc9b
Remove outdated TODOs, use wlr_surface_has_buffer
2017-10-31 12:30:57 +01:00
emersion
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend
2017-10-31 12:30:57 +01:00
emersion
95566c6bdf
Transform cursor hotspot, fix wayland cursor hotspot
2017-10-31 12:30:56 +01:00
emersion
6656e25fd4
Transform cursor hotspot
2017-10-31 12:30:56 +01:00
emersion
1b6c729360
Add wlr_output_cursor
2017-10-31 12:30:03 +01:00
emersion
eea532911a
Send output current mode when changed
2017-10-23 21:03:00 +02:00
emersion
1cc8f21d8e
Cleanup wlr_gamma_control
2017-10-22 23:11:26 +02:00
emersion
e1d213fccd
Create globals only for enabled outputs in DRM backend
2017-10-22 22:21:23 +02:00
emersion
4952a633ca
Remove interface version checks
2017-10-22 11:18:27 +02:00
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
2017-10-21 22:03:48 -04:00
Drew DeVault
169b68b17c
Rename remaining refs to wlr_list
2017-10-21 22:02:36 -04:00
Scott Anderson
37b8a096a9
Pass backend to render
2017-10-22 10:39:23 +13:00