Commit Graph

558 Commits

Author SHA1 Message Date
Dzmitry Malyshau
d433ee81e6 Relax array and block structure validation 2021-03-09 09:55:17 -05:00
Dzmitry Malyshau
13d7a353e0 Switch entry points from map to a vec 2021-03-07 12:11:49 -05:00
Dzmitry Malyshau
6afd72b8dd Relax interpolation validation for vertex outputs 2021-03-06 23:41:53 -05:00
Dzmitry Malyshau
e92b35725c [spv-in] work around integer built-ins for compute 2021-03-06 23:11:14 -05:00
Dzmitry Malyshau
2045a4a7be Use BOOL_WIDTH everywhere 2021-03-06 11:01:14 -05:00
Dzmitry Malyshau
dd823a4b84 Enforce pointer semantics at the type level. 2021-03-06 11:01:14 -05:00
Igor Shaposhnik
7bc7288828 [glsl-out] Properly write structure type in statement 2021-03-05 23:10:16 -05:00
Igor Shaposhnik
d1c47d1705 [glsl-out] Set precision for image type 2021-03-05 23:10:16 -05:00
Igor Shaposhnik
50e5904add [glsl-out] Fix statement indentation 2021-03-04 10:03:39 -05:00
Dzmitry Malyshau
52b34eb51b Fix warning in the convert example 2021-03-04 10:03:22 -05:00
Dzmitry Malyshau
fd34e0abb5 Install graphviz on CI 2021-03-04 10:03:22 -05:00
Joshua Groves
667f01ce17 [wgsl-in] Add descriptions for more errors 2021-03-04 00:10:58 -05:00
Dzmitry Malyshau
3fcc0759ed GraphViz backend 2021-03-03 21:20:12 -05:00
Joshua Groves
764bec5322 [wgsl-in] Expose location of parser errors 2021-03-03 10:26:47 -05:00
Dzmitry Malyshau
2c67d1873f Remove the Interface processor 2021-03-02 21:50:06 -05:00
Dzmitry Malyshau
89e37d6e90 Explicitly emit expressions by Statement::Emit 2021-03-02 21:50:06 -05:00
Igor Shaposhnik
230ec601ed [glsl-out] Fix array writing 2021-03-02 21:48:23 -05:00
Igor Shaposhnik
6e37f336bd [glsl-out] Set workgroup_size for compute shaders 2021-03-02 14:26:01 -05:00
Igor Shaposhnik
04b1f44396 [glsl-out] Fix atan2 math function 2021-03-01 10:42:09 -05:00
Dzmitry Malyshau
69bf7f5f17 Miscellaneous fixes 2021-03-01 09:35:29 -05:00
Dzmitry Malyshau
96527290f3 [wgsl-in] encapsulate logic into parse_statement_restricted 2021-03-01 09:35:29 -05:00
Matúš Talčík
34c549d49d spv-in flow: fix loop 2021-03-01 09:27:44 -05:00
Joshua Groves
bb7105387d [wgsl-in] Use codespan to report errors 2021-02-28 00:07:37 -05:00
Matúš Talčík
53f7f9de92 spv-in: fix if branches in CFG
format
2021-02-26 09:18:10 -05:00
Dzmitry Malyshau
7c2f4eac2e [spv] fix unsigned selector and bitcast 2021-02-26 09:17:32 -05:00
Dzmitry Malyshau
afbcf05006 Move the convert from an example to a binary target 2021-02-25 10:05:21 -05:00
Dzmitry Malyshau
cb45cd9011 [spv-in] dump the flow graph before it's serialized 2021-02-25 10:05:21 -05:00
Dzmitry Malyshau
1dc955551b
[spv-out] use image_fetch where appropriate (#522) 2021-02-25 09:57:35 -05:00
Anthony Cowley
822be23f35
Validate signed integer array size constants (#517)
Until we have some amount of type inference, an integer literal used as a constant array size must have a `u` suffix. This is inconsistent with the surface syntax presented in the spec, and is a minor inconvenience.

For now, allow a signed integer array size to pass validation so that user code need not change when type inference deduces values of the correct type.
2021-02-24 12:47:02 -05:00
Pelle Johnsen
51cbd4c112
[glsl-in] Add initial support for glslpp-rs (#513)
* [glsl-in] Add initial support for glslpp-rs

* [glsl-in] Add remaining Punct mappings

Fix some tests.

* [glsl-in] Add basic error handling for glslpp-rs

* [glsl-in] Fix clippy issues

* [glsl.in] Add pp-rs floats

* [glsl-in] Remove old lex and preprocessor

* [glsl-in] Improve lexer token code

* [glsl-in] Rename lex_pp > lex

Also LexerPP > Lexer

* [glsl-in] glslpp-rs review feedback

* [glsl-in] Use rev for pp-rs dep

* [glsl-in] Parse on lexer err
2021-02-24 12:07:09 -05:00
Dzmitry Malyshau
df14c4b7ca [spv-in] fix OpString and OpLine parsing 2021-02-24 09:10:26 -05:00
Joshua Groves
9c47a5fe17 [wgsl] Track token span for unexpected errors 2021-02-23 21:08:46 -05:00
Dzmitry Malyshau
0cefc1c46c Remove mutation from the Call expression 2021-02-22 23:37:26 -05:00
Dzmitry Malyshau
d3062a2f3b Statement validation 2021-02-22 15:36:25 -05:00
Dzmitry Malyshau
c0d5a6bde4 Rewrite the type validation 2021-02-22 10:12:09 -05:00
Dzmitry Malyshau
694a00afcb [spv-out] optimize if/else branching 2021-02-22 10:11:36 -05:00
Joshua Groves
ce84b1d1c0 [wgsl] Add parser error snapshot 2021-02-22 01:17:15 -05:00
Matúš Talčík
fa7d4d8b51 spv-in: fix if condition when merge node == false node
format
2021-02-20 10:41:54 -05:00
Dzmitry Malyshau
2a5c478b21 Fix type resolves of matrix by vectors 2021-02-20 00:02:28 -05:00
Dzmitry Malyshau
f03a99d6a3 Implement Debug for arena and handle 2021-02-19 23:20:11 -05:00
Dzmitry Malyshau
26e6c2bdac Use source attribute of errors 2021-02-19 22:10:25 -05:00
Dzmitry Malyshau
99c1add358 [msl] fake bindings 2021-02-19 19:20:21 -05:00
Dzmitry Malyshau
0e3f745fb2 [msl] derive thiserror 2021-02-19 16:56:45 -05:00
Dzmitry Malyshau
db0a8875d9 TypifyError with the expression handle 2021-02-19 16:56:45 -05:00
João Capucho
19e7f456c4 Remove the call graph processor
Uses the GlobalUse in glsl-out to check for function availability
2021-02-18 11:43:18 -05:00
Systemcluster
9f113bdd95 [wgsl] limit allowed for statement initializer statements 2021-02-18 10:55:16 -05:00
Systemcluster
e49910bb0a [wgsl] allow empty for statement headers 2021-02-18 10:55:16 -05:00
Dzmitry Malyshau
5f21cf360f Refactor snapshot testing to include some IR 2021-02-18 10:19:25 -05:00
Dzmitry Malyshau
4c5a1ba054 Global usage tests in the analyzer 2021-02-17 16:22:19 -05:00
Dzmitry Malyshau
8a0382a89d Move global use flags into FunctionInfo 2021-02-17 15:37:37 -05:00