Commit Graph

634 Commits

Author SHA1 Message Date
Dzmitry Malyshau
f06583ca7d [spv-in] change const indexes to signed int 2021-03-29 11:07:33 -04:00
Dzmitry Malyshau
ca6876b7a0 Validate math functions 2021-03-29 11:06:41 -04:00
Dzmitry Malyshau
50059740f7 [msl] prefix lod options with metal namespace 2021-03-27 10:58:01 -04:00
Dzmitry Malyshau
f2155d49d1 [msl] fix initialization of arrayed members, enable METAL snapshot of quad-vert 2021-03-27 10:58:01 -04:00
Dzmitry Malyshau
e47ff2dc26 [spv-in] support output interface block 2021-03-27 10:52:00 -04:00
Dzmitry Malyshau
c55bdf57bf [wgsl] don't clone statements 2021-03-27 00:31:21 -04:00
Dzmitry Malyshau
ba055bfbad Fix validation of constant offset expression 2021-03-27 00:29:48 -04:00
Dzmitry Malyshau
00f4c07609 [msl] fix Select on vectors 2021-03-26 09:56:29 -04:00
Dzmitry Malyshau
a090afa3f5 [msl] write scalar constants before the types 2021-03-26 09:56:29 -04:00
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