summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShashank Sharma <shawshanks@google.com>2023-08-30 21:57:03 +0000
committerShashank Sharma <shawshanks@google.com>2023-09-15 18:22:21 +0000
commit03783e0c8f23f8222793979c3624482250b20f2c (patch)
treecb22389bf1ec9f2d8fd6f037ff83c7556bb83720
parentfbbe8bdff14790c710ff1e76ce4cf6f4794cd73f (diff)
downloadgchips-03783e0c8f23f8222793979c3624482250b20f2c.tar.gz
gralloc4: Implement new metadata to get dma buf fds
This will allow us to decouple gralloc config interface from gralloc4 private_handle_t. Bug: 176048725 Test: Boots to homescreen Change-Id: Iaed7e94b8f0907787fb3f089850801c2bb427b65 Signed-off-by: Shashank Sharma <shawshanks@google.com>
-rw-r--r--gralloc4/src/hidl_common/MapperMetadata.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/gralloc4/src/hidl_common/MapperMetadata.cpp b/gralloc4/src/hidl_common/MapperMetadata.cpp
index d748772..affcd4a 100644
--- a/gralloc4/src/hidl_common/MapperMetadata.cpp
+++ b/gralloc4/src/hidl_common/MapperMetadata.cpp
@@ -584,6 +584,15 @@ void get_metadata(const private_handle_t *handle, const IMapper::MetadataType &m
}
break;
}
+ case ::pixel::graphics::MetadataType::PLANE_DMA_BUFS:
+ {
+ std::vector<int> plane_fds(MAX_BUFFER_FDS, -1);
+ for (int i = 0; i < get_num_planes(handle); i++) {
+ plane_fds[i] = handle->fds[handle->plane_info[i].fd_idx];
+ }
+ vec = ::pixel::graphics::util::encodeVector<int>(plane_fds);
+ break;
+ }
default:
err = android::BAD_VALUE;
}