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"