From 6cc9b92875c79d32fdc1bb2058954081bd87bf86 Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Tue, 30 Apr 2024 16:06:21 +0200 Subject: [PATCH] cargo: Replace `metal-rs` patch with `git` dependency `gpu-allocator` is a library crate, meaning that `[patch]`es don't get applied when users depend on our crate, and falsely end up with a broken build while our CI said everything was hunky dory ( https://github.com/Traverse-Research/gpu-allocator/issues/224). Even though we cannot normally have a direct `git` dependency as that blocks us from publishing to crates.io, the current `gpu-allocator` release (though only for Metal) is broken anyway. It's relying on functionality that has just now been merged upstream, but still has to make it into a (followup patch) release. What's worse, the harcoded hash that this was pointing to no longer has a live reference on our fork (maybe due to a force-push), and the CI is now failing to to fetch that commit by hash while build-testing `gpu-allocator`. Let's bump to a `git` dependency for now, and replace that as soon as we have a workable solution, however that pans out. --- Cargo.toml | 5 +---- src/vulkan/mod.rs | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f608a1a..3ea0ec5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ egui = { version = ">=0.24, <=0.27", optional = true, default-features = false } egui_extras = { version = ">=0.24, <=0.27", optional = true, default-features = false } [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies] -metal = { version = "0.27.0", default-features = false, features = ["link", "dispatch"], optional = true } +metal = { version = "0.28.0", git = "https://github.com/gfx-rs/metal-rs", rev = "0d6214f", default-features = false, features = ["link", "dispatch"], optional = true } [target.'cfg(windows)'.dependencies] # Only needed for public-winapi interop helpers @@ -96,6 +96,3 @@ metal = ["dep:metal"] public-winapi = ["dep:winapi"] default = ["d3d12", "vulkan"] - -[patch.crates-io] -metal = { git = "https://github.com/Traverse-Research/metal-rs", rev = "a354c33" } diff --git a/src/vulkan/mod.rs b/src/vulkan/mod.rs index abf42f5..bb8d74c 100644 --- a/src/vulkan/mod.rs +++ b/src/vulkan/mod.rs @@ -105,7 +105,7 @@ pub struct AllocatorCreateDesc { /// let my_gpu_data: Vec = make_vertex_data(); /// ``` /// -/// Depending on how the data we're copying will be used, the vulkan device may have a minimum +/// Depending on how the data we're copying will be used, the Vulkan device may have a minimum /// alignment requirement for that data: /// /// ```ignore @@ -180,7 +180,7 @@ impl Allocation { /// /// [`Slab`]: presser::Slab // best to be explicit where the lifetime is coming from since we're doing unsafe things - // and relying on an inferred liftime type in the PhantomData below + // and relying on an inferred lifetime type in the PhantomData below #[allow(clippy::needless_lifetimes)] pub fn try_as_mapped_slab<'a>(&'a mut self) -> Option> { let mapped_ptr = self.mapped_ptr()?.cast().as_ptr();