summaryrefslogtreecommitdiffstats
path: root/make/stub_includes/egl/EGL/eglplatform.h
blob: 5e4fa73f310dcbe34185815c96f85feff339fcaf (plain)
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
/*
 * Copyright (c) 2007 NVIDIA Corporation.  All rights reserved.
 *
 * NVIDIA Corporation and its licensors retain all intellectual property
 * and proprietary rights in and to this software, related documentation
 * and any modifications thereto.  Any use, reproduction, disclosure or
 * distribution of this software and related documentation without an express
 * license agreement from NVIDIA Corporation is strictly prohibited.
 */

#ifndef EGLPLATFORM_H
#define EGLPLATFORM_H

/*
** eglplatform.h is platform dependent. It defines:
**
**     - Native types
**     - EGL and native handle values
**
** EGLNativeDisplayType, EGLNativeWindowType and EGLNativePixmapType are to be
** replaced with corresponding types of the native window system in egl.h.
**
** EGL and native handle values must match their types.
*/

#ifdef __cplusplus
extern "C" {
#endif

#if defined(_WIN32) && !defined(__GNUC__)
    typedef signed   __int32 int32_t;
    typedef unsigned __int32 uint32_t;
    typedef signed   __int64 int64_t;
    typedef unsigned __int64 uint64_t;
#else
    // Building on obsolete platform on SPARC right now
    #ifdef __sparc
        #include <inttypes.h>
    #else
        #include <stdint.h>
    #endif
#endif

// Define storage class specifiers
#ifndef APIENTRY
#define APIENTRY
#endif

#ifndef EGLAPIENTRY
#define EGLAPIENTRY 
#endif
#ifndef EGLAPIENTRYP
#define EGLAPIENTRYP EGLAPIENTRY *
#endif

#define EGLAPI

// Define native window system types
typedef int   EGLNativeDisplayType;
typedef void* EGLNativePointerType;
typedef void* EGLNativeWindowType;
typedef void* EGLNativePixmapType;

// Define 64-bit integer extensions
typedef int64_t  EGLint64NV;
typedef uint64_t EGLuint64NV;

// Define the pre-EGL 1.3 Native handle types for backwards compatibility
typedef EGLNativeDisplayType NativeDisplayType;
typedef EGLNativePixmapType  NativePixmapType;
typedef EGLNativeWindowType  NativeWindowType;

#ifdef __cplusplus
}
#endif

#endif /* EGLPLATFORM_H */