1
0
Fork 0
forked from wry/wry
Commit graph

134 commits

Author SHA1 Message Date
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
Julian Orth
28e91e0c5d metal: support multi-gpu systems via copying 2022-11-13 21:35:14 +01:00
Julian Orth
79ee6900fa video: prefer non-nvidia devices when selecting render device 2022-11-13 16:53:02 +01:00
Julian Orth
141997d9d6 video: choose render device in the frontend 2022-11-13 16:53:02 +01:00
Julian Orth
049b86f4e2 config: add DrmDevice::make_render_device 2022-11-13 16:53:02 +01:00
Julian Orth
c6c87bdaa1 backend: add DevicesEnumerated event 2022-11-13 16:53:02 +01:00
Julian Orth
dddd68ba06 x: add XDrmDevice 2022-11-13 13:11:55 +01:00
Julian Orth
e29fd0e70c metal: log drm device model 2022-11-13 00:16:36 +01:00
Julian Orth
ae991b9038 all: address clippy lints 2022-08-13 17:46:23 +02:00
Julian Orth
5a4e48e54a wayland: add jay_screencast 2022-07-30 12:08:18 +02:00
Julian Orth
6b4d16aba7 all: run rustfmt 2022-07-26 22:01:55 +02:00
Julian Orth
30aa6de35c config: add Connector::set_enabled 2022-07-26 21:52:52 +02:00
Julian Orth
05b30c0a09 metal: keep output presentable if atomic commit fails 2022-07-25 20:21:23 +02:00
Julian Orth
375d7da2f2 cursor: don't overwrite busy hardware buffers 2022-06-01 22:24:57 +02:00
Julian Orth
3b8935cf55 all: implement hardware cursors 2022-06-01 21:46:31 +02:00