Commit Graph

190 Commits

Author SHA1 Message Date
Ashley Hauck
b32c04b3fd
Refactor attributes and add descriptor_set/binding (#145)
* Move entry declarations to their own file

Also clean up attribute parsing (and make it allow multiple arguments in
the process)

* Add descriptor_set and binding attributes

* clippy fix

* Fix test

* Reserve descriptor_set 0 for future use

* Add book page on attributes
2020-10-26 15:23:21 +00:00
khyperia
9e67f83cd6 rustup update 2020-10-26 08:38:07 +01:00
Johan Andersson
643c1ba950
Force use latest tar crate to avoid insecure warning on deps.rs (#132)
Current https://deps.rs/repo/github/EmbarkStudios/rust-gpu is showing that this repo has an insecure dependencies with the tar crate.

I believe this is because a previous tar v0.4.16 and earlier had a security advisory on it ([link](https://rustsec.org/advisories/RUSTSEC-2018-0002.html)) and that the deps.rs  service does not yet support Cargo.lock where we had specified that we use a latest version. Tracked in https://github.com/deps-rs/deps.rs/issues/26

So simply force require latest tar crate version (that we were already using) in Cargo.toml here with the hope that https://deps.rs won't flag the repo as having insecure dependencies
2020-10-24 16:57:06 +02:00
Josh Groves
fa6fc2461c
Fix typo in SPIR-V (#131) 2020-10-24 14:05:36 +00:00
Johan Andersson
9f1100082c
Enable clippy on spirv-std (#124) 2020-10-23 21:01:16 +00:00
Ashley Hauck
8681464af7
Add framework for compiler tests (#118) 2020-10-23 18:22:36 +02:00
Ashley Hauck
53b22b9fc3
Fix translation from AtomicOrdering to MemorySemantics (#111)
* Fix translation from AtomicOrdering to MemorySemantics

* Add comment about AtomicOrdering::Consume
2020-10-23 15:43:07 +02:00
Ashley Hauck
9dc6c61c4c
Fail unimplemented intrinsics instead of incorrect behavior (#114) 2020-10-23 13:18:31 +02:00
Viktor Zoutman
a121e50794
Fixed nested if statements (#88)
* Fixed nested if statements

* feedback

* Removed a line
2020-10-22 13:29:33 +02:00
Viktor Zoutman
3eea3dfa99
Added structurizer for conditional branch (#76)
* Added structurizer for conditional branch

* Cleaned up the code

* fmt

* unused imports

* feedback

* removed old code

* Now emitting a compiler error on loops

* fmt
2020-10-21 13:38:08 +02:00
khyperia
de12f120f2 Report error when entry point is zombied 2020-10-21 09:31:59 +02:00
khyperia
382b135c1e Fix typos in the implementation of memcpy 2020-10-21 08:39:15 +02:00
khyperia
83efcfd2ea Fix formatting 2020-10-20 17:36:30 +02:00
khyperia
c26639ce5e Fix size and alignment of vectors 2020-10-20 16:56:38 +02:00
khyperia
917c62ef34 Implement static_addr_of via similar system to register_fn_ptr 2020-10-20 16:30:49 +02:00
khyperia
0d18609281 Implement memcpy for single-element items 2020-10-20 15:44:15 +02:00
khyperia
a13930fccb Add #[spirv(builtin = ...)] 2020-10-19 18:42:54 +02:00
khyperia
2d55b4bff4 Don't deduplicate OpVariables (whoops) 2020-10-19 16:13:14 +02:00
Ashley Hauck
9e90652622
Don't initialize vars to undef (#68) 2020-10-19 16:11:45 +02:00
khyperia
64e0f664e0 Fix bug with mem2reg store valid variable detection 2020-10-19 14:48:01 +02:00
khyperia
919b320d32 Fix None unwrap panic in mem2reg 2020-10-19 12:16:20 +02:00
khyperia
3f91e0707f Make link take Session and clean up zombies 2020-10-19 11:22:40 +02:00
khyperia
96bb94f9fe Merge rspirv-linker into rustc_codegen_spirv 2020-10-19 10:20:29 +02:00
khyperia
332990b34c rustup update 2020-10-19 09:57:25 +02:00
khyperia
504c40fce2 Clippy so many things 2020-10-18 20:43:15 +02:00
khyperia
fb6823de85 rustup update 2020-10-17 23:20:48 +02:00
Ashley Hauck
fb2ed4d26c
Convert panics to compiler errors (#66)
This is a first pass, some fatals could probably be turned into errors.
2020-10-16 12:59:04 +02:00
khyperia
f8c669f536 rustup update 2020-10-16 08:25:04 +02:00
Jasper Bekkers
77e2914c21
Fix min and max intrinsics 2020-10-15 17:58:15 +02:00
khyperia
6df8774dc9 rustup update 2020-10-15 13:12:22 +02:00
XAMPPRocky
16c35c6d0e
Add custom panic hook (#58) 2020-10-14 18:31:17 +02:00
khyperia
4d0eb81d86 rustup update 2020-10-14 09:19:25 +02:00
khyperia
d9b64497fc Make mem2reg support OpAccessChain 2020-10-13 18:00:04 +02:00
Jasper Bekkers
b7aa6f310d
Renamed structs from NV to KHR (#50)
* Renamed structs from NV to KHR
2020-10-12 17:16:59 +02:00
khyperia
c04ac95860 Make spirv_std be a system crate (i.e. zombieable)
This fixes windows CI, because when testing the spirv-std crate, the
memcmp defined here would override the normal memcmp, causing the inf
loop to be hit.
2020-10-12 16:56:14 +02:00
khyperia
aba452e430 Catch pointercasts that are actually struct_geps 2020-10-10 14:33:14 +02:00
khyperia
bc1358e787 Fix issue with is_system_crate
This didn't get tested locally due to weird caching stuff, so, fixing CI
here.
2020-10-10 14:21:33 +02:00
khyperia
01ccf5cf39 Zombies are errors in user code 2020-10-10 13:53:33 +02:00
khyperia
e56c35aaf3 Docs, and fix clippy issues 2020-10-10 13:04:18 +02:00
khyperia
69ecc92ba4 Enable spirv-val by default 2020-10-10 12:37:59 +02:00
khyperia
8d3101e81e Change the default shader mode to shader 2020-10-10 12:34:48 +02:00
khyperia
1516d864f3 First try at spirv-builder 2020-10-09 17:22:07 +02:00
khyperia
6323fc609f Fix mem2reg bugs 2020-10-08 15:30:35 +02:00
khyperia
ab100e1904 Move SPIRV_VAL to post-link 2020-10-08 13:44:26 +02:00
khyperia
3c1b45a45b rustup update 2020-10-08 10:51:04 +02:00
khyperia
b94de84cb8 Add mem2reg 2020-10-08 10:26:19 +02:00
khyperia
20cd6507c1 Write our own inliner 2020-10-07 12:39:58 +02:00
khyperia
87329d5add Properly implement memset dynamic size 2020-10-05 17:04:12 +02:00
khyperia
5057dfc144 rustup update 2020-10-05 11:51:30 +02:00
khyperia
3a44679729 Properly implement all the hacks I did to get hello-world-triangle working 2020-10-04 16:23:09 +02:00