render,desktop: Switch to `wgpu` `v22.1.0` and latest `egui` without `winit` 0.30

I opted to enable dithering in egui, because why not.
This commit is contained in:
TÖRÖK Attila 2024-07-19 11:17:51 +02:00 committed by Nathan Adams
parent 799b536766
commit 124310986f
17 changed files with 67 additions and 73 deletions

108
Cargo.lock generated
View File

@ -238,11 +238,11 @@ checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
[[package]]
name = "ash"
version = "0.37.3+1.3.251"
version = "0.38.0+1.3.281"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a"
checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f"
dependencies = [
"libloading 0.7.4",
"libloading",
]
[[package]]
@ -476,18 +476,18 @@ dependencies = [
[[package]]
name = "bit-set"
version = "0.5.3"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
checksum = "f0481a0e032742109b1133a095184ee93d88f3dc9e0d28a5d033dc77a073f44f"
dependencies = [
"bit-vec",
]
[[package]]
name = "bit-vec"
version = "0.6.3"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22"
[[package]]
name = "bitflags"
@ -786,7 +786,7 @@ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
dependencies = [
"glob",
"libc",
"libloading 0.8.5",
"libloading",
]
[[package]]
@ -1168,12 +1168,12 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
[[package]]
name = "d3d12"
version = "0.20.0"
version = "22.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813"
checksum = "bdbd1f579714e3c809ebd822c81ef148b1ceaeb3d535352afc73fd0c4c6a0017"
dependencies = [
"bitflags 2.6.0",
"libloading 0.8.5",
"libloading",
"winapi",
]
@ -1410,14 +1410,14 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
dependencies = [
"libloading 0.8.5",
"libloading",
]
[[package]]
name = "document-features"
version = "0.2.8"
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef5282ad69563b5fc40319526ba27e0e7363d552a896f0297d54f767717f9b95"
checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0"
dependencies = [
"litrs",
]
@ -1431,8 +1431,7 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
[[package]]
name = "ecolor"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e6b451ff1143f6de0f33fc7f1b68fecfd2c7de06e104de96c4514de3f5396f8"
source = "git+https://github.com/emilk/egui.git?rev=37b1e1504db14697c39ce1c3bb5e58f4f2b819bf#37b1e1504db14697c39ce1c3bb5e58f4f2b819bf"
dependencies = [
"bytemuck",
"emath",
@ -1441,8 +1440,7 @@ dependencies = [
[[package]]
name = "egui"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20c97e70a2768de630f161bb5392cbd3874fcf72868f14df0e002e82e06cb798"
source = "git+https://github.com/emilk/egui.git?rev=37b1e1504db14697c39ce1c3bb5e58f4f2b819bf#37b1e1504db14697c39ce1c3bb5e58f4f2b819bf"
dependencies = [
"ahash",
"emath",
@ -1454,8 +1452,7 @@ dependencies = [
[[package]]
name = "egui-wgpu"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47c7a7c707877c3362a321ebb4f32be811c0b91f7aebf345fb162405c0218b4c"
source = "git+https://github.com/emilk/egui.git?rev=37b1e1504db14697c39ce1c3bb5e58f4f2b819bf#37b1e1504db14697c39ce1c3bb5e58f4f2b819bf"
dependencies = [
"ahash",
"bytemuck",
@ -1473,8 +1470,7 @@ dependencies = [
[[package]]
name = "egui-winit"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fac4e066af341bf92559f60dbdf2020b2a03c963415349af5f3f8d79ff7a4926"
source = "git+https://github.com/emilk/egui.git?rev=37b1e1504db14697c39ce1c3bb5e58f4f2b819bf#37b1e1504db14697c39ce1c3bb5e58f4f2b819bf"
dependencies = [
"ahash",
"arboard",
@ -1490,8 +1486,7 @@ dependencies = [
[[package]]
name = "egui_extras"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bb783d9fa348f69ed5c340aa25af78b5472043090e8b809040e30960cc2a746"
source = "git+https://github.com/emilk/egui.git?rev=37b1e1504db14697c39ce1c3bb5e58f4f2b819bf#37b1e1504db14697c39ce1c3bb5e58f4f2b819bf"
dependencies = [
"ahash",
"egui",
@ -1509,8 +1504,7 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
[[package]]
name = "emath"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a6a21708405ea88f63d8309650b4d77431f4bc28fb9d8e6f77d3963b51249e6"
source = "git+https://github.com/emilk/egui.git?rev=37b1e1504db14697c39ce1c3bb5e58f4f2b819bf#37b1e1504db14697c39ce1c3bb5e58f4f2b819bf"
dependencies = [
"bytemuck",
]
@ -1639,8 +1633,7 @@ dependencies = [
[[package]]
name = "epaint"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f0dcc0a0771e7500e94cd1cb797bd13c9f23b9409bdc3c824e2cbc562b7fa01"
source = "git+https://github.com/emilk/egui.git?rev=37b1e1504db14697c39ce1c3bb5e58f4f2b819bf#37b1e1504db14697c39ce1c3bb5e58f4f2b819bf"
dependencies = [
"ab_glyph",
"ahash",
@ -2247,9 +2240,9 @@ dependencies = [
[[package]]
name = "glutin_wgl_sys"
version = "0.5.0"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead"
checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c"
dependencies = [
"gl_generator",
]
@ -2275,9 +2268,9 @@ dependencies = [
[[package]]
name = "gpu-allocator"
version = "0.25.0"
version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884"
checksum = "fdd4240fc91d3433d5e5b0fc5b67672d771850dc19bbee03c1381e19322803d7"
dependencies = [
"log",
"presser",
@ -2373,7 +2366,7 @@ dependencies = [
"bitflags 2.6.0",
"com",
"libc",
"libloading 0.8.5",
"libloading",
"thiserror",
"widestring",
"winapi",
@ -2809,7 +2802,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76"
dependencies = [
"libc",
"libloading 0.8.5",
"libloading",
"pkg-config",
]
@ -2837,16 +2830,6 @@ version = "0.2.155"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
[[package]]
name = "libloading"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
dependencies = [
"cfg-if",
"winapi",
]
[[package]]
name = "libloading"
version = "0.8.5"
@ -3129,9 +3112,9 @@ dependencies = [
[[package]]
name = "metal"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb"
checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21"
dependencies = [
"bitflags 2.6.0",
"block",
@ -3189,18 +3172,18 @@ dependencies = [
[[package]]
name = "naga"
version = "0.20.0"
version = "22.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231"
checksum = "8bd5a652b6faf21496f2cfd88fc49989c8db0825d1f6746b1a71a6ede24a63ad"
dependencies = [
"arrayvec",
"bit-set",
"bitflags 2.6.0",
"cfg_aliases 0.1.1",
"codespan-reporting",
"hexf-parse",
"indexmap",
"log",
"num-traits",
"rustc-hash",
"spirv",
"termcolor",
@ -4162,7 +4145,7 @@ checksum = "ac633a08f39bf3268714799bd8c4a1a19c19c203d817d3448bb8b91c97817cf0"
dependencies = [
"bitflags 2.6.0",
"float-cmp",
"libloading 0.8.5",
"libloading",
"once_cell",
"renderdoc-sys",
"winapi",
@ -4574,7 +4557,7 @@ version = "0.1.0"
dependencies = [
"bzip2",
"hex",
"libloading 0.8.5",
"libloading",
"md-5",
"reqwest",
"ruffle_render",
@ -6235,12 +6218,11 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
[[package]]
name = "wgpu"
version = "0.20.1"
version = "22.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90e37c7b9921b75dfd26dd973fdcbce36f13dfa6e2dc82aece584e0ed48c355c"
checksum = "e1d1c4ba43f80542cf63a0a6ed3134629ae73e8ab51e4b765a67f3aa062eb433"
dependencies = [
"arrayvec",
"cfg-if",
"cfg_aliases 0.1.1",
"document-features",
"js-sys",
@ -6261,15 +6243,14 @@ dependencies = [
[[package]]
name = "wgpu-core"
version = "0.21.1"
version = "22.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39"
checksum = "0348c840d1051b8e86c3bcd31206080c5e71e5933dabd79be1ce732b0b2f089a"
dependencies = [
"arrayvec",
"bit-vec",
"bitflags 2.6.0",
"cfg_aliases 0.1.1",
"codespan-reporting",
"document-features",
"indexmap",
"log",
@ -6281,16 +6262,15 @@ dependencies = [
"rustc-hash",
"smallvec",
"thiserror",
"web-sys",
"wgpu-hal",
"wgpu-types",
]
[[package]]
name = "wgpu-hal"
version = "0.21.1"
version = "22.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "172e490a87295564f3fcc0f165798d87386f6231b04d4548bca458cbbfd63222"
checksum = "f6bbf4b4de8b2a83c0401d9e5ae0080a2792055f25859a02bf9be97952bbed4f"
dependencies = [
"android_system_properties",
"arrayvec",
@ -6310,7 +6290,7 @@ dependencies = [
"js-sys",
"khronos-egl",
"libc",
"libloading 0.8.5",
"libloading",
"log",
"metal",
"naga",
@ -6333,9 +6313,9 @@ dependencies = [
[[package]]
name = "wgpu-types"
version = "0.20.0"
version = "22.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef"
checksum = "bc9d91f0e2c4b51434dfa6db77846f2793149d8e73f800fa2e41f52b8eac3c5d"
dependencies = [
"bitflags 2.6.0",
"js-sys",
@ -6759,7 +6739,7 @@ dependencies = [
"as-raw-xcb-connection",
"gethostname",
"libc",
"libloading 0.8.5",
"libloading",
"once_cell",
"rustix",
"x11rb-protocol",

View File

@ -48,9 +48,9 @@ version = "0.1.0"
[workspace.dependencies]
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
naga = { version = "0.20.0", features = ["wgsl-out"] }
wgpu = "0.20.1"
egui = "0.28.1"
naga = { version = "22.1.0", features = ["wgsl-out"] }
wgpu = "22.1.0"
egui = { git = "https://github.com/emilk/egui.git", rev = "37b1e1504db14697c39ce1c3bb5e58f4f2b819bf" }
clap = { version = "4.5.13", features = ["derive"] }
anyhow = "1.0"
slotmap = "1.0.7"

View File

@ -55,7 +55,7 @@ hashbrown = { version = "0.14.5", features = ["raw"] }
scopeguard = "1.2.0"
fluent-templates = "0.9.4"
egui = { workspace = true, optional = true }
egui_extras = { version = "0.28.1", default-features = false, optional = true }
egui_extras = { git = "https://github.com/emilk/egui.git", rev = "37b1e1504db14697c39ce1c3bb5e58f4f2b819bf", default-features = false, optional = true }
png = { version = "0.17.13", optional = true }
flv-rs = { path = "../flv" }
async-channel = { workspace = true }

View File

@ -77,6 +77,8 @@ unknown-git = "deny"
# github.com organizations to allow git sources for
github = [
"ruffle-rs",
# TODO: Remove once a release with https://github.com/emilk/egui/pull/4847 in it is out.
"emilk",
]
[advisories]

View File

@ -14,10 +14,10 @@ workspace = true
clap = { workspace = true }
cpal = "0.15.3"
egui = { workspace = true }
egui_extras = { version = "0.28.1", default-features = false, features = ["image"] }
egui-wgpu = { version = "0.28.1", features = ["winit"] }
egui_extras = { git = "https://github.com/emilk/egui.git", rev = "37b1e1504db14697c39ce1c3bb5e58f4f2b819bf", default-features = false, features = ["image"] }
egui-wgpu = { git = "https://github.com/emilk/egui.git", rev = "37b1e1504db14697c39ce1c3bb5e58f4f2b819bf", features = ["winit"] }
image = { workspace = true, features = ["png"] }
egui-winit = "0.28.1"
egui-winit = { git = "https://github.com/emilk/egui.git", rev = "37b1e1504db14697c39ce1c3bb5e58f4f2b819bf" }
fontdb = "0.20"
ruffle_core = { path = "../core", features = ["audio", "clap", "mp3", "nellymoser", "default_compatibility_rules", "egui"] }
ruffle_render = { path = "../render", features = ["clap"] }

View File

@ -108,7 +108,8 @@ impl GuiController {
size.height,
window.scale_factor(),
));
let egui_renderer = egui_wgpu::Renderer::new(&descriptors.device, surface_format, None, 1);
let egui_renderer =
egui_wgpu::Renderer::new(&descriptors.device, surface_format, None, 1, true);
let descriptors = Arc::new(descriptors);
let gui = RuffleGui::new(
event_loop,

View File

@ -120,6 +120,7 @@ impl MovieViewRenderer {
compilation_options: Default::default(),
}),
multiview: None,
cache: None,
});
let vertices = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
label: None,

View File

@ -1134,7 +1134,6 @@ async fn request_device(
let try_features = [
wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES,
wgpu::Features::SHADER_UNUSED_VERTEX_OUTPUT,
wgpu::Features::TEXTURE_COMPRESSION_BC,
wgpu::Features::FLOAT32_FILTERABLE,
];
@ -1151,6 +1150,7 @@ async fn request_device(
label: None,
required_features: features,
required_limits: limits,
memory_hints: Default::default(),
},
trace_path,
)

View File

@ -521,6 +521,7 @@ impl CurrentPipeline {
alpha_to_coverage_enabled: false,
},
multiview: Default::default(),
cache: None,
});
Some((compiled, bind_group))
}

View File

@ -130,6 +130,7 @@ impl Descriptors {
alpha_to_coverage_enabled: false,
},
multiview: None,
cache: None,
}),
)
})
@ -199,6 +200,7 @@ impl Descriptors {
alpha_to_coverage_enabled: false,
},
multiview: None,
cache: None,
}),
)
})

View File

@ -146,6 +146,7 @@ impl BevelFilter {
compilation_options: Default::default(),
}),
multiview: None,
cache: None,
})
})
}

View File

@ -141,6 +141,7 @@ impl BlurFilter {
compilation_options: Default::default(),
}),
multiview: None,
cache: None,
})
})
}

View File

@ -122,6 +122,7 @@ impl ColorMatrixFilter {
compilation_options: Default::default(),
}),
multiview: None,
cache: None,
})
})
}

View File

@ -159,6 +159,7 @@ impl DisplacementMapFilter {
compilation_options: Default::default(),
}),
multiview: None,
cache: None,
})
})
}

View File

@ -145,6 +145,7 @@ impl GlowFilter {
compilation_options: Default::default(),
}),
multiview: None,
cache: None,
})
})
}

View File

@ -296,6 +296,7 @@ fn create_pipeline_descriptor<'a>(
alpha_to_coverage_enabled: false,
},
multiview: None,
cache: None,
}
}

View File

@ -89,6 +89,7 @@ impl PixelBenderWgpuShader {
alpha_to_coverage_enabled: false,
},
multiview: Default::default(),
cache: None,
}),
)
})