From da7c19c6d681e20ef924fe30be329aa36a02dd86 Mon Sep 17 00:00:00 2001 From: Stan Iliev Date: Wed, 22 May 2019 14:43:44 -0400 Subject: [PATCH] Fix light center position for layers SkiaLayer::inverseTransformInWindow should be the inverse matrix of Layer transform. This CL fixes a bug, that matrix value was not inverted. This matrix is used in one place: to transform light center coordinates from device to RenderNode/layer coordinate space. Bug: 132758858 Test: Ran test app attached to bug. Manually compared coordinates. Change-Id: Id8e887276a5296091a8264d7a0b1bcc955620a6a (cherry picked from commit 36b75f79611b9ed6f49dc0ec8d93f1cc945368ac) --- libs/hwui/pipeline/skia/SkiaPipeline.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.cpp b/libs/hwui/pipeline/skia/SkiaPipeline.cpp index ccc1701dcc0b3..1f9ab5a242b45 100644 --- a/libs/hwui/pipeline/skia/SkiaPipeline.cpp +++ b/libs/hwui/pipeline/skia/SkiaPipeline.cpp @@ -176,7 +176,7 @@ bool SkiaPipeline::createOrUpdateLayer(RenderNode* node, const DamageAccumulator // position Matrix4 windowTransform; damageAccumulator.computeCurrentTransform(&windowTransform); - node->getSkiaLayer()->inverseTransformInWindow = windowTransform; + node->getSkiaLayer()->inverseTransformInWindow.loadInverse(windowTransform); } else { String8 cachesOutput; mRenderThread.cacheManager().dumpMemoryUsage(cachesOutput,