* [glsl-in] Add initial pre-processor
* [glsl-in] Tweak preprocessor after review
- Add IfState struct
- Use FastHashMap to pre-defines
- Use ok-or() for some errors
* [glsl-in] Remove Option in defines arg
* [clippy] disable match_like_matches_macro for now
* [wgsl-in] Return error instead of panic
* [typifier] Convert panics to return error
Still one panic in clone impl for Resolution,
disabled clippy for that one
* [spv-in] REturn error instead of panic'ing
* [spv-out] Return error instead of panic'ing
* [typifier] Use IncompatibleOperand(s) error
Instead of just Other
* [typifier] Use Expression for op in Error
For IncompatibleOperands
* [typifier] revert last commit
* [glsl-in] Implement swizzle for r-values
Related to #210
* [glsl-in] Just return Result from field_selection
Removed unneccessary Otion in return type
* [glsl-in] Always match on type in field_selection
* [glsl.in] Borrow by value in field_selection
There's no legend explaining what symbols mean for supported end-points, but it seems to be following the same format at wgpu. This PR copies wgpu's legend.
* [glsl-in] consolidate tests
- remove simple lex test as was covered by others
- combine related tests to single function
- remove redundant prefix in test names
* [glsl-in] Consolidtae lex tests further
* Added support for glsl core version up to 400
* Added 330 to the list supported versions
* Added links to all extensions and fixed a extension being wrongfully activated
* Cleanup and check for image formats
* Removed useless extension and location on layout
* Added support for external functions and fixed global names
* Typefier allow Scalars in distance and length
* Addressed comments
* Fixed extension appearing after body
* Fixed entry point not being generated