blob: 3a54c18eeb8f8b7c9915ca99ba7f4dd2c29a72e7 [file] [log] [blame]
John Stultz16100f62017-05-03 11:12:18 -07001/*
John Stultz18814f62018-02-22 16:02:49 -08002 * Copyright (C) 2017 ARM Limited. All rights reserved.
John Stultz16100f62017-05-03 11:12:18 -07003 *
4 * Copyright (C) 2008 The Android Open Source Project
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19#ifndef GRALLOC_PRIV_H_
20#define GRALLOC_PRIV_H_
21
22#include <stdint.h>
23#include <pthread.h>
24#include <errno.h>
25#include <linux/fb.h>
John Stultz16100f62017-05-03 11:12:18 -070026#include <sys/types.h>
27#include <unistd.h>
28#include <sys/mman.h>
John Stultz16100f62017-05-03 11:12:18 -070029#include <cutils/native_handle.h>
John Stultz16100f62017-05-03 11:12:18 -070030#include <utils/Log.h>
31
John Stultz18814f62018-02-22 16:02:49 -080032#if GRALLOC_USE_GRALLOC1_API
33#include <hardware/gralloc1.h>
34#else
35#include <hardware/gralloc.h>
36#endif
37/**
38 * mali_gralloc_formats.h needs the define for GRALLOC_MODULE_API_VERSION_0_3 and
39 * GRALLOC_MODULE_API_VERSION_1_0, so include <gralloc1.h> or <gralloc.h> before
40 * including mali_gralloc_formats.h
41 **/
John Stultz16100f62017-05-03 11:12:18 -070042#include "mali_gralloc_formats.h"
John Stultz18814f62018-02-22 16:02:49 -080043#include "mali_gralloc_usages.h"
John Stultz16100f62017-05-03 11:12:18 -070044#include "gralloc_helper.h"
45
John Stultz18814f62018-02-22 16:02:49 -080046#if defined(GRALLOC_MODULE_API_VERSION_0_3) || \
47 (defined(GRALLOC_MODULE_API_VERSION_1_0) && !defined(GRALLOC_DISABLE_PRIVATE_BUFFER_DEF))
John Stultz16100f62017-05-03 11:12:18 -070048
John Stultz18814f62018-02-22 16:02:49 -080049/*
50 * This header file contains the private buffer definition. For gralloc 0.3 it will
51 * always be exposed, but for gralloc 1.0 it will be removed at some point in the future.
52 *
53 * GRALLOC_DISABLE_PRIVATE_BUFFER_DEF is intended for DDKs to test while implementing
54 * the new private API.
John Stultz16100f62017-05-03 11:12:18 -070055 */
John Stultz18814f62018-02-22 16:02:49 -080056#include "mali_gralloc_buffer.h"
57#endif
John Stultz16100f62017-05-03 11:12:18 -070058
John Stultz18814f62018-02-22 16:02:49 -080059#if defined(GRALLOC_MODULE_API_VERSION_1_0)
John Stultz16100f62017-05-03 11:12:18 -070060
John Stultz18814f62018-02-22 16:02:49 -080061/* gralloc 1.0 supports the new private interface that abstracts
62 * the private buffer definition to a set of defined APIs.
John Stultz16100f62017-05-03 11:12:18 -070063 */
John Stultz18814f62018-02-22 16:02:49 -080064#include "mali_gralloc_private_interface.h"
John Stultz16100f62017-05-03 11:12:18 -070065#endif
66
67#endif /* GRALLOC_PRIV_H_ */