Commit Graph

548 Commits

Author SHA1 Message Date
Firestar99
d3662f113b nonuniform: ByteAddressableBuffer decorates NonUniform if ShaderNonUniform capability is enabled 2025-06-13 10:52:56 +02:00
Firestar99
d3e739c4e5 nonuniform: add nonuniform declaration to all image operations, remove decoration during linking if undesired 2025-06-13 10:52:47 +02:00
Christian Legnitto
7526a78441 Fix inverted conditions in count_(leading|trailing)_zeros for 64-bit integers
Selecting between lower and upper 32-bit parts were swapped.
2025-06-03 22:18:07 +00:00
Eduard-Mihai Burtescu
e4375b1c82 Remove long-obsolete is_blocklisted_fn mechanism. 2025-06-03 16:29:32 +00:00
Firestar99
3dda1ae857 rename rustc_codegen_spirv_target_specs to rustc_codegen_spirv-target-specs 2025-05-29 09:36:11 +00:00
Firestar99
0b7ab4cf2b make rustc_codegen_spirv depend on rustc_codegen_spirv_target_specs for cargo gpu 2025-05-29 09:36:11 +00:00
Firestar99
6d7c1cd6c0 compile_codegen: fix typo 2025-05-06 08:57:34 +00:00
Firestar99
a8737f2883 compile_codegen: add warning in build.rs about cargo gpu parsing 2025-05-06 08:57:34 +00:00
Firestar99
f6e22b45d2 fix warnings 2025-04-21 14:47:13 +00:00
Joerg Wollenschlaeger
2220ab1ed1 Only decorate physically sized types with ArrayStride 2025-04-21 14:47:13 +00:00
Christian Legnitto
2f915a09f1 Correctly calculate access chains for compound types
Fixes #46.
2025-04-20 22:45:03 -04:00
Firestar99
82071cd214 remove unused pipe dependency, fixes cargo deny 2025-04-10 16:02:51 +00:00
Christian Legnitto
ac0c7035d5 Port old change to latest main 2025-04-09 19:26:55 +00:00
julianknodt
f180b8de09 Account for signedness in memset const pat
Fixes https://github.com/Rust-GPU/rust-gpu/issues/85.
Fixes https://github.com/EmbarkStudios/rust-gpu/issues/1061

