Eduard-Mihai Burtescu
12172b3f17
linker/test: keep Export
s around, even after import->export resolution.
2022-12-09 12:53:05 +02:00
Eduard-Mihai Burtescu
00bb9be12d
linker/test: add in the missing (mandatory) OpMemoryModel
instructions.
2022-12-09 12:53:05 +02:00
Eduard-Mihai Burtescu
0274eb9500
linker/test: "desugar" deprecated "decoration groups" (not supported by SPIR-T).
2022-12-09 12:53:05 +02:00
Eduard-Mihai Burtescu
fb393a9566
linker/test: add #[track_caller]
to without_header_eq
.
2022-12-09 12:53:05 +02:00
Eduard-Mihai Burtescu
eea44854a7
linker/inline: handle OpPhi
s.
2022-12-09 11:50:01 +02:00
Eduard-Mihai Burtescu
b3c280424c
Migrate rustc_codegen_spirv
env vars to codegen args.
2022-12-09 11:46:27 +02:00
Eduard-Mihai Burtescu
47d5577a93
spirv-builder: add RUSTGPU_RUSTFLAGS
/RUSTGPU_CODEGEN_ARGS
env vars.
2022-12-09 11:46:27 +02:00
Eduard-Mihai Burtescu
ab69706640
CodegenArgs::parse: support --help
to show an "usage" message.
2022-12-09 11:46:27 +02:00
Eduard-Mihai Burtescu
8d53076a13
CodegenArgs::parse: replace optflagopt
(-X and -X=Y) with optflag
(only -X).
2022-12-09 11:46:27 +02:00
Sylvester Hesp
8bd42bcc3a
Get rid of run_in_thread_pool_with_globals
altogether,
2022-12-02 01:58:11 -08:00
Sylvester Hesp
94a752d9db
Format fixes
2022-12-02 01:58:11 -08:00
Sylvester Hesp
17523e06d7
Fix for run_in_thread_pool_with_globals
being no longer public
2022-12-02 01:58:11 -08:00
Sylvester Hesp
f0aace570b
Linter fixes
2022-12-02 01:58:11 -08:00
Sylvester Hesp
fb7e13cdeb
Update to nightly-2022-10-29
2022-12-02 01:58:11 -08:00
Eduard-Mihai Burtescu
d000e9699b
Use Span
s to detect "system crate"s, for error deferral (zombie) purposes.
2022-12-01 17:24:48 +02:00
Sylvester Hesp
ccf920d54f
Actually use FnAbi in the call 🙄
2022-11-30 09:38:54 -08:00
Sylvester Hesp
1ac63d3a49
Added passing of FnAbi
2022-11-30 09:38:54 -08:00
Sylvester Hesp
fc19ab58fb
Update to nightly-2022-10-15
2022-11-30 09:38:54 -08:00
Eduard-Mihai Burtescu
dfd285e735
linker/test: create Session
manually to inject a custom diagnostic writer.
2022-11-30 09:15:12 -08:00
Eduard-Mihai Burtescu
9d639d3ad5
linker/test: catch FatalError
s to ensure they print any error output at all.
2022-11-30 09:15:12 -08:00
Eduard-Mihai Burtescu
acb05d3799
Arena-allocate slices to replace Vec
s in SpirvType
and SpirvConst
.
2022-11-30 17:03:58 +02:00
Eduard-Mihai Burtescu
1000dece4a
symbols: avoid using to_ident_string
when {}
-formatting works.
2022-11-30 17:03:58 +02:00
Eduard-Mihai Burtescu
d76211384e
Replace bimap
dependency with a more efficient pair of maps.
2022-11-30 17:03:58 +02:00
Eduard-Mihai Burtescu
7a170d3f78
linker/zombies: stop compilation after zombie errors.
2022-11-30 17:02:10 +02:00
Eduard-Mihai Burtescu
a9ede2ed9f
linker/duplicates: handle all decorations instead of special-casing zombies.
2022-11-30 17:01:20 +02:00
Eduard-Mihai Burtescu
5836b83415
Remove fn
/closure #[spirv(unroll_loops)]
attribute.
2022-11-28 07:18:06 -08:00
BeastLe9enD
4452da80f5
Add rint & rintf libm intrinsics
2022-11-28 16:55:32 +02:00
Sylvester Hesp
5e7a0755c2
Also applied default-features=false
to spirv-builder
2022-11-22 07:43:06 -08:00
Sylvester Hesp
e7df2feb27
Applied workspace inheritance
2022-11-22 07:43:06 -08:00
Sylvester Hesp
39850120ae
Update to 0.4.0-alpha.17
...
* Specified exact versioning for crates within rust-gpu
* Fixed spirv-std referring to an older version of spirv-std-macros
2022-11-09 15:07:38 +01:00
Sylvester Hesp
c248806bf0
Updated versions to 0.4.0-alpha.16
2022-11-04 20:39:07 +02:00
Sylvester Hesp
c30a37fe11
Added rerun-if-env-changed to build script
2022-11-04 17:22:42 +02:00
Sylvester Hesp
4968760328
Lint fixes
2022-11-04 17:22:42 +02:00
Eduard-Mihai Burtescu
27e3cfc328
Update to nightly-2022-10-01.
2022-11-04 17:22:42 +02:00
Eduard-Mihai Burtescu
dcf37b75a7
Update to nightly-2022-09-25.
2022-11-04 17:22:42 +02:00
Eduard-Mihai Burtescu
08250e5ca1
builder: work around rust-lang/rust#101483 abusing implicit i1->i8 zext (from_immediate).
2022-11-04 17:22:42 +02:00
Sylvester Hesp
c7ca8df8b1
Update to nightly-2022-09-11
2022-11-04 17:22:42 +02:00
Sylvester Hesp
64b159257e
Update to nightly-2022-09-10
2022-11-04 17:22:42 +02:00
Sylvester Hesp
bf887922c7
Update crates/spirv-std/Cargo.toml
...
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
2022-11-03 17:03:54 +02:00
Sylvester Hesp
83d6c0b9fe
Removed rust-gpu support for Vector bool for glam
2022-11-03 17:03:54 +02:00
Eduard-Mihai Burtescu
53ad54add3
Fix new clippy warnings from the newer nightly.
2022-11-03 17:03:54 +02:00
Sylvester Hesp
a45fbc943e
Update glam to 0.22 because of remove_attr
2022-11-03 17:03:54 +02:00
Sylvester Hesp
5190e2e7b1
Compile fixes
2022-11-03 17:03:54 +02:00
Sylvester Hesp
efac825739
Update to nightly 2022-09-06
2022-11-03 17:03:54 +02:00
Eduard-Mihai Burtescu
8efc4220ae
spirv_std::ray_tracing: use actual OpTypeBool
for -> bool
intrinsics.
2022-10-28 17:28:50 +03:00
Jake Shadle
fc202cb3c5
Update spirv-tools
2022-10-28 17:28:50 +03:00
Eduard-Mihai Burtescu
65f892eb50
attr: fix #[spirv(flat)]
checking to match the Vulkan spec.
2022-10-27 11:42:23 +03:00
Sylvester Hesp
c3a9b9fd3e
Migration from register_attr to register_tool ( #926 )
...
* Accept `#[rust_gpu::spirv()]` attributes rather than `#[spirv()]` in backend
* Implemented `#[spirv(..)]` proc macro attribute for all platforms that conditionally translates to `#[rust_gpu::spirv()]` based on platform
* Changed `SpirvBuilder` to always apply `register_tool(rust_gpu)` attribute to shader crates
* Updated docs
* Added changelog
2022-10-19 09:50:24 +00:00
Eduard-Mihai Burtescu
4b10bf5db1
Add codegen backend dylib back into depinfo (.d) post-rust-lang/rust#93969 .
2022-10-14 16:50:36 +03:00
Eduard-Mihai Burtescu
6dc23afaf8
Avoid rebuilding rustc_codegen_spirv between example runners.
2022-10-13 17:01:52 +03:00
Sylvester Hesp
d90274af0b
Check whether REQUIRED_RUST_TOOLCHAIN matches local rust-toolchain file
2022-09-27 13:07:47 +03:00
Sylvester Hesp
985007fc08
Version bump to 0.4.0-alpha.15 ( #920 )
2022-09-23 11:36:34 +02:00
Sylvester Hesp
f00f267160
Added toolchain check to rustc_codegen_spirv ( #919 )
...
* Added toolchain check to rustc_codegen_spirv
* Removed unused dependency
* Reworked the toolchain check
* Removed some debug code
2022-09-23 11:35:23 +02:00
Sylvester Hesp
2442d900a8
Fix for read_scalar().unwrap() panicking
2022-09-21 14:23:11 +03:00
Eduard-Mihai Burtescu
69fb9e3188
Keep PassMode
by reference instead of value.
2022-09-21 14:23:11 +03:00
Sylvester Hesp
4d22af493f
Compile fixes
2022-09-21 14:23:11 +03:00
Sylvester Hesp
a9a233eb80
Linter fix
2022-09-08 13:01:05 +03:00
Sylvester Hesp
2dd88c1f13
Compile fixes
2022-09-08 13:01:05 +03:00
Sylvester Hesp
f66030dad9
Compile fixes
2022-09-08 13:01:05 +03:00
Sylvester Hesp
b800a34b6b
Compile fixes
2022-09-08 13:01:05 +03:00
Sylvester Hesp
fff9e0cec3
Fixed compile errors
2022-09-07 16:03:32 +03:00
Sylvester Hesp
0eb12ccf90
Compile fixes
2022-09-07 16:03:32 +03:00
Sylvester Hesp
ec6207e664
Fixed compile errors
2022-09-07 16:03:32 +03:00
Sylvester Hesp
7e83721978
Formatting
2022-08-30 13:47:08 +03:00
Sylvester Hesp
faf5c1321b
Fixed compile error due to earlier linter fix
2022-08-30 13:47:08 +03:00
Sylvester Hesp
6237c65544
Linter fix
2022-08-30 13:47:08 +03:00
Sylvester Hesp
358a54a8f2
Alternative dead_code warning fix
...
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
2022-08-30 13:47:08 +03:00
Sylvester Hesp
ac160444ba
Silenced dead code warning
...
Little unsure about this though, scary that it pops up all of a sudden while obviously being used by the functions below.
2022-08-30 13:47:08 +03:00
Sylvester Hesp
efe0f9becf
Fixed compile error
2022-08-30 13:47:08 +03:00
Sylvester Hesp
30a682d633
Added stub for new method in IntrinsicCallMethods
2022-08-30 13:47:08 +03:00
Sylvester Hesp
e1aecffe67
Fixed compile errors
2022-08-30 13:47:08 +03:00
Sylvester Hesp
ccf01366b8
Updated OutRegister to reflect 'tcx lifetime usage
2022-08-29 16:54:38 +03:00
Sylvester Hesp
cb3289b132
Linter fix
2022-08-29 16:54:38 +03:00
Sylvester Hesp
7fd517a384
Compile fixes
2022-08-29 16:54:38 +03:00
Sylvester Hesp
7d8f02b380
Compile fixes
2022-08-29 16:54:38 +03:00
Sylvester Hesp
ccd2b12174
Fixed linter
2022-08-25 16:10:05 +03:00
Sylvester Hesp
37e5ce592d
Compile fixes
...
Formatting fix
2022-08-25 16:10:05 +03:00
Sylvester Hesp
954edc9fb2
Compile fixes
2022-08-25 16:10:05 +03:00
Sylvester Hesp
a9209cd3bf
Fixed formatting
2022-08-22 23:08:29 +03:00
Sylvester Hesp
86921a21ff
Fixed compile errors
2022-08-22 23:08:29 +03:00
Sylvester Hesp
621cd48e5d
Fixed linter
2022-08-22 23:08:29 +03:00
Sylvester Hesp
b3ff800246
Fixed compile errors
2022-08-22 23:08:29 +03:00
Sylvester Hesp
475f508eac
Update to 2022-04-18
2022-08-17 20:54:04 +03:00
Eduard-Mihai Burtescu
a99fd432ad
Avoid leaking file metadata (mtime/UID/GID) in rlib
s through the ar
crate.
2022-08-17 19:29:36 +03:00
Sylvester Hesp
805297146b
Update to 0.4.0-alpha.14 ( #905 )
...
* Changed version of all unpublished crates to 0.0.0
* New version: v0.4.0-alpha.14
* Fixed versions in deny.toml
2022-08-12 12:38:45 +02:00
Sylvester Hesp
f41625d70a
Renamed spirv-types to spirv-std-types ( #904 )
2022-08-12 01:49:50 +00:00
Sylvester Hesp
e1696a4cbd
Updated metadata for spirv-builder ( #903 )
2022-08-11 12:02:34 +00:00
Sylvester Hesp
3deccf2927
Added a description for rustc_codegen_spirv ( #902 )
2022-08-11 11:32:35 +00:00
Sylvester Hesp
fde567ed2d
Updated versions to 0.4.0-alpha.13 ( #899 )
...
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* (cargo-release) version 0.4.0-alpha.13
* Updated versions in local dependencies as well
2022-08-11 12:34:07 +02:00
Johan Andersson
0693243619
Upgrade sanitize-filename
v0.3.0 -> v0.4.0
...
No code changes needed
2022-08-11 06:41:31 +03:00
Sylvester Hesp
ef65808a5b
Added some version tags to some crates referencing rustc_codegen_spirv ( #894 )
...
Although not really necessary, this removes some errors `cargo-release` is giving.
2022-08-10 22:06:20 +02:00
BeastLe9enD
f69d94ed27
Update number documentation
...
Co-authored-by: Eduard-Mihai Burtescu <edy.burt@gmail.com>
2022-08-09 13:59:15 +03:00
BeastLe9enD
7d7f2fe5a6
Improve documentation & add Number trait
2022-08-09 13:59:15 +03:00
BeastLe9enD
9123a0141c
Remove ext suffix from float atomic functions
2022-08-09 13:59:15 +03:00
BeastLe9enD
6387d2156f
Add low-level atomic instructions
2022-08-09 13:59:15 +03:00
Ashley Ruglys
c36be918ba
Bump the latest allowed glam version to 0.21
2022-08-09 04:05:07 +03:00
Minghao Liu
68db589d98
Update crates/rustc_codegen_spirv/src/linker/inline.rs
...
Co-authored-by: Eduard-Mihai Burtescu <edy.burt@gmail.com>
2022-05-24 15:35:03 +03:00
molikto
cdbf4dec1d
warn when inline(never) is not respected
2022-05-24 15:35:03 +03:00
Dennis
03f89e8ba6
Add support for zero sized types
2022-04-28 14:42:31 +03:00
Eduard-Mihai Burtescu
b0328ed454
Fix style nit (quotes -> backticks) in crates/rustc_codegen_spirv/src/symbols.rs
2022-04-28 14:40:08 +03:00
BeastLe9enD
4b55f91de3
Support 'threads' with 'mesh_nv' and 'task_nv'
2022-04-28 14:40:08 +03:00
Johan Andersson
132b960e83
Upgrade from our standard lints v4 -> v6 ( #861 )
2022-04-17 12:16:59 +02:00
Eduard-Mihai Burtescu
116bf9c4d4
rustup: address (new) clippy errors.
2022-04-12 09:01:18 +03:00
Eduard-Mihai Burtescu
e08d0d6a48
rustup: update to nightly-2022-04-11.
2022-04-12 09:01:18 +03:00
Eduard-Mihai Burtescu
3e04f62ede
rustup: update to nightly-2022-04-01.
2022-04-12 09:01:18 +03:00
Eduard-Mihai Burtescu
f0baf78ade
rustup: update to nightly-2022-03-01.
2022-04-12 09:01:18 +03:00
Eduard-Mihai Burtescu
57eed8394e
rustup: update to nightly-2022-02-01.
2022-04-12 09:01:18 +03:00
Eduard-Mihai Burtescu
5ac500d5b9
Split out a new -types
crate so spirv-builder
stops loading LLVM via dylibs. ( #856 )
...
* Split out a new `-types` crate so `spirv-builder` stops loading LLVM via dylibs.
* example-wgpu-runner: halve `max_push_constant_size` so it works on RADV/Fiji.
2022-03-30 09:07:14 +02:00
David Craven
4932a44658
Revert workgroup_size builtin.
2022-02-09 18:10:22 +02:00
David Craven
f638590389
Enable builtins.
2022-02-09 18:10:22 +02:00
Jake Shadle
7e7fdb4a4b
Update spirv-tools to 0.8.0
2022-02-05 04:40:21 +02:00
Eduard-Mihai Burtescu
31e3fdb09b
abi: explicitly unpack ScalarPair
newtypes.
2022-01-23 20:18:56 +02:00
Ashley
11e21c6412
Add a OpAtomicIIncrement function to arch ( #839 )
2022-01-13 17:32:33 +02:00
Ashley Hauck
f780364317
rustup update ( #840 )
...
* rustup update
* asm->core::arch::asm
2022-01-13 17:27:33 +02:00
Ashley Hauck
fe5c7716ed
Fix ByteAddressableBuffer PassMode::Pair ( #837 )
2022-01-10 09:35:03 +00:00
Ashley
d705a238a1
Add a preserve_bindings opt to the builder and codegen opts ( #830 )
2022-01-03 09:18:58 +01:00
Ashley Hauck
480cd048e0
Fuse OpPtrAccessChain with previous OpAccessChain ( #835 )
...
* Fuse OpPtrAccessChain with previous OpAccessChain
* constant-fold add, and change mul to wrap
2021-12-28 11:39:37 +01:00
Emil Ernerfeldt
3067848d1c
Update to glam 0.20 ( #831 )
2021-12-27 09:52:18 +01:00
Ashley Hauck
f08819fede
Fix some ICEs with bools ( #826 )
2021-12-15 14:10:38 +00:00
Ashley Hauck
d26716b881
Add error for insts not allowed outside fragment ( #821 )
...
* Add error for insts not allowed outside fragment
* make get_name return entry point names too
2021-12-14 08:04:50 +00:00
Ashley Hauck
9673f39967
A whole host of minor tweaks and clippy fixes ( #824 )
2021-12-14 07:45:45 +00:00
Eduard-Mihai Burtescu
7a60181679
Hint "rust-analyzer.rustcSource": "discover"
next to rustc_private = true
. ( #825 )
2021-12-14 08:09:21 +01:00
Ashley
da7c3ed71f
Add a RayQuery::confirm_intersection function ( #822 )
2021-12-09 13:00:35 +00:00
Ashley Hauck
2ca5826e55
rustup update ( #816 )
...
* rustup update
* Test fixes
2021-12-06 11:31:43 +01:00
Ashley Hauck
340f4bb70a
Error when int doesn't have spirv(flat) ( #815 )
2021-12-06 11:31:26 +01:00
Ashley Hauck
d5d0c90652
Fix for duplicate OpMemberName, and add OpMemberName for ScalarPairs ( #814 )
2021-12-01 10:25:23 +00:00
Ashley Hauck
2e4de94a66
Generate bools as bools instead of u8 ( #809 )
...
* Generate bools as bools instead of u8
* convert bool->int select to cast
2021-11-30 13:12:13 +00:00
Ashley
9fd3c9e172
Add an IndexUnchecked
trait that uses asm!
( #805 )
...
* Add an IndexUnchecked trait to spirv-std/arch
* Slap some #[spirv_std_macros::gpu_only] on there
* Spelling
* Add safety sections to the docs
* Improve documentation, implement for non-spirv targets
2021-11-29 07:56:13 +01:00
Eduard-Mihai Burtescu
6232d95256
abi: demonstrate overriding the behavior of the layout_of
query. ( #808 )
2021-11-26 11:51:56 +01:00
Benjamin Bouvier
c1dd14d863
Remove unused dependencies in rust-gpu ( #800 )
2021-11-22 13:12:43 +00:00
Eduard-Mihai Burtescu
553f79ebce
asm: support OpCompositeExtract
inference for OpTypeStruct
fields. ( #803 )
2021-11-22 13:27:55 +01:00
Eduard-Mihai Burtescu
cda583e0d5
Gather all interface OpVariable
s into OpEntryPoint
s.
2021-11-04 11:54:26 +02:00
Ashley Hauck
f7fc1245f3
Add tests for every builtin ( #789 )
2021-11-03 11:38:06 +01:00
Ashley Hauck
c4eb7af88e
Update rspirv to 0.11 ( #788 )
2021-10-29 13:38:28 +02:00
Ashley Hauck
3ae5c2b010
Remove CARGO_FEATURES_* and CARGO_CFG_* ( #782 )
2021-10-28 13:09:32 +02:00
Ashley Hauck
1517a8bdd6
Document spirv-std, and add warn(missing_docs) ( #784 )
2021-10-28 10:10:44 +00:00
Ashley Hauck
8fb4f10995
Don't ICE on ZST union ( #780 )
2021-10-28 08:13:00 +00:00
Ashley Hauck
902c51c242
Inline calls that look like f(&s.x) ( #777 )
2021-10-27 13:28:35 +00:00
Ashley Hauck
c10a1ca756
Implement bool fusion pass ( #776 )
...
Fixes #677
2021-10-27 12:52:31 +00:00
Ashley Hauck
f58c6f20af
rustup update, and edition = 2021 ( #775 )
2021-10-26 10:24:44 +00:00
Hannes Vernooij
4831789bbb
added memory barrier intrinsics to spirv-std ( #769 )
...
* added memory barrier intrinsics to spirv-std
* added function-level docs
* added unit-tests
constants could not be validated in tests because of the limited output
* clippy fixes
* improved documentation
* Added missing features to device_memory and all_memory barrier intrinsics.
2021-10-26 09:15:50 +02:00
Ashley Hauck
3f22a897f3
Handle OpCopyMemory in mem2reg ( #772 )
...
* Handle OpCopyMemory in mem2reg
* Update tests
2021-10-25 11:01:53 +03:00
Ashley Hauck
8d019e4e37
Detect recursion in inline.rs and bail ( #770 )
...
* Detect recursion in inline.rs and bail
* Bail on inline error
2021-10-25 10:42:45 +03:00
Ashley
e5c2953ea6
Add debug_printf!
and debug_printfln!
macros that uses the DebugPrintf extension ( #768 )
2021-10-23 10:05:03 +02:00
Eduard-Mihai Burtescu
2dc88f26ac
Simplify FnAbi
handling for the fewer PassMode
s possible now.
2021-10-20 22:13:03 +03:00
Eduard-Mihai Burtescu
6d43d60142
abi: use span_bug!
over bug!
wherever a Span
is available.
2021-10-20 22:13:03 +03:00
Eduard-Mihai Burtescu
111bebdd68
abi: readjust FnAbi
s to remove unsupported PassMode
s, via query hooks.
2021-10-20 22:13:03 +03:00
Eduard-Mihai Burtescu
13678f8644
abi: replace extern "C"
with extern "unadjusted"
, not Rust ABI.
2021-10-20 22:13:03 +03:00
Eduard-Mihai Burtescu
f8333127d7
abi: remove redundant fn_sig
hook from provide_extern
.
2021-10-20 22:13:03 +03:00
Eduard-Mihai Burtescu
1436572c3a
Move query hooks out of the crate root (and into abi
).
2021-10-20 22:13:03 +03:00