blob: e771a693be5e47531fc094535d3895861a33fbdb [file] [log] [blame]
Roman Stratiienkoe3983342021-02-15 15:41:53 +02001// 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>
Roman Stratiienkod21071f2021-03-09 21:56:50 +020031#include "utils/log.h"
Roman Stratiienkoe3983342021-02-15 15:41:53 +020032
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