Victoria Brekenfeld
8a5d030a98
x11: Use swapchain and expose age
...
Refactors the `X11Surface` to use the `Swapchain` internally,
which gives us a buffer age implemenation, which we can then use
to change the `Present` struct of the X11 backend to provide age
values to the user.
This change also merged the `Present` struct into the surface
because submits should now happen explicitly via a new `submit`-call
instead of being submitted implicitly on drop.
This allows the buffer to be discarded if rendering fails.
2021-11-26 22:24:12 +01:00
Victoria Brekenfeld
6b3a00fc06
Merge pull request #420 from i509VCB/x11/egl-drm
...
Rework X11 backend to use EGL for finding gbm device and associated commits
2021-11-26 13:43:49 +01:00
Victoria Brekenfeld
c0216d15bf
Merge pull request #419 from Smithay/feature/swapchain_age
2021-11-25 23:27:19 +01:00
Victor Brekenfeld
a4f2729608
gbm: expose buffer age
2021-11-24 18:57:51 +01:00
Victor Brekenfeld
6c57e27e5e
swapchain: Support buffer age
2021-11-24 18:57:51 +01:00
Victor Brekenfeld
643ff5395d
gbm: Refactor: remove internal `Buffers` struct
2021-11-24 18:57:51 +01:00
Victor Brekenfeld
9584219ffa
swapchain: Use `UserDataMap` instead of generic parameter
2021-11-24 18:57:49 +01:00
Victoria Brekenfeld
a4fab6633c
Merge pull request #406 from i509VCB/input/remove-dispatch-new
...
input: remove `InputBackend::dispatch_new_events`
2021-11-24 18:57:01 +01:00
i509VCB
5506c7e1c5
apply cargo fmt and clippy
2021-11-24 18:43:37 +01:00
i509VCB
86716f9c9f
x11: allocate buffers using gbm with modifiers
2021-11-24 18:42:24 +01:00
i509VCB
53d43905ac
x11: store dmabufs in buffer object userdata
2021-11-24 18:11:27 +01:00
Victor Brekenfeld
42b646a152
x11: Initialize via egl instead of dri3 if possible
2021-11-24 18:11:26 +01:00
Christian Meissl
c34a0dd4a5
fix xdg doc link
2021-11-24 16:57:04 +01:00
Christian Meissl
81f1e8b84d
fix doc comment
2021-11-24 16:57:04 +01:00
Christian Meissl
2123760c9e
make attributes state functions public in xdg shell
2021-11-24 16:57:04 +01:00
Christian Meissl
4f36e03266
allow xdg_role macro configure without braces
2021-11-24 16:57:04 +01:00
Christian Meissl
717f41817e
update CHANGELOG
2021-11-24 16:57:04 +01:00
Christian Meissl
a22b211e29
move the duplicate xdg state handling to...
...
...the base macro implementation
2021-11-24 16:57:04 +01:00
Christian Meissl
4849ae3b4a
use the last configured decoration mode...
...
...to check for decoration mode changes instead
of the current decoration mode
2021-11-24 16:57:04 +01:00
Christian Meissl
29010d93a4
use the last pending server state...
...
...or last acked if available instead of the current state
2021-11-24 16:57:04 +01:00
i509VCB
e4891b0c9e
egl: Introduce EGLDevice
...
More specifically, this introduces a way to query the available EGL devices on a system, `EGLDevices::enumerate`.
Also this introduces a way to get the `EGLDevice` used by an `EGLDisplay`, `EGLDevice::device_for_display`
Co-authored-by: Drakulix <github@drakulix.de>
2021-11-23 10:52:02 -06:00
Victor Brekenfeld
8bf7d91f98
backend/drm: Do not open new file descriptors in `DrmNode`
...
`DrmNode` was made to manage open drm nodes (including render nodes)
without having to create a `DrmDevice`. Even if opening render nodes
*should* work in general on most systems, the user should be in charge
of opening device, because they *may* want to use a `Session` or
something else. Therefor remove all `open` calls from drm/node.
The X11-backend, which tries to optain a render node, now opens the
render node itself, if getting a path proves to be successful.
2021-11-23 10:09:48 -06:00
i509VCB
2e06ff480f
actions: ensure check-minimal fails on warnings
2021-11-23 14:45:38 +01:00
i509VCB
7b1c0501f3
clean up warnings from github
2021-11-23 14:45:38 +01:00
i509VCB
d1fae4ba4e
Merge branch 'master' into input/remove-dispatch-new
2021-11-22 18:19:46 +00:00
Victor Brekenfeld
2db2611817
wlcs_anvil: Adjust dummy renderer for changes
2021-11-22 16:38:31 +01:00
Victor Brekenfeld
87069f26e9
renderer: rename function parameters for clearer purpose
2021-11-22 16:38:31 +01:00
Victor Brekenfeld
011a7da665
renderer: Remove render_texture from Frame
2021-11-22 16:38:31 +01:00
Victor Brekenfeld
7a7f1217d8
renderer: Allow to set texture filtering methods
2021-11-22 16:38:31 +01:00
Christian Duerr
076f824431
Add version method to ToplevelSurface
...
Currently the `shell_surface` is not accessible to the outside, meaning
there is no way to query for the XDG shell protocol version supported by
the client.
Adding a `version` method fixes that problem, which allows compositors
to act differently based on the supported protocol version. As an
example this allows setting the state to `State::Maximized` if the
tiling states are not available.
2021-11-22 15:28:09 +01:00
Adrien
4dec5f7fa2
Fixed a typo in the lib.rs docs.
2021-11-22 15:27:57 +01:00
i509VCB
5210b39c35
anvil: deduplicate some input handler logic
2021-11-22 15:27:42 +01:00
i509VCB
d00197052c
x11: add option to make extensions optional
2021-11-22 15:26:52 +01:00
Christian Duerr
0d2c3acdc7
Add debug assertion
2021-11-22 15:25:47 +01:00
Christian Duerr
d46be20d6e
Add SubAssign for Size
2021-11-22 15:25:47 +01:00
Victor Brekenfeld
0ea8899dcf
Merge pull request #409 from Smithay/drm/non-alpha-primary
...
gbm: use Xrgb8888, if alpha variant is not available
2021-11-16 09:05:39 +01:00
Victor Brekenfeld
cf6f7a0726
gbm: use Xrgb8888, if alpha variant is not available
2021-11-04 19:13:57 +01:00
i509VCB
8ca5d1f301
input: remove `InputBackend::dispatch_new_events`
2021-10-28 15:37:02 -05:00
i509VCB
1a1fe01349
docs: include x11rb in generation
2021-10-28 16:39:52 +02:00
Victor Brekenfeld
b890bfd768
Merge pull request #365 from i509VCB/mouse-f/b
2021-10-27 20:03:13 +02:00
i509VCB
3283010d2c
Add Forward/Back mouse buttons
2021-10-27 12:23:12 -05:00
i509VCB
e1400a1926
Mention where keyboard key code constants may be found
2021-10-27 12:23:07 -05:00
Poly
63f9a713ce
Clippy fixes
2021-10-27 14:18:52 +02:00
Poly
67ed81a00c
Anvil XDG Decoration
2021-10-27 14:18:52 +02:00
Poly
10aee60b87
wayland.xdg-decor: Implement XDG Decoration protocol
2021-10-27 14:18:52 +02:00
i509VCB
77c970e197
winit: rework around `WinitEvent` vs `InputEvent<Special = WinitEvent>`
2021-10-27 14:16:19 +02:00
Victor Berger
d5f4094cc7
ci: update doc-generating command
2021-10-27 14:15:19 +02:00
Victor Brekenfeld
3dde8d70ef
Update to input-rs 0.7
2021-10-23 22:49:32 +02:00
Victor Brekenfeld
14a4bb25db
Merge pull request #402 from Smithay/fix/trailing_semicolon
...
Fix trailing_semicolon on egl macro
2021-10-23 15:58:19 +02:00
Victor Brekenfeld
2aedeead7d
Fix clippy needless_return
2021-10-23 15:34:50 +02:00