Drew DeVault
97af2464b7
Update Wayland backend to xdg-shell stable
6 years ago
emersion
180151ed09
backend/wayland: handle WL_EVENT_WRITABLE for Wayland socket
...
We need to flush when the connection is writable again. This is important in
case the write buffer becomes full. This is also what Weston does [1].
[1]: https://gitlab.freedesktop.org/wayland/weston/blob/master/libweston/compositor-wayland.c#L2593
6 years ago
Scott Anderson
aaff4b8c00
backend/wayland: Make header order consistent
6 years ago
Scott Anderson
bbce92a923
backend/wayland: Move initilisation code earlier
...
The renderer redesign is going to need the render fd before the backend
is fully started, so we have to move the wl registry code to when the
backend is created instead of when it is started.
We also need to stash the wl_keyboard and emit it to library users
later, once they've added their listeners and started the backend.
6 years ago
Scott Anderson
47545cf550
backend/wayland: Use specific wl_global versions
...
Explicitly use the version we support instead of accepting the
compositor's version.
6 years ago
Scott Anderson
4e03802057
backend/wayland: Move registry into backend
...
Registry was a very small file, and is heavily related to the backend,
so there is not point in keeping them separate.
6 years ago
emersion
e98cb7c5ab
backend/wayland: add assertions
6 years ago
emersion
7cbef15206
util: add wlr_ prefix to log symbols
7 years ago
Ilia Bozhinov
24cf70ae96
backends: implement custom EGL and renderer initialization
...
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.
Fixes #987
7 years ago
emersion
9e3dd6b560
backend/wayland: fix segfault when destroying backend before starting it
7 years ago
emersion
225d182765
output: always use hardware cursors if available
...
This changes the `wlr_output_impl.set_cursor` function to take a
`wlr_texture` instead of a byte buffer. This simplifies the
DRM and Wayland backends since they were creating textures from
the byte buffer anyway.
With this commit, performance should be improved when moving the
cursor since outputs don't need to be re-rendered anymore.
7 years ago
emersion
9f8a7c8fc4
backend/wayland: create one virtual pointer per output
7 years ago
emersion
57c36ddcb3
backend/wayland: add proper error handling to wlr_wl_backend_create
7 years ago
Drew DeVault
fecb971518
Merge pull request #902 from emersion/various-memory-leaks
...
Various memory leaks
7 years ago
emersion
cd9f25711c
backend: destroy renderer when destroying backend
7 years ago
emersion
625a7a48dc
Don't use the wlr_ prefix for static functions
7 years ago
emersion
71ca45e2c0
Make sure we don't use others' prefixes
7 years ago
emersion
b0d99f5c67
Remove wlr_ prefix from local symbols
7 years ago
emersion
d2ebbd103c
backend: remove wlr_backend_get_egl
7 years ago
emersion
33a2eb4b77
Untie wlr_backend from wlr_renderer
7 years ago
Drew DeVault
1d9be89e2d
Revert "ELF Visibility"
7 years ago
Scott Anderson
86269052eb
Explicitly export EFL symbols
7 years ago
emersion
c2e1474010
Reformat all #include directives
7 years ago
emersion
36ead80cd1
Make wlr_signal_emit_safe private
7 years ago
emersion
5e58d46cc1
Add wlr_signal_emit_safe
7 years ago
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.
7 years ago
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
...
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
7 years ago
Johannes Schramm
dcc743047b
style: include brackets for if/while/for, even if it's a single statement
7 years ago
Markus Ongyerth
c00e9d1416
adds remote argument to wayland backend create
...
Add a remote display name argument to wlr_wl_backend_create.
If NULL is passed to the wayland backend at all times, creating a
wayland backend *after* the compositor was started up, would require
changing the WAYLAND_DISPLAY environment variable.
7 years ago
emersion
b99d1f4fcc
Refactor wlr_egl_init to accept config_attribs
7 years ago
emersion
75ef7860bb
Merge branch 'master' into display-destroy
7 years ago
emersion
a1302cc4a5
Fix pointer events with multiple outputs in wayland backend
7 years ago
emersion
18eb1eee3f
Listen to display destroy in xwayland, rename wlr_egl_free
7 years ago
emersion
9d43adaafa
Listen to display destroy in backends
7 years ago
emersion
7d847efe40
Terminate local display on remote X11 server error
7 years ago
emersion
73c48f2f35
Terminate local display on remote Wayland display error
7 years ago
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
7 years ago
Scott Anderson
9b984253e2
Move egl.h to render/egl.h
7 years ago
Heghedus Razvan
d3f0878d71
Replace list_t with wl_list in wlr_wl_backend
...
Now wlr_backend->outputs is a list of wlr_wl_backend_output instead of
wlr_output.
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
Scott Anderson
517ba0bc16
Change egl_get_config to always use visual id
7 years ago
Drew DeVault
0699aa62d8
Initial pass on roots_input
7 years ago
Drew DeVault
b6d7c3ed8e
Initialize display, backend; add frame handling
7 years ago
Dominique Martinet
062d923b0a
wayland backend: wl_event_source_remove on destroy
7 years ago
Dominique Martinet
577d2f6fcd
wayland backend: switch to xdg shell
...
Closes #72 and #96 .
7 years ago
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
7 years ago
Drew DeVault
4386816889
wlr_backend_init -> wlr_backend_start
...
Also renames create to init. We'll use create for anything that
allocates and init for anything that takes a pointer and initializes it.
7 years ago
Dominique Martinet
f2e2794365
wayland backend: do not watch wayland fd for writable
...
Wayland fd is always writable and will busy-loop.
The dispatch function gets called with 0-mask when we need to flush
display anyway, so this saves CPU at no visible impact.
7 years ago
Drew DeVault
81cd90297d
Refactor out wlr_backend_state from wl/multi
7 years ago
Dominique Martinet
3ea878b76e
wayland backend: free seatName
7 years ago
Drew DeVault
c24351681f
Refactor EGL handling
7 years ago
nyorain
67369173aa
Implement drm (egl) buffer attaching
7 years ago
nyorain
272030652a
Implement absolute motion events for wayland
8 years ago
nyorain
c1520077b6
Implement wayland backend input events
8 years ago
Drew DeVault
f4453d104d
Reorganize wlr-common
8 years ago
Drew DeVault
fd91244e83
Update everyone to use new headers
8 years ago
Drew DeVault
c2d0090ad7
Support multiple wl backend outputs
8 years ago
Drew DeVault
b9d36c8149
Add dynamic output resizing for Wayland backend
...
This allows outputs to:
- Not support modesetting
- Resize themselves
8 years ago
nyorain
51f35e7af0
Cleanup some leaks/incorrect destructions
8 years ago
nyorain
50ce35e9da
Implement wayland backend output
8 years ago
nyorain
e22626ef6a
Adapt codestyle
8 years ago
nyorain
792d535225
Rework wayland backend output implementation
8 years ago
nyorain
10526de444
Fix furhter wayland backend issues
8 years ago
nyorain
8fbf1ca3ff
Continue wayland backend update
...
Update wayland backend to new api.
Start to use the input interfaces.
Compiling now, not tested.
8 years ago
nyorain
904739c405
Start to fix wayland backend
...
Starts to update the wayland backend to the new backend api.
Not yet updated to libinput branch (not yet compiling).
8 years ago
Drew DeVault
1aed987301
Add free functions for allocated resources
8 years ago
Drew DeVault
5ca9d612f4
Flesh out wayland backend registry
8 years ago
Drew DeVault
de01e654ce
Flesh out wayland backend somewhat, add example
8 years ago
Drew DeVault
52e6ed54cb
Initial commit
8 years ago