summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp')
-rw-r--r--libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
index 19e32ec..92588fa 100644
--- a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
+++ b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
@@ -23,6 +23,8 @@
#include <GLES/egl.h>
+#include <cutils/properties.h>
+
#include <utils/Log.h>
#include <ui/EGLDisplaySurface.h>
@@ -193,11 +195,14 @@ void DisplayHardware::init(uint32_t dpy)
}
mRefreshRate = 60.f; // TODO: get the real refresh rate
- // compute a "density" automatically as a scale factor from 160 dpi
- // TODO: this value should be calculated a compile time based on the
- // board.
- mDensity = floorf((mDpiX>mDpiY ? mDpiX : mDpiY)*0.1f + 0.5f) * (10.0f/160.0f);
- LOGI("density = %f", mDensity);
+
+ char property[PROPERTY_VALUE_MAX];
+ if (property_get("ro.sf.lcd_density", property, NULL) <= 0) {
+ LOGW("ro.sf.lcd_density not defined, using 160 dpi by default.");
+ strcpy(property, "160");
+ }
+ mDensity = atoi(property) * (1.0f/160.0f);
+
/*
* Create our OpenGL ES context