Merge "Reduce transaction to sf when creating surface"

This commit is contained in:
Riddle Hsu
2023-01-09 14:44:33 +00:00
committed by Android (Google) Code Review
2 changed files with 5 additions and 16 deletions

View File

@@ -329,8 +329,8 @@ class WindowStateAnimator {
mSurfaceController = new WindowSurfaceController(attrs.getTitle().toString(), format,
flags, this, attrs.type);
mSurfaceController.setColorSpaceAgnostic((attrs.privateFlags
& WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC) != 0);
mSurfaceController.setColorSpaceAgnostic(w.getPendingTransaction(),
(attrs.privateFlags & LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC) != 0);
w.setHasSurface(true);
// The surface instance is changed. Make sure the input info can be applied to the
@@ -527,7 +527,7 @@ class WindowStateAnimator {
if (mSurfaceController == null) {
return;
}
mSurfaceController.setColorSpaceAgnostic(agnostic);
mSurfaceController.setColorSpaceAgnostic(mWin.getPendingTransaction(), agnostic);
}
/**

View File

@@ -236,24 +236,13 @@ class WindowSurfaceController {
}
}
void setColorSpaceAgnostic(boolean agnostic) {
void setColorSpaceAgnostic(SurfaceControl.Transaction t, boolean agnostic) {
ProtoLog.i(WM_SHOW_TRANSACTIONS, "SURFACE isColorSpaceAgnostic=%b: %s", agnostic, title);
if (mSurfaceControl == null) {
return;
}
if (SHOW_LIGHT_TRANSACTIONS) {
Slog.i(TAG, ">>> OPEN TRANSACTION setColorSpaceAgnosticLocked");
}
mService.openSurfaceTransaction();
try {
getGlobalTransaction().setColorSpaceAgnostic(mSurfaceControl, agnostic);
} finally {
mService.closeSurfaceTransaction("setColorSpaceAgnostic");
if (SHOW_LIGHT_TRANSACTIONS) {
Slog.i(TAG, "<<< CLOSE TRANSACTION setColorSpaceAgnosticLocked");
}
}
t.setColorSpaceAgnostic(mSurfaceControl, agnostic);
}
boolean showRobustly(SurfaceControl.Transaction t) {