Commit Graph

619 Commits

Author SHA1 Message Date
Eduard-Mihai Burtescu
a42b7edbea Rename decorations to custom_decorations. 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
a686676e44 Apply suggestions from code review 2023-05-30 10:38:51 +03:00
Joel Nises
5903b5af2d Use range for glam dependency 2023-05-30 10:38:51 +03:00
Joel Nises
2061f45d3e Update crates/spirv-std/Cargo.toml
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
2023-05-30 10:38:51 +03:00
Joel Nises
8a835e05d4 Update glam to 0.24 2023-05-30 10:38:51 +03:00
Eduard-Mihai Burtescu
7a44fa1e9c Apply suggestions from code review 2023-05-26 19:46:04 +03:00
Tendsin Mende
0db8e0a338 add decoration-id rewrite to inliner 2023-05-26 19:46:04 +03:00
Eduard-Mihai Burtescu
82cfeb59b2 spirv-std/macros: bump syn to a version that supports everything we use. 2023-05-19 15:19:57 +03:00
Eduard-Mihai Burtescu
2bac7c1bf0 Remove --no-spirt and the old structurizer. 2023-05-19 15:14:33 +03:00
Eduard-Mihai Burtescu
6589f07b6f linker/test: remove non-SPIR-T codepaths. 2023-05-19 15:14:33 +03:00
Eduard-Mihai Burtescu
c1b0b5de00 spirv-builder: also update forgotten badge. 2023-04-21 23:28:31 +03:00
Eduard-Mihai Burtescu
63899d3af6 Bump version to 0.7.0. 2023-04-21 23:28:31 +03:00
Eduard-Mihai Burtescu
7e402553bc Use .rsplit_once("/src/") instead of .split_once("/src/"). 2023-04-21 22:03:38 +03:00
Eduard-Mihai Burtescu
f559a6b16e Integrate the SPIR-T qptr experiment. 2023-04-21 21:26:00 +03:00
Eduard-Mihai Burtescu
b5b651103d Actually generate an OpBitcast for illegal pointercasts. 2023-04-21 21:26:00 +03:00
Sylvester Hesp
51dec9f339 Removed debug output and silenced clippy warning 2023-04-21 18:42:28 +02:00
Sylvester Hesp
2fd0182352 Added Grad support to SampleParams 2023-04-21 18:42:28 +02:00
Sylvester Hesp
4edad8817c Renamed image::sample to image::sample_with 2023-04-21 18:42:28 +02:00
Sylvester Hesp
43a267bbb8 Added all the other sampling functions. Also some fixes and cleanup 2023-04-21 18:42:28 +02:00
Sylvester Hesp
c298bf2c56 another compile fix 2023-04-21 18:42:28 +02:00
Sylvester Hesp
19051b7a11 compile fix 2023-04-21 18:42:28 +02:00
Sylvester Hesp
24f9137a6b moved permutations to complete ImageWithMethods trait impls 2023-04-21 18:42:28 +02:00
Sylvester Hesp
061727bba0 WIP SampleParams 2023-04-21 18:42:28 +02:00
Sylvester Hesp
fd73e1b462 Fixed Image::gather() not always returning a Vec4 2023-04-21 15:31:39 +02:00
Eduard-Mihai Burtescu
285eab4913 linker/specializer: fix some latent bugs that were hidden by zombies. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
ee8adbf566 linker: add a SPIR-T-based zombie reporting alternative, behind --no-early-report-zombies. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
dcd2c74054 Replace "system crate" vs "user code" distinction with zombies everywhere. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
633dff18bd linker/zombies: report all reachable zombies, w/ OpLine-based stack traces. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
abb1508f3f decorations: use custom string encodings instead of JSON. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
a73fc021f2 decorations: split off SrcLocDecoration from ZombieDecoration. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
c7351f9107 decorations: use line & column instead of a Span's BytePos. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
e7921fbf20 decorations: allow zero-copy deserialization of strings. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
b3067494e8 decorations: limit zombie SerializedSpans to an OpLine equivalent. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
ddfafd1f4a linker/zombies: regenerate rustc SourceFiles from OpSource. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
3fb4f9176a Emit OpSource for every source file referenced via OpLine. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
b560a21453 spirv-builder: force a single CGU (codegen-unit). 2023-04-17 14:23:51 +03:00
Eduard-Mihai Burtescu
cbe922dc7f spirv-builder: clean up the Cargo args/env var setup order. 2023-04-17 14:23:51 +03:00
Sylvester Hesp
afbab4aee4 Clippy fixes 2023-04-13 10:25:52 +03:00
Sylvester Hesp
31ff096d24 Added generic parameter for number of components to Image 2023-04-13 10:25:52 +03:00
Firestar99
9ae674aa76 fixed SampledImage::sample() fns being marked as unsafe 2023-04-07 01:14:50 +03:00
Eduard-Mihai Burtescu
7b7015e8c6 builder: use undef bool instead of false, for checked_binop's zombie. 2023-04-05 14:21:56 +03:00
Eduard-Mihai Burtescu
1370631303 linker/inline: require legal ("memory object") pointer args in should_inline. 2023-04-04 12:16:05 +03:00
Eduard-Mihai Burtescu
17f18cfa10 linker/inline: merge args_invalid's functionality into should_inline. 2023-04-04 12:16:05 +03:00
Eduard-Mihai Burtescu
4ba89030ee linker/inline: (negative) "relevant globals" -> (positive) "legal globals". 2023-04-04 12:16:05 +03:00
Eduard-Mihai Burtescu
0ace4c7c95 linker/inline: group all 3 "type properties" into a map of "relevant globals". 2023-04-04 12:16:05 +03:00
Eduard-Mihai Burtescu
11a2fe71b5 entry: apply NonWritable to read-only StorageBuffers. 2023-04-04 05:43:26 +03:00
Eduard-Mihai Burtescu
939f00e89e entry: "infer" -> "deduce", anonymous pair -> dedicated struct. 2023-04-04 05:43:26 +03:00
Eduard-Mihai Burtescu
5fffc752a0 entry: disallow explicit/interior mutability for read-only storage classes. 2023-04-04 03:50:50 +03:00
Sylvester Hesp
4e4eff3296 Reinstated comment 2023-03-27 01:23:07 -07:00
Sylvester Hesp
86f0cc994f Upgrade to nightly-03-04 2023-03-27 01:23:07 -07:00
Sylvester Hesp
1ca358b9f6 Upgrade to nightly-2023-02-15 2023-03-27 01:23:07 -07:00
Sylvester Hesp
a239e344b6 Upgrade to nightly-2023-02-01 2023-03-27 01:23:07 -07:00
BeastLe9enD
c3909b5b9f Fix OpAtomicFMaxEXT being used inside atomic_f_add 2023-03-22 20:38:42 +02:00
Sylvester Hesp
7771fe7187 Bumped version to 0.6.1 2023-03-20 07:51:11 -07:00
Eduard-Mihai Burtescu
34dffa0ea7 inline asm!: ban OpReturn/OpReturnValue (they're always UB). 2023-03-18 02:07:02 +02:00
Eduard-Mihai Burtescu
ee3e42037d spirv-std: OpStore into MaybeUninit slots, instead of (UB) OpReturnValue. 2023-03-18 02:07:02 +02:00
Eduard-Mihai Burtescu
beecb48e39 spirv-std: add #[repr(C)] (and extra comments) to opaque handle types. 2023-03-18 02:07:02 +02:00
Eduard-Mihai Burtescu
396adcaf59 abi: implement simple unions (MaybeUninit especially). 2023-03-18 02:07:02 +02:00
Sylvester Hesp
ae66c7cc1a Removed glam feature toggle altogether 2023-03-15 04:59:33 -07:00
Sylvester Hesp
5a401f96b9 Made glam a default feature in spirv-std 2023-03-15 04:59:33 -07:00
Sylvester Hesp
17a1249dee Version update to 0.6.0 2023-03-15 03:35:03 -07:00
Sylvester Hesp
28b675d2eb Update wording on --no-spirt
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
2023-03-15 02:02:17 -07:00
Sylvester Hesp
eaab5101ce Made --spirt the default, added --no-spirt 2023-03-15 02:02:17 -07:00
Sylvester Hesp
2f1a102c36 Updated tempfile to 0.3.4 2023-03-14 07:44:53 -07:00
Sylvester Hesp
17ff16f645 Added SpirvBuilder API to set extra codegen arguments 2023-03-14 07:44:53 -07:00
Sylvester Hesp
e4a41cda19 Renamed rust-toolchain to rust-toolchain.toml
to improve workflow with vscode
2023-02-17 01:51:34 +02:00
Sylvester Hesp
b1670298e9 Use skip_binder in favor of subst_identity
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
2023-02-16 12:32:11 +02:00
Sylvester Hesp
d78c301799 Update to 2023-01-21 2023-02-16 12:32:11 +02:00
Sylvester Hesp
25cb265b5e Fixed compile error in compile_error
Also includes an insignificant naming change
2023-02-13 16:10:14 +02:00
Sylvester Hesp
0f9cd391ce Removed return type inference from Image API
Return types are now always `glam` vectors. This also means that `glam` is required. The "glam" feature toggle is made mandatory, we may want to support other specific vector libraries in the future.
2023-02-13 16:10:14 +02:00
Sylvester Hesp
547309a73c Changed current version to 0.5.0 2023-02-03 03:34:51 +01:00
Eduard-Mihai Burtescu
2a77f6ee86 Apply Rust 2021 clippy fixes. 2023-02-01 11:08:36 +02:00
Eduard-Mihai Burtescu
8bde624b74 spirt-passes: add fuse_selects pass for merging same-condition if-elses. 2023-02-01 11:08:36 +02:00
Eduard-Mihai Burtescu
27c698b302 spirt-passes: add reduce pass for replacing ops with their inputs/constants. 2023-02-01 11:08:36 +02:00
Eduard-Mihai Burtescu
6ed51e87b2 linker: add --spirt-passes codegen args and underlying abstraction. 2023-02-01 11:08:36 +02:00
Eduard-Mihai Burtescu
2ccdb4651d Apply clippy::uninlined_format_args suggestions for Rust 2021 (panic/assert). 2023-01-30 23:00:43 +02:00
Eduard-Mihai Burtescu
335a637973 Support all panic entry-points equally - mainly for Rust 2021's panic!("..."). 2023-01-30 23:00:43 +02:00
Sylvester Hesp
bab728f205 Formatting fixes 2023-01-05 14:50:13 +02:00
Sylvester Hesp
33c2f80835 Clippy fixes 2023-01-05 14:50:13 +02:00
Sylvester Hesp
86d6042204 Update to nightly-2022-12-18
This nightly includes a clippy fix that we need (https://github.com/rust-lang/rust-clippy/pull/10055)
2023-01-05 14:50:13 +02:00
Sylvester Hesp
87dc07c623 More clippy fixes 2023-01-05 14:50:13 +02:00
Sylvester Hesp
54587b1816 Update to nightly-2022-12-10 2023-01-05 14:50:13 +02:00
Sylvester Hesp
2cb10b2771 Update to nightly-2022-11-28 2023-01-05 14:50:13 +02:00
Sylvester Hesp
816c3409e2 Updated to nightly-2022-11-14 2023-01-05 14:50:13 +02:00
Sylvester Hesp
4eb14fc218 Fixed rust-toolchain error message 2023-01-03 16:02:24 +02:00
Sylvester Hesp
6cb0c06ab7 Refer to specific commits rather than main branch in README.md 2022-12-20 10:43:57 -08:00
Sylvester Hesp
4747d5b3cf Update crates/spirv-builder/README.md
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
2022-12-20 10:43:57 -08:00
Sylvester Hesp
f910bc1e19 doc fix 2022-12-20 10:43:57 -08:00
Sylvester Hesp
70c5358419 Updated docs 2022-12-20 10:43:57 -08:00
Sylvester Hesp
b3e5c73c8d Update crates/spirv-std/README.md
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
2022-12-20 10:43:57 -08:00
Sylvester Hesp
5819bbaff8 Update crates/spirv-builder/README.md
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
2022-12-20 10:43:57 -08:00
Sylvester Hesp
ecceedab92 Some tweaks to docs 2022-12-20 10:43:57 -08:00
Sylvester Hesp
8bf791d0c4 Included README.md files for published crates 2022-12-20 10:43:57 -08:00
Eduard-Mihai Burtescu
6a35586893 Set CARGO_CACHE_RUSTC_INFO=0 instead of removing .rustc_info.json. 2022-12-20 06:11:43 +02:00
Eduard-Mihai Burtescu
85e4df3136 Include identifying information (e.g. crate names) in --dump-* filenames. 2022-12-13 06:18:03 +02:00
Eduard-Mihai Burtescu
6fb35ffeeb outputs: ⋯.spv⋯.spv.json, ⋯.spv.dir/⋯⋯.spvs/⋯.spv (or ⋯.spv). 2022-12-12 17:15:12 +02:00
Eduard-Mihai Burtescu
3fca36ecb2 tests: run both with and without --spirt. 2022-12-12 17:14:35 +02:00
Eduard-Mihai Burtescu
8535bb3bf1 Minimally integrate SPIR-T (opt-in via RUSTGPU_CODEGEN_ARGS=--spirt). 2022-12-12 17:14:35 +02:00
Eduard-Mihai Burtescu
32db2b4c3f linker/test: enable DCE (adding new Exports where necessary). 2022-12-09 12:53:05 +02:00
Eduard-Mihai Burtescu
12172b3f17 linker/test: keep Exports around, even after import->export resolution. 2022-12-09 12:53:05 +02:00