summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2015-11-10 23:58:38 +0100
committerSteve Kondik <steve@cyngn.com>2015-11-10 23:58:46 +0100
commitaf9298115c39a3e3f69132409331b0ce0307ee0d (patch)
treea77f197d3f1ec63433438536654a91f3a6a28367 /services/surfaceflinger
parentf8e2372ad7c6ab5ba0363352607f5ded918add01 (diff)
downloadframeworks_native-af9298115c39a3e3f69132409331b0ce0307ee0d.zip
frameworks_native-af9298115c39a3e3f69132409331b0ce0307ee0d.tar.gz
frameworks_native-af9298115c39a3e3f69132409331b0ce0307ee0d.tar.bz2
Revert "surfaceflinger: Consolidate display orientation compensation hooks"
* This is completely breaking graphics. This reverts commit f8e2372ad7c6ab5ba0363352607f5ded918add01. Change-Id: I1d694f4228199891a191ce3fb924cec71a6100f0
Diffstat (limited to 'services/surfaceflinger')
-rw-r--r--services/surfaceflinger/DisplayDevice.cpp20
-rw-r--r--services/surfaceflinger/DisplayDevice.h2
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp4
3 files changed, 11 insertions, 15 deletions
diff --git a/services/surfaceflinger/DisplayDevice.cpp b/services/surfaceflinger/DisplayDevice.cpp
index d890b02..1f607f2 100644
--- a/services/surfaceflinger/DisplayDevice.cpp
+++ b/services/surfaceflinger/DisplayDevice.cpp
@@ -84,7 +84,6 @@ DisplayDevice::DisplayDevice(
mIsSecure(isSecure),
mSecureLayerVisible(false),
mLayerStack(NO_LAYER_STACK),
- mHardwareOrientation(0),
mOrientation(),
mPowerMode(HWC_POWER_MODE_OFF),
mActiveConfig(0)
@@ -132,12 +131,7 @@ DisplayDevice::DisplayDevice(
// was created with createDisplay().
switch (mType) {
case DISPLAY_PRIMARY:
- char value[PROPERTY_VALUE_MAX];
mDisplayName = "Built-in Screen";
-
- /* hwrotation applies only to the primary display */
- property_get("ro.sf.hwrotation", value, "0");
- mHardwareOrientation = atoi(value);
break;
case DISPLAY_EXTERNAL:
mDisplayName = "HDMI Screen";
@@ -398,7 +392,9 @@ status_t DisplayDevice::orientationToTransfrom(
int orientation, int w, int h, Transform* tr)
{
uint32_t flags = 0;
- int additionalRot = this->getHardwareOrientation();
+ char value[PROPERTY_VALUE_MAX];
+ property_get("ro.sf.hwrotation", value, "0");
+ int additionalRot = atoi(value);
if (additionalRot) {
additionalRot /= 90;
@@ -470,7 +466,11 @@ void DisplayDevice::setProjection(int orientation,
if (!frame.isValid()) {
// the destination frame can be invalid if it has never been set,
// in that case we assume the whole display frame.
- if ((mHardwareOrientation/90) & DisplayState::eOrientationSwapMask) {
+ char value[PROPERTY_VALUE_MAX];
+ property_get("ro.sf.hwrotation", value, "0");
+ int additionalRot = atoi(value);
+
+ if (additionalRot == 90 || additionalRot == 270) {
frame = Rect(h, w);
} else {
frame = Rect(w, h);
@@ -529,10 +529,6 @@ void DisplayDevice::setProjection(int orientation,
mFrame = frame;
}
-int DisplayDevice::getHardwareOrientation() {
- return mHardwareOrientation;
-}
-
void DisplayDevice::dump(String8& result) const {
const Transform& tr(mGlobalTransform);
result.appendFormat(
diff --git a/services/surfaceflinger/DisplayDevice.h b/services/surfaceflinger/DisplayDevice.h
index 65f08df..f492a42 100644
--- a/services/surfaceflinger/DisplayDevice.h
+++ b/services/surfaceflinger/DisplayDevice.h
@@ -173,7 +173,6 @@ public:
*/
uint32_t getPageFlipCount() const;
void dump(String8& result) const;
- int getHardwareOrientation();
private:
/*
@@ -218,7 +217,6 @@ private:
int w, int h, Transform* tr);
uint32_t mLayerStack;
- int mHardwareOrientation;
int mOrientation;
// user-provided visible area of the layer stack
Rect mViewport;
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 1a4aa41..429231c 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -641,7 +641,9 @@ status_t SurfaceFlinger::getDisplayConfigs(const sp<IBinder>& display,
info.orientation = 0;
}
- int additionalRot = mDisplays[0]->getHardwareOrientation() / 90;
+ char value[PROPERTY_VALUE_MAX];
+ property_get("ro.sf.hwrotation", value, "0");
+ int additionalRot = atoi(value) / 90;
if ((type == DisplayDevice::DISPLAY_PRIMARY) && (additionalRot & DisplayState::eOrientationSwapMask)) {
info.h = hwConfig.width;
info.w = hwConfig.height;