wfcplatform.h
3.83 KB
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/* Copyright (c) 2009 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
* "Materials"), to deal in the Materials without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Materials, and to
* permit persons to whom the Materials are furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
*/
/*! \ingroup wfc
* \file wfcplatform.h
*
* \brief Platform specific type definitions
*/
#ifndef _WFCPLATFORM_H_
#define _WFCPLATFORM_H_
/******************************************************************************
* local option definitions
******************************************************************************/
/**
* \def WFC_ON_KHRPLATFORM
* If WFC_ON_KHRPLATFORM is defined, WFC definitions are defined based on
* khrplatform.h. This is mutual exclusive to WFC_ON_KAL.
*/
//#define WFC_ON_KHRPLATFORM
/**
* \def WFC_ON_KAL
* If WFC_ON_KAL is defined, WFC definitions are defined based on MTK KAL.
* This is mutual exclusive to WFC_ON_KHRPLATFORM.
*/
#define WFC_ON_KAL
/******************************************************************************
* include directives
******************************************************************************/
#ifdef WFC_ON_KHRPLATFORM
#include <KHR/khrplatform.h>
#endif
#include <egl.h>
/*
* Directly replace khrplatform.h with kal_release.h
*/
#ifdef WFC_ON_KAL
#include "kal_release.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
/******************************************************************************
* macro definitions
******************************************************************************/
#ifdef WFC_ON_KHRPLATFORM
#ifndef WFC_API_CALL
#define WFC_API_CALL KHRONOS_APICALL
#endif
#ifndef WFC_APIENTRY
#define WFC_APIENTRY KHRONOS_APIENTRY
#endif
#ifndef WFC_APIEXIT
#define WFC_APIEXIT KHRONOS_APIATTRIBUTES
#endif
#endif /* WFC_ON_KHRPLATFORM */
#ifdef WFC_ON_KAL
#ifndef WFC_API_CALL
#define WFC_API_CALL
#endif
#ifndef WFC_APIENTRY
#define WFC_APIENTRY
#endif
#ifndef WFC_APIEXIT
#define WFC_APIEXIT
#endif
#endif /* WFC_ON_KAL */
/**
* \todo Screen number mapping needs to be customizable and moved to custom
* folder. This is only a temp solution.
*/
#define WFC_SCREEN_LCD_0 (0)
#define WFC_SCREEN_LCD_1 (1)
#ifndef WFC_DEFAULT_SCREEN_NUMBER
#define WFC_DEFAULT_SCREEN_NUMBER WFC_SCREEN_LCD_0
#endif
#ifdef WFC_ON_KHRPLATFORM
typedef khronos_int32_t WFCint;
typedef khronos_float_t WFCfloat;
typedef khronos_uint32_t WFCbitfield;
typedef khronos_uint32_t WFCHandle;
#endif /* WFC_ON_KHRPLATFORM */
#ifdef WFC_ON_KAL
typedef kal_int32 WFCint;
typedef kal_uint32 WFCuint;
typedef kal_uint32 WFCfloat; /**< WFCfloat is undefined in MTK platform. */
typedef kal_uint32 WFCbitfield;
typedef kal_uint32 WFCHandle;
#endif /* WFC_ON_KAL */
typedef EGLDisplay WFCEGLDisplay;
typedef void* WFCEGLSync; /* An opaque handle to an EGLSyncKHR */
typedef WFCHandle WFCNativeStreamType;
#ifdef __cplusplus
}
#endif
#endif /* _WFCPLATFORM_H_ */