Reduce software painting work on large surfaces (#22)

Pin the Iced/libcosmic candidate that paints contour interiors directly and reduces rectangular clipping work. Keep WGPU as the default and update all consumers consistently.
This commit is contained in:
Samuel Onoja authored and GitHub committed 2026-10-11 12:05:53 +01:00
1 parent 216ef38972
commit a447136b01
5 files changed
+22 -22

No files matched your search

Generated
+18 -18
View File
@@ -705,7 +705,7 @@ dependencies = [
[[package]] [[package]]
name = "build_helpers" name = "build_helpers"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"cfg_aliases", "cfg_aliases",
] ]
@@ -1124,7 +1124,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config" name = "cosmic-config"
version = "1.0.0" version = "1.0.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"atomicwrites", "atomicwrites",
"cosmic-config-derive", "cosmic-config-derive",
@@ -1145,7 +1145,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config-derive" name = "cosmic-config-derive"
version = "1.0.0" version = "1.0.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"quote", "quote",
"syn 2.0.119", "syn 2.0.119",
@@ -1214,7 +1214,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-theme" name = "cosmic-theme"
version = "1.0.0" version = "1.0.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"almost", "almost",
"configparser", "configparser",
@@ -2740,7 +2740,7 @@ dependencies = [
[[package]] [[package]]
name = "iced" name = "iced"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"build_helpers", "build_helpers",
"dnd", "dnd",
@@ -2762,7 +2762,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_accessibility" name = "iced_accessibility"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"accesskit", "accesskit",
"accesskit_winit", "accesskit_winit",
@@ -2771,7 +2771,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_core" name = "iced_core"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"bitflags 2.13.2", "bitflags 2.13.2",
"build_helpers", "build_helpers",
@@ -2799,7 +2799,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_debug" name = "iced_debug"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"iced_core", "iced_core",
"iced_futures", "iced_futures",
@@ -2809,7 +2809,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_futures" name = "iced_futures"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"futures", "futures",
"iced_core", "iced_core",
@@ -2823,7 +2823,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_graphics" name = "iced_graphics"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"bitflags 2.13.2", "bitflags 2.13.2",
"bytemuck", "bytemuck",
@@ -2844,7 +2844,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_program" name = "iced_program"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"iced_graphics", "iced_graphics",
"iced_runtime", "iced_runtime",
@@ -2853,7 +2853,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_renderer" name = "iced_renderer"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"iced_graphics", "iced_graphics",
"iced_tiny_skia", "iced_tiny_skia",
@@ -2865,7 +2865,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_runtime" name = "iced_runtime"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"build_helpers", "build_helpers",
"bytes", "bytes",
@@ -2882,7 +2882,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_tiny_skia" name = "iced_tiny_skia"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"cosmic-text", "cosmic-text",
@@ -2899,7 +2899,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_wgpu" name = "iced_wgpu"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"as-raw-xcb-connection", "as-raw-xcb-connection",
"bitflags 2.13.2", "bitflags 2.13.2",
@@ -2931,7 +2931,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_widget" name = "iced_widget"
version = "0.14.2" version = "0.14.2"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"build_helpers", "build_helpers",
"cosmic-client-toolkit", "cosmic-client-toolkit",
@@ -2951,7 +2951,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_winit" name = "iced_winit"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"build_helpers", "build_helpers",
"cosmic-client-toolkit", "cosmic-client-toolkit",
@@ -3488,7 +3488,7 @@ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
[[package]] [[package]]
name = "libcosmic" name = "libcosmic"
version = "1.0.0" version = "1.0.0"
source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.2#ae75e94131417d33fb91054e4f20b864b5f601fb" source = "git+https://github.com/ferese-wm/libcosmic?tag=ferese-v0.1.3-rc.1#170ddfe42ef7c58730685392fdc7185e8511938f"
dependencies = [ dependencies = [
"apply", "apply",
"ashpd 0.12.3", "ashpd 0.12.3",
+1 -1
View File
@@ -31,7 +31,7 @@ bitflags = "2.9.4"
calloop = { version = "0.14.4", features = ["signals"] } calloop = { version = "0.14.4", features = ["signals"] }
jiff = "0.2.37" jiff = "0.2.37"
libc = "0.2.176" libc = "0.2.176"
libcosmic = { git = "https://github.com/ferese-wm/libcosmic", tag = "ferese-v0.1.2", default-features = false, features = ["multi-window", "tokio", "wayland"] } libcosmic = { git = "https://github.com/ferese-wm/libcosmic", tag = "ferese-v0.1.3-rc.1", default-features = false, features = ["multi-window", "tokio", "wayland"] }
smithay = { version = "0.7.0", default-features = false, features = [ smithay = { version = "0.7.0", default-features = false, features = [
"backend_drm", "backend_drm",
"backend_gbm", "backend_gbm",
+1 -1
View File
@@ -11,7 +11,7 @@ ferese-theme-model = { path = "../ferese-theme-model" }
ferese-config = { path = "../ferese-config" } ferese-config = { path = "../ferese-config" }
libcosmic = { workspace = true, features = ["a11y"] } libcosmic = { workspace = true, features = ["a11y"] }
iced_accessibility = { git = "https://github.com/ferese-wm/libcosmic", tag = "ferese-v0.1.2" } iced_accessibility = { git = "https://github.com/ferese-wm/libcosmic", tag = "ferese-v0.1.3-rc.1" }
[dev-dependencies] [dev-dependencies]
tokio = { version = "1", features = ["rt"] } tokio = { version = "1", features = ["rt"] }
+1 -1
View File
@@ -10,7 +10,7 @@ ferese-theme-client = { path = "../../crates/ferese-theme-client" }
ferese-theme = { path = "../../crates/ferese-theme" } ferese-theme = { path = "../../crates/ferese-theme" }
ferese-config = { path = "../../crates/ferese-config" } ferese-config = { path = "../../crates/ferese-config" }
libcosmic = { workspace = true, features = ["wgpu", "a11y", "xdg-portal"] } libcosmic = { workspace = true, features = ["wgpu", "a11y", "xdg-portal"] }
iced_accessibility = { git = "https://github.com/ferese-wm/libcosmic", tag = "ferese-v0.1.2" } iced_accessibility = { git = "https://github.com/ferese-wm/libcosmic", tag = "ferese-v0.1.3-rc.1" }
ferese-ipc = { path = "../../crates/ferese-ipc" } ferese-ipc = { path = "../../crates/ferese-ipc" }
serde_json.workspace = true serde_json.workspace = true
tempfile.workspace = true tempfile.workspace = true
+1 -1
View File
@@ -18,7 +18,7 @@ libc.workspace = true
# tiny-skia to avoid a second GPU initialization during desktop startup. # tiny-skia to avoid a second GPU initialization during desktop startup.
libcosmic = { workspace = true, features = ["wgpu", "a11y"] } libcosmic = { workspace = true, features = ["wgpu", "a11y"] }
freedesktop-desktop-entry = { version = "0.8.3", default-features = false } freedesktop-desktop-entry = { version = "0.8.3", default-features = false }
iced_accessibility = { git = "https://github.com/ferese-wm/libcosmic", tag = "ferese-v0.1.2" } iced_accessibility = { git = "https://github.com/ferese-wm/libcosmic", tag = "ferese-v0.1.3-rc.1" }
serde.workspace = true serde.workspace = true
serde_json.workspace = true serde_json.workspace = true
tempfile.workspace = true tempfile.workspace = true