Expose GrContext::dump() when SK_ENABLE_DUMP_GPU is defined.

Change-Id: I499228454bc387de2c988b8f607320b7e5ea57b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233557
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp
index 0d24f41..8656107 100644
--- a/src/gpu/GrContext.cpp
+++ b/src/gpu/GrContext.cpp
@@ -497,3 +497,31 @@
     fGpu->deleteBackendTexture(backendTex);
 }
 
+#ifdef SK_ENABLE_DUMP_GPU
+#include "src/utils/SkJSONWriter.h"
+SkString GrContext::dump() const {
+    SkDynamicMemoryWStream stream;
+    SkJSONWriter writer(&stream, SkJSONWriter::Mode::kPretty);
+    writer.beginObject();
+
+    writer.appendString("backend", GrBackendApiToStr(this->backend()));
+
+    writer.appendName("caps");
+    this->caps()->dumpJSON(&writer);
+
+    writer.appendName("gpu");
+    this->fGpu->dumpJSON(&writer);
+
+    // Flush JSON to the memory stream
+    writer.endObject();
+    writer.flush();
+
+    // Null terminate the JSON data in the memory stream
+    stream.write8(0);
+
+    // Allocate a string big enough to hold all the data, then copy out of the stream
+    SkString result(stream.bytesWritten());
+    stream.copyToAndReset(result.writable_str());
+    return result;
+}
+#endif
diff --git a/src/gpu/GrContextPriv.cpp b/src/gpu/GrContextPriv.cpp
index 4778c98..78a41d2 100644
--- a/src/gpu/GrContextPriv.cpp
+++ b/src/gpu/GrContextPriv.cpp
@@ -223,35 +223,6 @@
 }
 
 //////////////////////////////////////////////////////////////////////////////
-#ifdef SK_ENABLE_DUMP_GPU
-#include "src/gpu/GrTestUtils.h"
-#include "src/utils/SkJSONWriter.h"
-SkString GrContextPriv::dump() const {
-    SkDynamicMemoryWStream stream;
-    SkJSONWriter writer(&stream, SkJSONWriter::Mode::kPretty);
-    writer.beginObject();
-
-    writer.appendString("backend", GrBackendApiToStr(fContext->backend()));
-
-    writer.appendName("caps");
-    fContext->caps()->dumpJSON(&writer);
-
-    writer.appendName("gpu");
-    fContext->fGpu->dumpJSON(&writer);
-
-    // Flush JSON to the memory stream
-    writer.endObject();
-    writer.flush();
-
-    // Null terminate the JSON data in the memory stream
-    stream.write8(0);
-
-    // Allocate a string big enough to hold all the data, then copy out of the stream
-    SkString result(stream.bytesWritten());
-    stream.copyToAndReset(result.writable_str());
-    return result;
-}
-#endif
 
 #if GR_TEST_UTILS
 void GrContextPriv::resetGpuStats() const {
diff --git a/src/gpu/GrContextPriv.h b/src/gpu/GrContextPriv.h
index 112edac..10f18de 100644
--- a/src/gpu/GrContextPriv.h
+++ b/src/gpu/GrContextPriv.h
@@ -227,11 +227,6 @@
         return fContext->fShaderErrorHandler;
     }
 
-#ifdef SK_ENABLE_DUMP_GPU
-    /** Returns a string with detailed information about the context & GPU, in JSON format. */
-    SkString dump() const;
-#endif
-
 #if GR_TEST_UTILS
     /** Reset GPU stats */
     void resetGpuStats() const ;
diff --git a/src/gpu/GrTestUtils.cpp b/src/gpu/GrTestUtils.cpp
index a3f02bf..c6e95a3 100644
--- a/src/gpu/GrTestUtils.cpp
+++ b/src/gpu/GrTestUtils.cpp
@@ -18,87 +18,6 @@
 #include "src/gpu/GrStyle.h"
 #include "src/utils/SkDashPathPriv.h"
 
