Add new property to debug non-rectangular clip operations

This change adds a new property called "debug.hwui.show_stencil_clip"
that accepts the following values:

- "highlight", colorizes in green any drawing command that's tested
  against a non-rectangular clip region
- "region", shows the non-rectangular clip region in blue every time
  it is used
- "hide", default value, nothing is shown

Change-Id: I83c8602310edc4aaeb8b905371cdd185b17d32b5
diff --git a/libs/hwui/Program.h b/libs/hwui/Program.h
index 7b67b3c..13ee336 100644
--- a/libs/hwui/Program.h
+++ b/libs/hwui/Program.h
@@ -83,6 +83,8 @@
 
 #define PROGRAM_HAS_COLORS 42
 
+#define PROGRAM_HAS_DEBUG_HIGHLIGHT 43
+
 ///////////////////////////////////////////////////////////////////////////////
 // Types
 ///////////////////////////////////////////////////////////////////////////////
@@ -159,6 +161,8 @@
     bool hasGammaCorrection;
     float gamma;
 
+    bool hasDebugHighlight;
+
     /**
      * Resets this description. All fields are reset back to the default
      * values they hold after building a new instance.
@@ -199,6 +203,8 @@
 
         hasGammaCorrection = false;
         gamma = 2.2f;
+
+        hasDebugHighlight = false;
     }
 
     /**
@@ -267,6 +273,7 @@
         if (hasGammaCorrection) key |= programid(0x1) << PROGRAM_HAS_GAMMA_CORRECTION;
         if (isSimpleGradient) key |= programid(0x1) << PROGRAM_IS_SIMPLE_GRADIENT;
         if (hasColors) key |= programid(0x1) << PROGRAM_HAS_COLORS;
+        if (hasDebugHighlight) key |= programid(0x1) << PROGRAM_HAS_DEBUG_HIGHLIGHT;
         return key;
     }