Remove scaling bucket hack

bug:16626221

Fixes glyph cache pressure and double scaling artifacts.

Change-Id: I06cde720db646531b45943283cb4ecb48af8ff5b
diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp
index 548ec91..7bd0798 100644
--- a/libs/hwui/Caches.cpp
+++ b/libs/hwui/Caches.cpp
@@ -699,9 +699,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 
 void Caches::initTempProperties() {
-    propertyAmbientShadowStrength = 12;
-    propertySpotShadowStrength = 48;
-
     propertyLightDiameter = -1.0f;
     propertyLightPosY = -1.0f;
     propertyLightPosZ = -1.0f;
@@ -710,15 +707,7 @@
 
 void Caches::setTempProperty(const char* name, const char* value) {
     ALOGD("setting property %s to %s", name, value);
-    if (!strcmp(name, "ambientShadowStrength")) {
-        propertyAmbientShadowStrength = atoi(value);
-        ALOGD("ambient shadow strength = 0x%x out of 0xff", propertyAmbientShadowStrength);
-        return;
-    } else if (!strcmp(name, "spotShadowStrength")) {
-        propertySpotShadowStrength = atoi(value);
-        ALOGD("spot shadow strength = 0x%x out of 0xff", propertySpotShadowStrength);
-        return;
-    } else if (!strcmp(name, "ambientRatio")) {
+    if (!strcmp(name, "ambientRatio")) {
         propertyAmbientRatio = fmin(fmax(atof(value), 0.0), 10.0);
         ALOGD("ambientRatio = %.2f", propertyAmbientRatio);
         return;
@@ -734,10 +723,6 @@
         propertyLightPosZ = fmin(fmax(atof(value), 0.0), 3000.0);
         ALOGD("lightPos Z = %.2f", propertyLightPosZ);
         return;
-    } else if (!strcmp(name, "extraRasterBucket")) {
-        float bucket = atof(value);
-        propertyExtraRasterBuckets.push_back(bucket);
-        return;
     }
     ALOGD("    failed");
 }
diff --git a/libs/hwui/Caches.h b/libs/hwui/Caches.h
index 8727941..e00cb0b 100644
--- a/libs/hwui/Caches.h
+++ b/libs/hwui/Caches.h
@@ -366,9 +366,6 @@
     float propertyLightPosY;
     float propertyLightPosZ;
     float propertyAmbientRatio;
-    int propertyAmbientShadowStrength;
-    int propertySpotShadowStrength;
-    std::vector<float> propertyExtraRasterBuckets;
 private:
     enum OverdrawColorSet {
         kColorSet_Default = 0,
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 5e6ae3f..5fbef2e 100755
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -2809,31 +2809,15 @@
     }
 
     /**
-     * Input is a non-perspective, scaling transform. Generate a scale-only transform, based upon
-     * bucketed scale values. Special case for 'extra raster buckets' - disable filtration in the
-     * case of an exact match, and isSimple() transform
+     * Input is a non-perspective, scaling transform. Generate a scale-only transform,
+     * with values rounded to the nearest int.
      */
     float sx, sy;
     transform.decomposeScale(sx, sy);
-
-    float bestSx = roundf(fmaxf(1.0f, sx));
-    float bestSy = roundf(fmaxf(1.0f, sy));
-    bool filter = true;
-
-    for (unsigned int i = 0; i < mCaches.propertyExtraRasterBuckets.size(); i++) {
-        float bucket = mCaches.propertyExtraRasterBuckets[i];
-        if (sx == bucket && sy == bucket) {
-            bestSx = bestSy = bucket;
-            filter = !transform.isSimple(); // disable filter, if simple
-            break;
-        }
-
-        if (fabs(bucket - sx) < fabs(bestSx - sx)) bestSx = sx;
-        if (fabs(bucket - sy) < fabs(bestSy - sy)) bestSy = sy;
-    }
-
-    outMatrix->setScale(bestSx, bestSy);
-    return filter;
+    outMatrix->setScale(
+            roundf(fmaxf(1.0f, sx)),
+            roundf(fmaxf(1.0f, sy)));
+    return true;
 }
 
 status_t OpenGLRenderer::drawText(const char* text, int bytesCount, int count, float x, float y,