summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chris Craik <ccraik@google.com> 2014-01-16 14:48:54 -0800
committer Chris Craik <ccraik@google.com> 2014-01-16 14:48:54 -0800
commitcf8d9d4af3faecd804763d7c6f85b3f8741e180b (patch)
tree96a6f7ce4ecebc632bc2224eb693166d04771461
parentc46809e9979204aa9a131d8933da23d298411441 (diff)
Fix view z translation with 3d projection disabled
The ortho projection can't handle 3d translation, so skip that step if perspective projection isn't enabled. Change-Id: I231e6bcecc82e876b697e098e034f0fd3b06efde
-rw-r--r--libs/hwui/DisplayList.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/libs/hwui/DisplayList.cpp b/libs/hwui/DisplayList.cpp
index d3d2613ea47d..a1563418030b 100644
--- a/libs/hwui/DisplayList.cpp
+++ b/libs/hwui/DisplayList.cpp
@@ -418,11 +418,16 @@ void DisplayList::setViewProperties(OpenGLRenderer& renderer, T& handler,
renderer.concatMatrix(mAnimationMatrix);
}
if (mMatrixFlags != 0) {
- if (mMatrixFlags == TRANSLATION) {
- renderer.translate(mTranslationX, mTranslationY, mTranslationZ);
- } else {
- if (Caches::getInstance().propertyEnable3d) {
+ if (Caches::getInstance().propertyEnable3d) {
+ if (mMatrixFlags == TRANSLATION) {
+ renderer.translate(mTranslationX, mTranslationY, mTranslationZ);
+ } else {
renderer.concatMatrix(mTransform);
+ }
+ } else {
+ // avoid setting translationZ, use SkMatrix
+ if (mMatrixFlags == TRANSLATION) {
+ renderer.translate(mTranslationX, mTranslationY, 0);
} else {
renderer.concatMatrix(mTransformMatrix);
}