gralloc: Add support for IMapper/IAllocator 4.0
* Add QtiMapper and QtiAllocator 4.0
* Implement IMapper 4.0 APIs: get, set,
getFromBufferDescriptorInfo, flushLockedBuffer,
rereadLockedBuffer, listSupportedMetadataTypes,
dumpBuffer, dumpBuffers, and getReservedRegion
CRs-Fixed: 2633272
Change-Id: Ica42e485e426b366ffb41f30f1ea2cf395901356
Signed-off-by: Baldev Sahu <bsahu@codeaurora.org>
diff --git a/gralloc/gr_buf_mgr.h b/gralloc/gr_buf_mgr.h
index 1ff5455..e2daa12 100644
--- a/gralloc/gr_buf_mgr.h
+++ b/gralloc/gr_buf_mgr.h
@@ -21,20 +21,20 @@
#define __GR_BUF_MGR_H__
#include <pthread.h>
+
#include <mutex>
#include <unordered_map>
#include <unordered_set>
#include <utility>
+#include <vector>
#include "gr_allocator.h"
-#include "gr_utils.h"
#include "gr_buf_descriptor.h"
+#include "gr_utils.h"
#include "gralloc_priv.h"
namespace gralloc {
-
-using android::hardware::graphics::mapper::V3_0::Error;
-
+using gralloc::Error;
class BufferManager {
public:
~BufferManager();
@@ -49,6 +49,13 @@
Error ValidateBufferSize(private_handle_t const *hnd, BufferInfo info);
Error IsBufferImported(const private_handle_t *hnd);
static BufferManager *GetInstance();
+ Error GetMetadata(private_handle_t *handle, int64_t metadatatype_value, hidl_vec<uint8_t> *out);
+ Error SetMetadata(private_handle_t *handle, int64_t metadatatype_value, hidl_vec<uint8_t> in);
+ Error GetReservedRegion(private_handle_t *handle, void **reserved_region,
+ uint64_t *reserved_region_size);
+ Error FlushBuffer(const private_handle_t *handle);
+ Error RereadBuffer(const private_handle_t *handle);
+ Error GetAllHandles(std::vector<const private_handle_t *> *out_handle_list);
private:
BufferManager();