Commit Graph

222 Commits

Author SHA1 Message Date
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 20e6861021
Do not flush damage if swapping buffers failed
This should solve issues with multiple outputs on DRM backend.
2018-01-28 22:39:24 +01:00
emersion be888df4c3
rootston: fix build without xwayland 2018-01-28 21:38:29 +01:00
emersion 1ee61dbd0f
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-28 21:22:50 +01:00
Patrick Steinhardt 52cb19d99d rootston: fix compilation without XWayland support
In case wlroots is not being compiled with XWayland support, we will not
have an xwayland surface in our roots view. While we make sure to pay
attention to that in some places, we are not being consistent and try to
access the xwayland surface in other places. Obviously, this leads to a
compiler error due to the field not being present.

Fix the issue by sprinkling in a few additional ifdefs where required.
2018-01-28 12:07:15 +00:00
emersion 692d33bf8b
rootston: fix clipped SSD for rotated views 2018-01-28 12:14:23 +01:00
emersion 7adf13e284
Fix flickering when switching VT 2018-01-27 11:16:42 +01:00
emersion 7111dd79ef
rootston: damage tracking for rotated views 2018-01-27 10:43:17 +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 4223fbc763
rootston: damage tracking scale support 2018-01-25 19:15:20 +01:00
emersion 3f96427d08
Merge branch 'output-damage' of github.com:emersion/wlroots into output-damage 2018-01-24 18:49:47 +01:00
emersion 6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-24 14:48:01 +01:00
emersion 2ad7df8680
rootston: damage tracking for drag icons 2018-01-23 20:01:40 +01:00
emersion 415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor 2018-01-22 16:42:22 +01:00
Tony Crisci 85a6939cf2 rename matrix model box to project box 2018-01-21 19:03:10 -05:00
Tony Crisci 4183271475 make it work with rotation 2018-01-21 18:24:53 -05:00
emersion f704c3d42b
rootston: fix damage tracking for fullscreen xwayland views 2018-01-21 22:08:38 +01:00
Tony Crisci d13114520a move matrix model code to matrix.h 2018-01-21 15:53:42 -05:00
emersion 66ae4071a7
rootston: damage tracking for xdg popups 2018-01-21 21:06:37 +01:00
emersion a636d72fc7
rootston: track subsurface damage 2018-01-21 14:50:37 +01:00
emersion c6aab6f56c
Add docs and comments 2018-01-21 11:11:25 +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 d6c74d8a16
rooston: restrict damage to output extents 2018-01-19 14:32:42 +01:00
emersion e29a0df8c1
output: fix software cursors damage tracking 2018-01-19 14:08:47 +01:00
emersion b296481007
rootston: remove repaint timer, listen for damage instead 2018-01-19 13:14:16 +01:00
emersion 7f9f918b78
rootston: damage output on mode change 2018-01-19 11:31:04 +01:00
emersion 977a401fa1
rootston: damage tracking for fullscreen views 2018-01-19 11:04:12 +01:00
emersion 59ba8f35ed
rootston: use surface damage 2018-01-18 21:34:10 +01:00
emersion 3ba447a8f9
rootston: fix damage test 2018-01-18 20:08:26 +01:00
emersion bed7522108
rootston: fix segfault when destroying unmapped xwayland view
This happens when closing chromium for instance.
2018-01-18 19:50:34 +01:00
emersion bde255933e
output: add wlr_output::damage, fixes #572 2018-01-18 19:47:21 +01:00
emersion baa17ec755
rootston: damage whole output when created 2018-01-18 18:57:11 +01:00
emersion 8b3f3ddb7f
rootston: fix double-buffering artifacts 2018-01-18 17:18:21 +01:00
emersion 7c11d3e372
rootston: fix repaint timer for outputs with refresh rate 2018-01-18 16:36:49 +01:00
emersion 96d6f34edd
rootston: replace view_damage with view_apply_damage and view_damage_whole 2018-01-18 16:30:56 +01:00
emersion 7f5a538cb7
rootston: fix segfault when rendering surface outside output 2018-01-18 14:50:30 +01:00
emersion 5017d7f762
rootston: only draw damaged regions 2018-01-18 14:36:42 +01:00
emersion 01bcc2ab01
rootston: damage views when moved 2018-01-18 12:25:39 +01:00
emersion 5089f2d9fb
rootston: do not swap buffers when output isn't damaged 2018-01-18 11:42:54 +01:00
emersion 1a084807ce
rootston: do not redraw if output has no damage 2018-01-18 03:31:46 +01:00
Tony Crisci 3751a17321 decorate xwayland views 2018-01-16 07:51:10 -05:00
Tony Crisci dc701b72fc abstract box matrix 2018-01-16 07:14:47 -05:00
Drew DeVault b331c5c2c5
Merge pull request #549 from emersion/output-enabled
Add wlr_output::enabled
2018-01-15 20:53:13 -05:00
emersion 65b28b3823
xwayland: render children window in fullscreen 2018-01-14 18:19:37 +01:00
emersion 77fc0505e6
rootston: do not attempt to render disabled outputs 2018-01-07 00:30:55 +01:00
emersion be3a7b0017
Disable outputs in rootston config 2018-01-04 15:48:28 +01:00
emersion 1fe1d64042
Fix views outside output layout 2017-12-31 12:49:06 +01:00
emersion 466e86b7b2
Merge branch 'master' into surface-transform 2017-12-14 20:31:18 +01:00
emersion 3b4b8953d9
Update output layout when scale or transform changes 2017-12-12 21:58:00 +01:00
emersion 529675b7b0
Add wlr_output_set_custom_mode 2017-12-11 12:14:23 +01:00
Tony Crisci b275d44bc3 rootston xcursor fixes 2017-12-09 12:10:09 -05:00
emersion 91d72040e5
Configure outputs with make, model, serial in rootston
Added fallbacks in DRM backend in case EDID extension data for model and serial is missing.

