Fix SPIR-V issue with multiple interface blocks and u_skRTFlip.

The SPIR-V code generator would attempt to synthesize u_skRTFlip in
every interface block that it found, under the (normally reasonable)
assumption that we would only have one interface block. We now only
attempt to synthesize u_skRTFlip one time.

Previously, this error was just reported as "symbol 'u_skRTFlip'
declared more than once" but due to http://review.skia.org/793576
we no longer have a ThreadContext set up while the SPIR-V code
generator executes. The ThreadContext is used to report this error
because `SymbolTable::add` has historically never taken a Context
reference. In a followup I will remove the reliance on
ThreadContext here. (This is, in fact, one of the last few places
where ThreadContext is used at all.)

Bug: oss-fuzz:65538
Change-Id: I5b81c00764da8cca0d4edad6da1aa85c953753e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/796736
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
5 files changed