blob: b3333123f77436f20c3a39981f56583746410dac [file] [log] [blame]
Tharaga Balachandranf7e62a32019-06-06 11:33:29 -04001/*
2 * Copyright (c) 2019 The Linux Foundation. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above
10 * copyright notice, this list of conditions and the following
11 * disclaimer in the documentation and/or other materials provided
12 * with the distribution.
13 * * Neither the name of The Linux Foundation nor the names of its
14 * contributors may be used to endorse or promote products derived
15 * from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30#ifndef __QTIMAPPEREXTENSIONS_H__
31#define __QTIMAPPEREXTENSIONS_H__
32
33#include <hidl/MQDescriptor.h>
34#include <hidl/Status.h>
Ashish Kumar25435772019-08-06 16:15:56 +053035#include <vendor/qti/hardware/display/mapperextensions/1.1/IQtiMapperExtensions.h>
Tharaga Balachandranf7e62a32019-06-06 11:33:29 -040036
37#include "gr_buf_mgr.h"
38namespace vendor {
39namespace qti {
40namespace hardware {
41namespace display {
42namespace mapperextensions {
Ashish Kumar25435772019-08-06 16:15:56 +053043namespace V1_1 {
Tharaga Balachandranf7e62a32019-06-06 11:33:29 -040044namespace implementation {
45
46using ::android::sp;
47using ::android::hardware::hidl_array;
48using ::android::hardware::hidl_handle;
49using ::android::hardware::hidl_memory;
50using ::android::hardware::hidl_string;
51using ::android::hardware::hidl_vec;
52using ::android::hardware::Return;
53using ::android::hardware::Void;
54using ::android::hardware::graphics::common::V1_1::PixelFormat;
55using ::android::hardware::graphics::mapper::V2_0::IMapper;
56using ::android::hidl::base::V1_0::DebugInfo;
57using ::android::hidl::base::V1_0::IBase;
58using gralloc::BufferManager;
Ashish Kumar25435772019-08-06 16:15:56 +053059using ::vendor::qti::hardware::display::mapperextensions::V1_1::IQtiMapperExtensions;
60using ::vendor::qti::hardware::display::mapperextensions::V1_0::Error;
61using ::vendor::qti::hardware::display::mapperextensions::V1_0::PlaneLayout;
62using ::vendor::qti::hardware::display::mapperextensions::V1_0::YCbCrLayout;
Tharaga Balachandranf7e62a32019-06-06 11:33:29 -040063
64class QtiMapperExtensions : public IQtiMapperExtensions {
65 public:
66 QtiMapperExtensions();
67 Return<void> getMapSecureBufferFlag(void *buffer, getMapSecureBufferFlag_cb _hidl_cb) override;
68 Return<void> getInterlacedFlag(void *buffer, getInterlacedFlag_cb _hidl_cb) override;
69 Return<void> getCustomDimensions(void *buffer, getCustomDimensions_cb _hidl_cb) override;
70 Return<void> getRgbDataAddress(void *buffer, getRgbDataAddress_cb _hidl_cb) override;
71 Return<void> calculateBufferAttributes(int32_t width, int32_t height, int32_t format,
72 uint64_t usage,
73 calculateBufferAttributes_cb _hidl_cb) override;
74 Return<void> getCustomFormatFlags(int32_t format, uint64_t usage,
75 getCustomFormatFlags_cb _hidl_cb) override;
76 Return<void> getColorSpace(void *buffer, getColorSpace_cb _hidl_cb) override;
77 Return<void> getYuvPlaneInfo(void *buffer, getYuvPlaneInfo_cb _hidl_cb) override;
78 Return<Error> setSingleBufferMode(void *buffer, bool enable) override;
79 Return<void> getFd(void *buffer, getFd_cb _hidl_cb) override;
80 Return<void> getWidth(void *buffer, getWidth_cb _hidl_cb) override;
81 Return<void> getHeight(void *buffer, getHeight_cb _hidl_cb) override;
82 Return<void> getOffset(void *buffer, getOffset_cb _hidl_cb) override;
83 Return<void> getSize(void *buffer, getSize_cb _hidl_cb) override;
84 Return<void> getFormat(void *buffer, getFormat_cb _hidl_cb) override;
85 Return<void> getPrivateFlags(void *buffer, getPrivateFlags_cb _hidl_cb) override;
86 Return<void> getUnalignedWidth(void *buffer, getUnalignedWidth_cb _hidl_cb) override;
87 Return<void> getUnalignedHeight(void *buffer, getUnalignedHeight_cb _hidl_cb) override;
88 Return<void> getLayerCount(void *buffer, getLayerCount_cb _hidl_cb) override;
89 Return<void> getId(void *buffer, getId_cb _hidl_cb) override;
90 Return<void> getUsageFlags(void *buffer, getUsageFlags_cb _hidl_cb) override;
91 Return<void> getSurfaceMetadata(void *buffer, getSurfaceMetadata_cb _hidl_cb) override;
Arun Kumar K.Rc38ad282019-06-18 13:13:25 +053092 Return<void> getFormatLayout(int32_t format, uint64_t usage, int32_t flags, int32_t width,
93 int32_t height, getFormatLayout_cb hidl_cb) override;
Ashish Kumar25435772019-08-06 16:15:56 +053094 Return<Error> getSurfaceMetadata_V1(void *buffer, void *metadata) override;
Tharaga Balachandranf7e62a32019-06-06 11:33:29 -040095};
96
97} // namespace implementation
Ashish Kumar25435772019-08-06 16:15:56 +053098} // namespace V1_1
Tharaga Balachandranf7e62a32019-06-06 11:33:29 -040099} // namespace mapperextensions
100} // namespace display
101} // namespace hardware
102} // namespace qti
103} // namespace vendor
104
105#endif // __QTIMAPPEREXTENSIONS_H__