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;
