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,