wfdplatform.h
3.94 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
128
129
130
131
132
133
134
/* 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 wfd
* \file wfdplatform.h
*
* \brief Platform specific type definitions
*/
#ifndef _WFDPLATFORM_H_
#define _WFDPLATFORM_H_
/******************************************************************************
* local option definitions
******************************************************************************/
/**
* \def WFD_ON_KHRPLATFORM
* If WFD_ON_KHRPLATFORM is defined, WFD definitions are defined based on
* khrplatform.h. This is mutual exclusive to WFD_ON_KAL.
*/
//#define WFD_ON_KHRPLATFORM
/**
* \def WFD_ON_KAL
* If WFD_ON_KAL is defined, WFD definitions are defined based on MTK KAL.
* This is mutual exclusive to WFD_ON_KHRPLATFORM.
*/
#define WFD_ON_KAL
/******************************************************************************
* include directives
******************************************************************************/
#ifdef WFD_ON_KHRPLATFORM
#include <KHR/khrplatform.h>
#endif
#ifdef WFD_ON_KAL
#include "kal_release.h"
#endif
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef WFD_ON_KHRPLATFORM
#ifndef WFD_API_CALL
#define WFD_API_CALL KHRONOS_APICALL
#endif
#ifndef WFD_APIENTRY
#define WFD_APIENTRY KHRONOS_APIENTRY
#endif
#ifndef WFD_APIEXIT
#define WFD_APIEXIT KHRONOS_APIATTRIBUTES
#endif
typedef khronos_uint8_t WFDuint8;
typedef khronos_int32_t WFDint;
typedef khronos_uint32_t WFDuint;
typedef khronos_float_t WFDfloat;
typedef khronos_uint32_t WFDbitfield;
typedef khronos_uint32_t WFDHandle;
typedef khronos_utime_nanoseconds_t WFDtime;
#endif /* WFD_ON_KHRPLATFORM */
#ifdef WFD_ON_KAL
#ifndef WFD_API_CALL
#define WFD_API_CALL
#endif
#ifndef WFD_APIENTRY
#define WFD_APIENTRY
#endif
#ifndef WFD_APIEXIT
#define WFD_APIEXIT
#endif
typedef kal_uint8 WFDuint8;
typedef kal_int32 WFDint;
typedef kal_uint32 WFDuint;
typedef kal_uint32 WFDfloat; /**< WFDfloat is undefined and not supported in MTK implementation. */
typedef kal_uint32 WFDbitfield;
typedef kal_uint32 WFDHandle;
typedef kal_uint64 WFDtime; /**< \todo Check if we really need 64-bit time stamp. */
#endif /* WFD_ON_KAL */
#define WFD_FOREVER (0xFFFFFFFFFFFFFFFF)
typedef void* WFDEGLDisplay; /* An opaque handle to an EGLDisplay */
typedef void* WFDEGLSync; /* An opaque handle to an EGLSyncKHR */
typedef void* WFDEGLImage; /* An opaque handle to an EGLImage */
typedef WFDHandle WFDNativeStreamType;
#define WFD_INVALID_SYNC ((WFDEGLSync)0)
/**
* \todo Screen number mapping needs to be customizable and moved to custom
* folder. This is only a temp solution.
*/
#define WFD_SCREEN_LCD_0 (0)
#define WFD_SCREEN_LCD_1 (1)
#ifndef WFD_DEFAULT_SCREEN_NUMBER
#define WFD_DEFAULT_SCREEN_NUMBER WFD_SCREEN_LCD_0
#endif
#ifdef __cplusplus
}
#endif
#endif /* _WFDPLATFORM_H_ */