GrSurfaceContext::read/writePixels takes GrPixmap

Change readPixels contract to allow unknown->unknown AT reads, but
fail if one side is unknown and the other isn't (and update GPU read
pixels test accordingly).

Also, ProxyUtils::MakeTextureProxyViewFromData takes GrPixmap.

Bug: skia:8862
Change-Id: I771c154833408e666f860413c1a711714696326d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347196
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/tests/BackendAllocationTest.cpp b/tests/BackendAllocationTest.cpp
index 98cd4d2..fbb78ea 100644
--- a/tests/BackendAllocationTest.cpp
+++ b/tests/BackendAllocationTest.cpp
@@ -275,8 +275,7 @@
             ERRORF(reporter, "Could not create surface context for colorType: %d\n", colorType);
         }
 
-        if (!surfaceContext->readPixels(dContext, actual.info(), actual.writable_addr(),
-                                        actual.rowBytes(), {0, 0})) {
+        if (!surfaceContext->readPixels(dContext, actual, {0, 0})) {
             // TODO: we need a better way to tell a priori if readPixels will work for an
             // arbitrary colorType
 #if 0
@@ -416,11 +415,7 @@
         SkAssertResult(actual.tryAlloc(readbackII));
         actual.erase(SkColors::kTransparent);
 
-        bool result = dstFillContext->readPixels(dContext,
-                                                 actual.info(),
-                                                 actual.writable_addr(),
-                                                 actual.rowBytes(),
-                                                 {0, 0});
+        bool result = dstFillContext->readPixels(dContext, actual, {0, 0});
         REPORTER_ASSERT(reporter, result);
 
         SkString str;