Commit Graph

480 Commits

Author SHA1 Message Date
firestar99
62662c92c7 explicit layout: WIP7, build equivalent test, showing bad shader optimizations 2025-12-10 12:11:43 +01:00
firestar99
449bbf485c explicit layout: WIP6, fix offset calculation in test 2025-12-10 12:11:07 +01:00
firestar99
91486163ef explicit layout: WIP5, move compiletest to separate folder 2025-12-10 12:10:41 +01:00
firestar99
9bd442ed9c explicit layout: WIP4, dedup slice copy fns 2025-12-10 11:51:21 +01:00
firestar99
e4941b9727 explicit layout: WIP3, compiletest vector load 2025-12-10 11:51:21 +01:00
firestar99
9ae3114a88 explicit layout: WIP2, compiles 2025-12-10 11:51:21 +01:00
firestar99
8ded5cabf8 explicit layout: WIP1, array to slice cast fails 2025-12-10 11:51:21 +01:00
firestar99
ae25e1a47b image texel write: change texel write arg from any vector to SampleResult, allows scalars
Some checks failed
Rust Toolchain Upgrade / check-and-upgrade (push) Has been cancelled
* breakage: no longer allows any vector, type must match image format
* allows texel writes into single-component scalar textures
2025-12-08 07:33:28 +00:00
firestar99
4a75a05549 image texel write: compiletests with explicit formats, fails for scalar formats 2025-12-08 07:33:28 +00:00
firestar99
ecb41c22dc dylib: remove crate-type declarations from examples and difftests 2025-12-05 23:29:56 +00:00
firestar99
fe941fec1e compiletest: ignore arch/shared on vulkan1.0/spv1.2 and lower 2025-12-05 10:35:47 +00:00
firestar99
18f9e0266d replace tabs with spaces 2025-12-05 10:35:47 +00:00
firestar99
77708a3d3e ScalarComposite: rename ScalarOrVectorComposite to ScalarComposite, bulk rename 2025-11-28 15:16:26 +00:00
firestar99
7c73d49942 ScalarComposite: derive enums and improve enum docs 2025-11-28 15:16:26 +00:00
firestar99
e9b5a74000 ScalarComposite: adjust subgroup_all_equal to accept composites 2025-11-28 15:16:26 +00:00
firestar99
589d51ff19 ScalarComposite: add #[derive(ScalarOrVectorComposite)] for structs 2025-11-28 15:16:26 +00:00
firestar99
403dd84ea4 ScalarComposite: add ScalarOrVectorComposite for subgroup intrinsics 2025-11-28 15:16:26 +00:00
firestar99
a49f4233fd shared: only retain entry point vars with preserve-bindings 2025-11-27 09:43:14 +00:00
firestar99
02806ee961 shared: fix unused shared memory failing validation 2025-11-27 09:43:14 +00:00
firestar99
b01acc6840 shared: compiletest for unused shared memory, failing 2025-11-27 09:43:14 +00:00
firestar99
a496aeabd8 Matrix4x3: verify abi layout in difftest 2025-11-27 09:39:55 +00:00
Firestar99
703488181f difftest: force wgpu to use Vulkan, disable dx12
All checks were successful
Rust Toolchain Upgrade / check-and-upgrade (push) Has been skipped
naga fails to transpile our spirv to hlsl
2025-11-27 00:12:30 +00:00
firestar99
b3eda4df98 fix compiletest for spv1.4 and up
All checks were successful
Rust Toolchain Upgrade / check-and-upgrade (push) Has been skipped
2025-11-12 23:35:58 +00:00
Christian Legnitto
2232fcb7b5 Do not ICE on indirect fn pointers
All checks were successful
Rust Toolchain Upgrade / check-and-upgrade (push) Has been skipped
Fixes https://github.com/Rust-GPU/rust-gpu/issues/452.
2025-10-28 08:49:53 +00:00
firestar99
67ccf2f6aa format args decompiler: move support functions in spirv-std to mod debug_printf
All checks were successful
Rust Toolchain Upgrade / check-and-upgrade (push) Has been skipped
Currently, every time `lib.rs` changes, there's a change in the debug printf compiletest stderr, which is causing a lot of churn.
2025-10-22 13:42:03 +00:00
firestar99
8c3fa7b7e8 subgroup: add subgroup_broadcast_const variant for pre-spv1.5 broadcasts 2025-10-22 13:31:48 +00:00
firestar99
f438c8c817 scalar or vector: rename VectorOrScalar to ScalarOrVector and give it its own mod 2025-10-22 12:30:23 +00:00
firestar99
08a245cb23 scalar or vector: move all scalar traits and impl macros to mod scalar 2025-10-22 12:30:23 +00:00
firestar99
0ada17d0ec scalar or vector: reexport all Scalar traits in lib.rs, make mods private
apart from `mod float`, which contains functionality
2025-10-22 12:30:23 +00:00
firestar99
a28bd3a333 SpecConstant: add arrayed spec constants 2025-10-22 08:37:42 +00:00
firestar99
300da9c21d compiletest: pass -Zui-testing to rustc 2025-10-22 03:55:58 +00:00
firestar99
50019a74a8 compiletest: normalize subgroup tests 2025-10-22 03:55:58 +00:00
firestar99
e7971d3695 compiletest: update readme normalize examples 2025-10-15 09:42:01 +00:00
firestar99
adf6ee9523 abi layout: add some compiletests 2025-10-15 09:42:01 +00:00
firestar99
7e02135fb8 abi layout: limit vectors to at most 4 components, as spec states 2025-10-15 09:42:01 +00:00
firestar99
9218e64b59 abi layout: minor code cleanups 2025-10-15 09:42:01 +00:00
firestar99
95837d7999 abi layout difftest: cuda and scalar-math feature testing 2025-10-15 09:42:01 +00:00
firestar99
6ed642b5bb abi layout difftest: cuda and scalar-math feature forwarding 2025-10-15 09:42:01 +00:00
firestar99
45147a21d5 abi layout difftest: add all remaining glam types 2025-10-15 09:42:01 +00:00
firestar99
a5442acd31 abi layout compiletest: bless complex_image_sample_inst 2025-10-15 09:42:01 +00:00
firestar99
9b2860639f abi layout: change Subgroup from transparent struct to typedef 2025-10-15 09:42:01 +00:00
firestar99
f30056a1c1 abi layout compiletest: fix invalid-matrix-type 2025-10-15 09:42:01 +00:00
firestar99
e7f4f3b81b abi layout: glam::BVec support 2025-10-15 09:42:01 +00:00
firestar99
cb8df101b4 update glam: switch from #[repr(SIMD)] to #[rust_gpu::vector::v1] 2025-10-15 09:42:01 +00:00
firestar99
c83ef32ab7 abi layout difftest: add member offset checking 2025-10-15 09:42:01 +00:00
firestar99
5037751f8a abi layout difftest: add difftest for layout size and alignment 2025-10-15 09:42:01 +00:00
firestar99
a26e0df73a compiletest: shared memory reductions, using the same type in buffers and as shared memory
All checks were successful
Rust Toolchain Upgrade / check-and-upgrade (push) Has been skipped
2025-10-11 10:58:29 +00:00
Eduard-Mihai Burtescu
8c8ff2fe1f Erase explicit layout decorations (Offset/ArrayStride) when disallowed by Vulkan. 2025-10-11 10:58:29 +00:00
firestar99
7a72a2fa40 byte_addr_buffer: compiletests with mixed scalar and scalar pairs, store is failing 2025-10-11 09:50:40 +00:00
Christian Legnitto
56cc132145 Fix divide by zero
All checks were successful
Rust Toolchain Upgrade / check-and-upgrade (push) Has been skipped
We assumed every array/vector/matrix element has a non-zero stride,
but `[()]` inside `BitSlice` produced a zero stride which is divide by zero.

Fixes https://github.com/Rust-GPU/rust-gpu/issues/424.
2025-10-09 08:49:19 +00:00