summaryrefslogtreecommitdiff
path: root/libs/gui/LayerState.cpp
diff options
context:
space:
mode:
author Dan Stoza <stoza@google.com> 2015-05-22 09:51:44 -0700
committer Rob Carr <racarr@google.com> 2015-10-29 00:11:28 +0000
commit7dde599bf1a0dbef7390d91c2689d506371cdbd7 (patch)
tree6580e646734b6d4c64ab1a99dc2c710d4c8e0df1 /libs/gui/LayerState.cpp
parent1fd88a560df8f58c3a798b25f64795e8306e527f (diff)
Support SurfaceView synchronization.
Add API for fetching the next frame number to be produced by a given buffer producer. Add an API to SurfaceComposer to defer execution of the current transaction until a given frame number. Together these may be used to synchronize app drawing and surface control updates. Change-Id: I8e0f4993332ac0199c768c88581a453fefbaff1d
Diffstat (limited to 'libs/gui/LayerState.cpp')
-rw-r--r--libs/gui/LayerState.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/gui/LayerState.cpp b/libs/gui/LayerState.cpp
index eafda86917..06f13e8b2a 100644
--- a/libs/gui/LayerState.cpp
+++ b/libs/gui/LayerState.cpp
@@ -38,6 +38,8 @@ status_t layer_state_t::write(Parcel& output) const
*reinterpret_cast<layer_state_t::matrix22_t *>(
output.writeInplace(sizeof(layer_state_t::matrix22_t))) = matrix;
output.write(crop);
+ output.writeStrongBinder(handle);
+ output.writeUint64(frameNumber);
output.write(transparentRegion);
return NO_ERROR;
}
@@ -62,6 +64,8 @@ status_t layer_state_t::read(const Parcel& input)
return BAD_VALUE;
}
input.read(crop);
+ handle = input.readStrongBinder();
+ frameNumber = input.readUint64();
input.read(transparentRegion);
return NO_ERROR;
}