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
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
db208e7190
Avoid ever building rustc_codegen_spirv more than once in release mode.
2021-03-29 09:05:48 +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
d3605f79c7
Add #[spirv(invariant)]
2021-03-26 13:15:29 +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
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 Input
s.
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
XAMPPRocky
681e4f21ae
Update nightly ( #516 )
2021-03-22 10:20:05 +00:00
Eduard-Mihai Burtescu
94f46142a7
Use AggregatedSpirvAttributes
instead of iterating over SpirvAttribute
s.
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
XAMPPRocky
52ae430ec1
Update dependencies ( #506 )
2021-03-22 09:27:34 +01:00
Eduard-Mihai Burtescu
3274778d98
link: don't use {:?}
with paths because it turns \ into \\.
2021-03-22 08:01:22 +02:00
Ashley Hauck
3bc8a8076b
Fix recover_access_chain_from_offset on unsized fields ( #510 )
2021-03-19 15:23:55 +00:00
Eduard-Mihai Burtescu
a0b4de4cf6
Bump rust-toolchain to nightly-2021-03-17, unlocking for i in 0..n
loops!
2021-03-17 03:31:11 +02:00
Eduard-Mihai Burtescu
17f4f37a64
Bump rust-toolchain to nightly-2021-03-11.
2021-03-17 03:31:11 +02:00
XAMPPRocky
6b33db07e6
Update to 0.4.0-alpha.0 ( #497 )
...
* Release 0.4.0-alpha.0
compute-shader@0.4.0-alpha.0
rustc_codegen_spirv@0.4.0-alpha.0
spirv-builder@0.4.0-alpha.0
spirv-std@0.4.0-alpha.0
spirv-std-macros@0.4.0-alpha.0
Generated by cargo-workspaces
* Update Cargo.lock, remove unused one
* Update lockfile
* update lockfile
2021-03-16 15:14:53 +01:00
Jake Shadle
44393affe5
Update spirv-tools to 0.5.0 ( #496 )
...
* Update spirv-tools to 0.5.0
* Use ubuntu-20.04 image rather than the ambiguous "latest"
* Update spirv-tools binaries to latest
2021-03-16 13:04:23 +01:00
Henno
eebb2d3b32
Require local size x dimension and remove gl_ ( #495 )
...
* Require local size and remove gl_
Removes the gl_ prefix from the compute shader attribute, shortens the thread dimension declaration to threads(x, y, z), requires the x size dimensions be specified, trailing ones may be elided for the y or z dimensions.
* Implement review suggestions
2021-03-16 09:12:21 +01:00
Eduard-Mihai Burtescu
7348f3389d
builder: constant-fold bx.mul(a, b)
in order to support ptr::{read,write}
. ( #485 )
2021-03-11 09:53:49 +01:00
Eduard-Mihai Burtescu
c3cf9fe5f3
Clean up some of the cases of duplication found by clippy::match_same_arms
. ( #487 )
2021-03-11 07:31:48 +01:00
Daniel McNab
2d6a677563
Opt-in to rustc_private for rust-analyzer
( #481 )
...
https://github.com/rust-analyzer/rust-analyzer/pull/7891
2021-03-09 07:33:43 +01:00
Johan Andersson
a990ed5696
Use Embark standard lints v0.2 ( #475 )
2021-03-08 10:37:43 +01:00
Erin Power
499bf4cede
Version bump to 0.3.0
2021-03-04 17:50:40 +01:00
Eduard-Mihai Burtescu
f9946c0f52
attr: use only rustc's own Target, now that it has all the necessary variants. ( #471 )
2021-03-04 16:03:54 +00:00
Eduard-Mihai Burtescu
d574fa3737
Reenable clippy's use_self
lint (disabled during last rustup) and remove now-unneeded #[allow]
s for it. ( #470 )
...
* Reenable clippy's `use_self` lint (was disabled during last rustup).
* Remove now-unneeded `#[allow(clippy::use_self)]`.
2021-03-04 16:03:21 +00:00
Eduard-Mihai Burtescu
7723f5db6b
Access the original type's fields through a pointercast
, under the Logical addressing model. ( #469 )
...
* Defer pointer casts under the Logical addressing model.
* Access the original type's fields through a `pointercast`, under the Logical addressing model.
* Add a test using a `for` loop and a custom `Range`-like iterator.
2021-03-04 15:15:01 +01:00
XAMPPRocky
5cfaa0055b
Update to the latest nightly ( #467 )
...
* Update to the latest nightly
* Update to fix clippy lints
* ignore test for now
2021-03-04 14:12:00 +01:00
XAMPPRocky
6678f9a49d
Add entry point attribute configuration. ( #458 )
...
* Add entrypoint attribute configuration.
* Update with feedback
* Add docs
* fmt
* rm usused_attributes
* other changes
* fmt
2021-03-02 15:30:08 +02:00
Jasper Bekkers
d8e8c75472
Use newly added iter
method in rspirv to speed up InstructionTable::new ( #460 )
...
* Use newly added `iter` method in rspirv to speed up debug builds of rustc_codegen_spirv by 6s in debug
* cargo update run
2021-03-02 08:51:37 +00:00