Julian Orth
c27bf4d597
wayland: allow binding to removed outputs
2024-04-25 20:05:24 +02:00
Julian Orth
4651f760f0
wayland: don't store direct output references
2024-04-25 19:38:19 +02:00
Julian Orth
c6864a6d85
tree: fix per-workspace capture tracking
2024-04-20 13:30:34 +02:00
Julian Orth
acb391335b
wire: generate trait for request handling
2024-04-08 20:02:29 +02:00
Julian Orth
e3a1a0b30f
wayland: make object versions type safe
2024-04-08 14:47:50 +02:00
Julian Orth
1b4492c670
render: propagate errors
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
558bea47b7
config: allow retrieving the modes
2024-03-04 16:09:53 +01:00
Julian Orth
b7d2964e19
all: implement output transforms
2024-02-28 20:11:40 +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
da84e9ec27
metal: implement direct scanout
2024-02-19 12:30:37 +01:00
Julian Orth
4d8e744c2f
video: render hardware cursor in screencasts
2024-02-16 19:15:05 +01:00
Julian Orth
d4fc672fb3
tree: move output scale to global
2024-02-16 19:15:03 +01:00
Julian Orth
cf332e8436
render: implement a vulkan renderer
2024-02-08 15:24:02 +01:00
Julian Orth
0ac1bb8507
wayland: remove Object::num_requests
2024-02-06 12:05:03 +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
5e8a6eb86f
render: split rendering into two phases
...
In the first phase we collect a list of simple operations (copying
textures and filling rectangles.)
In the second phase we send this list to the graphics API to be
executed.
As part of this, we also remove the use of scissors.
2023-10-22 16:10:12 +02:00
Julian Orth
913b9d7213
wayland: update wl_output to v4
2022-12-31 21:49:02 +01:00
Julian Orth
28e91e0c5d
metal: support multi-gpu systems via copying
2022-11-13 21:35:14 +01:00
Julian Orth
5b2eb5855a
tree: update to latest version of wp_fractional_scale
2022-11-12 15:05:58 +01: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
95327685c1
wayland: implement surface transformations
...
- buffer scale
- buffer transform
- viewporter
2022-05-28 18:18:29 +02:00
Julian Orth
7476e6f2d9
tree: restore workspaces after monitor reconnect
2022-05-20 12:55:45 +02:00
Julian Orth
d42add4d18
all: implement screen locking
2022-05-19 23:39:11 +02:00
Julian Orth
d2913449ea
metal: handle gpu reset
...
Unfortunately this doesn't seem to work on amdgpu [1]. I've tested that
it works on i915.
[1] https://gitlab.freedesktop.org/drm/amd/-/issues/1749
2022-05-06 16:45:56 +02:00
Julian Orth
9904717c71
all: fix memory leaks
2022-05-02 22:11:59 +02:00
Julian Orth
3d4a6b21f3
autocommit 2022-04-30 13:45:20 CEST
2022-04-30 13:45:20 +02:00
Julian Orth
ed0beb8ff5
autocommit 2022-04-28 20:33:24 CEST
2022-04-28 20:33:24 +02:00
Julian Orth
1242a6c1e1
autocommit 2022-04-28 19:49:51 CEST
2022-04-28 19:49:51 +02:00
Julian Orth
19aef8c58a
autocommit 2022-04-28 15:19:15 CEST
2022-04-28 15:19:15 +02:00
Julian Orth
86ca98c38a
autocommit 2022-04-11 13:11:56 CEST
2022-04-11 13:11:56 +02:00
Julian Orth
be32036824
autocommit 2022-04-07 17:31:31 CEST
2022-04-07 17:31:31 +02:00
Julian Orth
1d33088dba
autocommit 2022-04-05 21:08:07 CEST
2022-04-05 21:08:07 +02:00
Julian Orth
a3e9f21fc5
autocommit 2022-04-05 18:28:42 CEST
2022-04-05 18:28:42 +02:00
Julian Orth
e897d271af
autocommit 2022-04-04 14:29:04 CEST
2022-04-04 14:29:04 +02:00
Julian Orth
1f71290dab
autocommit 2022-04-04 00:28:58 CEST
2022-04-04 00:28:58 +02:00
Julian Orth
2dd433aa04
autocommit 2022-04-01 01:44:10 CEST
2022-04-01 01:44:10 +02:00
Julian Orth
6ebf731aea
autocommit 2022-03-29 14:11:25 CEST
2022-03-29 14:11:25 +02:00
Julian Orth
a15a02a95c
autocommit 2022-03-13 22:20:31 CET
2022-03-13 22:20:31 +01:00
Julian Orth
7d28d30666
autocommit 2022-02-24 16:30:11 CET
2022-02-24 16:30:11 +01:00
Julian Orth
145d1c15b7
autocommit 2022-02-21 23:21:13 CET
2022-02-21 23:21:13 +01:00
Julian Orth
9b8e1ac29f
autocommit 2022-02-11 02:28:11 CET
2022-02-11 02:28:11 +01:00
Julian Orth
7d531257ed
autocommit 2022-02-06 23:54:46 CET
2022-02-06 23:54:46 +01:00
Julian Orth
96038f49bc
autocommit 2022-02-06 20:12:09 CET
2022-02-06 20:12:09 +01:00
Julian Orth
3f50b0c75e
autocommit 2022-02-06 19:56:51 CET
2022-02-06 19:56:51 +01:00
Julian Orth
dc2cb71012
autocommit 2022-02-06 16:33:54 CET
2022-02-06 16:33:54 +01:00