Julian Orth
a7cb2ee42a
gfx: add GfxBlendBuffer
2025-02-24 11:35:30 +01:00
Julian Orth
3338909170
all: set rust edition to 2024
2025-02-21 10:44:29 +01:00
Julian Orth
fac5445f2e
wayland: implement commit-timing-v1
2024-10-11 21:03:33 +02:00
Julian Orth
b754e37bfe
drm: include st_rdev in Drm object
2024-10-10 12:10:43 +02:00
Julian Orth
386ee5120f
render: use explicit sync for framebuffers
2024-09-17 23:28:16 +02:00
Julian Orth
ccad3cf0fb
all: use tracy for tracing
2024-09-15 18:08:54 +02:00
Julian Orth
3fcc6d6e36
wl_surface: dispatch frame requests from vblank event handlers
2024-09-11 23:58:45 +02:00
Julian Orth
e377470f3f
all: use expect attribute where possible
2024-09-06 11:08:22 +02:00
Julian Orth
bf65da4c76
allocator: don't require render usage for bridged buffers
2024-09-05 11:48:41 +02:00
Julian Orth
9bab4f7ce1
metal: preserve mode across reconnects
2024-09-04 21:43:04 +02:00
Julian Orth
62cd29056a
video: add udmabuf allocator
2024-09-01 20:25:22 +02:00
Julian Orth
2d7c13b0b4
metal: implement VRR
2024-07-18 14:20:01 +02:00
Julian Orth
bb9e6ba3b5
all: fetch current time only once per iteration
2024-07-12 20:05:31 +02:00
Julian Orth
498e01a8bb
xwayland: don't transmute setup data to 'static
2024-07-02 17:12:24 +02:00
Julian Orth
110f45fef7
drm: preserve GbmBos while they are in use
2024-05-08 23:10:22 +02:00
Julian Orth
24d08918c4
metal: send non-desktop outputs to the frontend
2024-04-26 15:45:16 +02:00
Julian Orth
ba98103233
tree: make surface visibility tracking more robust
2024-03-29 21:17:45 +01:00
Julian Orth
1b4492c670
render: propagate errors
2024-03-27 18:15:53 +01:00
Julian Orth
283e438d1b
backend: add syspath and devnode to input devices
2024-03-12 16:37:16 +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
a02815253a
x: use modifier-aware buffer import
2024-02-19 18:36:18 +01:00
Julian Orth
114c293950
config: allow disabling direct scanout
2024-02-19 12:30:38 +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
cf332e8436
render: implement a vulkan renderer
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
0b46391789
all: fix clippy lints
2022-11-13 22:50:18 +01:00
Julian Orth
79ee6900fa
video: prefer non-nvidia devices when selecting render device
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
5a4e48e54a
wayland: add jay_screencast
2022-07-30 12:08:18 +02:00
Julian Orth
30aa6de35c
config: add Connector::set_enabled
2022-07-26 21:52:52 +02:00
Julian Orth
3b8935cf55
all: implement hardware cursors
2022-06-01 21:46:31 +02:00
Julian Orth
6cc97ee56e
metal,config: allow enabling tap-to-click
2022-06-01 14:29:56 +02:00
Julian Orth
e52a60b3b6
wayland: implement scaling
...
This involves many subsystems:
- config:
- allow setting the connector scale
- allow setting the cursor size
- cursors:
- load server cursors for all requested sizes and scales
- wl_surface:
- track the output the surface belongs to
- send wl_surface.enter/leave
- wl_output:
- implement wl_output.scale
- text:
- pre-render texts for all used scales
- renderer:
- properly align scale textures and rectangles
- wp_fractional_scale:
- new interface for fractional scaling
2022-05-30 17:00:25 +02:00
Julian Orth
50c87d6da7
wayland: implement wl_seat v8
2022-05-27 15:39:48 +02:00
Julian Orth
145e4dbc24
wayland: add times to all input events
2022-05-26 12:25:59 +02:00
Julian Orth
9416efeabe
runtime: replace epoll by io-uring
2022-05-12 22:50:33 +02:00
Julian Orth
dcdd91c0b0
io-uring: add readable/writable
2022-05-12 20:33:58 +02:00