Fix ambiguous evaluation order in WGSL codegen.

If we call `assembleExpression` more than once in a statement,
the evaluation order of those calls isn't guaranteed by the C++
standard. In fact, MSVC and Clang don't tend to agree here.
We want the WGSL code generator to behave deterministically, so
we now split up repeated calls to `assembleExpression` into
multiple statements.

Change-Id: I34c12e3cc46e70674c5becac3b6a75f697da26d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/740596
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
1 file changed