Commit Graph

843 Commits

Author SHA1 Message Date
Imbris
3073ade8a4 [glsl-in] improved WIP parsing for declarations 2021-05-19 16:24:26 -04:00
João Capucho
786194ec67 [glsl-in][New parser] WIP support for functions 2021-05-19 16:24:26 -04:00
João Capucho
ff8f15e034 [glsl-in] Start writting a parser without pomelo 2021-05-19 16:24:26 -04:00
Gordon-F
12e6dc5917 [wgsl-out] Implement all statements and expressions. Enable all wgsl-in tests 2021-05-19 14:11:05 -04:00
Dzmitry Malyshau
6c1832c8ee [spv-out] be smarter about deriving capabilities, auto derive them for tests 2021-05-19 02:01:25 -04:00
Gordon-F
6b3db1f487 [glsl-out] Write vector access as a swizzle 2021-05-19 00:09:12 -04:00
Jim Blandy
5753f6e107 [wgsl-in] Improve error message for UnknownIdent. 2021-05-19 00:07:39 -04:00
Jim Blandy
4e3dc41f3f [wgsl-in] Use Cow<str> in wgsl::ParseError. 2021-05-18 13:35:59 -04:00
Jim Blandy
8246287561 [dot-out] Take advantage of Cow's implementation of From<String>. 2021-05-18 13:35:59 -04:00
Gordon-F
b4aa966575 [wgsl-out] Create baking expression for texture function 2021-05-18 13:33:25 -04:00
Dzmitry Malyshau
96ec0b61e7 Snapshot for built-ins 2021-05-18 10:01:14 -04:00
Dzmitry Malyshau
8b60171403 [glsl-out] emit sample variables extension 2021-05-18 10:01:14 -04:00
Dzmitry Malyshau
1f53ff1d1e [spv-in] fix emitted expressions for ImageStore 2021-05-18 10:01:14 -04:00
Jim Blandy
0985727710 [wgsl-in] Include span information in 'unknown identifier' errors. 2021-05-17 19:46:37 -04:00
Jim Blandy
0e3a7840ff [wgsl-in]: Report unknown identifiers as Error::UnknownIdent.
Move the parsing of type construction expressions into a function of its own,
which can return `None` when the identifier at hand is not the name of a type.
This means that `parse_primary_expression` doesn't have to commit to
interpreting the expression as a type construction too early, allowing it to
report unknown identifiers as Error::UnknownIdent.
2021-05-17 19:46:37 -04:00
Dzmitry Malyshau
b191c982ec Remove alignment from struct IR 2021-05-17 09:32:52 -04:00
Gordon-F
6efe347e90 [wgsl-out] Implement all math functions. Rename entry point function based on stage. Rename entry point output struct. 2021-05-14 18:14:23 -04:00
Gordon-F
5958f98489 [wgsl-out] Enable snapshot testing for wgsl-in image test 2021-05-14 18:12:02 -04:00
Dzmitry Malyshau
77a20d0017 Update CHANGELOG for v0.4.1 2021-05-14 10:21:55 -04:00
Dzmitry Malyshau
418e71281e Derivative tests 2021-05-14 09:53:24 -04:00
Jim Blandy
057d03ad86 [wgsl-in]: Add tests for array and struct validation. 2021-05-13 22:09:22 -04:00
Jim Blandy
9c5f324de2 TypeInner::span: Tolerate bad array length constants for now. 2021-05-13 22:09:22 -04:00
Jim Blandy
f45d812266 [wgsl-in]: Move WGSL front end integration tests into a WGSL-specific file.
This lets us reduce noise by removing a bunch of `#[cfg]` attributes. In the
future, if we have tests for other front ends, we can create an `errors`
subdirectory, but for now, we only have the WGSL tests, so we should keep things
flat.
2021-05-13 22:09:22 -04:00
Matúš Talčík
5e5d64291d [spv-in] fix handling of break blocks (borrowed from Tint) 2021-05-13 22:08:06 -04:00
Dzmitry Malyshau
a8df6a2b34 [msl] make sizes buffer local to each function 2021-05-13 22:02:37 -04:00
Dzmitry Malyshau
0250ffe2fb [msl] early out if the binding sizes are missing 2021-05-13 00:42:15 -04:00
Igor Shaposhnik
6a42e4a0f8 [wgsl-out] Enable snapshot testing for spv-in quad shader 2021-05-12 15:15:50 -04:00
Dzmitry Malyshau
ba422f10f8 [msl] fix splat namespace 2021-05-08 22:07:13 -04:00
Dzmitry Malyshau
350ceb383d WGSL support for f64, snapshot test for it 2021-05-08 21:20:23 -04:00
Dzmitry Malyshau
59d1dcab5b Support width changes in As expression 2021-05-08 21:20:23 -04:00
Dzmitry Malyshau
c25c06409c [spv-in] fix casting length expectations 2021-05-08 21:20:23 -04:00
Gordon-F
53fe7a329f [glsl-out] Handle uninitialized global variables 2021-05-08 21:09:11 -04:00
Dzmitry Malyshau
851f504e41 [spv-in] patch the SPIR-Vs wacky CFG cases by hand 2021-05-08 21:06:29 -04:00
Dzmitry Malyshau
1aa57b3f92 Support multiple output targets in the converter 2021-05-08 10:55:16 -04:00
Dzmitry Malyshau
e173a514a0 [spv-in] respect per-member access decorations 2021-05-08 10:20:15 -04:00
Gordon-F
73b20ffa70 Add CullDistance BuiltIn 2021-05-08 09:51:14 -04:00
Dzmitry Malyshau
bbb1b6b366 [msl] move Compose into a helper method 2021-05-07 01:21:55 -04:00
Dzmitry Malyshau
10c4c906da [msl] move ArrayLength logic out 2021-05-07 01:21:55 -04:00
Dzmitry Malyshau
01f4922806 Validation parameter for the converter 2021-05-07 00:42:49 -04:00
Dzmitry Malyshau
f18a97785f Expect *.txt instead of - for the debug output of the converter 2021-05-06 23:09:13 -04:00
Dzmitry Malyshau
09032695b0 Barrier follow-up fixes 2021-05-06 14:48:55 -04:00
Dzmitry Malyshau
a37c37b8f5 Integrate codecov on CI 2021-05-06 12:39:43 -04:00
Dzmitry Malyshau
84eac75f71 Fix new clippy errors 2021-05-06 12:38:34 -04:00
Matúš Talčík
0960d1162f [spv-in] multiple improvements
- added constructs
- added loop detection
- some logic from Tint borrowed for selection constructs
2021-05-06 10:49:09 -04:00
Dzmitry Malyshau
3ffbd50feb Minor tweaks to README 2021-05-06 01:02:36 -04:00
Dzmitry Malyshau
63afb9a215 Add Capabilities bitset for validation 2021-05-05 21:39:41 -04:00
Gordon-F
3a0f014411 [glsl-out] Add clip distance feature 2021-05-05 15:16:42 -04:00
Dzmitry Malyshau
990fd2d3a3 Allow matrix indexing behind a pointer 2021-05-05 09:34:12 -04:00
Dzmitry Malyshau
be00a05fa5 [spv-in] default output builtins 2021-05-04 22:54:33 -04:00
Dzmitry Malyshau
9fe75ed7f1 Barriers 2021-05-04 22:16:24 -04:00