Merge "Reduce transaction to sf when creating surface"
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user