summaryrefslogtreecommitdiff
path: root/libs/hwui/Caches.cpp
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2013-08-21 11:53:18 -0700
committer Romain Guy <romainguy@google.com> 2013-08-21 11:53:18 -0700
commit627c6fd91377ead85f74a365438e25610ef1e2ee (patch)
tree3fad6c0a8a6fb3e4c88702b6a407a0fdd75be065 /libs/hwui/Caches.cpp
parent906da6bfe4092fda1daff63e00e9f2ce1daac00b (diff)
Add overdraw debugging that accounts for Deuteranomaly
Change-Id: I31f68a07aa7cf0490d2572e24e4c5ac2066a1151
Diffstat (limited to 'libs/hwui/Caches.cpp')
-rw-r--r--libs/hwui/Caches.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp
index c0b3bfccfab6..f8d3589168b6 100644
--- a/libs/hwui/Caches.cpp
+++ b/libs/hwui/Caches.cpp
@@ -166,11 +166,16 @@ bool Caches::initProperties() {
debugLayersUpdates = false;
}
+ debugOverdraw = false;
if (property_get(PROPERTY_DEBUG_OVERDRAW, property, NULL) > 0) {
INIT_LOGD(" Overdraw debug enabled: %s", property);
- debugOverdraw = !strcmp(property, "show");
- } else {
- debugOverdraw = false;
+ if (!strcmp(property, "show")) {
+ debugOverdraw = true;
+ mOverdrawDebugColorSet = kColorSet_Default;
+ } else if (!strcmp(property, "show_deuteranomaly")) {
+ debugOverdraw = true;
+ mOverdrawDebugColorSet = kColorSet_Deuteranomaly;
+ }
}
// See Properties.h for valid values
@@ -235,6 +240,16 @@ void Caches::terminate() {
// Debug
///////////////////////////////////////////////////////////////////////////////
+uint32_t Caches::getOverdrawColor(uint32_t amount) const {
+ static uint32_t sOverdrawColors[2][4] = {
+ { 0x2f0000ff, 0x2f00ff00, 0x3fff0000, 0x7fff0000 },
+ { 0x2f0000ff, 0x4fffff00, 0x5fff8ad8, 0x7fff0000 }
+ };
+ if (amount < 1) amount = 1;
+ if (amount > 4) amount = 4;
+ return sOverdrawColors[mOverdrawDebugColorSet][amount - 1];
+}
+
void Caches::dumpMemoryUsage() {
String8 stringLog;
dumpMemoryUsage(stringLog);