summaryrefslogtreecommitdiff
path: root/graphics/allocator/2.0/utils/gralloc1-adapter/gralloc1-adapter.h
blob: b912ef65b083f759a5e536333aef8685c1596e9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*
 * Copyright 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#ifndef ANDROID_HARDWARE_GRALLOC1_ADAPTER_H
#define ANDROID_HARDWARE_GRALLOC1_ADAPTER_H

#include <hardware/hardware.h>

__BEGIN_DECLS

#define GRALLOC1_ADAPTER_MODULE_API_VERSION_1_0 \
    HARDWARE_MODULE_API_VERSION(1, 0)

enum {
    GRALLOC1_ADAPTER_PERFORM_FIRST = 10000,

    // void getRealModuleApiVersionMinor(..., int* outMinorVersion);
    GRALLOC1_ADAPTER_PERFORM_GET_REAL_MODULE_API_VERSION_MINOR =
        GRALLOC1_ADAPTER_PERFORM_FIRST,

    // void setUsages(..., buffer_handle_t buffer,
    //                     int producerUsage,
    //                     int consumerUsage);
    GRALLOC1_ADAPTER_PERFORM_SET_USAGES =
        GRALLOC1_ADAPTER_PERFORM_FIRST + 1,

    // void getDimensions(..., buffer_handle_t buffer,
    //                         int* outWidth,
    //                         int* outHeight);
    GRALLOC1_ADAPTER_PERFORM_GET_DIMENSIONS =
        GRALLOC1_ADAPTER_PERFORM_FIRST + 2,

    // void getFormat(..., buffer_handle_t buffer, int* outFormat);
    GRALLOC1_ADAPTER_PERFORM_GET_FORMAT =
        GRALLOC1_ADAPTER_PERFORM_FIRST + 3,

    // void getProducerUsage(..., buffer_handle_t buffer, int* outUsage);
    GRALLOC1_ADAPTER_PERFORM_GET_PRODUCER_USAGE =
        GRALLOC1_ADAPTER_PERFORM_FIRST + 4,

    // void getConsumerUsage(..., buffer_handle_t buffer, int* outUsage);
    GRALLOC1_ADAPTER_PERFORM_GET_CONSUMER_USAGE =
        GRALLOC1_ADAPTER_PERFORM_FIRST + 5,

    // void getBackingStore(..., buffer_handle_t buffer,
    //                           uint64_t* outBackingStore);
    GRALLOC1_ADAPTER_PERFORM_GET_BACKING_STORE =
        GRALLOC1_ADAPTER_PERFORM_FIRST + 6,

    // void getNumFlexPlanes(..., buffer_handle_t buffer,
    //                            int* outNumFlexPlanes);
    GRALLOC1_ADAPTER_PERFORM_GET_NUM_FLEX_PLANES =
        GRALLOC1_ADAPTER_PERFORM_FIRST + 7,

    // void getStride(..., buffer_handle_t buffer, int* outStride);
    GRALLOC1_ADAPTER_PERFORM_GET_STRIDE =
        GRALLOC1_ADAPTER_PERFORM_FIRST + 8,

    // void lockFlex(..., buffer_handle_t buffer,
    //                    int producerUsage,
    //                    int consumerUsage,
    //                    int left,
    //                    int top,
    //                    int width,
    //                    int height,
    //                    android_flex_layout* outLayout,
    //                    int acquireFence);
    GRALLOC1_ADAPTER_PERFORM_LOCK_FLEX =
        GRALLOC1_ADAPTER_PERFORM_FIRST + 9,
};

int gralloc1_adapter_device_open(const struct hw_module_t* module,
        const char* id, struct hw_device_t** device);

__END_DECLS

#endif /* ANDROID_HARDWARE_GRALLOC1_ADAPTER_H */