use tool_utils to encapsulate checking for recording canvas and makeSurface

Bug: skia:
Change-Id: Ia93ee09dd213b8d6ad5c18e887add5ff3448c824
Reviewed-on: https://skia-review.googlesource.com/90243
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/gm/multipicturedraw.cpp b/gm/multipicturedraw.cpp
index b18fb8a..4dd0139 100644
--- a/gm/multipicturedraw.cpp
+++ b/gm/multipicturedraw.cpp
@@ -241,12 +241,7 @@
 static sk_sp<SkSurface> create_compat_surface(SkCanvas* canvas, int width, int height) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(width, height);
 
-    auto surface = canvas->makeSurface(info);
-    if (nullptr == surface) {
-        // picture canvas returns nullptr so fall back to raster
-        surface = SkSurface::MakeRaster(info);
-    }
-    return surface;
+    return sk_tool_utils::makeSurface(canvas, info);
 }
 
 // This class stores the information required to compose all the result