From fac23c0a3d0ab0bf3665a7f7834a9cc1f605c6e2 Mon Sep 17 00:00:00 2001 From: firestar99 Date: Tue, 22 Sep 2026 18:13:37 +0200 Subject: [PATCH] support glam 0.34.1 --- CHANGELOG.md | 4 ++++ Cargo.lock | 11 +++++++++++ crates/spirv-std/Cargo.toml | 8 ++++++-- crates/spirv-std/src/lib.rs | 3 +++ tests/difftests/tests/Cargo.lock | 4 ++-- .../tests/lang/abi/vector_layout/cpu/Cargo.toml | 2 +- 6 files changed, 27 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 219cda59e0e..125687e4121 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [PR#660](https://github.com/Rust-GPU/rust-gpu/pull/660) disallows `Vec3A` for SPIR-V intrinsics and asm. Migration: use Vec3 instead and convert back and forward with `Vec3::to_vec3a()` and `Vec3A::to_vec3()`. +### Added ⭐ + +- [PR#661](https://github.com/Rust-GPU/rust-gpu/pull/661) support glam v0.34 + ## [0.10.0](https://github.com/Rust-GPU/rust-gpu/compare/v0.10.0-alpha.1...v0.10.0) - 2026-10-01 Toolchain: `nightly-2026-07-03` (rustc 1.98.0) diff --git a/Cargo.lock b/Cargo.lock index 074ef692b22..3094131d630 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2767,6 +2767,16 @@ dependencies = [ "libm", ] +[[package]] +name = "glam" +version = "0.34.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc148d4ddd3930c52f9e5ae79b89805c6f07e9ff417e7b083e0348cea60a5aba" +dependencies = [ + "bytemuck", + "libm", +] + [[package]] name = "glob" version = "0.3.4" @@ -5876,6 +5886,7 @@ dependencies = [ "glam 0.31.1", "glam 0.32.1", "glam 0.33.12", + "glam 0.34.1", "libm", "num-traits", "spirv-std-macros", diff --git a/crates/spirv-std/Cargo.toml b/crates/spirv-std/Cargo.toml index 1a8e3785db0..875fa578e45 100644 --- a/crates/spirv-std/Cargo.toml +++ b/crates/spirv-std/Cargo.toml @@ -15,6 +15,7 @@ spirv-std-types.workspace = true spirv-std-macros.workspace = true bitflags = "2.13.1" bytemuck = { workspace = true, optional = true } +glam_0_34 = { package = "glam", version = "0.34.1", optional = true, default-features = false, features = ["u32", "i32", "f64"] } glam_0_33 = { package = "glam", version = "0.33.0", optional = true, default-features = false, features = ["u32", "i32", "f64"] } glam_0_32 = { package = "glam", version = "0.32.0", optional = true, default-features = false } glam_0_31 = { package = "glam", version = "0.31.0", optional = true, default-features = false } @@ -23,6 +24,7 @@ glam_0_30 = { package = "glam", version = "0.30.8", optional = true, default-fea [target.'cfg(target_arch = "spirv")'.dependencies] num-traits = { workspace = true, features = ["libm"] } libm = { workspace = true } +glam_0_34 = { package = "glam", version = "0.34.1", optional = true, default-features = false, features = ["libm"] } glam_0_33 = { package = "glam", version = "0.33.0", optional = true, default-features = false, features = ["libm"] } glam_0_32 = { package = "glam", version = "0.32.0", optional = true, default-features = false, features = ["libm"] } glam_0_31 = { package = "glam", version = "0.31.0", optional = true, default-features = false, features = ["libm"] } @@ -30,14 +32,16 @@ glam_0_30 = { package = "glam", version = "0.30.8", optional = true, default-fea [target.'cfg(not(target_arch = "spirv"))'.dependencies] num-traits = { workspace = true, default-features = true } +glam_0_34 = { package = "glam", version = "0.34.1", optional = true, default-features = false, features = ["std"] } glam_0_33 = { package = "glam", version = "0.33.0", optional = true, default-features = false, features = ["std"] } glam_0_32 = { package = "glam", version = "0.32.0", optional = true, default-features = false, features = ["std"] } glam_0_31 = { package = "glam", version = "0.31.0", optional = true, default-features = false, features = ["std"] } glam_0_30 = { package = "glam", version = "0.30.8", optional = true, default-features = false, features = ["std"] } [features] -default = ["glam_0_33"] -bytemuck = ["dep:bytemuck", "bitflags/bytemuck", "glam_0_30?/bytemuck", "glam_0_31?/bytemuck", "glam_0_32?/bytemuck", "glam_0_33?/bytemuck"] +default = ["glam_0_34"] +bytemuck = ["dep:bytemuck", "bitflags/bytemuck", "glam_0_30?/bytemuck", "glam_0_31?/bytemuck", "glam_0_32?/bytemuck", "glam_0_33?/bytemuck", "glam_0_34?/bytemuck"] +glam_0_34 = ["dep:glam_0_34"] glam_0_33 = ["dep:glam_0_33"] glam_0_32 = ["dep:glam_0_32"] glam_0_31 = ["dep:glam_0_31"] diff --git a/crates/spirv-std/src/lib.rs b/crates/spirv-std/src/lib.rs index 288432b2913..f3c19b2eac4 100644 --- a/crates/spirv-std/src/lib.rs +++ b/crates/spirv-std/src/lib.rs @@ -121,6 +121,9 @@ pub use vector::*; // Even though it doesn't immediately fail, enabling multiple glam features at the same time will lead to weirdness in // downstream crates, as any traits in spirv_std will only be implemented on the most recent glam version. cfg_select! { + feature = "glam_0_34" => { + pub use ::glam_0_34 as glam; + } feature = "glam_0_33" => { pub use ::glam_0_33 as glam; } diff --git a/tests/difftests/tests/Cargo.lock b/tests/difftests/tests/Cargo.lock index 02a41bf8949..eb0542bcbac 100644 --- a/tests/difftests/tests/Cargo.lock +++ b/tests/difftests/tests/Cargo.lock @@ -753,9 +753,9 @@ dependencies = [ [[package]] name = "glam" -version = "0.33.11" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35b4e837a1d133645d1dcf283e146a4b9901e390a1c13545f959cfed3a72f24f" +checksum = "fc148d4ddd3930c52f9e5ae79b89805c6f07e9ff417e7b083e0348cea60a5aba" dependencies = [ "libm", ] diff --git a/tests/difftests/tests/lang/abi/vector_layout/cpu/Cargo.toml b/tests/difftests/tests/lang/abi/vector_layout/cpu/Cargo.toml index dae3d831795..be61544ae16 100644 --- a/tests/difftests/tests/lang/abi/vector_layout/cpu/Cargo.toml +++ b/tests/difftests/tests/lang/abi/vector_layout/cpu/Cargo.toml @@ -12,7 +12,7 @@ scalar-math = ["glam/scalar-math"] # GPU deps [dependencies] spirv-std.workspace = true -glam = { version = "0.33.0", default-features = false, features = ["all-types"] } +glam = { version = "0.34.1", default-features = false, features = ["all-types"] } bytemuck.workspace = true # CPU deps (for the test harness)