aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--bench/HairlinePathBench.cpp17
-rw-r--r--gyp/bench.gyp3
2 files changed, 20 insertions, 0 deletions
diff --git a/bench/HairlinePathBench.cpp b/bench/HairlinePathBench.cpp
index 87557e8467..59eb1e833a 100644
--- a/bench/HairlinePathBench.cpp
+++ b/bench/HairlinePathBench.cpp
@@ -4,6 +4,9 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
+
+#include "GrTest.h"
+#include "GrDrawTargetCaps.h"
#include "SkBenchmark.h"
#include "SkCanvas.h"
#include "SkPaint.h"
@@ -170,6 +173,20 @@ public:
weight);
}
}
+
+ virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE {
+ GrContext* context = canvas->getGrContext();
+ // This is a workaround for skbug.com/2078. See also skbug.com/2033.
+ if (NULL != context) {
+ GrTestTarget tt;
+ context->getTestTarget(&tt);
+ if (tt.target()->caps()->pathRenderingSupport()) {
+ return;
+ }
+ }
+ INHERITED::onDraw(loops, canvas);
+ }
+
private:
typedef HairlinePathBench INHERITED;
};
diff --git a/gyp/bench.gyp b/gyp/bench.gyp
index 8b4200a427..d404000fce 100644
--- a/gyp/bench.gyp
+++ b/gyp/bench.gyp
@@ -105,6 +105,9 @@
'include_dirs' : [
'../src/gpu',
],
+ 'dependencies': [
+ 'gputest.gyp:skgputest',
+ ],
},
],
],