1 /*
2 * Copyright (C) 2011 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 #ifndef _EGL_PROC_H
17 #define _EGL_PROC_H
18 
19 #include <EGL/egl.h>
20 #define EGL_EGLEXT_PROTOTYPES
21 #include <EGL/eglext.h>
22 
23 typedef EGLint (* eglGetError_t) ();
24 typedef EGLDisplay (* eglGetDisplay_t) (EGLNativeDisplayType);
25 typedef EGLBoolean (* eglInitialize_t) (EGLDisplay, EGLint*, EGLint*);
26 typedef EGLBoolean (* eglTerminate_t) (EGLDisplay);
27 typedef char* (* eglQueryString_t) (EGLDisplay, EGLint);
28 typedef EGLBoolean (* eglGetConfigs_t) (EGLDisplay, EGLConfig*, EGLint, EGLint*);
29 typedef EGLBoolean (* eglChooseConfig_t) (EGLDisplay, const EGLint*, EGLConfig*, EGLint, EGLint*);
30 typedef EGLBoolean (* eglGetConfigAttrib_t) (EGLDisplay, EGLConfig, EGLint, EGLint*);
31 typedef EGLSurface (* eglCreateWindowSurface_t) (EGLDisplay, EGLConfig, EGLNativeWindowType, const EGLint*);
32 typedef EGLSurface (* eglCreatePbufferSurface_t) (EGLDisplay, EGLConfig, const EGLint*);
33 typedef EGLSurface (* eglCreatePixmapSurface_t) (EGLDisplay, EGLConfig, EGLNativePixmapType, const EGLint*);
34 typedef EGLBoolean (* eglDestroySurface_t) (EGLDisplay, EGLSurface);
35 typedef EGLBoolean (* eglQuerySurface_t) (EGLDisplay, EGLSurface, EGLint, EGLint*);
36 typedef EGLBoolean (* eglBindAPI_t) (EGLenum);
37 typedef EGLenum (* eglQueryAPI_t) ();
38 typedef EGLBoolean (* eglWaitClient_t) ();
39 typedef EGLBoolean (* eglReleaseThread_t) ();
40 typedef EGLSurface (* eglCreatePbufferFromClientBuffer_t) (EGLDisplay, EGLenum, EGLClientBuffer, EGLConfig, const EGLint*);
41 typedef EGLBoolean (* eglSurfaceAttrib_t) (EGLDisplay, EGLSurface, EGLint, EGLint);
42 typedef EGLBoolean (* eglBindTexImage_t) (EGLDisplay, EGLSurface, EGLint);
43 typedef EGLBoolean (* eglReleaseTexImage_t) (EGLDisplay, EGLSurface, EGLint);
44 typedef EGLBoolean (* eglSwapInterval_t) (EGLDisplay, EGLint);
45 typedef EGLContext (* eglCreateContext_t) (EGLDisplay, EGLConfig, EGLContext, const EGLint*);
46 typedef EGLBoolean (* eglDestroyContext_t) (EGLDisplay, EGLContext);
47 typedef EGLBoolean (* eglMakeCurrent_t) (EGLDisplay, EGLSurface, EGLSurface, EGLContext);
48 typedef EGLContext (* eglGetCurrentContext_t) ();
49 typedef EGLSurface (* eglGetCurrentSurface_t) (EGLint);
50 typedef EGLDisplay (* eglGetCurrentDisplay_t) ();
51 typedef EGLBoolean (* eglQueryContext_t) (EGLDisplay, EGLContext, EGLint, EGLint*);
52 typedef EGLBoolean (* eglWaitGL_t) ();
53 typedef EGLBoolean (* eglWaitNative_t) (EGLint);
54 typedef EGLBoolean (* eglSwapBuffers_t) (EGLDisplay, EGLSurface);
55 typedef EGLBoolean (* eglCopyBuffers_t) (EGLDisplay, EGLSurface, EGLNativePixmapType);
56 typedef __eglMustCastToProperFunctionPointerType (* eglGetProcAddress_t) (const char*);
57 typedef EGLBoolean (* eglLockSurfaceKHR_t) (EGLDisplay, EGLSurface, const EGLint*);
58 typedef EGLBoolean (* eglUnlockSurfaceKHR_t) (EGLDisplay, EGLSurface);
59 typedef EGLImageKHR (* eglCreateImageKHR_t) (EGLDisplay, EGLContext, EGLenum, EGLClientBuffer, const EGLint*);
60 typedef EGLBoolean (* eglDestroyImageKHR_t) (EGLDisplay, EGLImageKHR image);
61 typedef EGLSyncKHR (* eglCreateSyncKHR_t) (EGLDisplay, EGLenum, const EGLint*);
62 typedef EGLBoolean (* eglDestroySyncKHR_t) (EGLDisplay, EGLSyncKHR sync);
63 typedef EGLint (* eglClientWaitSyncKHR_t) (EGLDisplay, EGLSyncKHR, EGLint, EGLTimeKHR timeout);
64 typedef EGLBoolean (* eglSignalSyncKHR_t) (EGLDisplay, EGLSyncKHR, EGLenum);
65 typedef EGLBoolean (* eglGetSyncAttribKHR_t) (EGLDisplay, EGLSyncKHR, EGLint, EGLint*);
66 typedef EGLBoolean (* eglSetSwapRectangleANDROID_t) (EGLDisplay, EGLSurface, EGLint, EGLint, EGLint, EGLint);
67 
68 #endif // of  _EGL_PROC_H
69