Commit Graph

872 Commits

Author SHA1 Message Date
Ashley Hauck
8924fe7b4c
Clean up DUMP environment variables (#673) 2021-06-17 17:07:35 +02:00
Ashley Hauck
1cef56bcf3
Cargo update (#674) 2021-06-17 17:06:26 +02:00
khyperia
efd97e6d22 Fix issue with --disassemble-entry 2021-06-17 18:03:38 +03:00
Ashley Hauck
db5e5fd336
rustup update and embark standard lints v0.4 (#672)
* rustup update

* update to embark standard lints v0.4
2021-06-17 13:10:19 +02:00
Ashley Hauck
04dfa80266
Nuke arithmetic.rs (#666) 2021-06-15 09:43:13 +02:00
Ashley Hauck
f7ac6a09e7
Small linker refactorings (#664)
Not actually many interesting things here, just cleaning up some crud
from previous work where things were added/removed without full
knowledge of the surrounding code, so it becomes a bit of a "wait, why
the heck is it done this way" confusing mess for those trying to
understand it for the first time.
2021-06-15 09:20:03 +02:00
Ashley Hauck
fff2b9bce1
Add common image type aliases (#662) 2021-06-15 09:19:40 +02:00
Ashley Hauck
e1a000d408
Nuke const generics feature (#661)
* Nuke const generics feature

* Remove spirv(image_type) attribute
2021-06-15 09:19:23 +02:00
Daniel McNab
e66e72b049
Fix the output filename collision warning (#669)
This works simply by naming the binary crate
anything other than the name of the lib, which is example-runner-wgpu
As far as I know, the warning started in
https://github.com/EmbarkStudios/rust-gpu/pull/215

Since there is only one binary crate in the package, the command
(`cargo run -p example-runner-wgpu --release`)
maintains the same behaviour

The cargo issue is https://github.com/rust-lang/cargo/issues/6313

This warning caused problems for me in testing
https://github.com/Lokathor/bytemuck/pull/67
since I didn't notice the warning that my patch was not applied
2021-06-14 09:22:29 +02:00
Daniel McNab
364590e05f
Use bytemuck for the push constants (#668)
* Use bytemuck for the push constants

* Use the released version of bytemuck

https://github.com/Lokathor/bytemuck/pull/69 landed

That version also works 🎉
2021-06-14 09:20:55 +02:00
Daniel McNab
4b2011476b
Clean up the interface of the watching support (#663)
* Clean up the interface of the watching support

This allows us to avoid the seperate thread just for looping through
the graphics rx to the eventloop, for example
In almost all cases, intial results are blocked on the first result, and
then needs notifications for later changes

* Fix test failures

* fmt

* Remove the comment again
2021-06-14 09:19:41 +02:00
Eduard-Mihai Burtescu
95bc1914e2
compiletests: add missing use spirv_std as _; imports. (#665) 2021-06-11 08:36:03 +00:00
Ashley Hauck
c3eff4d4a5
Add name_variables option to spirv-builder (#660) 2021-06-09 15:27:08 +02:00
Ashley Hauck
b072b5ebdc
Nuke the old structurizer (#658) 2021-06-09 12:22:04 +02:00
Ashley Hauck
c829157b8b
Fix up some outdated documentation (#650) 2021-06-09 12:21:42 +02:00
Ashley Hauck
e7b109b1c5
Update CODEOWNERS (#651) 2021-06-09 12:21:28 +02:00
Ashley Hauck
64380d609a
Add Image! docs to book (#652) 2021-06-09 12:18:05 +02:00
Ashley Hauck
0b23a4282f
Add sampled to example (#659) 2021-06-09 12:17:08 +02:00
Ashley Hauck
56722c72d6
Fix wacky typedef (#647) 2021-06-09 10:33:06 +02:00
Daniel McNab
3bbe963998
👀 hot shader reloading (#655)
* Update builder to use a shared validation method

* Add the error for using print_metadata and watching

We cannot use print_metadata with watching
because print_metadata only makes sense
in build scripts, but watching does not
and would instead stall the script

* Add the initial implementation of watching

* Make hot reloading work in the wgpu example

* Attempt to address CI failures

* Add exception for notify CC0-1.0 license

* Address review comments

Co-authored-by: khyperia <github@khyperia.com>
2021-06-09 10:30:44 +02:00
Nicholas Rishel
0410fc53e1
Add SHADERed Rust link to Readme (#648)
Increase visibility of SHADERed's rust-gpu integration by adding it to the Readme.
2021-06-09 08:16:37 +00:00
evopen
0de0ad03c3
fix trace ray acceleration structure (#654) 2021-06-09 07:53:18 +00:00
XAMPPRocky
e3720294de
Produce spirv-std API docs with all features (#653) 2021-06-09 09:30:07 +02:00
Markus Siglreithmaier
486a3cee2e
Always emit cargo dependency information (#618)
* spirv-builder: Add more control over cargo metadata printout

* lint fix
2021-06-03 22:03:03 +02:00
Ashley Hauck
31bfc338e0
Release v0.4.0-alpha.9 (#646) 2021-06-03 12:35:53 +00:00
Daniel McNab
cb952562dd
Collatz Computation (#623)
Build the compute shader for vulkan1.1 as required
2021-06-03 14:20:42 +02:00
khyperia
a5e9fe751b Fix nasty miscompilation 2021-06-03 14:00:18 +02:00
Ashley Hauck
92b680fdb9
Release v0.4.0-alpha.8 (#645) 2021-06-02 14:06:56 +02:00
Alex Es
985cbed9e4
Added read_subpass for SubpassData images, and necessary attrs for it. (#643)
* Added read_subpass for SubpassData images, and necessary attrs for it.

* Fix CI; test bless + rustfmt

* Rename attachment_index => input_attachment_index.

* Rustfmt

* Fix clippy warning.

* Review: check for cap rather than adding cap, fix error messages.
2021-06-02 11:02:04 +02:00
Alex S
7fc445eb10 Added link to tracking issue for v0 mangling. 2021-06-02 10:46:19 +03:00
Alex S
b64eeb6f1e Use legacy mangling instead of v0.
`v0` mangling mangles generics, but can only handle const generic
arguments of simple types. As `Image!` types use const generic enums,
things break horribly and compiler panics.
`legacy` doesn't even attempt to mangle generics, which is probably
fine.
2021-06-02 10:46:19 +03:00
Ashley Hauck
f3888d1bb3
Invert glam dependency (#641) 2021-06-02 09:28:01 +02:00
Ashley Hauck
ba689b5603
Don't require Int* capabilities for mouse-shader (#636)
* Don't require Int* capabilities for mouse-shader

* Make Int*/Float64 errors be zombie_even_in_user_code

* Demote glam back to a non-system crate
2021-05-31 11:56:15 +02:00
Alex Es
62f375f148
Fix simplest and sky shaders being switched in example-runner-wgpu's rebuild code. (#639) 2021-05-31 09:50:50 +00:00
Ashley Hauck
3fa15c99ae
Add spirv-val flags to spirv-builder (#635) 2021-05-31 09:44:09 +00:00
Ashley Hauck
5d22f600e7
Add runtime array type (#596) 2021-05-31 09:39:06 +00:00
Ashley Hauck
1046f7cdf6
Implement auto-vectorization (#629)
* Implement auto-vectorization

* Run mem2reg a lot
2021-05-31 11:22:02 +02:00
Ashley Hauck
fcf6ee76c8
Reduce CI times (#637)
* Reduce CI times

* Reduce RUSTUP_UNPACK_RAM

* Set RUSTUP_IO_THREADS=1

* Include https://github.com/EmbarkStudios/ash-molten/pull/57 This fixes github API rate limit errors

* Inline test.sh to show timings for each step and generally have a less-jank UI
2021-05-31 11:17:34 +02:00
Ashley Hauck
6019f391ec
Add API to enable ext/capabilities, and remove default capabilities (#630)
* Do not set some capabilities by default

* Fix nondeterminism

* Add required caps to mouse shader
2021-05-26 11:57:16 +02:00
khyperia
255a6f09e6 Update compiletest to 0.7 2021-05-26 10:22:07 +03:00
Eduard-Mihai Burtescu
e5a07a9e2b
rustup: update to nightly-2021-05-24. (#631)
* rustup: update to nightly-2021-05-24.

* tests: update expected OpLine numbers in disassembly tests.
2021-05-25 08:28:47 +02:00
khyperia
4afd2f39ae Add .vim to .gitignore 2021-05-24 10:38:34 +02:00
Ashley Hauck
47d1e75327
Always emit json metadata, and emit entry point names (#622)
* Always emit json metadata

* Codegen shader entry point names

* Fix tests
2021-05-24 09:45:58 +02:00
Ashley Hauck
6bff395680
Build the wgpu shader at runtime (#627)
* Build the wgpu shader at runtime
2021-05-21 12:09:56 +00:00
Ashley Hauck
ca988f95de
rustup update to 2021-05-17 (#621) 2021-05-20 14:46:09 +02:00
Vlady Veselinov
e76247213c
Remove stale roadmap link from README.md (#626) 2021-05-20 10:34:26 +00:00
Markus Siglreithmaier
75d0d8f1ac
asm: support sampler and as types (#624)
* asm: support sampler and as types

* fmt
2021-05-20 09:08:54 +02:00
Markus Siglreithmaier
fc268da041
Preserve function abi in gpu_only macro (#617)
* Preserve function abi in gpu_only macro
2021-05-17 12:21:52 +02:00
Ashley Hauck
943f09fef7
Emit OpLine instructions (#616)
* Emit OpLine instructions
2021-05-07 08:57:47 +00:00
Jasper Bekkers
78ac32be27
Initial work for bindless buffers & textures in rust-gpu (#450)
This adds the initial support for basic bindless types into rust-gpu. Using this requires a compilation with the `-Ctarget-features=+bindless` flag, or through `.bindless` in the `SpirvBuilder`.
2021-05-05 18:34:39 +02:00