Thanks to @LegNeato
2025-04-09 19:26:55 +00:00
Christian Legnitto
698f10ac14 Fix typo swapping logical operations on bools 2025-03-30 15:14:14 +00:00
Firestar99
05042d1713 leading_zeros: emit one fewer add/sub instruction for leading_zeros 2025-03-22 13:16:08 +00:00
Firestar99
71cbc92c7b fixed signed constant actually being unsigned 2025-03-22 13:16:08 +00:00
Firestar99
88b246842c add undef_zombie() 2025-03-22 13:16:08 +00:00
Firestar99
9a533a364a leading_zeros: code cleanup 2025-03-21 23:17:37 +00:00
Firestar99
8ecc9907a4 leading_zeros: make all conversions unsigned 2025-03-21 23:17:37 +00:00
Firestar99
9cf1a9ec48 leading_zeros: remove sign conversions, always unsigned, except for leading_zeros 2025-03-21 23:17:37 +00:00
Firestar99
0df98d77cb leading_zeros: fix leading zeros for u32 2025-03-21 23:17:37 +00:00
Firestar99
7d8e53266e count_ones: cargo fmt 2025-03-21 23:17:37 +00:00
Firestar99
aa78fe2ee3 count_ones: fix mismatched error messages to methods containing them 2025-03-21 23:17:37 +00:00
Firestar99
e50946b142 count_ones: fix u64 bitshifts in all new functions 2025-03-21 23:17:37 +00:00
Firestar99
4920c9b9ef count_ones: fix bit_reverse, must be u32-only in vulkan 2025-03-21 23:17:37 +00:00
Firestar99
d904e7d920 count_ones: fix count_ones, must be u32-only in vulkan 2025-03-21 23:17:37 +00:00
Firestar99
a49392dcac count_ones: fix pointer cast errors 2025-03-21 23:17:37 +00:00
Firestar99
233897a776 leading_zeros: fix unused warning for enabled_extensions 2025-03-21 23:17:37 +00:00
Firestar99
95d29022a2 leading_zeros: support 8bit, 16bit and emulate 64bit 2025-03-21 23:17:37 +00:00
Firestar99
21eb5fd110 leading_zeros: add support for leading_zeros and trailing_zeros, limited to u32/i32 2025-03-21 23:17:37 +00:00
Eduard-Mihai Burtescu
fcd1b1e750 linker/inline: use OpPhi instead of OpVariable for return values. 2025-03-17 16:49:44 +00:00
Eduard-Mihai Burtescu
efbf694ede WIP: mem2reg speedup 2025-03-17 16:49:44 +00:00
Eduard-Mihai Burtescu
ea20ef36a7 WIP: couple of inliner things that need to be disentangled 2025-03-17 16:49:44 +00:00
Eduard-Mihai Burtescu
41ec7ea82b WIP: (TODO: finish bottom-up cleanups) bottom-up inlining 2025-03-17 16:49:44 +00:00
Eduard-Mihai Burtescu
355122de8b linker/inline: fix OpVariable debuginfo collection and insertion. 2025-03-17 16:49:44 +00:00
Eduard-Mihai Burtescu
d6d3cef2fe linker: add --dump-{pre,post}-inline to be able to debug the inliner. 2025-03-17 16:49:44 +00:00
Christian Legnitto
6e2c84d4fe Replace printing codegen args with tracing.
This removes the following options and replaces them with `tracing`:

* `--specializer-debug` => RUSTGPU_LOG=rustc_codegen_spirv::specializer=debug
* `--print-zombie` => RUSTGPU_LOG=print_zombie=debug
* `--print-all-zombie` => RUSTGPU_LOG=print_all_zombie=debug
2025-01-21 11:16:21 -04:00
Christian Legnitto
d5754d0426 Add tracing to rustc_codegen_spirv
Fixes https://github.com/Rust-GPU/rust-gpu/issues/192
2025-01-21 10:50:02 -04:00
Christian Legnitto
854e9ba7da Use fmul in log10 intrinsic
Fixes https://github.com/Rust-GPU/rust-gpu/issues/199.
2025-01-13 09:27:06 -04:00
Firestar99
bfa63c15a9 mesh shaders: removed commented out code on mesh shader function signatures 2024-12-25 15:27:30 +00:00
Firestar99
7eace1b853 mesh shaders: fix per_primitive_ext validation for fragment shaders 2024-12-25 15:27:30 +00:00
Firestar99
f815534258 mesh shaders: added per_primitive_ext output attribute 2024-12-25 15:27:30 +00:00
Firestar99
b463c5a57a mesh shader ext: add support for mesh shaders, based on @BeastLe9enD work 2024-12-25 15:27:30 +00:00
Eduard-Mihai Burtescu
211b7fc3c6 rustc_codegen_spirv: update Cargo.toml phony deps for feature unification. 2024-12-18 15:33:41 +00:00
Eduard-Mihai Burtescu
c3410d45e0 rustup: update to nightly-2024-11-22 (~1.84). 2024-12-18 10:46:51 +00:00
Eduard-Mihai Burtescu
76b96c0e05 rustup: update to nightly-2024-10-12 (~1.83). 2024-12-18 10:46:51 +00:00
Eduard-Mihai Burtescu
596512884a Update formatting for nightly-2024-10-12 (~1.83). 2024-12-18 10:46:51 +00:00
Eduard-Mihai Burtescu
016122df03 rustup: update to nightly-2024-09-01 (~1.82). 2024-12-18 10:46:51 +00:00
Eduard-Mihai Burtescu
3e56c3deda rustup: update to nightly-2024-07-20 (~1.81). 2024-12-18 10:46:51 +00:00