Handle vertical flipping on display

Skia typically handles the flipping of the display by the appropriate
choice of SkSurface origin: kTopLeft_GrSurfaceOrigin or
kBottomLeft_GrSurfaceOrigin.

GLRendererCopier does not use Skia and needs to know if the SkSurface
that it is reading from is
flipped. SkiaOutputSurfaceImplTest.SubmitPaint reads from the root
render pass. If using GL, we tell GLRendererCopier to flip based on
the properties of the root. If using Vulkan, we don't change
co-ordinates because Skia handles it on the current software
readback pathway.

I also made the SurfaceCharacterization consistent with the actual
surface, but I don't believe this is necessary.

Bug: 929790
Change-Id: Ie5b515e986b1d84ab77b1d600d219501df9860ed
Reviewed-on: https://chromium-review.googlesource.com/c/1464924
Commit-Queue: Jonathan Backer <backer@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632465}
3 files changed