Commit Graph

117 Commits

Author SHA1 Message Date
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
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
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
e1696a4cbd
Updated metadata for spirv-builder (#903) 2022-08-11 12:02:34 +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
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
Johan Andersson
132b960e83
Upgrade from our standard lints v4 -> v6 (#861) 2022-04-17 12:16:59 +02: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
Ashley Hauck
f780364317
rustup update (#840)
* rustup update

* asm->core::arch::asm
2022-01-13 17:27:33 +02: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
2ca5826e55
rustup update (#816)
* rustup update

* Test fixes
2021-12-06 11:31:43 +01:00
Ashley Hauck
3ae5c2b010
Remove CARGO_FEATURES_* and CARGO_CFG_* (#782) 2021-10-28 13:09:32 +02:00
Ashley Hauck
f58c6f20af
rustup update, and edition = 2021 (#775) 2021-10-26 10:24:44 +00:00
Eduard-Mihai Burtescu
6807c5973d Re-add -Zsymbol-mangling-version=v0. 2021-09-07 12:24:38 +03:00
Ashley Hauck
032286e217
Add a spirv-builder option to include all debug info (#742) 2021-09-01 06:05:43 +00:00
khyperia
df5b41137b Cargo update 2021-08-12 17:16:07 +03:00
Ashley Hauck
44c9fdd8c5
Release v0.4.0-alpha.12 (#719) 2021-08-12 10:46:32 +00:00
Eduard-Mihai Burtescu
908499744f spirv-builder: switch to \x1f-separated CARGO_ENCODED_RUSTFLAGS. 2021-08-10 16:53:28 +03:00
Ashley Hauck
12c09cbc5a
Remove implicit bindless and kernel modes (#710)
* Remove +bindless mode

* Remove +kernel mode
2021-08-10 08:23:24 +02:00
Ashley Hauck
819365cbae
Release v0.4.0-alpha.11 (#702) 2021-08-02 14:02:02 +00:00
Ashley Hauck
06f0aa2c3a
Release v0.4.0-alpha.10 (#679) 2021-06-23 09:32:09 +02:00
Ashley Hauck
428824be94
Add option to treat warnings as errors (#683) 2021-06-22 13:44:51 +00:00
Ashley Hauck
1cef56bcf3
Cargo update (#674) 2021-06-17 17:06:26 +02: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
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
Ashley Hauck
c3eff4d4a5
Add name_variables option to spirv-builder (#660) 2021-06-09 15:27:08 +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
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
Ashley Hauck
92b680fdb9
Release v0.4.0-alpha.8 (#645) 2021-06-02 14:06:56 +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
3fa15c99ae
Add spirv-val flags to spirv-builder (#635) 2021-05-31 09:44:09 +00: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
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
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
Ashley Hauck
1431c18b9d
Move disassemble tests to compiletest (#609)
* Move disassemble tests to compiletest

* Fix problematic tests

* Add newlines
2021-04-30 09:07:45 +02:00
XAMPPRocky
538cdd2ea7
Update version and remove usage of or_patterns (#607) 2021-04-29 10:55:51 +02:00
XAMPPRocky
a14e3ec110
Release 0.4.0-alpha.6 (#606)
compiletests@0.4.0-alpha.6
compiletests-deps-helper@0.4.0-alpha.6
compute-shader@0.4.0-alpha.6
example-runner-ash@0.4.0-alpha.6
example-runner-cpu@0.4.0-alpha.6
example-runner-wgpu@0.4.0-alpha.6
mouse-shader@0.4.0-alpha.6
multibuilder@0.4.0-alpha.6
rustc_codegen_spirv@0.4.0-alpha.6
shared@0.4.0-alpha.6
simplest-shader@0.4.0-alpha.6
sky-shader@0.4.0-alpha.6
spirv-builder@0.4.0-alpha.6
spirv-std@0.4.0-alpha.6
spirv-std-macros@0.4.0-alpha.6
spirv-types@0.4.0-alpha.6

Generated by cargo-workspaces
2021-04-29 09:24:21 +02:00
Ashley Hauck
49dd238083
Bump rust-toolchain to nightly-2021-04-25 (#605)
* Bump rust-toolchain to nightly-2021-04-25
2021-04-28 13:53:33 +00:00
XAMPPRocky
f88ae5b28a
Add Const Generic Image Type (#359)
* Add parameterized Image type

* nits

* Update crates/spirv-std/src/lib.rs

* Update crates/rustc_codegen_spirv/src/symbols.rs

* Update crates/rustc_codegen_spirv/src/symbols.rs

* Update symbols.rs
2021-04-28 09:47:40 +02:00
Ashley Hauck
9679e615bd
Disable variable pointers by default (#591) 2021-04-13 11:30:16 +02:00
XAMPPRocky
b6311789bb
Add new handling for SPIR-V targets (#559)
* Add new handling for SPIR-V targets

* Ensure target is always three components
2021-04-12 11:19:28 +00:00
XAMPPRocky
4824d205ba
Release 0.4.0-alpha.5 (#590)
compiletests@0.4.0-alpha.5
compiletests-deps-helper@0.4.0-alpha.5
compute-shader@0.4.0-alpha.5
example-runner-ash@0.4.0-alpha.5
example-runner-cpu@0.4.0-alpha.5
example-runner-wgpu@0.4.0-alpha.5
mouse-shader@0.4.0-alpha.5
multibuilder@0.4.0-alpha.5
rustc_codegen_spirv@0.4.0-alpha.5
shared@0.4.0-alpha.5
simplest-shader@0.4.0-alpha.5
sky-shader@0.4.0-alpha.5
spirv-builder@0.4.0-alpha.5
spirv-std@0.4.0-alpha.5
spirv-std-macros@0.4.0-alpha.5

Generated by cargo-workspaces
2021-04-12 10:27:55 +02:00
XAMPPRocky
4163ce68cf
Remove memcmp from spirv-std (#583) 2021-04-09 13:52:37 +02:00
XAMPPRocky
98d7dec503
Release 0.4.0-alpha.4 (#582)
compiletests@0.4.0-alpha.4
compiletests-deps-helper@0.4.0-alpha.4
compute-shader@0.4.0-alpha.4
example-runner-ash@0.4.0-alpha.4
example-runner-cpu@0.4.0-alpha.4
example-runner-wgpu@0.4.0-alpha.4
mouse-shader@0.4.0-alpha.4
multibuilder@0.4.0-alpha.4
rustc_codegen_spirv@0.4.0-alpha.4
shared@0.4.0-alpha.4
simplest-shader@0.4.0-alpha.4
sky-shader@0.4.0-alpha.4
spirv-builder@0.4.0-alpha.4
spirv-std@0.4.0-alpha.4
spirv-std-macros@0.4.0-alpha.4

Generated by cargo-workspaces
2021-04-08 13:58:43 +03:00
Eduard-Mihai Burtescu
4395b84114 Deprecate #[spirv(block)] and auto-wrap in "interface blocks" instead. 2021-04-05 20:45:59 +03:00