Drew DeVault
f444a0d14c
Implement layer surface damage
2018-03-27 18:50:32 -04:00
Drew DeVault
4bf936360d
Arrange & render layer surfaces
2018-03-27 18:50:09 -04:00
Dominique Martinet
a0b52a0dff
Fix x11 backend
...
Need to include wlr/config.h before using the various WLR_HAS_xxx defines
2018-03-27 09:20:21 +02:00
Drew DeVault
891610081f
Merge pull request #751 from emersion/rotated-surface-damage
...
Fix damage tracking for rotated surfaces
2018-03-26 18:05:35 -04:00
emersion
140bc19476
rootston: add -D flag to enable damage tracking debugging
2018-03-26 17:34:46 -04:00
emersion
4555fc8a54
Fix damage tracking for rotated surfaces
...
It was broken because the damage extents were rotated about its
own center, not about the center of the surface.
This adds a new wlr_region_rotated_bounds that rotates regions.
This allows us to have only one code path (for both non-rotated
views and rotated views) and optimizes rendering for rotated
views.
2018-03-26 15:31:08 -04:00
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses
2018-03-26 12:41:51 -04:00
emersion
a854c2f246
Merge branch 'master' into gles2-renderer-redesign
2018-03-23 00:55:55 +01:00
Dominique Martinet
d9a3c66942
rootston/output: fix leak in damage_from_surface
2018-03-22 21:25:41 +01:00
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
2018-03-21 07:37:09 +01:00
Dominique Martinet
a491f780b8
rootston rotation: change view->rotation sign
...
The convetion with wlr_matrix changed and it's a good time to remove
all these pesky minus signs
2018-03-18 09:19:09 +01:00
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
...
Matrix redesign
2018-03-17 15:22:00 -04:00
emersion
824a95ad19
matrix: use 2D matrices
2018-03-15 15:33:58 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers
2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/
2018-03-15 09:11:27 +01:00
emersion
e74ddaaf10
xdg-shell-v6: redesign the configure/ack_configure workflow
2018-03-13 19:57:21 +01:00
emersion
3f072bedd9
xdg-shell-v6: add map signal
2018-03-10 11:18:50 +01:00
Markus Ongyerth
14bb550bff
set alpha to 1.0 for drag icons
2018-02-27 18:18:39 +01:00
Markus Ongyerth
333110515e
set fullscreen alpha to 1
2018-02-27 10:55:05 +01:00
Guido Günther
202a728ee9
rootstion: handle alpha in server side decorations
2018-02-25 16:53:36 +01:00
Guido Günther
e2ea1ebe48
rootston: Add alpha channel to views
2018-02-25 16:53:36 +01:00
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
emersion
69409ea3cb
Merge pull request #654 from emersion/send-frame-done
...
rootston: send frame done events unconditionally
2018-02-23 18:55:18 +01:00
emersion
ca3a947864
rootston: fix user-after-free in output_handle_destroy
2018-02-23 10:29:18 +01:00
emersion
00e647e161
rootston: fix sending frame done to undefined view
2018-02-20 16:32:29 +01:00
emersion
dc77b4c8c6
rootston: don't send frame done if wlr_output manages the surface
2018-02-20 16:17:23 +01:00
emersion
6f8eca2b3a
rootston: send frame done events unconditionally
2018-02-20 15:33:48 +01:00
Dominique Martinet
7d26a6debd
xdg-shell stable: copy-pasta implementation
2018-02-14 12:52:30 +01:00
emersion
c2e1474010
Reformat all #include directives
2018-02-12 21:29:23 +01:00
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
2018-02-12 10:36:43 +01:00
emersion
ec837e3c9e
Introduce wlr_output_damage
2018-02-11 12:49:30 +01:00
emersion
1cea73d2d8
rootston: fix rotated views damage tracking
2018-02-04 11:59:04 +01:00
emersion
6ba36cc52f
rootston: do not rely on current view size when accumulating damage
2018-02-03 16:33:58 +01:00
emersion
ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color
2018-02-03 09:32:02 +01:00
emersion
402587ed65
rootston: use output renderer
2018-02-03 09:25:35 +01:00
emersion
5aa642485d
rootston: do not render views fullscreened on other outputs
2018-02-02 20:39:15 +01:00
emersion
4d6e7f510e
rootston: fix artifacts when leaving fullscreen in a rotated view
2018-02-02 20:34:46 +01:00
emersion
a7cba7d83f
rootston: damage whole output when entering/leaving fullscreen
2018-01-30 14:40:22 +01:00
emersion
2a855e6282
rootston: fix urxvt damage on HiDPI outputs
...
util/region: add wlr_region_expand
2018-01-30 12:01:10 +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
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