1 // 2 // Copyright 2014 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 // entry_points_egl.h : Defines the EGL entry points. 8 9 #ifndef LIBGLESV2_ENTRYPOINTSEGL_H_ 10 #define LIBGLESV2_ENTRYPOINTSEGL_H_ 11 12 #include <EGL/egl.h> 13 #include <export.h> 14 15 extern "C" { 16 17 // EGL 1.0 18 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ChooseConfig(EGLDisplay dpy, 19 const EGLint *attrib_list, 20 EGLConfig *configs, 21 EGLint config_size, 22 EGLint *num_config); 23 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_CopyBuffers(EGLDisplay dpy, 24 EGLSurface surface, 25 EGLNativePixmapType target); 26 ANGLE_EXPORT EGLContext EGLAPIENTRY EGL_CreateContext(EGLDisplay dpy, 27 EGLConfig config, 28 EGLContext share_context, 29 const EGLint *attrib_list); 30 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePbufferSurface(EGLDisplay dpy, 31 EGLConfig config, 32 const EGLint *attrib_list); 33 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePixmapSurface(EGLDisplay dpy, 34 EGLConfig config, 35 EGLNativePixmapType pixmap, 36 const EGLint *attrib_list); 37 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreateWindowSurface(EGLDisplay dpy, 38 EGLConfig config, 39 EGLNativeWindowType win, 40 const EGLint *attrib_list); 41 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyContext(EGLDisplay dpy, EGLContext ctx); 42 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroySurface(EGLDisplay dpy, EGLSurface surface); 43 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetConfigAttrib(EGLDisplay dpy, 44 EGLConfig config, 45 EGLint attribute, 46 EGLint *value); 47 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetConfigs(EGLDisplay dpy, 48 EGLConfig *configs, 49 EGLint config_size, 50 EGLint *num_config); 51 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetCurrentDisplay(void); 52 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_GetCurrentSurface(EGLint readdraw); 53 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetDisplay(EGLNativeDisplayType display_id); 54 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_GetError(void); 55 ANGLE_EXPORT __eglMustCastToProperFunctionPointerType EGLAPIENTRY 56 EGL_GetProcAddress(const char *procname); 57 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_Initialize(EGLDisplay dpy, EGLint *major, EGLint *minor); 58 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_MakeCurrent(EGLDisplay dpy, 59 EGLSurface draw, 60 EGLSurface read, 61 EGLContext ctx); 62 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryContext(EGLDisplay dpy, 63 EGLContext ctx, 64 EGLint attribute, 65 EGLint *value); 66 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryString(EGLDisplay dpy, EGLint name); 67 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurface(EGLDisplay dpy, 68 EGLSurface surface, 69 EGLint attribute, 70 EGLint *value); 71 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapBuffers(EGLDisplay dpy, EGLSurface surface); 72 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_Terminate(EGLDisplay dpy); 73 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_WaitGL(void); 74 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_WaitNative(EGLint engine); 75 76 // EGL 1.1 77 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_BindTexImage(EGLDisplay dpy, 78 EGLSurface surface, 79 EGLint buffer); 80 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ReleaseTexImage(EGLDisplay dpy, 81 EGLSurface surface, 82 EGLint buffer); 83 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SurfaceAttrib(EGLDisplay dpy, 84 EGLSurface surface, 85 EGLint attribute, 86 EGLint value); 87 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapInterval(EGLDisplay dpy, EGLint interval); 88 89 // EGL 1.2 90 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_BindAPI(EGLenum api); 91 ANGLE_EXPORT EGLenum EGLAPIENTRY EGL_QueryAPI(void); 92 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePbufferFromClientBuffer(EGLDisplay dpy, 93 EGLenum buftype, 94 EGLClientBuffer buffer, 95 EGLConfig config, 96 const EGLint *attrib_list); 97 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ReleaseThread(void); 98 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_WaitClient(void); 99 100 // EGL 1.4 101 ANGLE_EXPORT EGLContext EGLAPIENTRY EGL_GetCurrentContext(void); 102 103 // EGL 1.5 104 ANGLE_EXPORT EGLSync EGLAPIENTRY EGL_CreateSync(EGLDisplay dpy, 105 EGLenum type, 106 const EGLAttrib *attrib_list); 107 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroySync(EGLDisplay dpy, EGLSync sync); 108 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ClientWaitSync(EGLDisplay dpy, 109 EGLSync sync, 110 EGLint flags, 111 EGLTime timeout); 112 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncAttrib(EGLDisplay dpy, 113 EGLSync sync, 114 EGLint attribute, 115 EGLAttrib *value); 116 ANGLE_EXPORT EGLImage EGLAPIENTRY EGL_CreateImage(EGLDisplay dpy, 117 EGLContext ctx, 118 EGLenum target, 119 EGLClientBuffer buffer, 120 const EGLAttrib *attrib_list); 121 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyImage(EGLDisplay dpy, EGLImage image); 122 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetPlatformDisplay(EGLenum platform, 123 void *native_display, 124 const EGLAttrib *attrib_list); 125 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformWindowSurface(EGLDisplay dpy, 126 EGLConfig config, 127 void *native_window, 128 const EGLAttrib *attrib_list); 129 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurface(EGLDisplay dpy, 130 EGLConfig config, 131 void *native_pixmap, 132 const EGLAttrib *attrib_list); 133 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_WaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags); 134 } // extern "C" 135 136 #endif // LIBGLESV2_ENTRYPOINTSEGL_H_ 137