Victor Berger
9ad0edd2a3
Fix several clippy lints
2021-06-10 22:01:10 +02:00
Victor Berger
c630bd9086
cargo fmt
2021-06-10 22:01:10 +02:00
Victor Berger
671e2053e9
xwayland: rework as an EventSource
...
Reorganize the XWayland abstraction into a calloop EventLoop.
Fixes #245
Fixes #203
2021-06-10 21:52:08 +02:00
Victor Berger
01b5c1a183
anvil: don't release SHM buffers twice
2021-06-09 21:15:27 +02:00
Victor Brekenfeld
5b70ca4206
anvil: dmabuf support
2021-06-08 21:57:35 +02:00
Victor Brekenfeld
969cdda85c
renderer: Split Renderer trait into Import sub-traits
2021-06-08 21:47:05 +02:00
Victor Berger
327321612d
anvil: remove several Rc and RefCell
2021-06-03 11:45:22 +02:00
Victor Berger
85440840c8
anvil: flatten DrmRenderer into AnvilState
2021-06-03 11:45:22 +02:00
Victor Berger
4bf6bfa08d
anvil: reorganize platform-specific values
2021-06-03 11:45:22 +02:00
Victor Berger
3f01f978f8
wayland.compositor: DispatchData available in the callback
2021-06-03 11:45:22 +02:00
Victor Berger
aaa6e625e9
Update to calloop 0.8, DrmDevice as an EventSource
2021-06-03 11:45:22 +02:00
Christian Meissl
4f0161658f
make the frame_callback a list
2021-05-30 15:40:35 +02:00
Victor Brekenfeld
25c61c7a73
Fixup import_buffer definition to account for subsurface damage
2021-05-27 17:35:28 +02:00
Victor Brekenfeld
12e80ca2c6
cargo fmt
2021-05-26 19:12:45 +02:00
Victor Brekenfeld
67a9478293
renderer: Properly cache shm-resource surface-global
2021-05-25 00:40:55 +02:00
Victor Berger
6bfe6e1f25
Fix damage handling to support multiple rectangles
2021-05-24 23:50:14 +02:00
Victor Brekenfeld
978ef1b393
renderer: Closure-based api
2021-05-24 23:46:03 +02:00
Victor Brekenfeld
a4f66da69f
drm: Properly expose planes for surfaces
2021-05-20 01:06:16 +02:00
Victor Brekenfeld
5e1128b973
gles2: Link texture in buffer for caching
2021-05-17 00:40:10 +02:00
Victor Brekenfeld
55b4d4b89a
shm: Release buffer as soon as possible
2021-05-16 20:08:10 +02:00
Victor Brekenfeld
c41cc9828f
renderer: Cache textures in SurfaceAttributes
2021-05-16 20:00:45 +02:00
Victor Brekenfeld
524057418e
drm: Fixup tty switching
2021-05-15 22:28:39 +02:00
Victor Brekenfeld
149c923876
cargo fmt
2021-05-15 18:17:43 +02:00
Victor Brekenfeld
b4f216d7b8
anvil: Update to new renderer changes
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
5245595037
fix: Compiling anvil without egl
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
1839756f68
fix: Try shm-buffer imports, even if we do not have an egl-buffer reader...
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
52c01535d0
rustfmt
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
36bf5618ed
clippy fixes
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
ccd86cd8c1
anvil: Do not throw rendering errors away
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
795903d7e0
anvil: Fixup compiling egl support
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
0661ebebb8
anvil: Properly free textures
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
30a8693789
anvil: Reintroduce egl buffer support
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
45cd37373a
anvil: Render software cursors again
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
43d3e9cd14
anvil: Fixup udev/tty backend, so that it runs at least
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
2c9c150e5e
renderer: Remove `Frame` trait and merge into `Renderer`
...
Tracking of Frames, so that only one unique one can exist at a time
(gles does not allow multiple frames being rendered in parallel)
lead to very unfriendly lifetime-heavy code. A renderer is already
*unique*, just move the code there and add an error variant to catch
misuses.
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
fb30c830d7
Fixup anvil for winit rendering
...
- Since a lot of functionality is now in smithay's rendering module
we can get rid of shm_load, shaders and the glium dependency.
- glium_drawer becomes drawing and only features some code to get from surfaces
to textures for any(!) renderer.
(Should probably moved into smithay at some point as well.)
- buffer_utils is only necessary to query the buffer size anymore.
- disable egl-buffer support temporarily
2021-05-15 16:12:12 +02:00
Victor Berger
991eba216d
Update most dependencies
2021-02-22 20:27:46 +01:00
Uli Schlachter
ff09b8e116
Use the correct position for Xwayland surfaces
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-02-19 11:38:17 +01:00
Uli Schlachter
3504182a5e
Add a new surface role for Xwayland surfaces
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-02-19 11:38:17 +01:00
Uli Schlachter
734b541ecd
Map between X11 Windows and WlSurfaces
...
Xwayland gives us a mapping between X11 window and WlSurface IDs via
special WL_SURFACE_ID messages. This commit uses these messages to find
the corresponding WlSurface. For this, the new client.get_resource API
from wayland-server is needed.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-02-19 11:38:17 +01:00
Uli Schlachter
a6c40a002b
Add an X11 EventSource to calloop
...
This commit creates an event source for calloop that receives X11 events
from the X11 server.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-02-19 11:38:17 +01:00
Uli Schlachter
df01587459
Become the X11 window manager after Xwayland startup
...
This commits adds the necessary magic incantations to become the X11 WM
after Xwayland starts.
This uses the pure-Rust implementation from x11rb, but any other X11
crate could be used as well.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-02-19 11:38:17 +01:00
Uli Schlachter
2f0dadd6ca
anvil: Add a xwayland feature
...
This commit adds an xwayland feature to anvil. Right now, this feature
doesn't do much. anvil uses the smithay code to start XWayland, but does
not do anything with it once it is running.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-02-19 11:38:17 +01:00
Victor Berger
36e11284c2
New clippy fixes
2020-11-02 10:24:55 +01:00
Victor Berger
8fde779806
Dependencies updates
2020-11-02 10:24:55 +01:00
Eric Anholt
78d28165c3
Update nix to 0.19 ( #237 )
2020-10-31 18:33:18 +01:00
Victor Berger
d3429fa37d
anvil: send frame callback before blocking to draw on winit
2020-10-26 12:52:28 +01:00
Victor Berger
5421b9675c
anvil: send millisecond time in frame callback
...
This is what the protocol requires, and apps rely on it to figure
out how long time elapsed between draws.
2020-10-26 12:52:28 +01:00
Jonas Platte
bcc8f13b2b
Fix most rustc & clippy warnings
2020-09-16 12:56:32 +02:00
Mateus Carmo M de F Barbosa
2a351d0879
Use Serial type for all serials
2020-08-27 13:07:01 +02:00