make OpenCL optional for skpdiff
- add CPU based different pixels metric
R=djsollen@google.com
Review URL: https://codereview.chromium.org/19374006
git-svn-id: http://skia.googlecode.com/svn/trunk@10127 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/skpdiff/SkCLImageDiffer.h b/experimental/skpdiff/SkCLImageDiffer.h
index 6509392..50cf389 100644
--- a/experimental/skpdiff/SkCLImageDiffer.h
+++ b/experimental/skpdiff/SkCLImageDiffer.h
@@ -22,6 +22,8 @@
public:
SkCLImageDiffer();
+ virtual bool requiresOpenCL() SK_OVERRIDE { return true; }
+
/**
* Initializes the OpenCL resources this differ needs to work
* @param device An OpenCL device
@@ -85,30 +87,4 @@
typedef SkImageDiffer INHERITED;
};
-/**
- * A OpenCL differ that measures the percentage of different corresponding pixels. If the two images
- * are not the same size or have no pixels, the result will always be zero.
- */
-class SkDifferentPixelsImageDiffer : public SkCLImageDiffer {
-public:
- virtual const char* getName() SK_OVERRIDE;
- virtual int queueDiff(SkBitmap* baseline, SkBitmap* test) SK_OVERRIDE;
- virtual void deleteDiff(int id) SK_OVERRIDE;
- virtual bool isFinished(int id) SK_OVERRIDE;
- virtual double getResult(int id) SK_OVERRIDE;
- virtual int getPointsOfInterestCount(int id) SK_OVERRIDE;
- virtual SkIPoint* getPointsOfInterest(int id) SK_OVERRIDE;
-
-protected:
- virtual bool onInit() SK_OVERRIDE;
-
-private:
- struct QueuedDiff;
-
- SkTDArray<QueuedDiff> fQueuedDiffs;
- cl_kernel fKernel;
-
- typedef SkCLImageDiffer INHERITED;
-};
-
#endif