-#if GR_TEST_UTILS || defined(SK_ENABLE_DUMP_GPU)
-
-const char* GrBackendApiToStr(GrBackendApi backend) {
-    static const char* kBackendStr[] = {
-        "Metal",
-        "Dawn",
-        "OpenGL",
-        "Vulkan",
-        "Mock",
-    };
-    GR_STATIC_ASSERT(0 == (unsigned)GrBackendApi::kMetal);
-    GR_STATIC_ASSERT(1 == (unsigned)GrBackendApi::kDawn);
-    GR_STATIC_ASSERT(2 == (unsigned)GrBackendApi::kOpenGL);
-    GR_STATIC_ASSERT(3 == (unsigned)GrBackendApi::kVulkan);
-    GR_STATIC_ASSERT(4 == (unsigned)GrBackendApi::kMock);
-    return kBackendStr[(unsigned) backend];
-}
-
-const char* GrPixelConfigToStr(GrPixelConfig config) {
-    switch (config) {
-        case kUnknown_GrPixelConfig:           return "Unknown";
-        case kAlpha_8_GrPixelConfig:           return "Alpha8";
-        case kAlpha_8_as_Alpha_GrPixelConfig:  return "Alpha8_asAlpha";
-        case kAlpha_8_as_Red_GrPixelConfig:    return "Alpha8_asRed";
-        case kGray_8_GrPixelConfig:            return "Gray8";
-        case kGray_8_as_Lum_GrPixelConfig:     return "Gray8_asLum";
-        case kGray_8_as_Red_GrPixelConfig:     return "Gray8_asRed";
-        case kRGB_565_GrPixelConfig:           return "RGB565";
-        case kRGBA_4444_GrPixelConfig:         return "RGBA444";
-        case kRGBA_8888_GrPixelConfig:         return "RGBA8888";
-        case kRGB_888_GrPixelConfig:           return "RGB888";
-        case kRGB_888X_GrPixelConfig:          return "RGB888X";
-        case kRG_88_GrPixelConfig:             return "RG88";
-        case kBGRA_8888_GrPixelConfig:         return "BGRA8888";
-        case kSRGBA_8888_GrPixelConfig:        return "SRGBA8888";
-        case kRGBA_1010102_GrPixelConfig:      return "RGBA1010102";
-        case kRGBA_float_GrPixelConfig:        return "RGBAFloat";
-        case kAlpha_half_GrPixelConfig:        return "AlphaHalf";
-        case kAlpha_half_as_Lum_GrPixelConfig: return "AlphaHalf_asLum";
-        case kAlpha_half_as_Red_GrPixelConfig: return "AlphaHalf_asRed";
-        case kRGBA_half_GrPixelConfig:         return "RGBAHalf";
-        case kRGBA_half_Clamped_GrPixelConfig: return "RGBAHalfClamped";
-        case kRGB_ETC1_GrPixelConfig:          return "RGBETC1";
-        case kR_16_GrPixelConfig:              return "R16";
-        case kRG_1616_GrPixelConfig:           return "RG1616";
-        case kRGBA_16161616_GrPixelConfig:     return "RGBA16161616";
-        case kRG_half_GrPixelConfig:           return "RGHalf";
-    }
-    SkUNREACHABLE;
-}
-
-const char* GrColorTypeToStr(GrColorType ct) {
-    switch (ct) {
-        case GrColorType::kUnknown:          return "kUnknown";
-        case GrColorType::kAlpha_8:          return "kAlpha_8";
-        case GrColorType::kBGR_565:          return "kRGB_565";
-        case GrColorType::kABGR_4444:        return "kARGB_4444";
-        case GrColorType::kRGBA_8888:        return "kRGBA_8888";
-        case GrColorType::kRGBA_8888_SRGB:   return "kRGBA_8888_SRGB";
-        case GrColorType::kRGB_888x:         return "kRGB_888x";
-        case GrColorType::kRG_88:            return "kRG_88";
-        case GrColorType::kBGRA_8888:        return "kBGRA_8888";
-        case GrColorType::kRGBA_1010102:     return "kRGBA_1010102";
-        case GrColorType::kGray_8:           return "kGray_8";
-        case GrColorType::kAlpha_F16:        return "kAlpha_F16";
-        case GrColorType::kRGBA_F16:         return "kRGBA_F16";
-        case GrColorType::kRGBA_F16_Clamped: return "kRGBA_F16_Clamped";
-        case GrColorType::kRGBA_F32:         return "kRGBA_F32";
-        case GrColorType::kAlpha_8xxx:       return "kAlpha_8xxx";
-        case GrColorType::kAlpha_F32xxx:     return "kAlpha_F32xxx";
-        case GrColorType::kGray_8xxx:        return "kGray_8xxx";
-        case GrColorType::kR_16:             return "kR_16";
-        case GrColorType::kRG_1616:          return "kRG_1616";
-        case GrColorType::kRGBA_16161616:    return "kRGBA_16161616";
-        case GrColorType::kRG_F16:           return "kRG_F16";
-    }
-    SkUNREACHABLE;
-}
-
-#endif
-
 #if GR_TEST_UTILS
 
 static const SkMatrix& test_matrix(SkRandom* random,
diff --git a/src/gpu/GrTestUtils.h b/src/gpu/GrTestUtils.h
index 434d007..b4da37b 100644
--- a/src/gpu/GrTestUtils.h
+++ b/src/gpu/GrTestUtils.h
@@ -10,14 +10,6 @@
 
 #include "include/core/SkTypes.h"
 
-
-#if GR_TEST_UTILS || defined(SK_ENABLE_DUMP_GPU)
-#include "include/private/GrTypesPriv.h"
-const char* GrBackendApiToStr(GrBackendApi);
-const char* GrPixelConfigToStr(GrPixelConfig);
-const char* GrColorTypeToStr(GrColorType);
-#endif
-
 #if GR_TEST_UTILS
 
 #include "include/core/SkPathEffect.h"