Remove GrSurfaceContext::flush calls ...

... replacing them w/ calls to GrDirectContextPriv::flushSurface.

Since recording contexts can also possess surface- and renderTarget-
Contexts it is misleading for them to have a flush method.

Change-Id: I10f4fad12d4d5efdd999ba212fda9ce5cdd83130
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334068
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/GrDirectContextPriv.cpp b/src/gpu/GrDirectContextPriv.cpp
index 10b59c8..1459461 100644
--- a/src/gpu/GrDirectContextPriv.cpp
+++ b/src/gpu/GrDirectContextPriv.cpp
@@ -39,24 +39,31 @@
     fContext->addOnFlushCallbackObject(onFlushCBObject);
 }
 
-GrSemaphoresSubmitted GrDirectContextPriv::flushSurfaces(SkSpan<GrSurfaceProxy*> proxies,
-                                                         const GrFlushInfo& info) {
+GrSemaphoresSubmitted GrDirectContextPriv::flushSurfaces(
+                                                    SkSpan<GrSurfaceProxy*> proxies,
+                                                    SkSurface::BackendSurfaceAccess access,
+                                                    const GrFlushInfo& info,
+                                                    const GrBackendSurfaceMutableState* newState) {
     ASSERT_SINGLE_OWNER
-    RETURN_VALUE_IF_ABANDONED(GrSemaphoresSubmitted::kNo)
     GR_CREATE_TRACE_MARKER_CONTEXT("GrDirectContextPriv", "flushSurfaces", fContext);
+
+    if (fContext->abandoned()) {
+        if (info.fSubmittedProc) {
+            info.fSubmittedProc(info.fSubmittedContext, false);
+        }
+        if (info.fFinishedProc) {
+            info.fFinishedProc(info.fFinishedContext);
+        }
+        return GrSemaphoresSubmitted::kNo;
+    }
+
 #ifdef SK_DEBUG
     for (GrSurfaceProxy* proxy : proxies) {
         SkASSERT(proxy);
         ASSERT_OWNED_PROXY(proxy);
     }
 #endif
-    return fContext->drawingManager()->flushSurfaces(
-            proxies, SkSurface::BackendSurfaceAccess::kNoAccess, info, nullptr);
-}
-
-void GrDirectContextPriv::flushSurface(GrSurfaceProxy* proxy) {
-    size_t size = proxy ? 1 : 0;
-    this->flushSurfaces({&proxy, size}, {});
+    return fContext->drawingManager()->flushSurfaces(proxies, access, info, newState);
 }
 
 void GrDirectContextPriv::copyRenderTasksFromDDL(sk_sp<const SkDeferredDisplayList> ddl,