Commit Graph

674 Commits

Author SHA1 Message Date
khyperia
40359bdb56 Add DCE-φ pass 2021-04-01 13:33:07 +02:00
Ashley Hauck
f0f0f318ec
Don't treat OpSelectionMerge as an edge in mem2reg (#571)
* Don't treat OpSelectionMerge as an edge in mem2reg

* Make outgoing_edges not allocate

* Update test
2021-04-01 10:03:00 +02: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
Eduard-Mihai Burtescu
fc8efd4562
structurizer: treat single-exit regions as unconditionally branching. (#566) 2021-03-31 12:04:20 +00:00
Eduard-Mihai Burtescu
9723e12723 structurizer: find and/or cache OpConstant{False,True}. 2021-03-31 00:41:17 +03:00
XAMPPRocky
f09a5f6e65
Release 0.4.0-alpha.3 (#560)
compiletests@0.4.0-alpha.3
compiletests-deps-helper@0.4.0-alpha.3
compute-shader@0.4.0-alpha.3
example-runner-ash@0.4.0-alpha.3
example-runner-cpu@0.4.0-alpha.3
example-runner-wgpu@0.4.0-alpha.3
mouse-shader@0.4.0-alpha.3
multibuilder@0.4.0-alpha.3
rustc_codegen_spirv@0.4.0-alpha.3
shared@0.4.0-alpha.3
simplest-shader@0.4.0-alpha.3
sky-shader@0.4.0-alpha.3
spirv-builder@0.4.0-alpha.3
spirv-std@0.4.0-alpha.3
spirv-std-macros@0.4.0-alpha.3

Generated by cargo-workspaces
2021-03-30 11:23:16 +00:00
Eduard-Mihai Burtescu
0e7fdb30f2
#[spirv(uniform)] is actually immutable in the absence of BufferBlock. (#558) 2021-03-30 09:32:59 +00:00
Eduard-Mihai Burtescu
820573a21f
Duplicate SpirvValueKind::ConstantPointer into a separate FnAddr variant. (#557) 2021-03-30 08:55:37 +00:00
Ashley Hauck
d6ff9cd439
Run DCE twice (#556) 2021-03-30 09:44:01 +02: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
Eduard-Mihai Burtescu
59085024e3
Add validation test for DST StorageBuffer + #[spirv(block)]. (#553) 2021-03-30 07:36:03 +02:00
Henno
9f25e92d60 Remove sized check from Block translation 2021-03-30 05:35:02 +03: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
Henno
05ce407278
Add basic support for struct DSTs (#504)
* Add basic support for struct DSTs

* Add tests

* cleanup tests

* Update with entry changes, address review

* Address review

* Update allocate_const_scalar.stderr

* Add ArrayStride decoration to OpTypeRuntimeArray
2021-03-29 18:02:09 +02:00
Ashley Hauck
c3a3b20e3c
Add support for outputting multiple modules, one per entry point (#551)
* Add multimodule feature

* Use -Cllvm-args instead of -Ctarget-feature for multimodule

* Fix cargo.toml
2021-03-29 17:59:03 +02:00
Eduard-Mihai Burtescu
30c9b1fdc0 Enable incremental for release mode via [profile.<...>] overrides. 2021-03-29 10:29:17 +02:00
Eduard-Mihai Burtescu
db208e7190 Avoid ever building rustc_codegen_spirv more than once in release mode. 2021-03-29 09:05:48 +02:00
Eduard-Mihai Burtescu
e9dc4580a0 default.nix: replace stdenv.lib with lib to silence warning. 2021-03-29 07:26:21 +02:00
XAMPPRocky
182bbca7e5 Update mod.rs 2021-03-27 17:12:11 +02:00
Erin Power
3fc6cd5a2f Release 0.4.0-alpha.2
compute-shader@0.4.0-alpha.2
rustc_codegen_spirv@0.4.0-alpha.2
spirv-builder@0.4.0-alpha.2
spirv-std@0.4.0-alpha.2
spirv-std-macros@0.4.0-alpha.2

Generated by cargo-workspaces
2021-03-26 13:23:23 +01:00
khyperia
f8917fb2c7 CI test format 2021-03-26 13:15:29 +01:00
khyperia
eccd3b2559 run format on tests 2021-03-26 13:15:29 +01:00
khyperia
bc5c45f696 docs 2021-03-26 13:15:29 +01:00
khyperia
d3605f79c7 Add #[spirv(invariant)] 2021-03-26 13:15:29 +01:00
XAMPPRocky
3da44847ec
Make derivative arch functions public 2021-03-26 13:13:58 +01:00
XAMPPRocky
062eb58431
Update glam (#540) 2021-03-26 09:05:33 +01:00
XAMPPRocky
c3757cb9c7
Update README.md (#534) 2021-03-25 16:18:40 +01:00
Erin Power
1e7eb64f17 Release 0.4.0-alpha.1
compute-shader@0.4.0-alpha.1
rustc_codegen_spirv@0.4.0-alpha.1
spirv-builder@0.4.0-alpha.1
spirv-std@0.4.0-alpha.1
spirv-std-macros@0.4.0-alpha.1

Generated by cargo-workspaces
2021-03-25 16:16:25 +01:00
Ashley Hauck
15d96cde8c
Use the cute Function::all_inst_iter helper, because it's cute. (#535) 2021-03-25 10:20:34 +00:00
Erin Power
dea67c686c Move min-const-generics features out of const-generics flag 2021-03-25 10:34:01 +02:00
Eduard-Mihai Burtescu
79200bb777 Produce TypeKind::Token for {Image,Sampler,SampledImage} in type_kind. 2021-03-24 14:51:50 +02:00
Johan Andersson
916f4798d3 Use Embark standard lints v0.3 2021-03-24 14:51:50 +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
8c1406ee39 entry: reorganize storage class handling, and move some checking to attr. 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
7c0c467e96
Follow best practice hints and reset command pool instead of the single buffer (#528) 2021-03-23 06:37:52 +01:00
Eduard-Mihai Burtescu
54cb4ada2e compiletest: allow specifying filters via cargo compiletest .... 2021-03-22 19:01:56 +02:00
Eduard-Mihai Burtescu
ff028b90ec compiletest: switch to structopt for the cargo compiletest CLI. 2021-03-22 19:01:56 +02:00
Eduard-Mihai Burtescu
b3c04e5951
compiletest: don't require -- to pass our specific flags. (#523)
* docs: removed outdated `cargo compiletest -- --clean` instructions.

* compiletest: don't require `--` to pass our specific flags.
2021-03-22 14:37:55 +00:00
Ashley
872e06257f
Clean up recreate_swapchain and some other things in the ash runner (#514)
* Remove an unused command buffer and fence in the ash runner

* Don't recreate command buffer when recreating the swapchain

* Don't recreate the render pass
2021-03-22 14:05:45 +01:00
XAMPPRocky
e7d68f7435
Add primitive set of arch instructions (#520) 2021-03-22 10:55:18 +00:00
Ashley Hauck
89dc8c65aa
Add cubemaps (#521) 2021-03-22 11:35:42 +01:00
XAMPPRocky
681e4f21ae
Update nightly (#516) 2021-03-22 10:20:05 +00:00
Eduard-Mihai Burtescu
94f46142a7 Use AggregatedSpirvAttributes instead of iterating over SpirvAttributes. 2021-03-22 11:23:55 +02:00
Eduard-Mihai Burtescu
ffcddd4f4c attr: disallow multiple attributes that are identical or in the same category. 2021-03-22 11:23:55 +02:00
Eduard-Mihai Burtescu
8688e8c25a attr: group attributes by their targets. 2021-03-22 11:23:55 +02:00
Eduard-Mihai Burtescu
a2026376b7 attr: group {ImageType,Sampler,SampledImage} into an IntrinsicType enum. 2021-03-22 11:23:55 +02:00
Eduard-Mihai Burtescu
fdbfdec6f5 symbols: move SpirvAttribute to the attr module. 2021-03-22 11:23:55 +02:00
Eduard-Mihai Burtescu
7f94fea3b6 attr: target_from_impl_item can just be private. 2021-03-22 11:23:55 +02:00
Eduard-Mihai Burtescu
b3b3fbec98 tests: add a test for where #[spirv(...)] attributes can (not) be used. 2021-03-22 11:23:55 +02:00