Merge "SurfaceView: Ensure we don't fill unused BLAST Transaction." into rvc-dev am: 0e22967d6c am: be835665a3 am: bafdac3cb6
Change-Id: I3b5a9309130ba5d5352735a6a5d9314b50ed6b64
This commit is contained in:
@@ -1241,7 +1241,7 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
|
||||
private void applySurfaceTransforms(SurfaceControl surface, SurfaceControl.Transaction t,
|
||||
Rect position, long frameNumber) {
|
||||
final ViewRootImpl viewRoot = getViewRootImpl();
|
||||
if (frameNumber > 0 && viewRoot != null && !viewRoot.useBLAST()) {
|
||||
if (frameNumber > 0 && viewRoot != null && !viewRoot.isDrawingToBLASTTransaction()) {
|
||||
t.deferTransactionUntil(surface, viewRoot.getRenderSurfaceControl(),
|
||||
frameNumber);
|
||||
}
|
||||
@@ -1258,7 +1258,7 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
|
||||
|
||||
private void setParentSpaceRectangle(Rect position, long frameNumber) {
|
||||
final ViewRootImpl viewRoot = getViewRootImpl();
|
||||
final boolean useBLAST = viewRoot.useBLAST();
|
||||
final boolean useBLAST = viewRoot.isDrawingToBLASTTransaction();
|
||||
final SurfaceControl.Transaction t = useBLAST ? viewRoot.getBLASTSyncTransaction() :
|
||||
mRtTransaction;
|
||||
|
||||
@@ -1319,7 +1319,7 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
|
||||
@Override
|
||||
public void positionLost(long frameNumber) {
|
||||
final ViewRootImpl viewRoot = getViewRootImpl();
|
||||
boolean useBLAST = viewRoot != null && viewRoot.useBLAST();
|
||||
boolean useBLAST = viewRoot != null && viewRoot.isDrawingToBLASTTransaction();
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, String.format("%d windowPositionLost, frameNr = %d",
|
||||
System.identityHashCode(this), frameNumber));
|
||||
|
||||
@@ -9610,4 +9610,12 @@ public final class ViewRootImpl implements ViewParent,
|
||||
boolean useBLAST() {
|
||||
return mUseBLASTAdapter;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if we are about to or currently processing a draw directed
|
||||
* in to a BLAST transaction.
|
||||
*/
|
||||
boolean isDrawingToBLASTTransaction() {
|
||||
return mNextReportConsumeBLAST;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user