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
5 years ago
Drew DeVault
736632ad4e
Remove wlr_wl_shell
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
emersion
1515c56cae
output: remove lx, ly
...
Fixes https://github.com/swaywm/wlroots/issues/1610
6 years ago
emersion
a800aa3fb4
rootston: disable then enable outputs when applying output-management state
6 years ago
emersion
ab3446091b
output-management-v1: update protocol, add set_custom_mode
6 years ago
emersion
8136605cfb
output-management-v1: support applying configuration
6 years ago
emersion
ee77a65fe3
rootston: update output-management-v1 state when output is modeset
6 years ago
emersion
54d6ba78c3
rootston: add output-management-v1 support
6 years ago
Guido Günther
b4f821ca31
rootston: Also iterate layer shell popups
...
Broken by 62fd03a7be
Closes : #1631
6 years ago
emersion
6a60dafe59
rootston: fix input events for rotated views
6 years ago
emersion
c2178d51a8
rootston: split rendering code into render.c
6 years ago
emersion
242e9e3bf0
rootston: fix Xwayland children rendering when fullscreen
6 years ago
emersion
bfaf06f04b
rootston: fix rotated views rendering
6 years ago
emersion
62fd03a7be
rootston: refactor rendering
...
This implements rootston surface iterators to ease rendering, sending
frame/presentation events and accumulating damage.
6 years ago
emersion
9adcbabea4
rootston: make roots_view embedded and remove unions
6 years ago
emersion
faa00a4a33
rootston: only allow one drag icon per seat
6 years ago
Greg V
57edfacba4
rootston: fix crash with fullscreen surfaces
...
Fixes fullscreen mode in e.g. RetroArch and ioquake3.
6 years ago
Timidger
9af0c5338f
Standardize the wlr_box input paramaters
...
Fixes #1094
6 years ago
Louis Taylor
0f3a061f60
rootston: use box for views position
6 years ago
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
6 years ago
emersion
ca770995cc
output: add wlr_output_render_software_cursors
...
Rendering in wlr_output_swap_buffers has unfortunate side-effects.
6 years ago
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.
6 years ago
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.
6 years ago
Drew DeVault
d7b010024a
Merge pull request #1261 from arandomhuman/damage-control
...
Fix damage tracking for surfaces with transforms
6 years ago
emersion
dec303bea6
surface: fix wlr_surface_get_effective_damage to give surface coords
...
Transforms were applied, but scale wasn't.
6 years ago
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
6 years ago
emersion
eac7c2ad2f
output: add presentation refresh prediction
6 years ago
emersion
abd3e995ab
rootston: send presentation events
6 years ago
emersion
ba63d77ec1
rootston: add output_for_each_surface
6 years ago
emersion
0aafd6e234
rootston: add layer_for_each_surface
6 years ago
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.
6 years ago
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
6 years ago
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.
6 years ago
emersion
fc960e5d06
layer-shell: add _v1 suffix
6 years ago
emersion
472476ebcf
Do not modeset disabled outputs
6 years ago
Ilia Bozhinov
4486b52aa8
move wlr_drm_connector_add_mode to wlr/backend/drm.h
6 years ago
emersion
7cbef15206
util: add wlr_ prefix to log symbols
7 years ago
Drew DeVault
be54278207
Merge pull request #1095 from agx/output-add-mode
...
Allow to add additional modes to outputs
7 years ago
Guido Günther
60a83e99f4
rootston: use wl_list_empty instead of wl_list_length > 0
7 years ago
Guido Günther
709d7dd722
rootston: Handle modeline parameter
...
This allows to pass custom modes.
7 years ago
emersion
78555abba3
surface: move position and scale out of wlr_surface_state
7 years ago
emersion
233bfe2f4f
surface: do not monkey-patch state damage
7 years ago
emersion
3c0d672ebd
surface: make pending and current embedded structs
7 years ago
emersion
8c2b4244a1
Fix damage tracking debug mode
7 years ago
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.
7 years ago
emersion
e849a68e6e
output: correctly clear screen when fullscreened
7 years ago
emersion
6436ce6300
rootston: remove outdated comment
7 years ago