libui: Standardize getting a mat4 from a Transform
Two places in SurfaceFlinger where making this conversion. This
eliminates duplicate code.
Test: atest libsurfaceflinger_unittest
Bug: 121291683
Change-Id: I6cba24b037b775cf31468429a1169605bbe3f9fd
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 5b11c4f..427f5de 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -3282,17 +3282,7 @@
clientCompositionDisplay.physicalDisplay = displayState.scissor;
clientCompositionDisplay.clip = displayState.scissor;
const ui::Transform& displayTransform = displayState.transform;
- mat4 m;
- m[0][0] = displayTransform[0][0];
- m[0][1] = displayTransform[0][1];
- m[0][3] = displayTransform[0][2];
- m[1][0] = displayTransform[1][0];
- m[1][1] = displayTransform[1][1];
- m[1][3] = displayTransform[1][2];
- m[3][0] = displayTransform[2][0];
- m[3][1] = displayTransform[2][1];
- m[3][3] = displayTransform[2][2];
- clientCompositionDisplay.globalTransform = m;
+ clientCompositionDisplay.globalTransform = displayTransform.asMatrix4();
const auto* profile = display->getDisplayColorProfile();
Dataspace outputDataspace = Dataspace::UNKNOWN;
@@ -5563,18 +5553,7 @@
// buffer bounds.
clientCompositionDisplay.physicalDisplay = Rect(reqWidth, reqHeight);
ui::Transform transform = renderArea.getTransform();
- mat4 m;
- m[0][0] = transform[0][0];
- m[0][1] = transform[0][1];
- m[0][3] = transform[0][2];
- m[1][0] = transform[1][0];
- m[1][1] = transform[1][1];
- m[1][3] = transform[1][2];
- m[3][0] = transform[2][0];
- m[3][1] = transform[2][1];
- m[3][3] = transform[2][2];
-
- clientCompositionDisplay.globalTransform = m;
+ clientCompositionDisplay.globalTransform = transform.asMatrix4();
mat4 rotMatrix;
// Displacement for repositioning the clipping rectangle after rotating it
// with the rotation hint.