Commit Graph

263 Commits

Author SHA1 Message Date
Johan Andersson
bba88ccfad [example] Leak debug loader instead of panicking on shutdown 2020-10-21 20:44:09 +02:00
Johan Andersson
14352a79be [example] Remove unused image crate dependency 2020-10-21 20:43:46 +02:00
Jasper Bekkers
a06b2e49cf
Branchless sky shader (#71)
* Branchless sky shader

* Fullscreen quad

* Fixed naming of the fragment shader

* Add very stripped down version of glam-rs math routines to spirv-std

* Update example to use math routines in spirv-std

* Also use lerp from spirv-std

* Attribution, small cleanups

* Use extension trait for math, much nicer \o/

* Switch to repr(simd) for the Vec types

* Move clamp into MathExt, make MathExt take Self instead of f32

Co-authored-by: VZout <viktor.zoutman@embark-studios.com>
Co-authored-by: khyperia <github@khyperia.com>
2020-10-21 20:16:06 +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
Viktor Zoutman
5db68ec044
Update lib.rs 2020-10-21 13:16:03 +02:00
Ari V
1fa44d6891
Simplify getting started + general cleanup (#77) 2020-10-21 12:01:44 +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
VZout
b4aebb4a36 Fixed naming of the fragment shader 2020-10-20 11:12:30 +02:00
Viktor Zoutman
b86ed60dab
Modified the examples to use rust-gpu for the vertex shader. (#70)
* The example now also uses the vertex shader
* Removed old vertex shader
* fmt
2020-10-19 18:54:02 +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
16f7268edb
Add support for macos in example-runner (#60) 2020-10-14 18:33:37 +02:00
XAMPPRocky
16c35c6d0e
Add custom panic hook (#58) 2020-10-14 18:31:17 +02:00
Ashley Hauck
d3af0552d3
Move to a builder struct for spirv-builder (#59)
This allows the print_metadata option
2020-10-14 15:48:21 +02:00
khyperia
377bf070f0 Pass full path to rustc_codegen_spirv to rustc 2020-10-14 14:38:40 +02:00
khyperia
4d0eb81d86 rustup update 2020-10-14 09:19:25 +02:00
XAMPPRocky
5ec5ce8284
Update README.md (#56) 2020-10-14 09:13:55 +02:00
Johan Andersson
9d98620d24
Togglable Vulkan debug layer in example (#53)
Disabled it by default as it requires the Vulkan SDK to be installed.

Can be enabled with  `-d` / `--debug-layer`
2020-10-13 23:42:15 +02:00
Johan Andersson
f6381cfea2 Clarify SPRIV-Tools install to PATH in README
Part of #28
2020-10-13 23:18:30 +02:00
Johan Andersson
c0a9e53979 Tiny README formatting tweak 2020-10-13 23:17:13 +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
ac2f1c3f6b Disallow pointer to struct containing pointer parameter
This fixes NO_DCE=1 cargo test
2020-10-12 10:18:36 +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
80398d8149 Rebuild shader crates if changed 2020-10-10 12:25:05 +02:00
khyperia
8c9583f2c6 Maybe fix lint CI by excluding example-runner
This will then not build example-shader and so then not require
spirv-val and friends.
2020-10-09 20:12:39 +02:00
khyperia
60a4164ca1 Reference rustc_codegen_spirv in spirv-builder
This makes the UX much better. It's also kind of bonkers, but, in a good
way. I think.
2020-10-09 20:01:35 +02:00