xref: /aosp_15_r20/external/drm_hwcomposer/tests/test_include/gralloc_priv.h (revision 0a9764fe0a15e71ebbeb85e87e10990c23aab47f)
1 // clang-format off
2 /*
3  * Copyright (C) 2017 ARM Limited. All rights reserved.
4  *
5  * Copyright (C) 2008 The Android Open Source Project
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 
20 #ifndef GRALLOC_PRIV_H_
21 #define GRALLOC_PRIV_H_
22 
23 #include <stdint.h>
24 #include <pthread.h>
25 #include <errno.h>
26 #include <linux/fb.h>
27 #include <sys/types.h>
28 #include <unistd.h>
29 #include <sys/mman.h>
30 #include <cutils/native_handle.h>
31 #include "utils/log.h"
32 
33 #if GRALLOC_USE_GRALLOC1_API
34 #include <hardware/gralloc1.h>
35 #else
36 #include <hardware/gralloc.h>
37 #endif
38 /**
39  * mali_gralloc_formats.h needs the define for GRALLOC_MODULE_API_VERSION_0_3 and
40  * GRALLOC_MODULE_API_VERSION_1_0, so include <gralloc1.h> or <gralloc.h> before
41  * including mali_gralloc_formats.h
42  **/
43 #include "mali_gralloc_formats.h"
44 #include "mali_gralloc_usages.h"
45 #include "gralloc_helper.h"
46 
47 #if defined(GRALLOC_MODULE_API_VERSION_0_3) || \
48     (defined(GRALLOC_MODULE_API_VERSION_1_0) && !defined(GRALLOC_DISABLE_PRIVATE_BUFFER_DEF))
49 
50 /*
51  * This header file contains the private buffer definition. For gralloc 0.3 it will
52  * always be exposed, but for gralloc 1.0 it will be removed at some point in the future.
53  *
54  * GRALLOC_DISABLE_PRIVATE_BUFFER_DEF is intended for DDKs to test while implementing
55  * the new private API.
56  */
57 #include "mali_gralloc_buffer.h"
58 #endif
59 
60 #if defined(GRALLOC_MODULE_API_VERSION_1_0)
61 
62 /* gralloc 1.0 supports the new private interface that abstracts
63  * the private buffer definition to a set of defined APIs.
64  */
65 #include "mali_gralloc_private_interface.h"
66 #endif
67 
68 #endif /* GRALLOC_PRIV_H_ */
69 // clang-format on
70