Restore cpu execution of async* GMs

Change-Id: Ia0de701ab0aaae4ee6d7631f6df95bf3296f9bdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327177
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/gm/asyncrescaleandread.cpp b/gm/asyncrescaleandread.cpp
index f880adc..d6f151b 100644
--- a/gm/asyncrescaleandread.cpp
+++ b/gm/asyncrescaleandread.cpp
@@ -192,8 +192,9 @@
         *errorMsg = "Not supported on recording/vector backends.";
         return skiagm::DrawResult::kSkip;
     }
+
     auto dContext = GrAsDirectContext(canvas->recordingContext());
-    if (!dContext) {
+    if (!dContext && canvas->recordingContext()) {
         *errorMsg = "Not supported in DDL mode";
         return skiagm::DrawResult::kSkip;
     }
@@ -292,7 +293,7 @@
     }
 
     auto dContext = GrAsDirectContext(surface->recordingContext());
-    if (!dContext) {
+    if (!dContext && surface->recordingContext()) {
         *errorMsg = "Not supported in DDL mode";
         return skiagm::DrawResult::kSkip;
     }
@@ -322,7 +323,7 @@
     }
 
     auto dContext = GrAsDirectContext(canvas->recordingContext());
-    if (!dContext) {
+    if (!dContext && canvas->recordingContext()) {
         *errorMsg = "Not supported in DDL mode";
         return skiagm::DrawResult::kSkip;
     }