summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeiyong Lin <lpy@google.com>2019-12-02 14:49:41 -0800
committerandroid-build-merger <android-build-merger@google.com>2019-12-02 14:49:41 -0800
commit425b39f877e1e3ad6df3984fcccb706e312a4bdf (patch)
tree9789ad1fd27d471f812adc8c6e5c9d0229f0d85f
parent4fffa4a9d8f03648c791ec55456ac114b9a3e4af (diff)
parent7fcc448a64981be16e821b430e311638c020e523 (diff)
Merge "Fix bad command length calculation" am: b44c4d4cd3 am: 97a0f117e1
am: 7fcc448a64 Change-Id: Id84ccd01a2aff67986796b96fa423e2cc7ccea8c
-rw-r--r--graphics/composer/2.3/utils/command-buffer/include/composer-command-buffer/2.3/ComposerCommandBuffer.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/graphics/composer/2.3/utils/command-buffer/include/composer-command-buffer/2.3/ComposerCommandBuffer.h b/graphics/composer/2.3/utils/command-buffer/include/composer-command-buffer/2.3/ComposerCommandBuffer.h
index 162915e9a0..3dfda19bba 100644
--- a/graphics/composer/2.3/utils/command-buffer/include/composer-command-buffer/2.3/ComposerCommandBuffer.h
+++ b/graphics/composer/2.3/utils/command-buffer/include/composer-command-buffer/2.3/ComposerCommandBuffer.h
@@ -79,6 +79,7 @@ class CommandWriterBase : public V2_2::CommandWriterBase {
void setLayerPerFrameMetadataBlobs(
const hidl_vec<IComposerClient::PerFrameMetadataBlob>& metadata) {
+ // in units of uint32_t's
size_t commandLength = 0;
if (metadata.size() > std::numeric_limits<uint32_t>::max()) {
@@ -86,12 +87,12 @@ class CommandWriterBase : public V2_2::CommandWriterBase {
return;
}
- // number of blobs
- commandLength += metadata.size();
+ // space for numElements
+ commandLength += 1;
for (auto metadataBlob : metadata) {
- commandLength += sizeof(int32_t); // key of metadata blob
- commandLength += 1; // size information of metadata blob
+ commandLength += 1; // key of metadata blob
+ commandLength += 1; // size information of metadata blob
// metadata content size
size_t metadataSize = metadataBlob.blob.size() / sizeof(uint32_t);