diff options
| author | Brian Paul <brianp@vmware.com> | 2009-02-10 16:44:02 -0700 |
|---|---|---|
| committer | Brian Paul <brianp@vmware.com> | 2009-02-10 16:44:02 -0700 |
| commit | 5340b6dff73a0a23531ce2a5f28fba8303adab6e (patch) | |
| tree | b141fc3648568dd8b941c966059e6ed32a8bd0ad /include/EGL/eglplatform.h | |
| parent | 9fd26daec24f21dbe17afcb2e2ab272667ee9a69 (diff) | |
| parent | ee4c921b65fb76998711f3c40330505cbc49a0e0 (diff) | |
Merge commit 'origin/gallium-master-merge'
This is the big merge of the gallium-0.2 branch into master.
gallium-master-merge was just the staging area for it.
Both gallium-0.2 and gallium-master-merge are considered closed now.
Conflicts:
progs/demos/Makefile
src/mesa/main/state.c
src/mesa/main/texenvprogram.c
Diffstat (limited to 'include/EGL/eglplatform.h')
| -rw-r--r-- | include/EGL/eglplatform.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h new file mode 100644 index 0000000000..02c3b94bd8 --- /dev/null +++ b/include/EGL/eglplatform.h @@ -0,0 +1,91 @@ +/* -*- mode: c; tab-width: 8; -*- */ +/* vi: set sw=4 ts=8: */ +/* Platform-specific types and definitions for egl.h */ + +#ifndef __eglplatform_h_ +#define __eglplatform_h_ + +/* Windows calling convention boilerplate */ +#if (defined(WIN32) || defined(_WIN32_WCE)) +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN /* Exclude rarely-used stuff from Windows headers */ +#endif +#include <windows.h> +#endif + +#if !defined(_WIN32_WCE) +#include <sys/types.h> +#endif + +/* Macros used in EGL function prototype declarations. + * + * EGLAPI return-type EGLAPIENTRY eglFunction(arguments); + * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments); + * + * On Windows, EGLAPIENTRY can be defined like APIENTRY. + * On most other platforms, it should be empty. + */ + +#ifndef EGLAPIENTRY +#define EGLAPIENTRY +#endif +#ifndef EGLAPIENTRYP +#define EGLAPIENTRYP EGLAPIENTRY * +#endif + +/* The types NativeDisplayType, NativeWindowType, and NativePixmapType + * are aliases of window-system-dependent types, such as X Display * or + * Windows Device Context. They must be defined in platform-specific + * code below. The EGL-prefixed versions of Native*Type are the same + * types, renamed in EGL 1.3 so all types in the API start with "EGL". + */ + +/* Unix (tentative) + #include <X headers> + typedef Display *NativeDisplayType; + - or maybe, if encoding "hostname:display.head" + typedef const char *NativeWindowType; + etc. + */ + + +#if (defined(WIN32) || defined(_WIN32_WCE)) + +/** BEGIN Added for Windows **/ +#ifndef EGLAPI +#define EGLAPI __declspec(dllexport) +#endif + +typedef long int32_t; +typedef unsigned long u_int32_t; +typedef unsigned char uint8_t; +#define snprintf _snprintf +#define strcasecmp _stricmp +#define vsnprintf _vsnprintf + +typedef HDC NativeDisplayType; +typedef HWND NativeWindowType; +typedef HBITMAP NativePixmapType; +/** END Added for Windows **/ + +#elif defined(__gnu_linux__) + +/** BEGIN Added for X (Mesa) **/ +#ifndef EGLAPI +#define EGLAPI extern +#endif + +#include <X11/Xlib.h> +typedef Display *NativeDisplayType; +typedef Window NativeWindowType; +typedef Pixmap NativePixmapType; +/** END Added for X (Mesa) **/ + +#endif + +/* EGL 1.2 types, renamed for consistency in EGL 1.3 */ +typedef NativeDisplayType EGLNativeDisplayType; +typedef NativePixmapType EGLNativePixmapType; +typedef NativeWindowType EGLNativeWindowType; + +#endif /* __eglplatform_h */ |
