Ian Douglas Scott
d7b37cfde5
Update smithay
...
Updates to use `GbmFramebufferExporter`.
2025-04-29 14:42:07 +02:00
Victoria Brekenfeld
74c7a216f5
kms: Skip overlay tests on fullscreen
2025-04-28 18:03:09 +02:00
Victoria Brekenfeld
7c222ae6d1
debug: Fix crashes and deadlocks
2025-04-28 18:03:09 +02:00
Victoria Brekenfeld
4e6713291d
kms/timing: Faster cleanup
2025-04-28 18:03:09 +02:00
Victoria Brekenfeld
8aaaa12d5c
kms: Fix VRR check having already missed the deadline
2025-04-28 18:03:09 +02:00
Victoria Brekenfeld
db25cc4b0b
kms/timings: Base next_render_time on time to submit
2025-04-28 18:03:09 +02:00
Victoria Brekenfeld
d1e0e28d3c
kms: Add tracy profiling
2025-04-28 18:03:09 +02:00
Victoria Brekenfeld
7a8577592d
kms: Support screencopy cursor modes with active filters
2025-03-24 19:10:52 +01:00
Victoria Brekenfeld
7929e25966
kms: Support screen filters
2025-03-24 19:10:52 +01:00
Victoria Brekenfeld
18335c6758
kms: Refactor out postprocessing helpers
2025-03-24 19:10:52 +01:00
Clayton Craft
29a649541d
kms.timings.presented: print debug msg when frame time is overflowing
...
Also see: #1062
2025-03-19 18:45:44 +01:00
Clayton Craft
8f40fc7a1b
kms: protect against potential overflow of Duration when calculating avg frametime
...
Also see: https://github.com/Smithay/smithay/pull/1685
Fixes #1062
Co-authored-by: Victoria Brekenfeld <victoria@system76.com>
2025-03-19 18:45:44 +01:00
Victoria Brekenfeld
95b27637ae
chore: smithay update
2025-03-12 16:50:58 +01:00
Ian Douglas Scott
a3714b036e
Improve mirroring size/scale comparison
...
To determine if `mirroring_state` is needed, we want to compare the
untransformed dimensions of the source output to the target outputs
mode. The fact the mode comparision previously compared refresh rate
(since it compared the whole `Mode`) seems unintended.
We also re-create the `MirroringState` when the source output
dimensions changes.
2025-02-04 20:01:24 +01:00
Ian Douglas Scott
9963887ac5
Fix mirroring with scale on target output
...
The actual render will pass a scale other than 1.0 here, so this needs
to do the same.
2025-02-04 20:01:24 +01:00
Ian Douglas Scott
3f5c64f50f
Use HashMap entry API in a cleaner way
...
Careful use of the right `VacantEntry` and `OccupiedEntry` methods makes
this possible without hacks or lifetime errors.
2025-02-04 20:01:24 +01:00
Ian Douglas Scott
32f9ff3cac
Use untransformed texture in MirroringState::new_with_renderer
...
Apply inverse of output transform to mode to get render size, and apply
no transform during rendering. The transform of the output being
mirrored from shouldn't affect the final render.
Fixes issues when source output for mirroring has a transform, and also
fixes issues in https://github.com/pop-os/cosmic-comp/pull/1058
when this code is used for postprocessing, where this resulted in the
same transform being applied twice.
2025-02-04 20:01:24 +01:00
Ian Douglas Scott
b685512127
Migrate away from Rectangle::from_loc_and_size
...
Deprecated in `smithay` by https://github.com/Smithay/smithay/pull/1621 .
2025-01-07 12:50:35 +01:00
Victoria Brekenfeld
db13eea91c
shell: Allow active workspace to be None
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
3926aee5b6
debug: Fixup feature compilation
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
6be5009b37
kms: Allow diverging primary plane formats under certain conditions
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
b5cd62fd7a
kms: skip cursor updates for fullscreen content above the minimum refresh rate
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
546966bf15
drm_lease: Disable overlay planes when active
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
8b87d6524e
kms: Use new DrmOutput api
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
f12f4db0e1
chore: Update smithay
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
9b4127555e
kms/surface: Fix racy output disable
2024-12-12 14:29:50 +01:00
Victoria Brekenfeld
81b9fb179b
output-configuration: Support cosmic-ext v2
2024-11-27 09:37:01 +01:00
Victoria Brekenfeld
80965a61b9
kms: Adaptive VRR support
2024-11-27 09:37:01 +01:00
Victoria Brekenfeld
d72bf54628
deps: Update smithay
2024-11-27 09:37:01 +01:00
Ashley Wulber
8d5541b27f
fix: apply transform to damage before blitting
2024-11-13 16:33:43 +01:00
Ian Douglas Scott
ea27ec5e28
DPMS with wlr-output-power-management-unstable-v1 protocol
2024-10-25 10:31:24 +02:00
Ian Douglas Scott
b8c429facb
Add COSMIC_DISABLE_DIRECT_SCANOUT env var
...
Like `anvil`. Useful for testing and working around issues.
2024-10-15 11:45:46 +02:00
Ian Douglas Scott
a96394f7a6
Update egui, smithay-egui, smithay
2024-10-02 23:55:10 +02:00
Victoria Brekenfeld
07f898590a
kms: Fix rare mirroring crash
2024-09-02 20:44:23 +02:00
julianbraha
52ad30c264
Remove unnecessary lifetimes
2024-08-30 17:53:56 +02:00
Ian Douglas Scott
0e78104477
Fix build with profile-with-tracy feature
2024-07-29 14:49:44 +02:00
Ian Douglas Scott
0636bcdef3
Add workspace_overview_is_open function; put in a utils::quirks mod
...
This is increasingly not just related to screencopy, so it's weird to
add there. I don't see any other module that fits, so add one called
"quirks" (like the Linux kernel uses for device-specific handling in
generic drives).
2024-07-15 17:12:05 +02:00
Ian Douglas Scott
355b142c52
When cosmic-workspaces is shown, render only layer-shell surfaces
...
This allows `cosmic-workspaces` to rely on cosmic-comp for rendering the
background, and just have transparency. This should be a more reliable
and performant way of doing things, at least for now.
Instead of adding another opaque bool argument, this defines an
`ElementFilter` enum, which makes calls more readable.
Window surfaces are still included in screencopy, as needed for the
workspace previews.
2024-07-15 17:12:05 +02:00
Victoria Brekenfeld
2d0f1cbf2b
chore: smithay update
2024-07-02 13:15:30 +02:00
Victoria Brekenfeld
8da3ac6d75
kms: Fix frame scheduling
2024-06-27 18:15:18 +02:00
Victoria Brekenfeld
76fca0c591
chore: Fix smithay version
2024-06-26 16:18:08 +02:00
Victoria Brekenfeld
449048bdc5
kms: Fix unreachable code during forced queued redraws
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
eea93d543e
state: Correctly update primary output
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
ddcb435632
debug: Fix running with new kms backend
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
12fab6e220
kms: Don't block surface-threads on startup cond
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
31ff17a323
kms: Limit frame-callbacks to one per refresh
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
92f3dbce01
chore: Cleanup
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
952f73dcc4
kms: Don't send render-states for mirrored renders
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
1a28e43aa7
kms: Fix broken mirroring with different scales but same mode
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
469a366207
kms: New backend
...
New backend utilizing a thread per surface for precise frame
scheduling.
2024-06-26 12:59:33 +02:00