gralloc: Add variable reserved region size and default metadata checks
This change adds support for reserved regions larger than one
page, as well as indicating whether a metadata value is
default or has been explicitly set through set().
This fixes VTS failures for GetDataspace and
GetLargeReservedRegion.
CRs-Fixed: 2721357
Change-Id: I4bb428d429accb471a08bd44b88c3a565836a12c
diff --git a/gralloc/QtiMapper4.h b/gralloc/QtiMapper4.h
index 7fa27b1..3c5137f 100644
--- a/gralloc/QtiMapper4.h
+++ b/gralloc/QtiMapper4.h
@@ -150,9 +150,7 @@
std::memcpy(&out[index], &bd_info.usage, sizeof(bd_info.usage));
index += sizeof(bd_info.usage);
- // Cap the reserved region size at one page (4096 bytes)
- uint64_t reserved_size = std::min(bd_info.reservedSize, (uint64_t)4096);
- std::memcpy(&out[index], &reserved_size, sizeof(reserved_size));
+ std::memcpy(&out[index], &bd_info.reservedSize, sizeof(bd_info.reservedSize));
return out;
}
@@ -266,7 +264,11 @@
{qtigralloc::MetadataType_FD, "fd from private_handle_t", true, false},
{qtigralloc::MetadataType_PrivateFlags, "Flags in private_handle_t", true, false},
{qtigralloc::MetadataType_AlignedWidthInPixels, "width in private_handle_t", true, false},
- {qtigralloc::MetadataType_AlignedHeightInPixels, "height in private_handle_t", true, false}
+ {qtigralloc::MetadataType_AlignedHeightInPixels, "height in private_handle_t", true, false},
+#ifdef METADATA_V2
+ {qtigralloc::MetadataType_StandardMetadataStatus, "Is standard metadata set", true, false},
+ {qtigralloc::MetadataType_VendorMetadataStatus, "Is vendor metadata set", true, false}
+#endif
};
};