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 36b75f7961)
This commit is contained in:
Stan Iliev
2019-05-22 14:43:44 -04:00
parent f9d0763501
commit da7c19c6d6

View File

@@ -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,