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
cf56b95dc1
Add #[track_caller]
test.
2021-08-10 12:43:15 +03:00
Eduard-Mihai Burtescu
f951203534
Add test accounting for https://github.com/rust-lang/rust/pull/87723 .
2021-08-10 10:55:39 +03:00
Markus Siglreithmaier
2ddae102eb
book: add section for workgroup memory ( #713 )
2021-08-10 08:32:51 +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
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
Ashley Hauck
819365cbae
Release v0.4.0-alpha.11 ( #702 )
2021-08-02 14:02:02 +00:00
Eduard-Mihai Burtescu
f224b5aa1a
tests: update the documented error counts in ui/spirv-attr/invalid-target.
2021-06-24 18:10:32 +03:00
Ashley Hauck
06f0aa2c3a
Release v0.4.0-alpha.10 ( #679 )
2021-06-23 09:32:09 +02:00
Ashley Hauck
22e4bf4022
Clarify and fix up some image documentation ( #678 )
2021-06-21 14:31:33 +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
Ashley Hauck
04dfa80266
Nuke arithmetic.rs ( #666 )
2021-06-15 09:43:13 +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
Eduard-Mihai Burtescu
95bc1914e2
compiletests: add missing use spirv_std as _;
imports. ( #665 )
2021-06-11 08:36:03 +00:00
Ashley Hauck
31bfc338e0
Release v0.4.0-alpha.9 ( #646 )
2021-06-03 12:35:53 +00: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
Ashley Hauck
f3888d1bb3
Invert glam dependency ( #641 )
2021-06-02 09:28:01 +02: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
khyperia
255a6f09e6
Update compiletest to 0.7
2021-05-26 10:22:07 +03: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
ca988f95de
rustup update to 2021-05-17 ( #621 )
2021-05-20 14:46:09 +02:00
Ashley Hauck
943f09fef7
Emit OpLine instructions ( #616 )
...
* Emit OpLine instructions
2021-05-07 08:57:47 +00:00
XAMPPRocky
9c19414858
Add is_helper_invocation, and cleanup arch & asm functions ( #612 )
2021-05-04 10:51:20 +00: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
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
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
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
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
XAMPPRocky
aa444f007e
Update to glam 0.14 ( #587 )
2021-04-12 08:00:58 +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
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