12507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik/* 22507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * Copyright (C) 2015 The Android Open Source Project 32507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * 42507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * Licensed under the Apache License, Version 2.0 (the "License"); 52507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * you may not use this file except in compliance with the License. 62507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * You may obtain a copy of the License at 72507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * 82507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * http://www.apache.org/licenses/LICENSE-2.0 92507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * 102507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * Unless required by applicable law or agreed to in writing, software 112507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * distributed under the License is distributed on an "AS IS" BASIS, 122507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * See the License for the specific language governing permissions and 142507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik * limitations under the License. 152507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik */ 162507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik#include "Properties.h" 172507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 182507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik#include "Debug.h" 192507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 206b50780363d3bb8db600c770183fa07677509ae8John Reck#include <cutils/compiler.h> 212507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik#include <cutils/log.h> 226b50780363d3bb8db600c770183fa07677509ae8John Reck#include <cutils/properties.h> 236b50780363d3bb8db600c770183fa07677509ae8John Reck 246b50780363d3bb8db600c770183fa07677509ae8John Reck#include <algorithm> 256b50780363d3bb8db600c770183fa07677509ae8John Reck#include <cstdlib> 262507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 272507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craiknamespace android { 282507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craiknamespace uirenderer { 292507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 302507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikbool Properties::drawDeferDisabled = false; 312507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikbool Properties::drawReorderDisabled = false; 322507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikbool Properties::debugLayersUpdates = false; 332507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikbool Properties::debugOverdraw = false; 342507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikbool Properties::showDirtyRegions = false; 35d04794a9a3f9edc8b7ca336175d66eb81a8f55faJohn Reckbool Properties::skipEmptyFrames = true; 36149173d28c0843aba86b0810ce75b34be6a0d08fJohn Reckbool Properties::useBufferAge = true; 37149173d28c0843aba86b0810ce75b34be6a0d08fJohn Reckbool Properties::enablePartialUpdates = true; 382507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 39c08820f587ad94698691a6657e87712de07e484cChris Craikfloat Properties::textGamma = DEFAULT_TEXT_GAMMA; 4048a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik 4148a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craikint Properties::fboCacheSize = DEFAULT_FBO_CACHE_SIZE; 4248a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craikint Properties::gradientCacheSize = MB(DEFAULT_GRADIENT_CACHE_SIZE); 4348a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craikint Properties::layerPoolSize = MB(DEFAULT_LAYER_CACHE_SIZE); 4448a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craikint Properties::patchCacheSize = KB(DEFAULT_PATCH_CACHE_SIZE); 4548a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craikint Properties::pathCacheSize = MB(DEFAULT_PATH_CACHE_SIZE); 4648a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craikint Properties::renderBufferCacheSize = MB(DEFAULT_RENDER_BUFFER_CACHE_SIZE); 4748a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craikint Properties::tessellationCacheSize = MB(DEFAULT_VERTEX_CACHE_SIZE); 4848a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craikint Properties::textDropShadowCacheSize = MB(DEFAULT_DROP_SHADOW_CACHE_SIZE); 4948a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craikint Properties::textureCacheSize = MB(DEFAULT_TEXTURE_CACHE_SIZE); 5048a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik 5148a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craikfloat Properties::textureCacheFlushRate = DEFAULT_TEXTURE_CACHE_FLUSH_RATE; 52c08820f587ad94698691a6657e87712de07e484cChris Craik 532507c34d91bb0d722b6012e85cb47387b2aa6873Chris CraikDebugLevel Properties::debugLevel = kDebugDisabled; 542507c34d91bb0d722b6012e85cb47387b2aa6873Chris CraikOverdrawColorSet Properties::overdrawColorSet = OverdrawColorSet::Default; 552507c34d91bb0d722b6012e85cb47387b2aa6873Chris CraikStencilClipDebug Properties::debugStencilClip = StencilClipDebug::Hide; 562507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 572507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikfloat Properties::overrideLightRadius = -1.0f; 582507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikfloat Properties::overrideLightPosY = -1.0f; 592507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikfloat Properties::overrideLightPosZ = -1.0f; 602507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikfloat Properties::overrideAmbientRatio = -1.0f; 612507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikint Properties::overrideAmbientShadowStrength = -1; 622507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikint Properties::overrideSpotShadowStrength = -1; 632507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 642507c34d91bb0d722b6012e85cb47387b2aa6873Chris CraikProfileType Properties::sProfileType = ProfileType::None; 652507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikbool Properties::sDisableProfileBars = false; 662507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 67682573c84b7c21dc8ce4a2375da3961147442c4aJohn Reckbool Properties::waitForGpuCompletion = false; 68682573c84b7c21dc8ce4a2375da3961147442c4aJohn Reck 69c7cd9cf25d9775446ffcb6b5f20b0a4c1e3c99c5John Reckbool Properties::filterOutTestOverhead = false; 70c7cd9cf25d9775446ffcb6b5f20b0a4c1e3c99c5John Reck 719fded232a9548a304e0145011df8849fba0dcda7Chris Craikstatic int property_get_int(const char* key, int defaultValue) { 729fded232a9548a304e0145011df8849fba0dcda7Chris Craik char buf[PROPERTY_VALUE_MAX] = {'\0',}; 739fded232a9548a304e0145011df8849fba0dcda7Chris Craik 749fded232a9548a304e0145011df8849fba0dcda7Chris Craik if (property_get(key, buf, "") > 0) { 759fded232a9548a304e0145011df8849fba0dcda7Chris Craik return atoi(buf); 769fded232a9548a304e0145011df8849fba0dcda7Chris Craik } 779fded232a9548a304e0145011df8849fba0dcda7Chris Craik return defaultValue; 789fded232a9548a304e0145011df8849fba0dcda7Chris Craik} 799fded232a9548a304e0145011df8849fba0dcda7Chris Craik 80c08820f587ad94698691a6657e87712de07e484cChris Craikstatic float property_get_float(const char* key, float defaultValue) { 81c08820f587ad94698691a6657e87712de07e484cChris Craik char buf[PROPERTY_VALUE_MAX] = {'\0',}; 82c08820f587ad94698691a6657e87712de07e484cChris Craik 839fded232a9548a304e0145011df8849fba0dcda7Chris Craik if (property_get(key, buf, "") > 0) { 84c08820f587ad94698691a6657e87712de07e484cChris Craik return atof(buf); 85c08820f587ad94698691a6657e87712de07e484cChris Craik } 86c08820f587ad94698691a6657e87712de07e484cChris Craik return defaultValue; 87c08820f587ad94698691a6657e87712de07e484cChris Craik} 88c08820f587ad94698691a6657e87712de07e484cChris Craik 892507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikbool Properties::load() { 902507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik char property[PROPERTY_VALUE_MAX]; 912507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik bool prevDebugLayersUpdates = debugLayersUpdates; 922507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik bool prevDebugOverdraw = debugOverdraw; 932507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik StencilClipDebug prevDebugStencilClip = debugStencilClip; 942507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 952507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik debugOverdraw = false; 962507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik if (property_get(PROPERTY_DEBUG_OVERDRAW, property, nullptr) > 0) { 972507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik INIT_LOGD(" Overdraw debug enabled: %s", property); 982507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik if (!strcmp(property, "show")) { 992507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik debugOverdraw = true; 1002507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik overdrawColorSet = OverdrawColorSet::Default; 1012507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else if (!strcmp(property, "show_deuteranomaly")) { 1022507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik debugOverdraw = true; 1032507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik overdrawColorSet = OverdrawColorSet::Deuteranomaly; 1042507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } 1052507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } 1062507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 1072507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik // See Properties.h for valid values 1082507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik if (property_get(PROPERTY_DEBUG_STENCIL_CLIP, property, nullptr) > 0) { 1092507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik INIT_LOGD(" Stencil clip debug enabled: %s", property); 1102507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik if (!strcmp(property, "hide")) { 1112507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik debugStencilClip = StencilClipDebug::Hide; 1122507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else if (!strcmp(property, "highlight")) { 1132507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik debugStencilClip = StencilClipDebug::ShowHighlight; 1142507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else if (!strcmp(property, "region")) { 1152507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik debugStencilClip = StencilClipDebug::ShowRegion; 1162507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } 1172507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else { 1182507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik debugStencilClip = StencilClipDebug::Hide; 1192507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } 1202507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 1212507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik sProfileType = ProfileType::None; 1222507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik if (property_get(PROPERTY_PROFILE, property, "") > 0) { 1232507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik if (!strcmp(property, PROPERTY_PROFILE_VISUALIZE_BARS)) { 1242507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik sProfileType = ProfileType::Bars; 1252507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else if (!strcmp(property, "true")) { 1262507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik sProfileType = ProfileType::Console; 1272507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } 1282507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } 1292507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 1302507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik debugLayersUpdates = property_get_bool(PROPERTY_DEBUG_LAYERS_UPDATES, false); 1312507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik INIT_LOGD(" Layers updates debug enabled: %d", debugLayersUpdates); 1322507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 1332507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik drawDeferDisabled = property_get_bool(PROPERTY_DISABLE_DRAW_DEFER, false); 1342507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik INIT_LOGD(" Draw defer %s", drawDeferDisabled ? "disabled" : "enabled"); 1352507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 1362507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik drawReorderDisabled = property_get_bool(PROPERTY_DISABLE_DRAW_REORDER, false); 1372507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik INIT_LOGD(" Draw reorder %s", drawReorderDisabled ? "disabled" : "enabled"); 1382507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 1392507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik showDirtyRegions = property_get_bool(PROPERTY_DEBUG_SHOW_DIRTY_REGIONS, false); 1402507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 1419fded232a9548a304e0145011df8849fba0dcda7Chris Craik debugLevel = (DebugLevel) property_get_int(PROPERTY_DEBUG, kDebugDisabled); 1422507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 143d04794a9a3f9edc8b7ca336175d66eb81a8f55faJohn Reck skipEmptyFrames = property_get_bool(PROPERTY_SKIP_EMPTY_DAMAGE, true); 144149173d28c0843aba86b0810ce75b34be6a0d08fJohn Reck useBufferAge = property_get_bool(PROPERTY_USE_BUFFER_AGE, true); 145149173d28c0843aba86b0810ce75b34be6a0d08fJohn Reck enablePartialUpdates = property_get_bool(PROPERTY_ENABLE_PARTIAL_UPDATES, true); 146d04794a9a3f9edc8b7ca336175d66eb81a8f55faJohn Reck 147c08820f587ad94698691a6657e87712de07e484cChris Craik textGamma = property_get_float(PROPERTY_TEXT_GAMMA, DEFAULT_TEXT_GAMMA); 14848a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik 14948a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik fboCacheSize = property_get_int(PROPERTY_FBO_CACHE_SIZE, DEFAULT_FBO_CACHE_SIZE); 15048a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik gradientCacheSize = MB(property_get_float(PROPERTY_GRADIENT_CACHE_SIZE, DEFAULT_GRADIENT_CACHE_SIZE)); 1519fded232a9548a304e0145011df8849fba0dcda7Chris Craik layerPoolSize = MB(property_get_float(PROPERTY_LAYER_CACHE_SIZE, DEFAULT_LAYER_CACHE_SIZE)); 15248a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik patchCacheSize = KB(property_get_float(PROPERTY_PATCH_CACHE_SIZE, DEFAULT_PATCH_CACHE_SIZE)); 15348a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik pathCacheSize = MB(property_get_float(PROPERTY_PATH_CACHE_SIZE, DEFAULT_PATH_CACHE_SIZE)); 15448a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik renderBufferCacheSize = MB(property_get_float(PROPERTY_RENDER_BUFFER_CACHE_SIZE, DEFAULT_RENDER_BUFFER_CACHE_SIZE)); 15548a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik tessellationCacheSize = MB(property_get_float(PROPERTY_VERTEX_CACHE_SIZE, DEFAULT_VERTEX_CACHE_SIZE)); 15648a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik textDropShadowCacheSize = MB(property_get_float(PROPERTY_DROP_SHADOW_CACHE_SIZE, DEFAULT_DROP_SHADOW_CACHE_SIZE)); 15748a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik textureCacheSize = MB(property_get_float(PROPERTY_TEXTURE_CACHE_SIZE, DEFAULT_TEXTURE_CACHE_SIZE)); 15848a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik textureCacheFlushRate = std::max(0.0f, std::min(1.0f, 15948a8f431fa52ae2ee25ffba9d20676f03bb710ffChris Craik property_get_float(PROPERTY_TEXTURE_CACHE_FLUSH_RATE, DEFAULT_TEXTURE_CACHE_FLUSH_RATE))); 160c08820f587ad94698691a6657e87712de07e484cChris Craik 161c7cd9cf25d9775446ffcb6b5f20b0a4c1e3c99c5John Reck filterOutTestOverhead = property_get_bool(PROPERTY_FILTER_TEST_OVERHEAD, false); 162c7cd9cf25d9775446ffcb6b5f20b0a4c1e3c99c5John Reck 1632507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik return (prevDebugLayersUpdates != debugLayersUpdates) 1642507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik || (prevDebugOverdraw != debugOverdraw) 1652507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik || (prevDebugStencilClip != debugStencilClip); 1662507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik} 1672507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 1682507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craikvoid Properties::overrideProperty(const char* name, const char* value) { 1692507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik if (!strcmp(name, "disableProfileBars")) { 1702507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik sDisableProfileBars = !strcmp(value, "true"); 1712507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik ALOGD("profile bars %s", sDisableProfileBars ? "disabled" : "enabled"); 1722507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik return; 1732507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else if (!strcmp(name, "ambientRatio")) { 174e6a15ee3d0c78eb3f2551d73a7d238c3d8d2f075Chris Craik overrideAmbientRatio = std::min(std::max(atof(value), 0.0), 10.0); 1752507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik ALOGD("ambientRatio = %.2f", overrideAmbientRatio); 1762507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik return; 1772507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else if (!strcmp(name, "lightRadius")) { 178e6a15ee3d0c78eb3f2551d73a7d238c3d8d2f075Chris Craik overrideLightRadius = std::min(std::max(atof(value), 0.0), 3000.0); 1792507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik ALOGD("lightRadius = %.2f", overrideLightRadius); 1802507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik return; 1812507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else if (!strcmp(name, "lightPosY")) { 182e6a15ee3d0c78eb3f2551d73a7d238c3d8d2f075Chris Craik overrideLightPosY = std::min(std::max(atof(value), 0.0), 3000.0); 1832507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik ALOGD("lightPos Y = %.2f", overrideLightPosY); 1842507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik return; 1852507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else if (!strcmp(name, "lightPosZ")) { 186e6a15ee3d0c78eb3f2551d73a7d238c3d8d2f075Chris Craik overrideLightPosZ = std::min(std::max(atof(value), 0.0), 3000.0); 1872507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik ALOGD("lightPos Z = %.2f", overrideLightPosZ); 1882507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik return; 1892507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else if (!strcmp(name, "ambientShadowStrength")) { 1902507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik overrideAmbientShadowStrength = atoi(value); 1912507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik ALOGD("ambient shadow strength = 0x%x out of 0xff", overrideAmbientShadowStrength); 1922507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik return; 1932507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } else if (!strcmp(name, "spotShadowStrength")) { 1942507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik overrideSpotShadowStrength = atoi(value); 1952507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik ALOGD("spot shadow strength = 0x%x out of 0xff", overrideSpotShadowStrength); 1962507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik return; 1972507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik } 1982507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik ALOGD("failed overriding property %s to %s", name, value); 1992507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik} 2002507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 2012507c34d91bb0d722b6012e85cb47387b2aa6873Chris CraikProfileType Properties::getProfileType() { 2022507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik if (CC_UNLIKELY(sDisableProfileBars && sProfileType == ProfileType::Bars)) 2032507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik return ProfileType::None; 2042507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik return sProfileType; 2052507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik} 2062507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik 2072507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik}; // namespace uirenderer 2082507c34d91bb0d722b6012e85cb47387b2aa6873Chris Craik}; // namespace android 209