Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
beac9c7
abi layout difftest: add difftest for layout size and alignment
Firestar99 Sep 8, 2025
1e1922f
abi layout difftest: add member offset checking
Firestar99 Sep 8, 2025
236ee2c
update glam: switch from `#[repr(SIMD)]` to `#[rust_gpu::vector::v1]`
Firestar99 Sep 16, 2025
fbc77ce
abi layout: give Vector a dynamic size and alignment
Firestar99 Sep 15, 2025
5942834
abi layout: `glam::BVec` support
Firestar99 Sep 16, 2025
fdbef58
abi layout: make `insert_value()` support Array, Vector, Matrix
Firestar99 Sep 16, 2025
e9828e0
abi layout compiletest: fix invalid-matrix-type
Firestar99 Sep 16, 2025
977fe49
abi layout: change Subgroup from transparent struct to typedef
Firestar99 Sep 18, 2025
bf899ed
abi layout compiletest: bless complex_image_sample_inst
Firestar99 Sep 16, 2025
807ea93
abi layout: remove `#[repr(SIMD)]` hack
Firestar99 Sep 16, 2025
3a1b41e
abi layout difftest: add all remaining glam types
Firestar99 Sep 17, 2025
d4c2113
abi layout difftest: cuda and scalar-math feature forwarding
Firestar99 Sep 18, 2025
c414591
abi layout difftest: cuda and scalar-math feature testing
Firestar99 Sep 18, 2025
dbfef21
abi layout: minor code cleanups
Firestar99 Sep 24, 2025
fbb36aa
abi layout: improve documentation on `Scalar` and `Vector`
Firestar99 Sep 24, 2025
c58aaec
abi layout: limit vectors to at most 4 components, as spec states
Firestar99 Sep 24, 2025
582df86
abi layout: add some compiletests
Firestar99 Sep 24, 2025
8c715a2
abi layout: assert member offsets of vectors are as expected
Firestar99 Sep 24, 2025
ce5d860
compiletest: update readme normalize examples
Firestar99 Sep 24, 2025
f81832c
abi layout: remove pqp_cg_ssa patch for `#[repr(SIMD)]`
Firestar99 Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ difftest = { path = "tests/difftests/lib" }
tracing = "0.1"
tracing-subscriber = { version = "0.3.20", features = ["env-filter", "json"] }
num-traits = { version = "0.2.15", default-features = false }
glam = { version = ">=0.22, <=0.30.7", default-features = false }
glam = { version = ">=0.30.8", default-features = false }
libm = { version = "0.2.5", default-features = false }
bytemuck = { version = "1.23", features = ["derive"] }

Expand Down
11 changes: 0 additions & 11 deletions crates/rustc_codegen_spirv/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -234,17 +234,6 @@ pub(super) fn elf_e_flags(architecture: Architecture, sess: &Session) -> u32 {",
);
} else if relative_path == Path::new("src/mir/operand.rs") {
src = src.replace("alloca(field.size,", "typed_alloca(llfield_ty,");

// HACK(eddyb) non-array `#[repr(simd)]` workarounds (see `src/abi.rs`).
src = src.replace("if constant_ty.is_simd() {", "if false {");
src = src.replace(
"match (self.val, self.layout.backend_repr) {",
"match (self.val, self.layout.backend_repr) {
// `#[repr(simd)]` types are also immediate.
(OperandValue::Immediate(llval), BackendRepr::SimdVector { element, .. }) => {
(Some(element), bx.extract_element(llval, bx.cx().const_usize(i as u64)))
}",
);
}

fs::write(out_path, src)?;
Expand Down
Loading