You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
v0.17.16 — MSL Backend Hardening
Fixed (MSL)
64-bit atomic capability validation (#79, PR #82, @besmpl) — msl.Compile now returns a descriptive error for 64-bit atomic operations
that Metal cannot represent instead of emitting invalid intrinsics. Matching
Rust Naga, result-discarded min/max in storage address space remain
supported; loads, stores, full operations, result-producing min/max, and
workgroup min/max are rejected.
Swizzle of binary expression missing parentheses (#83) — writeSwizzle now wraps binary/select sub-expressions in parentheses,
matching Rust naga's is_scoped=false semantics. Without this, C++ member
access (.) bound tighter than arithmetic operators, causing mat * vec.xyz instead of (mat * vec).xyz — a type error that Metal
compiler rejected. Discovered via g3d standard.wgsl shader on Apple M5.