Commit Graph

625 Commits

Author SHA1 Message Date
Dzmitry Malyshau
bf193bb535 [msl] don't put expressions in double scopes 2021-03-26 09:56:29 -04:00
Dzmitry Malyshau
2b163dc2a1 [msl] fix pointer address spaces, private forwarding and initialization 2021-03-26 09:56:29 -04:00
Dzmitry Malyshau
372b2d314e Adjust lints for Rust clippy 1.51 2021-03-25 12:34:25 -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
26f629ccb4 [spv-in] fix image operand iteration, add support for constant offsets 2021-03-25 09:21:58 -04:00
Dzmitry Malyshau
c8bac4b618 [spv-in] convert the shift to unsigned 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
a0b5717fed Validate image stores 2021-03-24 12:32:32 -04:00
Dzmitry Malyshau
69a0fbd00e Validate image sampling and value casting 2021-03-24 12:32:32 -04:00
Dzmitry Malyshau
8c73c0c5df Validate derivatives and image loads 2021-03-24 12:32:32 -04:00
Dzmitry Malyshau
7a246f6a14 Validate image queries and valid shader stages for derivatives 2021-03-24 12:32:32 -04:00
Gordon-F
ee43776c08 [glsl-out] Add samplers to reflection info 2021-03-23 22:14:22 -04:00
Dzmitry Malyshau
374f12b6ab ID generator for SPIR-V 2021-03-23 10:11:50 -04:00
Dzmitry Malyshau
8712020115 Move Layouter into ModuleInfo 2021-03-23 10:11:50 -04:00
Dzmitry Malyshau
15a1941d6a [msl-out] adjust error/stack size expectations 2021-03-22 15:17:00 -04:00
Dzmitry Malyshau
6086f13bf0 Move the growable typifier into frontend helpers 2021-03-22 15:17:00 -04:00
Dzmitry Malyshau
d4bc463d50 Stop using the old Typifier in the backends 2021-03-22 15:17:00 -04:00
Dzmitry Malyshau
970b77abaf Make type a part of ExpressionInfo 2021-03-22 15:17:00 -04:00
Dzmitry Malyshau
1d3f2bbdb1 Merge FunctionAnalysisError into FunctionError 2021-03-22 15:17:00 -04:00
Dzmitry Malyshau
1b3e7294fd Move type validation into a sub-module 2021-03-21 22:27:32 -04:00
Dzmitry Malyshau
1ddea0fdbb Validate layouts 2021-03-21 22:27:32 -04:00
Dzmitry Malyshau
e3ae5904ba Move AnalysisFlags into ValidationFlags, add bits for expressions and blocks 2021-03-20 22:25:49 -04:00
Dzmitry Malyshau
efcfa37634 Implement Index for Layouter 2021-03-20 22:25:49 -04:00
Dzmitry Malyshau
c992e638fe Move all the validation into a separate meta-module 2021-03-20 22:25:49 -04:00
Dzmitry Malyshau
caee860b70 Make uniformity analysis optional 2021-03-20 22:25:49 -04:00
Dzmitry Malyshau
d5fbb193c3 Validate Select and Relational expressions 2021-03-19 10:39:54 -04:00
Dzmitry Malyshau
c2f70aaf80 Validate binary expressions 2021-03-19 10:39:54 -04:00
Dzmitry Malyshau
daab319dc0 Validate Expression::Compose 2021-03-19 10:39:54 -04:00
Dzmitry Malyshau
d58f9bdfde Merge sample mask in/out builtins 2021-03-18 21:57:48 -04:00
Dzmitry Malyshau
67ca0e7e7f First bits of expression validation 2021-03-18 11:43:00 -04:00
Dzmitry Malyshau
72ede02888 Reduce the typifier error sizes 2021-03-18 10:26:26 -04:00
Dzmitry Malyshau
8c4598a141 [msl-out] test put_expession stack footprint in debug
Also change io::Error to fmt::Error
2021-03-18 10:26:26 -04:00
Dzmitry Malyshau
6e71366bd3 Test typifier error sizes 2021-03-18 10:26:26 -04:00
Dzmitry Malyshau
dd2cd92331 [msl-out] fix varying input structures 2021-03-17 16:59:23 -04:00
Dzmitry Malyshau
f18728ed92 Enable more SPIR-V capabilities in the frontend 2021-03-17 16:33:21 -04:00
Dzmitry Malyshau
9390aa472d [glsl-out] make varying names to match 2021-03-17 10:37:10 -04:00
Gordon-F
6736bcefa6 [glsl-out] Explicitly set location bindings 2021-03-17 09:40:06 -04:00
Dzmitry Malyshau
a17ae022c6 Make analysis errors carry the function handle 2021-03-17 01:03:00 -04:00
Dzmitry Malyshau
665ac49a01 Show expression uniformity in the Dot backend 2021-03-17 01:03:00 -04:00
Dzmitry Malyshau
e3818bb236 [spv-in] fix treating OpPhi variables as pointers 2021-03-17 01:03:00 -04:00
Dzmitry Malyshau
e715bda507 [msl-out] implement composing arrays and structs 2021-03-17 01:03:00 -04:00
Dzmitry Malyshau
9846a85174 [spv-in] patch calls from the entry points 2021-03-16 22:08:06 -04:00
Dzmitry Malyshau
c5fe1d53c7 [dot] function calls 2021-03-16 22:08:06 -04:00
Dzmitry Malyshau
259a56761f Consider dynamic arrays to have at least 1 element for the layout 2021-03-16 22:08:06 -04:00
Dzmitry Malyshau
2b888e4c09 Detect the forward function calls 2021-03-16 22:08:06 -04:00
Dzmitry Malyshau
196523de78 Add v0.4 changelog 2021-03-15 22:34:56 -04:00
Dzmitry Malyshau
7de42d6f68 Don't panic too fast on failed analysis 2021-03-15 22:34:56 -04:00
Dzmitry Malyshau
08eaad89db Implement default layout in the IR and WGSL 2021-03-15 22:27:35 -04:00