Optimize SkColorSpaceXformCanvas for GPU-acceleration

This change ensures that SkImages are uploaded to the GPU before
applying the xform when the destination canvas is on the GPU. This
makes it possible to get hits in the texture cache and it ensures
that transforms get computed on the GPU.

This fixes a severe performance regression in Chrome that happened
when color correction was enabled.

Associated chromium patch for layout test rebaselines:
https://chromium-review.googlesource.com/c/chromium/src/+/655483

Merge dependency: Merging this change to the M-62 and M-61
branches also requires merging the following change, otherwise
there will be rendering errors:
https://skia-review.googlesource.com/c/skia/+/43562

BUG=chromium:760738

No-Tree-Checks: true
No-Try: true
No-Presubmit: true
Reviewed-On: https://skia-review.googlesource.com/43183
Commit-Queue: Justin Novosad <junov@chromium.org>
Reviewed-By: Brian Osman <brianosman@google.com>
Change-Id: I2046cefb32d644f9a73fd3f1231b87505d0f6ee3
Reviewed-on: https://skia-review.googlesource.com/43742
Reviewed-by: Justin Novosad <junov@chromium.org>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
1 file changed