summaryrefslogtreecommitdiff
path: root/gralloc/QtiMapper.h
diff options
context:
space:
mode:
authorNaseer Ahmed <naseer@codeaurora.org>2018-03-08 16:54:28 -0500
committerNaseer Ahmed <naseer@codeaurora.org>2018-03-19 14:23:51 -0400
commit1af9fe4f0adee856f5e2527700d96baeb948db8a (patch)
treed95c2ed851b4b2285c46ee3c5a30ceb0ab81fca8 /gralloc/QtiMapper.h
parent04712089d5b02ec40d5d5fb14b2024f8584d8010 (diff)
downloaddisplay-1af9fe4f0adee856f5e2527700d96baeb948db8a.tar.gz
gralloc: Implement IMapper::2.1
Implements the new IMapper v2.1 APIs Passes VTS for IMapper v2.1 Change-Id: I9762cd056a296c522ab3446408c3c4c5434b3dc4
Diffstat (limited to 'gralloc/QtiMapper.h')
-rw-r--r--gralloc/QtiMapper.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/gralloc/QtiMapper.h b/gralloc/QtiMapper.h
index 218f0749..e39ce8ba 100644
--- a/gralloc/QtiMapper.h
+++ b/gralloc/QtiMapper.h
@@ -44,9 +44,10 @@ namespace implementation {
using ::android::hardware::Return;
using ::android::hardware::Void;
-using ::android::hardware::graphics::mapper::V2_0::Error;
using ::android::hardware::graphics::mapper::V2_0::IMapper;
+using ::android::hardware::graphics::mapper::V2_0::Error;
using ::android::hardware::graphics::mapper::V2_0::YCbCrLayout;
+using ::android::hardware::graphics::common::V1_1::PixelFormat;
using ::android::hardware::hidl_array;
using ::android::hardware::hidl_handle;
using ::android::hardware::hidl_memory;
@@ -57,11 +58,18 @@ using ::android::hidl::base::V1_0::IBase;
using ::android::sp;
using gralloc::BufferManager;
-class QtiMapper : public IMapper {
+using IMapper_2_1 = android::hardware::graphics::mapper::V2_1::IMapper;
+using BufferDescriptorInfo_2_0 =
+android::hardware::graphics::mapper::V2_0::IMapper::BufferDescriptorInfo;
+using BufferDescriptorInfo_2_1 =
+android::hardware::graphics::mapper::V2_1::IMapper::BufferDescriptorInfo;
+using IMapperBufferDescriptor = android::hardware::graphics::mapper::V2_0::BufferDescriptor;
+
+class QtiMapper : public IMapper_2_1 {
public:
QtiMapper();
// Methods from ::android::hardware::graphics::mapper::V2_0::IMapper follow.
- Return<void> createDescriptor(const IMapper::BufferDescriptorInfo &descriptor_info,
+ Return<void> createDescriptor(const BufferDescriptorInfo_2_0 &descriptor_info,
createDescriptor_cb hidl_cb) override;
Return<void> importBuffer(const hidl_handle &raw_handle, importBuffer_cb hidl_cb) override;
Return<Error> freeBuffer(void *buffer) override;
@@ -71,6 +79,13 @@ class QtiMapper : public IMapper {
const hidl_handle &acquire_fence, lockYCbCr_cb hidl_cb) override;
Return<void> unlock(void *buffer, unlock_cb hidl_cb) override;
+ // Methods from ::android::hardware::graphics::mapper::V2_1::IMapper follow.
+ Return<Error> validateBufferSize(void* buffer,
+ const BufferDescriptorInfo_2_1& descriptorInfo,
+ uint32_t stride) override;
+ Return<void> getTransportSize(void* buffer, IMapper_2_1::getTransportSize_cb hidl_cb) override;
+ Return<void> createDescriptor_2_1(const BufferDescriptorInfo_2_1& descriptorInfo,
+ createDescriptor_2_1_cb _hidl_cb) override;
#ifdef ENABLE_QTI_MAPPER_EXTENSION
Return<void> getMapSecureBufferFlag(void *buffer, getMapSecureBufferFlag_cb _hidl_cb) override;
Return<void> getInterlacedFlag(void *buffer, getInterlacedFlag_cb _hidl_cb) override;
@@ -86,13 +101,15 @@ class QtiMapper : public IMapper {
private:
BufferManager *buf_mgr_ = nullptr;
+ Error CreateDescriptor(const BufferDescriptorInfo_2_1& descriptor_info,
+ IMapperBufferDescriptor * descriptor);
bool ValidDescriptor(const IMapper::BufferDescriptorInfo &bd);
bool GetFenceFd(const hidl_handle &fence_handle, int *outFenceFd);
void WaitFenceFd(int fence_fd);
Error LockBuffer(void *buffer, uint64_t usage, const hidl_handle &acquire_fence);
};
-extern "C" IMapper *HIDL_FETCH_IMapper(const char *name);
+extern "C" IMapper_2_1 *HIDL_FETCH_IMapper(const char *name);
} // namespace implementation
} // namespace V1_0
} // namespace mapper