Commit Graph

169 Commits

Author SHA1 Message Date
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
khyperia
8854fa575b Zombie primitives if their capabilities aren't there 2020-10-01 11:59:47 +02:00
khyperia
2c1b73ab9a Zombie branches before structurizer is done 2020-09-30 16:02:40 +02:00
khyperia
127cc1bb99 really_unsafe_ignore_bitcasts 2020-09-30 15:50:38 +02:00
Jake Shadle
13c7530a1a
Add basic CI (#40) 2020-09-29 18:00:57 +02:00
khyperia
c464caf088 Add -C target-feature=+shader support
Eventually shaders will be the default and -C target-feature=+kernel
will be a thing, but, not right now due to shaders being borked
2020-09-29 15:35:08 +02:00
khyperia
eaf350d2a8 Optimize a little bit of kill_linkage_instructions that I forgot, which reduces time by another 2-3x
Also add various other timers, and use the helpful timer() function
2020-09-29 13:04:55 +02:00
khyperia
9bd7db20df Significantly refactor import_export_link to improve its speed by 12x 2020-09-28 16:29:26 +02:00
khyperia
8f1d69848f Add timers to compiler and linker 2020-09-28 14:51:04 +02:00
khyperia
df3da15f0b -C codegen-units isn't needed anymore 2020-09-28 13:48:33 +02:00
khyperia
3f3672eaa9 Add build_libcore_test to cargo test
Also delete extremely outdated test/lib.rs file.
2020-09-28 13:09:38 +02:00
khyperia
7e7055ab1a Move finalizing_passes.rs to linker 2020-09-28 10:40:56 +02:00
khyperia
c8712a9047 Add in some capability stuff
Also make env var checks runtime, not compiletime.
2020-09-26 15:32:18 +02:00
khyperia
46c2b2bda2 Clean up run_libcore_test and try to get it to work 2020-09-25 13:42:44 +02:00
khyperia
4e79b4e824 intel-compute-runtime doesn't support i8 or i16 atomics 2020-09-25 11:35:13 +02:00
khyperia
01a831e508 intel-compute-runtime doesn't like OpLogicalNot 2020-09-25 11:22:55 +02:00
khyperia
7b45f88052 OpAccessChain on structs should take u32 2020-09-24 18:31:19 +02:00
khyperia
3821aa2060 Add support for spirv v1.3 2020-09-24 18:20:46 +02:00
khyperia
3e569e3a32 Add run_libcore_test 2020-09-24 13:12:34 +02:00
khyperia
90e539fc26 declared_values isn't needed now that the DeclareMethods trait is gone 2020-09-23 10:48:41 +02:00
khyperia
01845cf930 use bimaps, they're neat! 2020-09-23 10:39:51 +02:00
khyperia
1921ecc4a1 Fix up constants accidentally being emitted inside functions 2020-09-23 10:16:18 +02:00