diff options
author | Shashank Sharma <shawshanks@google.com> | 2023-08-30 21:57:03 +0000 |
---|---|---|
committer | Shashank Sharma <shawshanks@google.com> | 2023-09-15 18:22:21 +0000 |
commit | 03783e0c8f23f8222793979c3624482250b20f2c (patch) | |
tree | cb22389bf1ec9f2d8fd6f037ff83c7556bb83720 | |
parent | fbbe8bdff14790c710ff1e76ce4cf6f4794cd73f (diff) | |
download | gchips-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.cpp | 9 |
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; } |