Workaround for assertion in NVPR config in bench.

BUG=skia:2078
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/131503007

git-svn-id: http://skia.googlecode.com/svn/trunk@13196 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/bench/HairlinePathBench.cpp b/bench/HairlinePathBench.cpp
index 87557e8..59eb1e8 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 @@
                          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 8b4200a..d404000 100644
--- a/gyp/bench.gyp
+++ b/gyp/bench.gyp
@@ -105,6 +105,9 @@
             'include_dirs' : [
               '../src/gpu',
             ],
+            'dependencies': [
+              'gputest.gyp:skgputest',
+            ],
           },
         ],
       ],