Use SkSpan to cut out some noise when flushing surfaces

Once I noticed this, I had to go for it.

Change-Id: Ibd720e8b731298ab716eab8409c6fe05417c12b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332721
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/GrDirectContextPriv.cpp b/src/gpu/GrDirectContextPriv.cpp
index c991d7d..10b59c8 100644
--- a/src/gpu/GrDirectContextPriv.cpp
+++ b/src/gpu/GrDirectContextPriv.cpp
@@ -39,23 +39,24 @@
     fContext->addOnFlushCallbackObject(onFlushCBObject);
 }
 
-GrSemaphoresSubmitted GrDirectContextPriv::flushSurfaces(GrSurfaceProxy* proxies[], int numProxies,
+GrSemaphoresSubmitted GrDirectContextPriv::flushSurfaces(SkSpan<GrSurfaceProxy*> proxies,
                                                          const GrFlushInfo& info) {
     ASSERT_SINGLE_OWNER
     RETURN_VALUE_IF_ABANDONED(GrSemaphoresSubmitted::kNo)
     GR_CREATE_TRACE_MARKER_CONTEXT("GrDirectContextPriv", "flushSurfaces", fContext);
-    SkASSERT(numProxies >= 0);
-    SkASSERT(!numProxies || proxies);
-    for (int i = 0; i < numProxies; ++i) {
-        SkASSERT(proxies[i]);
-        ASSERT_OWNED_PROXY(proxies[i]);
+#ifdef SK_DEBUG
+    for (GrSurfaceProxy* proxy : proxies) {
+        SkASSERT(proxy);
+        ASSERT_OWNED_PROXY(proxy);
     }
+#endif
     return fContext->drawingManager()->flushSurfaces(
-            proxies, numProxies, SkSurface::BackendSurfaceAccess::kNoAccess, info, nullptr);
+            proxies, SkSurface::BackendSurfaceAccess::kNoAccess, info, nullptr);
 }
 
 void GrDirectContextPriv::flushSurface(GrSurfaceProxy* proxy) {
-    this->flushSurfaces(proxy ? &proxy : nullptr, proxy ? 1 : 0, {});
+    size_t size = proxy ? 1 : 0;
+    this->flushSurfaces({&proxy, size}, {});
 }
 
 void GrDirectContextPriv::copyRenderTasksFromDDL(sk_sp<const SkDeferredDisplayList> ddl,