fix overflow in matrixproc, and add debugging code to test that



git-svn-id: http://skia.googlecode.com/svn/trunk@548 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkBitmapProcState.cpp b/src/core/SkBitmapProcState.cpp
index eabd966..e54818d 100644
--- a/src/core/SkBitmapProcState.cpp
+++ b/src/core/SkBitmapProcState.cpp
@@ -543,7 +543,6 @@
  */
 int SkBitmapProcState::maxCountForBufferSize(size_t bufferSize) const {
     int32_t size = static_cast<int32_t>(bufferSize);
-    int perElemShift;
 
     size &= ~3; // only care about 4-byte aligned chunks
     if (fInvType <= (SkMatrix::kTranslate_Mask | SkMatrix::kScale_Mask)) {
@@ -551,11 +550,15 @@
         if (size < 0) {
             size = 0;
         }
-        perElemShift = fDoFilter ? 2 : 1;
+        size >>= 1;
     } else {
-        perElemShift = fDoFilter ? 3 : 2;
+        size >>= 2;
     }
 
-    return size >> perElemShift;
+    if (fDoFilter) {
+        size >>= 1;
+    }
+
+    return size;
 }