Dzmitry Malyshau
62c2cf7332
Validate composite constants ( #729 )
2021-04-18 23:19:09 -04:00
Lachlan Sneff
4cbef59dd6
Add struct instantiation support to wgsl-in ( #507 )
...
* Add struct instantiation support to wgsl-in
* Readd type matching and move struct test
* rebase onto master and update tests
* Update tests to upstream
* Fix merge errors
* Rebase onto master
* [wgsl-in] delay composite type creation
* Use the new WGSL construction syntax in the tests
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-17 01:14:07 -04:00
Dzmitry Malyshau
bb716f9c10
[spv-out] implement array value indexing ( #723 )
2021-04-16 17:11:18 -04:00
Dzmitry Malyshau
daf4c82376
Allow stepping on floats in the validator ( #724 )
2021-04-16 16:16:15 -04:00
Ashley
285a855e19
Impl Hash
for msl::Options
( #716 )
...
* Impl `Hash` for `msl::Options`
* Remove ordered float
* [msl] derive everything on Options manually
* [msl] switch from Arena to Vec for the options
* Fix the clippy error by allowing derive_hash_xor_eq
* Fix skybox test
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-16 14:11:26 -04:00
Jim Blandy
2eb3e81e19
[wgsl-in] Add basic test for interpolate
attribute.
2021-04-15 17:19:20 -04:00
Jim Blandy
3f958f618b
[glsl-out] Let snapshot tests request a specific GLSL desktop version.
...
Add a Option<u16> to the snapshot `Params` to let snapshots request specific
Desktop GLSL versions. The default is GLSL ES 3.10.
It would be more general to let the params select any GLSL version, but that
would entail making glsl::Version implement Deserialize and all that, which
seems like overkill.
2021-04-15 17:19:20 -04:00
Dzmitry Malyshau
2eae37f7e5
[spv-out] rename temp_chain to temp_list, run a cargo fmt pass
2021-04-14 19:26:20 -04:00
Dzmitry Malyshau
96f9cb4ce1
[wgsl] Add support for simplified vector construction, add a snapshot test
2021-04-14 19:26:20 -04:00
Dzmitry Malyshau
c8d26a1f47
Splat support for WGSL and SPV in/out, updated snapshots
2021-04-14 19:26:20 -04:00
Dzmitry Malyshau
c2c93e4ecd
Remove cargo-insta
2021-04-14 16:10:31 -04:00
Dzmitry Malyshau
3f57e4db5a
Enable texture-array snapshot on Metal
2021-04-13 01:31:57 -04:00
Dzmitry Malyshau
270feb3c0f
[msl] map push constants to buffers
2021-04-13 01:31:57 -04:00
Ashley
640bfb1f26
[Metal] Make constant composites non-constexpr
( #707 )
...
* Make constant composites non-constexpr
* Update shadow test
2021-04-11 14:21:47 -04:00
Timo de Kort
5d487941b2
Start hlsl-out ( #408 )
...
* Add hlsl-out feature
* Integrate hlsl-out with snapshots
* Add snapshot
2021-04-11 11:36:26 -04:00
Mehmet Oguz Derin
142038c85b
WGSL: const
to let
2021-04-11 01:24:19 -04:00
Dzmitry Malyshau
f3ba6e91c2
[msl-out] shorten the expression name
2021-04-09 00:48:18 -04:00
Dzmitry Malyshau
604e10e19b
Rewrite IR to have member offsets, full structure span and alignment
2021-04-08 23:15:03 -04:00
Dzmitry Malyshau
7326ba6ddb
New struct layout IR
2021-04-08 23:15:03 -04:00
Dzmitry Malyshau
6166b95b6a
[msl] inline some of the constants
2021-04-08 12:36:43 -04:00
Dzmitry Malyshau
2774dcb403
[msl] inline some of the types
2021-04-08 11:10:52 -04:00
Dzmitry Malyshau
e06451777e
[msl] address review comments, rename SubOptions to PipelineOptions, add more inlined states
2021-04-07 22:49:13 -04:00
Dzmitry Malyshau
499f2e3cbe
[msl] add a snapshot test for inline sampler
2021-04-07 22:49:13 -04:00
Dzmitry Malyshau
7c11759041
Re-use the MSL types in snapshot code
2021-04-07 22:49:13 -04:00
Dzmitry Malyshau
dcbedd17d0
[msl] basic infrastructure for inline samplers
...
Also move out "allow_point_size" into SubOptions to allow
main Options to not be cloned.
2021-04-07 22:49:13 -04:00
Dzmitry Malyshau
a9bde26785
[spv-out] fix incorrect dummy result
2021-04-04 10:25:46 -04:00
Dzmitry Malyshau
410c242daf
[spv-out] add a flag to adjust the coordinate space
2021-04-03 11:27:21 -04:00
Dzmitry Malyshau
ead052b773
[spv-in] add a flag to adjust the coordinate space
2021-04-03 11:27:21 -04:00
Dzmitry Malyshau
100c2f42ed
[spv-out] cache access index constants
2021-04-03 11:27:21 -04:00
Dzmitry Malyshau
5673603bab
[spv-out] flip position Y
2021-04-03 11:27:21 -04:00
Dzmitry Malyshau
ab54f683be
[spv-in] flip Y axis
2021-04-03 11:27:21 -04:00
Dzmitry Malyshau
4389a86787
Fix layout roundup
2021-04-03 00:41:32 -04:00
Dzmitry Malyshau
d4d9d7814f
[msl-out] option to omit point size output
2021-04-02 00:19:52 -04:00
Dzmitry Malyshau
8ff27187d1
Fix matrix multiplication types
2021-04-01 15:49:37 -04:00
Dzmitry Malyshau
db455af04b
Add a snapshot for image load/store ops
2021-04-01 10:47:28 -04:00
Dzmitry Malyshau
427d8dc1eb
[spv-in] pre-emit constant expressions
2021-03-31 23:17:19 -04:00
Dzmitry Malyshau
7a17da195c
[msl] use uint behind metal namespace only
2021-03-31 23:01:19 -04:00
Dzmitry Malyshau
7be524592a
[msl] fix mutability of function parameters
2021-03-30 15:43:53 -04:00
Dzmitry Malyshau
baccfc68f5
[msl] fix constant array initialization
2021-03-30 00:38:00 -04:00
Dzmitry Malyshau
f06583ca7d
[spv-in] change const indexes to signed int
2021-03-29 11:07:33 -04:00
Dzmitry Malyshau
f2155d49d1
[msl] fix initialization of arrayed members, enable METAL snapshot of quad-vert
2021-03-27 10:58:01 -04:00
Dzmitry Malyshau
e47ff2dc26
[spv-in] support output interface block
2021-03-27 10:52:00 -04:00
Dzmitry Malyshau
a090afa3f5
[msl] write scalar constants before the types
2021-03-26 09:56:29 -04:00
Dzmitry Malyshau
bf193bb535
[msl] don't put expressions in double scopes
2021-03-26 09:56:29 -04:00
Dzmitry Malyshau
7d042337e2
Align the block decoration with SPIR-V, require storage buffers
2021-03-25 12:34:25 -04:00
Dzmitry Malyshau
e87f57d82c
Fix expression validation check
2021-03-25 09:32:55 -04:00
Dzmitry Malyshau
4fb4133298
[spv-in] fix image array index type to be signed
2021-03-25 09:21:58 -04:00
Dzmitry Malyshau
06d777b609
Make layout validation optional, disable the struct size check
2021-03-24 21:03:00 -04:00
Dzmitry Malyshau
7a246f6a14
Validate image queries and valid shader stages for derivatives
2021-03-24 12:32:32 -04:00
Dzmitry Malyshau
8712020115
Move Layouter into ModuleInfo
2021-03-23 10:11:50 -04:00