blob: 48e5669bbcc192858ccc3a3f23b8a387be0a6a72 [file] [log] [blame]
Naseer Ahmed29a26812012-06-14 00:56:20 -07001/*
2 * Copyright (C) 2008 The Android Open Source Project
3 * Copyright (c) 2012, Code Aurora Forum. All rights reserved.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef FB_PRIV_H
19#define FB_PRIV_H
20#include <linux/fb.h>
21
22#define NUM_FRAMEBUFFERS_MIN 2
Naseer Ahmed00fd6a52012-07-03 21:23:12 -070023#define NUM_FRAMEBUFFERS_MAX 3
Naseer Ahmed29a26812012-06-14 00:56:20 -070024
25#define NO_SURFACEFLINGER_SWAPINTERVAL
26#define COLOR_FORMAT(x) (x & 0xFFF) // Max range for colorFormats is 0 - FFF
27
Naseer Ahmed29a26812012-06-14 00:56:20 -070028struct private_handle_t;
29
Naseer Ahmed29a26812012-06-14 00:56:20 -070030enum {
31 // flag to indicate we'll post this buffer
32 PRIV_USAGE_LOCKED_FOR_POST = 0x80000000,
33 PRIV_MIN_SWAP_INTERVAL = 0,
34 PRIV_MAX_SWAP_INTERVAL = 1,
35};
36
Naseer Ahmed29a26812012-06-14 00:56:20 -070037struct private_module_t {
38 gralloc_module_t base;
Naseer Ahmed29a26812012-06-14 00:56:20 -070039 struct private_handle_t* framebuffer;
40 uint32_t fbFormat;
41 uint32_t flags;
42 uint32_t numBuffers;
43 uint32_t bufferMask;
44 pthread_mutex_t lock;
Naseer Ahmed88318162012-07-13 07:16:20 -070045 private_handle_t *currentBuffer;
Naseer Ahmed29a26812012-06-14 00:56:20 -070046 struct fb_var_screeninfo info;
47 struct fb_fix_screeninfo finfo;
48 float xdpi;
49 float ydpi;
50 float fps;
51 uint32_t swapInterval;
Naseer Ahmed29a26812012-06-14 00:56:20 -070052 uint32_t currentOffset;
Naseer Ahmed0c8b7b52012-07-20 09:06:13 -070053 bool fbPostDone;
54 pthread_mutex_t fbPostLock;
55 //Condition to inform HWC that fb_post called
56 pthread_cond_t fbPostCond;
Naseer Ahmed29a26812012-06-14 00:56:20 -070057};
58
59
60
61#endif /* FB_PRIV_H */