Dominique Martinet
1940c6bbd9
wayland backend: fix width/height == 0 check
...
We cannot handle just one of the two being NULL later down the road
(e.g. divide by zero in matrix projection code),
just ignore any such configure request.
Found through static analysis
7 years ago
emersion
198ad27bd5
backend/wayland: print output name in window title
7 years ago
emersion
13098a18ea
Fix hardware cursors scale & transform
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
ddac792b61
backend/wayland: only set one pointer listener
7 years ago
emersion
9f8a7c8fc4
backend/wayland: create one virtual pointer per output
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
eaed6bd03b
render/egl: add wlr_egl_destroy_surface
7 years ago
emersion
c63d94483b
Redesign wlr_texture
...
- Textures are now immutable (apart from those created from raw
pixels), no more invalid textures
- Move all wl_drm stuff in wlr_renderer
- Most of wlr_texture fields are now private
- Remove some duplicated DMA-BUF code in the DRM backend
- Add more assertions
- Stride is now always given as bytes rather than pixels
- Drop wl_shm functions
Fun fact: this patch has been written 10,000 meters up in the air.
7 years ago
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
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
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
7 years ago
emersion
5e58d46cc1
Add wlr_signal_emit_safe
7 years ago
emersion
bf6d245400
Swap buffers with damage
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
704130cc11
output: fix performance issues with wlr_output_schedule_frame
7 years ago
emersion
8d58ed502b
output: add wlr_output_schedule_frame
7 years ago
emersion
0365b587f0
output: add damage tracking via buffer age
7 years ago
emersion
6fa0a91ee2
backend/wayland: fix segfault in wlr_wl_output_destroy
7 years ago
emersion
771263380c
Add wlr_output::enabled
7 years ago
Dominique Martinet
dabfe159de
wl backend: add wlr_output_is_wl
7 years ago
emersion
0256de0002
Add full refresh rate support to custom modes
7 years ago
emersion
257559d890
Remove output instead of terminating display when a wayland backend view closed
7 years ago
emersion
3b4b8953d9
Update output layout when scale or transform changes
7 years ago
emersion
529675b7b0
Add wlr_output_set_custom_mode
7 years ago
Drew DeVault
2f6cfe4057
Fix software cursors on scaled outputs
...
There was an issue where it would only work within the boundaries of the
unscaled resolution.
7 years ago
Dominique Martinet
43cd3c7aea
Indentation fix
...
Some space sneaked in. tabtabtab.
7 years ago
emersion
60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend
7 years ago
emersion
ec22fe7134
Make wlr_output_interface.enable optional
7 years ago
emersion
95566c6bdf
Transform cursor hotspot, fix wayland cursor hotspot
7 years ago
emersion
eea532911a
Send output current mode when changed
7 years ago
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
7 years ago
Scott Anderson
822a9f65a4
Add pointer to backend inside wlr_output
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
emersion
8c5a110d4c
Fix hidden cursor on wayland backend
7 years ago
emersion
19860c03f7
Better handling of hidden cursors in wayland backend, add TODOs
7 years ago
emersion
92daa790bb
Allow to update the cursor hotspot without its pixels
7 years ago
emersion
9b83caa658
Add wlr_output_set_cursor_surface
7 years ago
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
7 years ago
Drew DeVault
b6d7c3ed8e
Initialize display, backend; add frame handling
7 years ago
Drew DeVault
9fa822c666
Fix minor typos
7 years ago
Dominique Martinet
58efb8f90a
wayland backend: remove explicit scale = 1
...
This is now set correctly in the wlr_output init
7 years ago
Dominique Martinet
e2e149784b
wayland backend: fix xdg-shell for weston
...
- xdg toplevel configure can be called with 0 width/height,
in that case we are free to do as we like (so do nothing)
- need a display roundtrip after everything is setup but before
we start attaching buffers to the surface
7 years ago
Dominique Martinet
3377e5e4f2
wayland backend: fix xdg-shell for gnome
...
Calling wl_surface_commit after setting up the xdg_toplevel is
apparently good enough for them.
Still missing something for weston.
7 years ago
Dominique Martinet
fb05923eaa
wayland backend: Fix shell title/app_id to wlroots
7 years ago
Dominique Martinet
4f3d21c3ff
wayland output: add error handling for xdg shell
...
Note that this does not go on to the next backend, because
attempt_wl_backend does not check if we have any output created.
We cannot test simply because (right now) a run of our examples will go
in this function twice, the first of which will (rightly?) return no
display but needs to return backend creation success.
7 years ago
Dominique Martinet
577d2f6fcd
wayland backend: switch to xdg shell
...
Closes #72 and #96 .
7 years ago
Calvin Lee
901c14c409
Prevent alloc errors from crashing in `list_t`
...
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
7 years ago
Drew DeVault
d2e796edb7
Merge pull request #86 from nyorain/master
...
Fix style issues
7 years ago
nyorain
d7dcbbc175
Add wayland backend cursor support
7 years ago
nyorain
f998bb8299
Fix style issues
7 years ago
Dominique Martinet
4bbf718e7d
impl->destroy cleanup:
...
- remove trivial destroy() function
- make sure we check impl and impl->destroy before calling
- always call free if not implemented
7 years ago
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
7 years ago
Drew DeVault
81cd90297d
Refactor out wlr_backend_state from wl/multi
7 years ago
Dominique Martinet
8427749dd0
wayland backend: emit signal for input/output removal
7 years ago
Drew DeVault
4aaf76cb66
wlr_output_update_matrix during wl backend init
7 years ago
Drew DeVault
97f6e9b69a
Remove excessive logging in wayland backend
8 years ago
Drew DeVault
97213cc00e
Add new interfaces to wayland backend
8 years ago
Drew DeVault
168f0955ab
Add wl_output globals for wlr_outputs
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
b2bf5b23b9
Implement output_transform for wl backend
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
Drew DeVault
c9d5a0b2fb
Clean up Wayland backend GL context and such
8 years ago
nyorain
51f35e7af0
Cleanup some leaks/incorrect destructions
8 years ago
nyorain
500e9184f1
Fix egl workaround; Test with weston
8 years ago
nyorain
50ce35e9da
Implement wayland backend output
8 years ago
nyorain
792d535225
Rework wayland backend output implementation
8 years ago