summaryrefslogtreecommitdiff
path: root/gralloc4/src/hidl_common/MapperMetadata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gralloc4/src/hidl_common/MapperMetadata.cpp')
-rw-r--r--gralloc4/src/hidl_common/MapperMetadata.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/gralloc4/src/hidl_common/MapperMetadata.cpp b/gralloc4/src/hidl_common/MapperMetadata.cpp
index fb79930..cb0a820 100644
--- a/gralloc4/src/hidl_common/MapperMetadata.cpp
+++ b/gralloc4/src/hidl_common/MapperMetadata.cpp
@@ -286,8 +286,7 @@ static std::vector<std::vector<PlaneLayoutComponent>> plane_layout_components_fr
static android::status_t get_plane_layouts(const private_handle_t *handle, std::vector<PlaneLayout> *layouts)
{
const int num_planes = get_num_planes(handle);
- uint32_t base_format = handle->alloc_format & MALI_GRALLOC_INTFMT_FMT_MASK;
- int32_t format_index = get_format_index(base_format);
+ int32_t format_index = get_format_index(handle->alloc_format & MALI_GRALLOC_INTFMT_FMT_MASK);
if (format_index < 0)
{
MALI_GRALLOC_LOGE("Negative format index in get_plane_layouts");
@@ -305,15 +304,10 @@ static android::status_t get_plane_layouts(const private_handle_t *handle, std::
int64_t sample_increment_in_bits = format_info.bpp[plane_index];
int64_t offset = handle->plane_info[plane_index].offset;
- static bool warn_multifd = true;
- if (warn_multifd) {
- uint8_t fd_count = get_exynos_fd_count(base_format);
- if (fd_count != 1) {
- warn_multifd = false;
- MALI_GRALLOC_LOGW("Offsets in plane layouts of multi-fd format (%s %" PRIu64
- ") are not reliable. This can lead to image corruption.",
- format_name(base_format), handle->alloc_format);
- }
+ // TODO(b/182885532): Allocate the complete buffer contiguously
+ if (handle->plane_info[plane_index].fd_idx == plane_index)
+ {
+ offset = (int64_t)handle->bases[plane_index] - handle->bases[0];
}
PlaneLayout layout = {.offsetInBytes = offset,