Emit dumpInfo string when processor opt test fails
Add missing implementation for ComposeTwo, and provide more information in
ComposeOne.
BUG=skia:
Change-Id: Id2406bcb51a6419a763ff9e6e572f5c6c70c4c76
Reviewed-on: https://skia-review.googlesource.com/9699
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/src/gpu/effects/GrXfermodeFragmentProcessor.cpp b/src/gpu/effects/GrXfermodeFragmentProcessor.cpp
index 923c82f..9671919 100644
--- a/src/gpu/effects/GrXfermodeFragmentProcessor.cpp
+++ b/src/gpu/effects/GrXfermodeFragmentProcessor.cpp
@@ -40,6 +40,18 @@
const char* name() const override { return "ComposeTwo"; }
+ SkString dumpInfo() const override {
+ SkString str;
+
+ str.appendf("Mode: %s", SkBlendMode_Name(fMode));
+
+ for (int i = 0; i < this->numChildProcessors(); ++i) {
+ str.appendf(" [%s %s]",
+ this->childProcessor(i).name(), this->childProcessor(i).dumpInfo().c_str());
+ }
+ return str;
+ }
+
void onGetGLSLProcessorKey(const GrShaderCaps& caps, GrProcessorKeyBuilder* b) const override {
b->add32((int)fMode);
}
@@ -248,8 +260,12 @@
SkString dumpInfo() const override {
SkString str;
+ str.appendf("Mode: %s, Child: %s",
+ SkBlendMode_Name(fMode), kDst_Child == fChild ? "Dst" : "Src");
+
for (int i = 0; i < this->numChildProcessors(); ++i) {
- str.append(this->childProcessor(i).dumpInfo());
+ str.appendf(" [%s %s]",
+ this->childProcessor(i).name(), this->childProcessor(i).dumpInfo().c_str());
}
return str;
}