Move dumpJSON behind the SK_ENABLE_DUMP_GPU flag
This should trim the code size of a WASM CanvasKit by 10-20KB.
Bug: skia:
Change-Id: Ibf0f8596c04e891e8f7cbc2fa4f1d1852f7cb462
Reviewed-on: https://skia-review.googlesource.com/c/159261
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
diff --git a/src/gpu/GrCaps.cpp b/src/gpu/GrCaps.cpp
index f566efe..c2a5a91 100644
--- a/src/gpu/GrCaps.cpp
+++ b/src/gpu/GrCaps.cpp
@@ -12,33 +12,6 @@
#include "GrWindowRectangles.h"
#include "SkJSONWriter.h"
-static const char* pixel_config_name(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 kBGRA_8888_GrPixelConfig: return "BGRA8888";
- case kSRGBA_8888_GrPixelConfig: return "SRGBA8888";
- case kSBGRA_8888_GrPixelConfig: return "SBGRA8888";
- case kRGBA_1010102_GrPixelConfig: return "RGBA1010102";
- case kRGBA_float_GrPixelConfig: return "RGBAFloat";
- case kRG_float_GrPixelConfig: return "RGFloat";
- case kAlpha_half_GrPixelConfig: return "AlphaHalf";
- case kAlpha_half_as_Red_GrPixelConfig: return "AlphaHalf_asRed";
- case kRGBA_half_GrPixelConfig: return "RGBAHalf";
- }
- SK_ABORT("Invalid pixel config");
- return "<invalid>";
-}
-
GrCaps::GrCaps(const GrContextOptions& options) {
fMipMapSupport = false;
fNPOTTextureTileSupport = false;
@@ -132,6 +105,35 @@
fDriverBugWorkarounds.applyOverrides(options.fDriverBugWorkarounds);
}
+
+#ifdef SK_ENABLE_DUMP_GPU
+static const char* pixel_config_name(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 kBGRA_8888_GrPixelConfig: return "BGRA8888";
+ case kSRGBA_8888_GrPixelConfig: return "SRGBA8888";
+ case kSBGRA_8888_GrPixelConfig: return "SBGRA8888";
+ case kRGBA_1010102_GrPixelConfig: return "RGBA1010102";
+ case kRGBA_float_GrPixelConfig: return "RGBAFloat";
+ case kRG_float_GrPixelConfig: return "RGFloat";
+ case kAlpha_half_GrPixelConfig: return "AlphaHalf";
+ case kAlpha_half_as_Red_GrPixelConfig: return "AlphaHalf_asRed";
+ case kRGBA_half_GrPixelConfig: return "RGBAHalf";
+ }
+ SK_ABORT("Invalid pixel config");
+ return "<invalid>";
+}
+
static SkString map_flags_to_string(uint32_t flags) {
SkString str;
if (GrCaps::kNone_MapFlags == flags) {
@@ -235,6 +237,9 @@
writer->endObject();
}
+#else
+void GrCaps::dumpJSON(SkJSONWriter* writer) const { }
+#endif
bool GrCaps::validateSurfaceDesc(const GrSurfaceDesc& desc, GrMipMapped mipped) const {
if (!this->isConfigTexturable(desc.fConfig)) {
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp
index c3ce355..c0d3886 100644
--- a/src/gpu/GrContext.cpp
+++ b/src/gpu/GrContext.cpp
@@ -30,7 +30,6 @@
#include "SkDeferredDisplayList.h"
#include "SkGr.h"
#include "SkImageInfoPriv.h"
-#include "SkJSONWriter.h"
#include "SkMakeUnique.h"
#include "SkSurface_Gpu.h"
#include "SkTaskGroup.h"
@@ -1113,7 +1112,8 @@
}
//////////////////////////////////////////////////////////////////////////////
-
+#ifdef SK_ENABLE_DUMP_GPU
+#include "SkJSONWriter.h"
SkString GrContextPriv::dump() const {
SkDynamicMemoryWStream stream;
SkJSONWriter writer(&stream, SkJSONWriter::Mode::kPretty);
@@ -1149,3 +1149,4 @@
stream.copyToAndReset(result.writable_str());
return result;
}
+#endif
diff --git a/src/gpu/GrGpu.cpp b/src/gpu/GrGpu.cpp
index 7a17fe6..41b44f0 100644
--- a/src/gpu/GrGpu.cpp
+++ b/src/gpu/GrGpu.cpp
@@ -357,6 +357,7 @@
: GrSemaphoresSubmitted::kNo;
}
+#ifdef SK_ENABLE_DUMP_GPU
void GrGpu::dumpJSON(SkJSONWriter* writer) const {
writer->beginObject();
@@ -366,6 +367,9 @@
writer->endObject();
}
+#else
+void GrGpu::dumpJSON(SkJSONWriter* writer) const { }
+#endif
#if GR_TEST_UTILS
GrBackendTexture GrGpu::createTestingOnlyBackendTexture(const void* pixels, int w, int h,
diff --git a/src/gpu/GrGpu.h b/src/gpu/GrGpu.h
index 0e2db37..ddefb79 100644
--- a/src/gpu/GrGpu.h
+++ b/src/gpu/GrGpu.h
@@ -468,7 +468,9 @@
virtual void onFinishFlush(bool insertedSemaphores) = 0;
+#ifdef SK_ENABLE_DUMP_GPU
virtual void onDumpJSON(SkJSONWriter*) const {}
+#endif
void resetContext() {
this->onResetContext(fResetBits);
diff --git a/src/gpu/GrShaderCaps.cpp b/src/gpu/GrShaderCaps.cpp
index b0e3e60..c0b9eb5 100644
--- a/src/gpu/GrShaderCaps.cpp
+++ b/src/gpu/GrShaderCaps.cpp
@@ -68,6 +68,7 @@
fAdvBlendEqInteraction = kNotSupported_AdvBlendEqInteraction;
}
+#ifdef SK_ENABLE_DUMP_GPU
void GrShaderCaps::dumpJSON(SkJSONWriter* writer) const {
writer->beginObject();
@@ -126,6 +127,9 @@
writer->endObject();
}
+#else
+void GrShaderCaps::dumpJSON(SkJSONWriter* writer) const { }
+#endif
void GrShaderCaps::applyOptionsOverrides(const GrContextOptions& options) {
if (options.fDisableDriverCorrectnessWorkarounds) {
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 99bd22e..70b3f9b 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -1054,6 +1054,7 @@
}
}
+#ifdef SK_ENABLE_DUMP_GPU
void GrGLCaps::onDumpJSON(SkJSONWriter* writer) const {
// We are called by the base class, which has already called beginObject(). We choose to nest
@@ -1166,6 +1167,9 @@
writer->endArray();
writer->endObject();
}
+#else
+void GrGLCaps::onDumpJSON(SkJSONWriter* writer) const { }
+#endif
bool GrGLCaps::bgraIsInternalFormat() const {
return fConfigTable[kBGRA_8888_GrPixelConfig].fFormats.fBaseInternalFormat == GR_GL_BGRA;
diff --git a/src/gpu/gl/GrGLExtensions.cpp b/src/gpu/gl/GrGLExtensions.cpp
index b6898c4..d0b7162 100644
--- a/src/gpu/gl/GrGLExtensions.cpp
+++ b/src/gpu/gl/GrGLExtensions.cpp
@@ -151,6 +151,7 @@
}
}
+#ifdef SK_ENABLE_DUMP_GPU
void GrGLExtensions::dumpJSON(SkJSONWriter* writer) const {
writer->beginArray();
for (int i = 0; i < fStrings.count(); ++i) {
@@ -158,3 +159,6 @@
}
writer->endArray();
}
+#else
+void GrGLExtensions::dumpJSON(SkJSONWriter* writer) const { }
+#endif
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
index 0929d89..3bc7d3a 100644
--- a/src/gpu/gl/GrGLGpu.cpp
+++ b/src/gpu/gl/GrGLGpu.cpp
@@ -25,7 +25,6 @@
#include "SkAutoMalloc.h"
#include "SkConvertPixels.h"
#include "SkHalf.h"
-#include "SkJSONWriter.h"
#include "SkMakeUnique.h"
#include "SkMipMap.h"
#include "SkPixmap.h"
@@ -4309,6 +4308,8 @@
}
}
+#ifdef SK_ENABLE_DUMP_GPU
+#include "SkJSONWriter.h"
void GrGLGpu::onDumpJSON(SkJSONWriter* writer) const {
// We are called by the base class, which has already called beginObject(). We choose to nest
// all of our caps information in a named sub-object.
@@ -4329,3 +4330,4 @@
writer->endObject();
}
+#endif
diff --git a/src/gpu/gl/GrGLGpu.h b/src/gpu/gl/GrGLGpu.h
index a22882e..4fa1752 100644
--- a/src/gpu/gl/GrGLGpu.h
+++ b/src/gpu/gl/GrGLGpu.h
@@ -404,7 +404,9 @@
// Must be called if bindSurfaceFBOForPixelOps was used to bind a surface for copying.
void unbindTextureFBOForPixelOps(GrGLenum fboTarget, GrSurface* surface);
+#ifdef SK_ENABLE_DUMP_GPU
void onDumpJSON(SkJSONWriter*) const override;
+#endif
bool createCopyProgram(GrTexture* srcTexture);
bool createMipmapProgram(int progIdx);