Separate src coordinates from domain rect in texture op.
Separate src coordinates from domain rect in texture op.

Previously, the metadata for an op entry stored the src rect and a bool.
When true, the src rect represented both the source texture coordinates
and the domain rectangle. In addition, if the real source coordinates
were actually a quadrilateral, they were stored as an optional local quad
in the buffer.

This changes it so that the metadata rect represents only the domain and
the source texture coordinates are always stored in the quad buffer.
This is slightly more storage overhead for the simple case but did not
lead to performance issues locally. It also lets us (in a later CL), fix
a bug where the src rect gets clipped in GrRTC and that clipped rect is
used as both the domain and src (when it should be used just as the src
and the original, unclipped rect is the domain).

Change-Id: Id1bcdf7c3045c330a51973a006411a9169777a91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223922
Commit-Queue: Michael Ludwig <cb1f3dd24de0f0b611b26bc28bec758a551d9b7d@google.com>
Reviewed-by: Brian Salomon <61fabaaf0876044aeedfd8e351e485c028d69e7b@google.com>

aosp-mirror/platform_external_skia,HalCanary/skia-hc,google/skia,google/skia,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,HalCanary/skia-hc,HalCanary/skia-hc,aosp-mirror/platform_external_skia,HalCanary/skia-hc,aosp-mirror/platform_external_skia,google/skia,google/skia,google/skia,google/skia,aosp-mirror/platform_external_skia,google/skia,HalCanary/skia-hc,google/skia,aosp-mirror/platform_external_skia,google/skia,HalCanary/skia-hc,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,HalCanary/skia-hc,HalCanary/skia-hc,aosp-mirror/platform_external_skia,HalCanary/skia-hc,google/skia,HalCanary/skia-hc