João Capucho
d310cff591
[glsl-in] Fix parsing of function calls
2021-05-19 16:24:26 -04:00
João Capucho
4e40a75843
[glsl-in] block declarations
2021-05-19 16:24:26 -04:00
João Capucho
14f2caf6b0
[glsl-in] for loops
2021-05-19 16:24:26 -04:00
João Capucho
7165a06fbf
[glsl-in] Add glsl-validate and sampling qualifier
2021-05-19 16:24:26 -04:00
João Capucho
565c27292a
[glsl-in] Cleanup parse_declaration
2021-05-19 16:24:26 -04:00
João Capucho
fec67ced8e
[glsl-in] Add support for declaration statements
2021-05-19 16:24:26 -04:00
Imbris
168a55396c
[glsl-in] Add full init_declarator_list support
...
Co-authored-by: João Capucho <jcapucho7@gmail.com >
2021-05-19 16:24:26 -04:00
João Capucho
62d3956096
[glsl-in] function prototypes and overloading
2021-05-19 16:24:26 -04:00
João Capucho
cfe4105237
[glsl-in] Add support for while/do statements
2021-05-19 16:24:26 -04:00
João Capucho
73f928a7c3
[glsl-in] Add support for switch statements
2021-05-19 16:24:26 -04:00
João Capucho
39ccec5e7d
[glsl-in] Update pp-rs for location info
2021-05-19 16:24:26 -04:00
João Capucho
0d98ef4ea9
[glsl-in] Add if parsing
2021-05-19 16:24:26 -04:00
João Capucho
afaf44a75f
[glsl-in] Add function call support
2021-05-19 16:24:26 -04:00
João Capucho
8519095f55
[glsl-in] Handle global declarations
...
parse constant expressions fully
2021-05-19 16:24:26 -04:00
João Capucho
f8c8d192ae
[glsl-in] WIP expression parsing
2021-05-19 16:24:26 -04:00
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