Julian Orth
9acbea1389
metal: discard presentation feedback when presentation fails
2024-04-17 21:49:31 +02:00
Julian Orth
daf52299db
seat: implement input methods
2024-04-15 15:34:00 +02:00
Julian Orth
fadec919e1
metal: preserve front buffer if atomic commit fails
2024-04-11 10:00:56 +02:00
Julian Orth
3cf1b227b6
metal: disable IN_FENCE_FD on nvidia driver
2024-04-11 10:00:56 +02:00
Julian Orth
ff54a8ab96
wayland: implement alpha_modifier_v1
2024-04-09 12:09:54 +02:00
Julian Orth
15a1b600f3
it: test workspace restoration
2024-04-03 17:15:01 +02:00
Julian Orth
ba98103233
tree: make surface visibility tracking more robust
2024-03-29 21:17:45 +01:00
Julian Orth
aaf73d6fdc
wayland: implement linux-drm-syncobj-v1
2024-03-27 18:34:12 +01:00
Julian Orth
816315170f
render: add support for explicit sync
2024-03-27 18:15:53 +01:00
Julian Orth
1b4492c670
render: propagate errors
2024-03-27 18:15:53 +01:00
Julian Orth
d9fa3f6732
metal: preserve cursor state after present errors
2024-03-27 18:15:53 +01:00
Julian Orth
ea4a1f027b
render: remove TextureReservations
2024-03-27 18:15:53 +01:00
Julian Orth
3eb0f61ec1
tree: make scale and position of outputs persistent
2024-03-16 01:38:57 +01:00
Julian Orth
efae1cd16a
cli: add an input subcommand
2024-03-12 17:43:26 +01:00
Julian Orth
283e438d1b
backend: add syspath and devnode to input devices
2024-03-12 16:37:16 +01:00
Julian Orth
813f87faaa
backend: make input device properties readable
2024-03-12 16:16:21 +01:00
Julian Orth
8cd28dd3bf
metal: fix application of transform matrix
2024-03-12 16:06:06 +01:00
Julian Orth
7f5161806b
metal: use triple buffering for hardware cursors
2024-03-10 15:14:32 +01:00
Julian Orth
20ac21e412
cli: add randr subcommand
2024-03-05 14:17:36 +01:00
Julian Orth
98b6eba81c
metal: allow changing the connector mode
2024-03-04 17:23:38 +01:00
Julian Orth
54d93f84da
all: add (Clone)Cell::is_some and is_none
2024-03-02 18:09:40 +01:00
Julian Orth
b7d2964e19
all: implement output transforms
2024-02-28 20:11:40 +01:00
Julian Orth
7d3b8b6278
render: simplify buffer coordinates
2024-02-28 16:52:52 +01:00
Julian Orth
9fba5f9b45
render: support shm screencopy from direct scanout
2024-02-28 16:51:58 +01:00
Julian Orth
9de63bddf3
render: don't require framebuffer to perform shm screencopies
2024-02-28 13:41:08 +01:00
Julian Orth
58cdfbcb26
metal: scan out in more circumstances
2024-02-23 15:27:38 +01:00
Julian Orth
41754e268f
render: force black background color for fullscreen nodes
2024-02-23 15:27:38 +01:00
Julian Orth
a02815253a
x: use modifier-aware buffer import
2024-02-19 18:36:18 +01:00
Julian Orth
64e133caf6
metal: simplify framebuffer swapchain
2024-02-19 17:38:09 +01:00
Julian Orth
47e469b252
metal: only use direct scanout on the render device
2024-02-19 12:30:38 +01:00
Julian Orth
114c293950
config: allow disabling direct scanout
2024-02-19 12:30:38 +01:00
Julian Orth
da84e9ec27
metal: implement direct scanout
2024-02-19 12:30:37 +01:00
Julian Orth
fed2ceb8b5
drm: add unique identifiers to dmabufs
2024-02-19 12:27:28 +01:00
Julian Orth
d4fc672fb3
tree: move output scale to global
2024-02-16 19:15:03 +01:00
Julian Orth
0ba8648844
video: unify output rendering
2024-02-16 18:27:51 +01:00
Julian Orth
01e3930ced
wayland: run idle code unconditionally
2024-02-15 18:40:29 +01:00
Julian Orth
cf332e8436
render: implement a vulkan renderer
2024-02-08 15:24:02 +01:00
Julian Orth
4ba8550da8
render: compute image width/height in single function call
2024-02-08 15:24:02 +01:00
Julian Orth
bf90204db6
video: always use correct modifiers
2024-02-08 15:24:02 +01:00
Julian Orth
e0ed29038e
metal: use IN_FORMATS plane property
2024-02-08 15:24:02 +01:00
Julian Orth
44e9de7c93
render: lift non-generic render code out of the gl implementation
2024-02-08 15:24:02 +01:00
Julian Orth
074347c71d
render: remove on_output
2024-02-08 15:24:02 +01:00
Julian Orth
78b557b4a1
input: implement wl_seat version 9
2024-02-04 19:56:45 +01:00
Julian Orth
887e2b6cbc
input: add support for natural scrolling
...
Closes #69
2024-02-04 18:50:52 +01:00
Julian Orth
24e410a5b5
render: hide graphics API behind traits
2023-10-22 20:42:35 +02:00
Julian Orth
d650b3375d
render: split module into gfx_apis and renderer
2023-10-22 20:28:32 +02:00
Julian Orth
036af4abaa
all: address clippy issues
2023-02-04 14:20:10 +01:00
Julian Orth
9812a02f87
io: use io_uring for all io
...
There should no longer be any
- read
- write
- connect
- sendmsg
- recvmsg
- accept
calls in the codebase. Previously we were using a mix of io_uring and
these calls which had some negative effects: Since we were using the old
system calls, we had to set the file descriptors to non-blocking. But
our io_uring code did not handle EAGAIN. This lead to programs sometimes
being killed when the wayland IO was actually blocking.
Now all file descriptors are set to blocking, but io_uring makes it
non-blocking from our perspective. The one exception are evdev files
because they are read via libinput and libinput uses the old system
calls.
2022-12-31 17:56:58 +01:00
Julian Orth
0b46391789
all: fix clippy lints
2022-11-13 22:50:18 +01:00
Julian Orth
13bcdecd1b
video: actually created the bridge BO in the render device
2022-11-13 21:40:02 +01:00