Simon Ser
ee5f98ad49
output: atomic mode, enabled, scale and transform
...
This commit makes more output properties (mode, enabled, scale and transform)
atomic. This means that they are double-buffered and only applied on commit.
Compositors now need to call wlr_output_commit after setting any of those
properties.
Internally, backends still apply properties sequentially. The behaviour should
be exactly the same as before. Future commits will update some backends to take
advantage of the atomic interface. Some backends are non-atomic by design, e.g.
the X11 backend or the legacy DRM backend.
Updates: https://github.com/swaywm/wlroots/issues/1640
2019-08-02 10:01:29 -04:00
Drew DeVault
736632ad4e
Remove wlr_wl_shell
2019-04-26 18:23:25 +03:00
Simon Ser
56ceed38bf
rootston: use wlr_output_preferred_mode
...
Also fix rootston setting the preferred mode when another mode is specified in
the config file.
2019-04-22 11:15:38 -06:00
Alyssa Ross
95b22619e0
Fix missing headers when building without X11
...
The deleted includes are redundant, because other headers will include
the necessary files. Additionally, they cause build failures, because
including EGL/egl.h or EGL/eglext.h directly, instead of through
wlr/render/egl.h or wlr/render/interface.h, will mean that
MESA_EGL_NO_X11_HEADERS will not have been defined, and so the EGL
headers will attempt to pull in unnecessary X11 headers that may not
exist on the system.
For the headers produced by glgen.sh, the includes couldn't simply be
deleted, because no other header would include the EGL headers. Neither
wlr/render/egl.h or wlr/render/interface.h felt appropriate to include,
so I opted instead to copy the MESA_EGL_NO_X11_HEADERS definition before
the EGL includes.
2019-04-22 00:04:08 +03:00
Ilia Bozhinov
7a2f929201
rootston: remove disabled outputs from the output layout
...
We should also be careful when using wlr_output_layout_get_box(), since
it may return null.
2019-04-13 19:31:37 +03:00
emersion
1515c56cae
output: remove lx, ly
...
Fixes https://github.com/swaywm/wlroots/issues/1610
2019-04-13 08:31:30 -06:00
emersion
a800aa3fb4
rootston: disable then enable outputs when applying output-management state
2019-04-11 09:19:57 -06:00
emersion
ab3446091b
output-management-v1: update protocol, add set_custom_mode
2019-04-11 09:19:57 -06:00
emersion
8136605cfb
output-management-v1: support applying configuration
2019-04-11 09:19:57 -06:00
emersion
ee77a65fe3
rootston: update output-management-v1 state when output is modeset
2019-04-11 09:19:57 -06:00
emersion
54d6ba78c3
rootston: add output-management-v1 support
2019-04-11 09:19:57 -06:00
Guido Günther
b4f821ca31
rootston: Also iterate layer shell popups
...
Broken by 62fd03a7be
Closes : #1631
2019-03-24 09:19:36 -06:00
emersion
6a60dafe59
rootston: fix input events for rotated views
2019-03-02 09:37:05 -07:00
emersion
c2178d51a8
rootston: split rendering code into render.c
2019-03-02 09:37:05 -07:00
emersion
242e9e3bf0
rootston: fix Xwayland children rendering when fullscreen
2019-03-02 09:37:05 -07:00
emersion
bfaf06f04b
rootston: fix rotated views rendering
2019-03-02 09:37:05 -07:00
emersion
62fd03a7be
rootston: refactor rendering
...
This implements rootston surface iterators to ease rendering, sending
frame/presentation events and accumulating damage.
2019-03-02 09:37:05 -07:00
emersion
9adcbabea4
rootston: make roots_view embedded and remove unions
2019-02-23 15:24:28 +01:00
emersion
faa00a4a33
rootston: only allow one drag icon per seat
2019-01-30 15:24:18 +01:00
Greg V
57edfacba4
rootston: fix crash with fullscreen surfaces
...
Fixes fullscreen mode in e.g. RetroArch and ioquake3.
2019-01-04 16:13:04 +03:00
Timidger
9af0c5338f
Standardize the wlr_box input paramaters
...
Fixes #1094
2018-12-21 13:56:10 -05:00
Louis Taylor
0f3a061f60
rootston: use box for views position
2018-12-05 19:20:50 +00:00
emersion
6aaefad40d
output: switch swap_buffers damage to output-buffer-local coords
...
This is one more step towards [1]. This gives more freedom to the compositor
wrt. how it handles damage.
[1]: https://github.com/swaywm/wlroots/issues/1363
2018-12-01 10:56:35 +01:00
emersion
ca770995cc
output: add wlr_output_render_software_cursors
...
Rendering in wlr_output_swap_buffers has unfortunate side-effects.
2018-11-13 16:55:33 +01:00
emersion
57307b7aa7
output: remove wlr_output_set_fullscreen_surface
...
This wasn't using direct scan-out. Direct scan-out will probably
work differently with @ascent12's work anyway.
2018-11-13 16:55:33 +01:00
emersion
51bfdd620e
Use #if instead of #ifdef for wlroots config data
...
This prevents some annoying issues when e.g. not including wlr/config.h or
making a typo in the guard name.
2018-11-12 10:12:46 +01:00
Drew DeVault
d7b010024a
Merge pull request #1261 from arandomhuman/damage-control
...
Fix damage tracking for surfaces with transforms
2018-11-04 14:31:17 +01:00
emersion
dec303bea6
surface: fix wlr_surface_get_effective_damage to give surface coords
...
Transforms were applied, but scale wasn't.
2018-11-04 11:13:10 +01:00
Guido Günther
175ccc2517
rootston: Don't let the wlr_output handle the fullscreen view in case of layer-shell overlays
...
Otherwise the overlays will no tbe drawn.
Closes : #1300
2018-10-17 16:59:06 +02:00
emersion
eac7c2ad2f
output: add presentation refresh prediction
2018-10-04 22:00:24 +02:00
emersion
abd3e995ab
rootston: send presentation events
2018-10-04 22:00:23 +02:00
emersion
ba63d77ec1
rootston: add output_for_each_surface
2018-10-04 22:00:23 +02:00
emersion
0aafd6e234
rootston: add layer_for_each_surface
2018-10-04 22:00:23 +02:00
random human
3e0a0f3c3a
wlr_surface: add wlr_surface_get_effective_damage
...
This calculates and returns the effective damage of the surface in
surface coordinates, including the client damage (in buffer
coordinates), and damage induced by resize or move events.
2018-10-04 02:19:09 +05:30
emersion
dac4f8e19f
pointer-constraints: refactoring
...
* Rename the constraint_create signal to new_constraint for
consistency
* Move the constraint_destroy signal to the constraint itself
* Use rotate_child_position instead of duplicating logic
* Fix inert constraint resource handling
* Style fixes
2018-09-27 10:25:59 +02:00
random human
971cbeaa19
wlr_surface: fix surface damage transformation
...
Damage tracking on transformed surfaces now work (see
"weston-simple-damage --rotation=90"), using either of buffer or surface
damage.
2018-09-24 22:03:41 +05:30
emersion
fc960e5d06
layer-shell: add _v1 suffix
2018-09-14 19:32:33 +02:00
emersion
472476ebcf
Do not modeset disabled outputs
2018-09-01 18:30:41 +02:00
Ilia Bozhinov
4486b52aa8
move wlr_drm_connector_add_mode to wlr/backend/drm.h
2018-08-13 10:55:42 +03:00
emersion
7cbef15206
util: add wlr_ prefix to log symbols
2018-07-09 22:49:54 +01:00
Drew DeVault
be54278207
Merge pull request #1095 from agx/output-add-mode
...
Allow to add additional modes to outputs
2018-07-07 08:58:17 -07:00
Guido Günther
60a83e99f4
rootston: use wl_list_empty instead of wl_list_length > 0
2018-07-07 17:31:42 +02:00
Guido Günther
709d7dd722
rootston: Handle modeline parameter
...
This allows to pass custom modes.
2018-07-07 17:31:42 +02:00
emersion
78555abba3
surface: move position and scale out of wlr_surface_state
2018-07-04 19:12:17 +01:00
emersion
233bfe2f4f
surface: do not monkey-patch state damage
2018-07-04 19:12:17 +01:00
emersion
3c0d672ebd
surface: make pending and current embedded structs
2018-07-04 19:12:17 +01:00
emersion
8c2b4244a1
Fix damage tracking debug mode
2018-07-04 15:37:04 +01:00
emersion
0378d143d9
surface: remove wlr_surface.texture
...
The texture is managed by the surface's wlr_buffer now. In
particular, the buffer can destroy the texture early if it becomes
invalid.
2018-06-13 19:38:10 +01:00
emersion
e849a68e6e
output: correctly clear screen when fullscreened
2018-05-20 13:44:18 +01:00
emersion
6436ce6300
rootston: remove outdated comment
2018-05-08 15:51:21 +01:00