Julian Orth
4746361cb7
cmm: ignore backend luminance with the default EOTF
2025-10-16 16:45:53 +02:00
Julian Orth
39c770f6e2
config: make the blend space configurable
2025-09-05 19:56:11 +02:00
Julian Orth
83e79b68e6
color-management: use more consistent naming
2025-09-05 19:55:09 +02:00
Julian Orth
32db933242
color-management: make (ext_)srgb aliases for gamma22
2025-09-05 19:55:08 +02:00
Mostafa Ibrahim
c6060a7389
implement wlr_output_management_unstable_v1
2025-07-17 08:57:24 +02:00
Julian Orth
7ab99bb840
backend: implement output transactions
2025-07-12 08:15:22 +02:00
Julian Orth
28cfa6a11f
video: send feedback when brightness changes
2025-04-21 16:20:39 +02:00
Julian Orth
27025a565c
video: allow configuring the output brightness
2025-04-21 15:41:52 +02:00
Julian Orth
bb56efb968
metal: allow configuring color space and transfer function
2025-03-11 18:42:47 +01:00
Julian Orth
3338909170
all: set rust edition to 2024
2025-02-21 10:44:29 +01:00
Julian Orth
07fb198eb4
metal: track per-framebuffer damage
2025-02-20 12:22:24 +01:00
Julian Orth
a4e197d92a
ext-workspace: implement v1
2025-01-26 12:38:05 +01:00
Julian Orth
fac5445f2e
wayland: implement commit-timing-v1
2024-10-11 21:03:33 +02:00
Julian Orth
19b07fa7dc
xwayland: allow windows to scale themselves
2024-10-08 11:14:30 +02:00
Julian Orth
e377470f3f
all: use expect attribute where possible
2024-09-06 11:08:22 +02:00
Julian Orth
b4ca15fec0
metal: allow configuring framebuffer formats
2024-09-04 21:43:04 +02:00
Julian Orth
9bab4f7ce1
metal: preserve mode across reconnects
2024-09-04 21:43:04 +02:00
Julian Orth
49f6304716
metal: implement tearing
2024-07-18 15:36:24 +02:00
Julian Orth
2d7c13b0b4
metal: implement VRR
2024-07-18 14:20:01 +02:00
Julian Orth
84d7632341
all: address clippy lints
2024-07-02 17:13:20 +02:00
Julian Orth
8cee61122e
all: remove dead code
2024-05-02 19:37:19 +02:00
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