summaryrefslogtreecommitdiffstats
path: root/make/stub_includes
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-11-04 19:45:52 +0100
committerSven Gothel <[email protected]>2010-11-04 19:45:52 +0100
commitf7212fd20236827c0fca8b5c76486e60de2db535 (patch)
tree079a81a306d7aed408a35f9ca1f9edf5b33be35b /make/stub_includes
parent297725b7559d67381ea45460f2a6e4c557ea62de (diff)
Adding patches for gluegen interoperability and adding some extensions:
- eglplatform.h: if platform not recognized, use 'void pointer' for EGLNativeDisplayType, EGLNativeWindowType and EGLNativePixmapType - egl.h: adding ifndef core extension for gluegen and eglGetProcAddress - eglext.h: adding EGL_NV_texture_rectangle, EGL_NV_system_time, EGL_NV_omx_il_sink, EGL_RMSURFACE_NV
Diffstat (limited to 'make/stub_includes')
-rw-r--r--make/stub_includes/egl/EGL/egl.h15
-rw-r--r--make/stub_includes/egl/EGL/eglext.h37
-rw-r--r--make/stub_includes/egl/EGL/eglplatform.h8
3 files changed, 51 insertions, 9 deletions
diff --git a/make/stub_includes/egl/EGL/egl.h b/make/stub_includes/egl/EGL/egl.h
index 99ea342a4..1eabe3af2 100644
--- a/make/stub_includes/egl/EGL/egl.h
+++ b/make/stub_includes/egl/EGL/egl.h
@@ -56,6 +56,8 @@ typedef void *EGLClientBuffer;
#define EGL_VERSION_1_3 1
#define EGL_VERSION_1_4 1
+#ifndef EGL_VERSION_1_X
+
/* EGL Enumerants. Bitmasks and other exceptional cases aside, most
* enums are assigned unique values starting at 0x3000.
*/
@@ -242,7 +244,10 @@ typedef void *EGLClientBuffer;
* a bug in Khronos Bugzilla against task "Registry".
*/
+#endif /* EGL_VERSION_1_X */
+#ifndef EGL_VERSION_1_X
+#define EGL_VERSION_1_X 1
/* EGL Functions */
@@ -313,14 +318,10 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface,
EGLNativePixmapType target);
-/* This is a generic function pointer type, whose name indicates it must
- * be cast to the proper type *and calling convention* before use.
- */
-typedef void (*__eglMustCastToProperFunctionPointerType)(void);
+typedef void (* EGLAPIENTRY __EGLFuncPtr)(void);
+EGLAPI __EGLFuncPtr eglGetProcAddress(const char *procname);
-/* Now, define eglGetProcAddress using the generic function ptr. type */
-EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY
- eglGetProcAddress(const char *procname);
+#endif /* EGL_VERSION_1_X */
#ifdef __cplusplus
}
diff --git a/make/stub_includes/egl/EGL/eglext.h b/make/stub_includes/egl/EGL/eglext.h
index 2f4ed84ba..36a07ae88 100644
--- a/make/stub_includes/egl/EGL/eglext.h
+++ b/make/stub_includes/egl/EGL/eglext.h
@@ -79,7 +79,7 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display
#define EGL_KHR_image 1
#define EGL_NATIVE_PIXMAP_KHR 0x30B0 /* eglCreateImageKHR target */
typedef void *EGLImageKHR;
-#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0)
+/* Manual: #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) */
#ifdef EGL_EGLEXT_PROTOTYPES
EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
@@ -284,6 +284,41 @@ typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy,
typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
#endif
+/**
+ * Added a few NVidia extensions here.
+ * FIXME: Double check if they are still 'active'
+ */
+
+/* EGL_NV_texture_rectangle (reuse analagous WGL enum) */
+#ifndef EGL_NV_texture_rectangle
+#define EGL_NV_texture_rectangle 1
+#define EGL_GL_TEXTURE_RECTANGLE_NV_KHR 0x30BB
+#define EGL_TEXTURE_RECTANGLE_NV 0x20A2
+#endif
+
+#ifndef EGL_NV_system_time
+#define EGL_NV_system_time 1
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void);
+EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void);
+#endif
+typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC)(void);
+typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC)(void);
+#endif
+
+/* EGL_NV_omx_il_sink
+ */
+#ifndef EGL_NV_omx_il_sink
+#define EGL_NV_omx_il_sink
+#define EGL_OPENMAX_IL_BIT_NV 0x0010 /* EGL_RENDERABLE_TYPE bit */
+#define EGL_SURFACE_OMX_IL_EVENT_CALLBACK_NV 0x309A /* eglCreate*Surface attribute */
+#define EGL_SURFACE_OMX_IL_EMPTY_BUFFER_DONE_CALLBACK_NV 0x309B /* eglCreate*Surface attribute */
+#define EGL_SURFACE_OMX_IL_CALLBACK_DATA_NV 0x309C /* eglCreate*Surface attribute */
+#define EGL_SURFACE_COMPONENT_HANDLE_NV 0x309D /* eglQuerySurface attribute */
+#endif
+
+#define EGL_RMSURFACE_NV 0x30EF /* eglCreateImageKHR target */
+
#ifdef __cplusplus
}
#endif
diff --git a/make/stub_includes/egl/EGL/eglplatform.h b/make/stub_includes/egl/EGL/eglplatform.h
index 6d34ab55d..ada816521 100644
--- a/make/stub_includes/egl/EGL/eglplatform.h
+++ b/make/stub_includes/egl/EGL/eglplatform.h
@@ -94,7 +94,13 @@ typedef Pixmap EGLNativePixmapType;
typedef Window EGLNativeWindowType;
#else
-#error "Platform not recognized"
+
+#warning "Info: Platform not recognized, using void pointer for EGLNativeDisplayType, EGLNativeWindowType and EGLNativePixmapType"
+
+typedef void* EGLNativeDisplayType;
+typedef void* EGLNativeWindowType;
+typedef void* EGLNativePixmapType;
+
#endif
/* EGL 1.2 types, renamed for consistency in EGL 1.3 */