Prevent ShaderCaps from being used at all when compiling modules.
Previously, ShaderCaps were always accessible, but we had a
complementary ProgramSetting which in practice meant "please ignore
the ShaderCaps."
Now, we explicitly set ShaderCaps in the Context to null when we want
it to be inaccessible, making it much harder to accidentally rely on
them unintentionally.
(Inspired by "what if we got rid of ReplaceSettings?" which was the
right idea, just needed some finesse to make it work.)
Change-Id: I5a931984ef8e9863dee8c709749cb289d773de6f
Bug: skia:13671
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/572604
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
12 files changed