We know at decode time whether an image will be used with a filter [1]. Any effect derived from SkImageFilter will cause Skia to flatten a YUV image to RGB, so we want to add plumbing to
- Do the initial decode into RGB if a cache entry doesn't already exist for a YUV iamge
- Flatten and cache the image data ourselves (via getBackendTexture) if it's already been decoded
These filters are rather rare, so this is a later TODO instead of an essential part of the initial feature.
[1]: https://cs.chromium.org/chromium/src/cc/paint/scoped_raster_flags.cc?sq=package:chromium&g=0&l=43