Commit Graph

49 Commits

Author SHA1 Message Date
Eduard-Mihai Burtescu
dbada91cb7 rustup: update to nightly-2023-05-27. 2023-06-08 15:54:23 +03:00
Eduard-Mihai Burtescu
4a987f3eb0 Add rustfmt.toml with version = "Two" to enable formatting array patterns. 2023-06-03 10:46:57 +03:00
Sylvester Hesp
2fd0182352 Added Grad support to SampleParams 2023-04-21 18:42:28 +02:00
Sylvester Hesp
4edad8817c Renamed image::sample to image::sample_with 2023-04-21 18:42:28 +02:00
Sylvester Hesp
43a267bbb8 Added all the other sampling functions. Also some fixes and cleanup 2023-04-21 18:42:28 +02:00
Sylvester Hesp
afbab4aee4 Clippy fixes 2023-04-13 10:25:52 +03:00
Sylvester Hesp
31ff096d24 Added generic parameter for number of components to Image 2023-04-13 10:25:52 +03:00
Eduard-Mihai Burtescu
beecb48e39 spirv-std: add #[repr(C)] (and extra comments) to opaque handle types. 2023-03-18 02:07:02 +02:00
Sylvester Hesp
d78c301799 Update to 2023-01-21 2023-02-16 12:32:11 +02:00
Sylvester Hesp
0f9cd391ce Removed return type inference from Image API
Return types are now always `glam` vectors. This also means that `glam` is required. The "glam" feature toggle is made mandatory, we may want to support other specific vector libraries in the future.
2023-02-13 16:10:14 +02:00
Sylvester Hesp
86d6042204 Update to nightly-2022-12-18
This nightly includes a clippy fix that we need (https://github.com/rust-lang/rust-clippy/pull/10055)
2023-01-05 14:50:13 +02:00
Sylvester Hesp
fbbe2f7d2d Formatting 2023-01-05 14:50:13 +02:00
Sylvester Hesp
1053c72575 Blessed these const_mat2 errors
`const_mat2` is deprecated in `glam`. We need to fix the tests.
2022-11-03 17:03:54 +02:00
Eduard-Mihai Burtescu
65f892eb50 attr: fix #[spirv(flat)] checking to match the Vulkan spec. 2022-10-27 11:42:23 +03:00
Sylvester Hesp
68ddddb8c4 Fixed bad imports 2022-10-19 14:12:11 +03:00
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
Sylvester Hesp
9e2e66729d Blessed tests 2022-09-21 14:23:11 +03:00
Sylvester Hesp
e9cdc7de51 Blessed tests 2022-09-07 16:03:32 +03:00
Johan Andersson
685c79a972
Upgrade SPIRV-Tools prebuild to 2022-04-14 (#867)
For Linux and Windows, Mac CI uses latest installed from brew.
Also added comment about how/where to get the download link for next upgrade.

Resolves: #866
2022-04-19 11:47:37 +00:00
Eduard-Mihai Burtescu
e08d0d6a48 rustup: update to nightly-2022-04-11. 2022-04-12 09:01:18 +03:00
Ashley Hauck
f780364317
rustup update (#840)
* rustup update

* asm->core::arch::asm
2022-01-13 17:27:33 +02:00
Ashley Hauck
d26716b881
Add error for insts not allowed outside fragment (#821)
* Add error for insts not allowed outside fragment

* make get_name return entry point names too
2021-12-14 08:04:50 +00:00
Ashley Hauck
2ca5826e55
rustup update (#816)
* rustup update

* Test fixes
2021-12-06 11:31:43 +01:00
Ashley Hauck
340f4bb70a
Error when int doesn't have spirv(flat) (#815) 2021-12-06 11:31:26 +01:00
Eduard-Mihai Burtescu
b28716d5eb tests: get --target-env vulkan1.2 passing. 2021-11-04 11:54:26 +02:00
Ashley Hauck
d45f9da016
Add test for issue #330 (#779) 2021-10-28 07:53:27 +00:00
Ashley Hauck
f58c6f20af
rustup update, and edition = 2021 (#775) 2021-10-26 10:24:44 +00:00
Ashley
4e5f347239
Add SampledImage::sample_by_lod (#755)
* Add 'SampledImage::sample_by_lod'

* Add a compiletest

* Format the compiletest, but manually because running cargo fmt doesn't seem to do anything 🤷

* Run rustfmt
2021-10-08 10:33:00 +02:00
Ashley Hauck
b692ab5afc
Convert Image<> parameters from enums to integers to make spirv-std build on stable (#761)
* Convert Image<> parameters from enums to integers to make spirv-std build on stable

* Remove access_qualifier from Image type

It's kernel-mode-only, and we won't ever support kernel mode.
2021-10-07 13:28:33 +02:00
Ashley Hauck
1e3881bfcb
Various fixes and cleanup (#726)
* Various fixes and cleanup

While working on other patches that ended up not being applicable, I've
gathered these changes unrelated to the irrelevant patch. So, submitting
them as a seperate change, since the bigger change isn't going in.

* Revert change superseded by #732
2021-08-21 21:41:46 +02: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
a93d6e0f2a
Add sample_bias and gather functions (#704)
* Add sample_bias function

* Update line numbers

* Add gather function

* Update spirv-tools

CI was failing on "Capability SampledRect is not allowed by Vulkan 1.1
specification (or requires extension)", except locally it was fine, and
I have more up to date spirv-tools than CI, so try bumping the CI
version to see if it's just an out-of-date spirv-val

* Fix gather() in vulkan

* Convert compiler valication into marker traits
2021-08-06 15:26:30 +02:00
Ashley Hauck
819365cbae
Release v0.4.0-alpha.11 (#702) 2021-08-02 14:02:02 +00:00
Ashley Hauck
22e4bf4022
Clarify and fix up some image documentation (#678) 2021-06-21 14:31:33 +02:00
Ashley Hauck
fff2b9bce1
Add common image type aliases (#662) 2021-06-15 09:19:40 +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
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
XAMPPRocky
9c19414858
Add is_helper_invocation, and cleanup arch & asm functions (#612) 2021-05-04 10:51:20 +00:00
Ashley Hauck
7a6806c17b
Add shader image query instructions (#608)
* Add shader image query instructions

* Normalize spirv-std src paths in test output

* Fix tests on vulkan
2021-04-30 09:07:38 +02: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
Eduard-Mihai Burtescu
4395b84114 Deprecate #[spirv(block)] and auto-wrap in "interface blocks" instead. 2021-04-05 20:45:59 +03:00
Ashley Hauck
4fa73bddb4
Infer the storage class for images/samplers/imagesamplers (#567)
* Infer the storage class for images/samplers/imagesamplers

* format

* Move comment
2021-04-01 07:49:08 +00:00
Jesse
5e429866da
feat: Added instructions for depth reference and project coordinate image instructions (#545)
* feat: Added instructions for depth reference and project coordinate image instructions

* docs: add alias annotation for methods in spirv-std/src/textures.rs
2021-03-30 08:14:18 +02:00
XAMPPRocky
3a53968817
Add support for multiple target environments (#533)
* Add support for multiple target environments

* updates from code review

* Update lib.rs
2021-03-29 18:43:07 +02:00
Eduard-Mihai Burtescu
908487ae1d entry: use T instead of &T for Inputs. 2021-03-23 09:30:24 +01:00
Eduard-Mihai Burtescu
e04e1f53fc Replace spirv_std::storage_class::X<T> with &T/&mut T and optionally #[spirv(x)]. 2021-03-23 09:30:24 +01:00
Ashley Hauck
89dc8c65aa
Add cubemaps (#521) 2021-03-22 11:35:42 +01:00
Jesse
9fb930b8f1
feat: add OpImageSampleExplicitLod to spirv-std (#498) 2021-03-19 07:24:20 +01:00
XAMPPRocky
27eb1d1413
Refactor validation tests to use compiletest (#464)
* Refactor validation tests to use compiletest

* Update tests/ui/lang/core/ptr/allocate_const_scalar.rs
2021-03-18 17:16:21 +00:00