diff options
| author | Mathias Agopian <mathias@google.com> | 2011-08-18 18:31:00 -0700 |
|---|---|---|
| committer | Mathias Agopian <mathias@google.com> | 2011-08-18 18:33:44 -0700 |
| commit | 3f88327a54a919cf853098c97e7db085d50b91e0 (patch) | |
| tree | a3fbd5a99cbcd79457bfa9e5a7d4a5108da50be9 /services/surfaceflinger/Layer.cpp | |
| parent | 931f0b8c07c6647790cf455f1efab88615532bd7 (diff) | |
| download | frameworks_base-3f88327a54a919cf853098c97e7db085d50b91e0.zip frameworks_base-3f88327a54a919cf853098c97e7db085d50b91e0.tar.gz frameworks_base-3f88327a54a919cf853098c97e7db085d50b91e0.tar.bz2 | |
give the proper orientation to the h/w composer HAL
we were using the "orientation" value instead of the
real transform, which may contain arbitrary rotations for
instance, and in some case ended up with a final "orientation"
that looked valid, but wasn't.
this fixes a problem on devices with a h/w composer hal where
the rotation animation looked weird.
Change-Id: I4be8a2a1bde49c33456fcf5c8d87ab515c216763
Diffstat (limited to 'services/surfaceflinger/Layer.cpp')
| -rw-r--r-- | services/surfaceflinger/Layer.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp index 64eaecc..19c7ddd 100644 --- a/services/surfaceflinger/Layer.cpp +++ b/services/surfaceflinger/Layer.cpp @@ -196,13 +196,12 @@ void Layer::setGeometry(hwc_layer_t* hwcl) * 1) buffer orientation/flip/mirror * 2) state transformation (window manager) * 3) layer orientation (screen orientation) - * mOrientation is already the composition of (2) and (3) + * mTransform is already the composition of (2) and (3) * (NOTE: the matrices are multiplied in reverse order) */ const Transform bufferOrientation(mCurrentTransform); - const Transform layerOrientation(mOrientation); - const Transform tr(layerOrientation * bufferOrientation); + const Transform tr(mTransform * bufferOrientation); // this gives us only the "orientation" component of the transform const uint32_t finalTransform = tr.getOrientation(); |