Updates #403
2017-12-07 13:59:19 +01:00
emersion bf2b58eb6d
Add wlr_output_set_scale
Fixes #465
2017-12-06 16:36:46 +01:00
emersion eb763439f7
optimize a bit rootston renderer if there's no surface transform 2017-12-01 16:20:09 +01:00
emersion d1b29a54b9
Refactor: rename matrices in rootston 2017-12-01 16:13:24 +01:00
emersion f4754ad1a2
Fix surface transforms 2017-11-30 23:58:12 +01:00
emersion 9e29621ec3
Always center fullscreen view on screen 2017-11-21 10:14:50 +01:00
emersion 5a8bbc6203
Fix GCC build 2017-11-20 20:54:54 +01:00
emersion 54f1135c05
Fix fullscreen in xdg-shell 2017-11-20 20:53:13 +01:00
emersion abab2902f5
Check for subsurfaces and popups before using wlr_output_set_fullscreen_surface 2017-11-20 19:45:10 +01:00
emersion b04a9a248d
Initial fullscreen support 2017-11-20 17:27:36 +01:00
Tony Crisci 4d6b3618b8 rootston: remove unmapped surface from desktop 2017-11-20 07:40:22 -05:00
emersion 76e8e1a6ad
Merge branch 'master' into seat-views 2017-11-19 17:56:26 +01:00
Tony Crisci 3b74db467b data-device: wlr-drag-icon 2017-11-19 09:33:55 -05:00
emersion 72d877658a
Merge branch 'master' into seat-views 2017-11-18 22:18:25 +01:00
emersion bb6d34e7a5
rootston: add per-seat views 2017-11-17 12:45:07 +01:00
Tony Crisci 12758a00a2 rootston: touch to focus 2017-11-15 08:34:48 -05:00
Tony Crisci ac4841ba37 put dnd icon in the right place 2017-11-15 08:34:48 -05:00
Tony Crisci 6a516f7c41 basic touch dnd 2017-11-15 08:34:48 -05:00
emersion 3f6cf517b9
Add wlr_xdg_surface_v6_popup_get_position 2017-11-15 14:03:13 +01:00
emersion bb973ff27d
Remove remaining buffer_{width,height} usage 2017-11-14 21:18:34 +01:00
emersion 2f44140f4a
Don't use buffer size 2017-11-14 15:33:29 +01:00
emersion 94b20da3ce
Fix popups position for rotated views 2017-11-14 10:20:20 +01:00
emersion f8b43940b1
Merge branch 'master' into cursor-scale 2017-11-12 22:12:50 +01:00
emersion 28fc813ca9
Merge branch 'master' into cursor-scale 2017-11-12 21:16:45 +01:00
emersion 454bea678b
Fix rendering of rotated views on HiDPI outputs 2017-11-12 12:54:45 +01:00
emersion 8605243459
Introduce wlr_xcursor_manager 2017-11-12 11:10:56 +01:00
emersion 2dccb11741
rootston: keep one xcursor_theme per seat 2017-11-11 23:53:45 +01:00
emersion 09279b90a6
Add wlr_output.serial 2017-11-11 19:09:34 +01:00
emersion aaf0691883
rootston: add roots_xcursor_theme
roots_xcursor_theme loads multiple wlr_xcursor_theme at different scales.
2017-11-11 18:42:14 +01:00
Tony Crisci 1db3b55128 rootston: prefix config structs and functions 2017-11-11 10:59:04 -05:00
Tony Crisci 2a9dc60f28 Merge branch 'master' into feature/multiseat 2017-11-11 09:59:39 -05:00
Tony Crisci 09c6092423 multiseat: somewhat working 2017-11-07 15:56:11 -05: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
Drew DeVault 7f76f46318 Adjust rendering to compensate for disparate scale
Something about my math is off, but I'm not certain what. Would
appreciate a second opinion.
2017-11-01 08:51:59 -04:00
Drew DeVault a7446792a1 Consider scale factor when rendering views 2017-11-01 08:44:07 -04:00
Tony Crisci 1a756b3123 bugfix: dnd force cancel 2017-11-01 08:05:02 -04:00
emersion ae9a46fc9b
Remove outdated TODOs, use wlr_surface_has_buffer 2017-10-31 12:30:57 +01:00
emersion c45f2eef0e
Fix rootston 2017-10-31 12:30:06 +01:00
Drew DeVault 50e86a0efa Allow configuring output mode in rootston
Fixes #336
2017-10-28 15:32:08 -04:00
emersion ec5beeb8b8
Move xcursor stuff into its own file 2017-10-27 19:09:38 +02:00
Tony Crisci 1dbe314937 Merge branch 'master' into feature/data-device-selection 2017-10-24 07:57:36 -04:00
Drew DeVault 16f35ecbea Merge branch 'master' into heghe/wl_list 2017-10-21 22:03:48 -04:00
Tony Crisci 6fcac087fe rootston: remove mostly unused mapped icon param 2017-10-21 09:59:35 -04:00
Tony Crisci 3c7ef3aae6 Merge branch 'master' into feature/data-device-selection 2017-10-21 09:43:24 -04:00
emersion c8570d0e42
Remove wl_list_init when using wl_signal_add 2017-10-21 12:35:51 +02:00
Heghedus Razvan 1d716241af Replace list_t with wl_list in wlr_output
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:46:09 +03:00
Tony Crisci c00a94ca76 data-device: fix drag icon position 2017-10-17 17:21:11 -04:00
Tony Crisci df0a8d3abe wlr-data-device: drag icons 2017-10-15 11:06:03 -04:00
Drew DeVault bf5299a3a5 Merge pull request #252 from myfreeweb/freebsd-compat
Add FreeBSD compatibility
2017-10-11 08:54:28 -04:00
Greg V a5fe9aa736 Add FreeBSD compatibility 2017-10-11 00:07:21 +03:00
Tony Crisci f7e7f6271d wl-shell: cleanup 2017-10-10 11:13:11 -04:00
Tony Crisci d4c065e59b wl_shell: map transient surfaces closer to parent 2017-10-10 08:39:08 -04:00
Tony Crisci cd1204f71f wl-shell: render popups in the right place 2017-10-10 08:39:08 -04:00
Versus Void a6db47196c Upload texture on surface commit 2017-10-10 11:18:38 +03:00
Tony Crisci 4f848000af Merge branch 'master' into feature/xdg-popup 2017-10-07 13:04:04 -04:00
Tony Crisci 4657f10dd2 Merge branch 'master' into feature/xdg-popup 2017-10-06 07:04:27 -04:00
Versus Void 641d08ce7e Transform hotspot with cursor
Fix #188
2017-10-06 09:07:08 +03:00
Drew DeVault 7d57c1463d Fix #210 2017-10-05 14:55:55 -04:00
Drew DeVault d74a6d254f Merge pull request #198 from emersion/rootston-move-resize-rotate
rootston: force move, resize and rotate
2017-10-05 13:12:29 -04:00
Versus Void c5df6ca900 Fix memory leaks 2017-10-05 20:01:56 +00:00
emersion 1a775adbde
rootston: fix rotated subsurfaces 2017-10-04 23:05:57 +02:00
emersion 9b88f25208
rootston: rotate views! 2017-10-03 21:06:32 +02:00
Tony Crisci e003296c23 xdg-popup: render popups in the right place 2017-10-02 19:10:36 -04:00
Tony Crisci 8c2e1ed3e6 rootston: render subsurfaces 2017-09-30 10:09:16 -04:00
Tony Crisci 2e8543cac0 update rootston for surface changes 2017-09-30 08:55:40 -04:00
Drew DeVault ada7fde6fb DRY up focus and implement z ordering 2017-09-28 19:48:55 -04:00
Drew DeVault 57c50c78f0 Implement wlr_cursor in rootston 2017-09-23 14:53:15 -04:00
Drew DeVault e81e99d16d Render XDG shell surfaces 2017-09-23 11:13:18 -04:00
Drew DeVault b6d7c3ed8e Initialize display, backend; add frame handling 2017-09-23 00:30:39 -04:00