Ashley Hauck
92dc64bd06
Make byte addressable buffer take &self, add support for matrix ( #749 )
2021-09-06 08:47:34 +00:00
Ashley Hauck
95da8981ad
Add load/store_unchecked to ByteAddressableBuffer without bounds check ( #746 )
2021-09-03 12:10:01 +00:00
Ashley Hauck
71d6001bed
Actually set the SPIR-V generator magic number ( #743 )
...
wow this took a while to do
2021-09-01 13:32:11 +02:00
Ashley Hauck
032286e217
Add a spirv-builder option to include all debug info ( #742 )
2021-09-01 06:05:43 +00:00
Ashley Hauck
66d6c554d8
Implement ByteAddressableBuffer prototype detached from bindless ( #735 )
2021-08-31 10:26:30 +02:00
Markus Siglreithmaier
f0560824fe
std: fix ray query initialization and proceed result ( #740 )
2021-08-31 10:09:05 +02:00
hatoo
b0676cba61
Implement OpTypeMatrix ( #738 )
...
* Implement OpTypeMatrix
* clippy
* Use cached Symbol
* Implement #[spirv(matrix(ty, m, n))] instead of Matrix trait
* Update #[spirv(matrix(..))]
- #[spirv(matrix(ty, m, n))]
Specify all of type, rows, columns.
- #[spirv(matrix(ty, m))]
Specify all of type, rows. Infer columns.
- #[spirv(matrix(ty))]
Specify all of type. Infer others.
- #[spirv(matrix)]
Infer all.
* Drop #[spirv(matrix(..))] (with arguments)
* Fix IntrinsicType::Matrix type construction
* Update matrix-type.rs
* Update tests/ui/spirv-attr/multiple.rs to test Matrix
* Fix tests/ui/spirv-attr/matrix-type.rs
* Add failing tests for #[spirv(matrix)
* Update error messages for #[spirv(matrix)]
2021-08-30 15:45:29 +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
khyperia
44ae4411ee
Revert no-longer-needed OpTypeArray support
2021-08-20 12:20:14 +03:00
khyperia
f9c7829bdc
Fix typo
2021-08-20 12:20:14 +03:00
khyperia
0bd0bf0f11
Fix issues with some raytracing functions and add tests
2021-08-20 12:20:14 +03:00
Eduard-Mihai Burtescu
2d5b8e6b0e
Get the default panic hook for ICEs, from std::panic::set_hook
.
2021-08-20 11:45:39 +03:00
Ashley Hauck
ee3d5afe63
Update rspirv to 0.10 ( #724 )
2021-08-20 11:24:26 +03:00
Eduard-Mihai Burtescu
9a69d6dccc
specializer: allow unused fully-constrained interface variables.
2021-08-19 18:20:27 +03:00
Eduard-Mihai Burtescu
f14046477a
link: remove workaround for mdsteele/rust-ar#19. ( #730 )
2021-08-19 08:45:29 +02:00
Eduard-Mihai Burtescu
4dcb50169f
link: rely on the default metadata loader.
2021-08-13 17:32:10 +03:00
Eduard-Mihai Burtescu
731a5e86aa
link: switch from tar
to ar
for .rlib
s.
2021-08-13 17:32:10 +03:00
Eduard-Mihai Burtescu
5a431e65a1
link: use METADATA_FILENAME instead of hardcoding ".metadata".
2021-08-13 17:32:10 +03:00
Markus Siglreithmaier
acda7716db
asm: add support for noreturn option ( #717 )
...
* asm: add support for noreturn option
OpUnreachable will be appended as terminator at the end of the asm block.
* asm: implicit label after return or abort terminator
* rework handling
* fix tests and add few comments
* fix tests
2021-08-13 08:50:44 +02: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
Eduard-Mihai Burtescu
7501f1895c
rustup: update to nightly-2021-08-10.
2021-08-10 16:53:28 +03:00
Ashley Hauck
1a3a12f505
Implement some float packing/unpacking instructions ( #709 )
...
* Implement some float packing/unpacking instructions
* Rename f32xN to vecN in packing functions
2021-08-10 13:54:44 +02:00
Eduard-Mihai Burtescu
7f5e2e778e
Fix unit tests to not have dead params.
2021-08-10 12:43:15 +03:00
Eduard-Mihai Burtescu
0bbea9e93e
Introduce remove_unused_params
pass, to run just before zombie removal.
2021-08-10 12:43:15 +03:00
Eduard-Mihai Burtescu
5e23a73c85
Move CallGraph
into a new ipo
module.
2021-08-10 12:43:15 +03:00
Eduard-Mihai Burtescu
340816ae75
abi: make dig_scalar_pointee
search for offsets in all layout fields.
2021-08-10 10:55:39 +03:00
Eduard-Mihai Burtescu
7393c3884f
abi: switch scalar_pair_field_index
to an offset.
2021-08-10 10:55:39 +03:00
Eduard-Mihai Burtescu
c1cdc4707c
abi: use scalar_pair_field_index
instead of index
in some places.
2021-08-10 10:55:39 +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
Daniel McNab
9fcc4824af
Use just the small version ( #705 )
2021-08-09 08:58:52 +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
Alex Es
bca7656c8c
Added a transformation that gets rid of temporary composites. ( #690 )
...
* Added an optimization that gets rid of temporary composites.
Those temporary composites result from inlining of multi-argument
closures. Not only are they rather useless, they're also sometimes
invalid, when an argument to said closure is e.g. a pointer.
* Correctness fixes to transitive unused removal:
- delay only if the instruction is in reference set
- properly mark composites being inserted into composites as used
* cargo fmt
* clippy
* Make transformation per-function & rely on DCE for eliminating dead constructs.
* Forgot to mark CompositeInsert as pure & additional line cleaning
* Rustfmt
* Remove duplicate lines only once
2021-08-06 10:52:56 +02:00
Alex Es
d548268140
Aggressively prune no-side-effect instructions during DCE. ( #691 )
...
* Aggressively prune no-side-effect instructions during DCE.
Since we're walking all the instructions anyway, it's practically
zero-cost.
* Reverse iteration order within a function.
This allows to root more instructions per `spread_roots`
invocation, becoming zero-cost in absence of loops.
* Manually iterate over function instructions in reverse order.
2021-08-04 08:03:38 +00:00
bjorn3
cccb9737d7
Use DefaultMetadataLoader for loading dylib metadata ( #698 )
2021-08-03 10:20:46 +00:00
Ashley Hauck
819365cbae
Release v0.4.0-alpha.11 ( #702 )
2021-08-02 14:02:02 +00:00
Ashley Hauck
62799d06cc
Make BuilderSpirv::has_capability
and has_extension
O(1) ( #688 )
2021-08-02 13:13:48 +02:00
khyperia
febd253d7b
Bypass rspirv O(n^2) deduplication
2021-06-24 16:55:40 +03: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
22e4bf4022
Clarify and fix up some image documentation ( #678 )
2021-06-21 14:31:33 +02:00
evopen
8c05636f53
fix NO_SPIRV_OPT ( #675 )
2021-06-19 19:01:27 +02:00
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
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
Ashley Hauck
b072b5ebdc
Nuke the old structurizer ( #658 )
2021-06-09 12:22:04 +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
evopen
0de0ad03c3
fix trace ray acceleration structure ( #654 )
2021-06-09 07:53:18 +00: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
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
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
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
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
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
XAMPPRocky
9c19414858
Add is_helper_invocation, and cleanup arch & asm functions ( #612 )
2021-05-04 10:51:20 +00:00
XAMPPRocky
de23683aa3
Update crates/spirv-std/src/lib.rs
...
Co-authored-by: Joshua Nelson <joshua@yottadb.com>
2021-05-04 00:34:54 +03:00
Erin Power
fde6aa0d9e
fix rustdoc with hack
2021-05-04 00:34:54 +03:00
XAMPPRocky
2f451ee993
Add support for using target-features for extensions and capabilities ( #610 )
2021-05-03 11:19:10 +00: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
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
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
Erin Power
18ba6f322d
Add support for SPV_KHR_ray_query
2021-04-27 16:07:46 +03:00
Ashley Hauck
ec131ca95c
CI check that docs are able to be built without warnings ( #601 )
...
* CI check that docs are able to be built without warnings
2021-04-23 08:12:02 +00:00
Markus Siglreithmaier
3d710e7c4b
Fix semantics type for control barriers to support multiple flags ( #598 )
...
* Fix semantics type for control barriers to support multiple flags
* spirv-std: convert memory semantics to bitflag
* Update crates/spirv-std/src/arch/barrier.rs
Co-authored-by: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com>
Co-authored-by: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com>
2021-04-22 11:17:02 +02:00
XAMPPRocky
d04039efda
Add track_caller to type lookups ( #599 )
2021-04-22 10:02:26 +02:00
XAMPPRocky
a42a9f20e1
Add support for SPV_KHR_ray_tracing ( #563 )
...
* Add support for SPV_KHR_ray_tracing
* Update spirv_type_constraints.rs
* Update spirv_type_constraints.rs
* Update spirv_type_constraints.rs
2021-04-16 16:59:11 +03:00
Eduard-Mihai Burtescu
bb7adc912f
asm: infer the result type of OpAccessChain (when indexing into arrays).
2021-04-16 09:00:45 +03:00
Eduard-Mihai Burtescu
fedac0f4a5
asm: streamline generating a type from a pattern for inference.
2021-04-16 09:00:45 +03:00
Ashley Hauck
6c8dece25a
Fix issue 585 ( #594 )
2021-04-13 11:34:02 +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
Eduard-Mihai Burtescu
7c568ab219
Allow constant references (to constant data), when they're valid SPIR-V.
2021-04-12 11:09:50 +03:00
Eduard-Mihai Burtescu
2bf4f76741
builder_spirv: track whether SpirvConst
s were deemed "legal" or not.
2021-04-12 11:09:50 +03:00
Eduard-Mihai Burtescu
00fe5a975e
builder_spirv: replace the constants BiHashMap
with two FxHashMap
s.
2021-04-12 11:09:50 +03:00
Eduard-Mihai Burtescu
3a9e7781d5
builder_spirv: don't keep a whole SpirvValue
in the constants
cache.
2021-04-12 11:09:50 +03:00
Eduard-Mihai Burtescu
84350e31d3
builder_spirv: split out the type field from SpirvConst
.
2021-04-12 11:09:50 +03:00
XAMPPRocky
4163ce68cf
Remove memcmp from spirv-std ( #583 )
2021-04-09 13:52:37 +02:00
Eduard-Mihai Burtescu
8c89b49b66
rustc_codegen_spirv: use FxHash{Map,Set}
instead of the std ones.
2021-04-08 18:02:55 +03: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
3f641638c8
entry: move call arg ajustments to declare_shader_interface_for_param
.
2021-04-08 10:18:49 +03:00
Eduard-Mihai Burtescu
630e5a61d8
entry: shorten variable
to var
.
2021-04-08 10:18:49 +03:00
Eduard-Mihai Burtescu
f834f989e5
entry: rename declare_interface_global_for_param
to declare_shader_interface_for_param
.
2021-04-08 10:18:49 +03:00
Eduard-Mihai Burtescu
b893c47727
entry: move things around in declare_interface_global_for_param
.
2021-04-08 10:18:49 +03:00
Eduard-Mihai Burtescu
1d1c2951c7
entry: collect OpEntryPoint
operands in declare_interface_global_for_param
.
2021-04-08 10:18:49 +03:00
Eduard-Mihai Burtescu
2b4037832f
spirv_type: fix copy-paste mistake regarding InterfaceBlock
.
2021-04-08 10:18:49 +03:00
Eduard-Mihai Burtescu
4395b84114
Deprecate #[spirv(block)]
and auto-wrap in "interface blocks" instead.
2021-04-05 20:45:59 +03:00
Eduard-Mihai Burtescu
561f0dd984
Clean up the output of assert_ty_eq!
(when it fails).
2021-04-05 20:45:59 +03:00
Eduard-Mihai Burtescu
674649c4cb
entry: tweak spans (mostly to use hir_param.ty_span
in more places).
2021-04-05 20:45:59 +03:00
Eduard-Mihai Burtescu
ad859e681e
entry: check the type of the argument we compute from the global OpVariable
.
2021-04-05 20:45:59 +03:00
Eduard-Mihai Burtescu
6c3ce3fac2
entry: use a Builder
instead of manually emitting into the entry stub.
2021-04-05 20:45:59 +03:00
Eduard-Mihai Burtescu
9bada9362d
entry: return SpirvValue
from declare_interface_global_for_param
.
2021-04-05 20:45:59 +03:00
Eduard-Mihai Burtescu
7cc69e7126
entry: rename declare_parameter
to declare_interface_global_for_param
.
2021-04-05 20:45:59 +03:00
Eduard-Mihai Burtescu
2b15e20f2f
Unbreak CI (fix control_barrier and memory_barrier tests).
2021-04-05 20:45:59 +03:00
XAMPPRocky
dd60da0be6
Add memory_barrier and control_barrier ( #519 )
2021-04-01 16:00:30 +02:00
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
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
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
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
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 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