from stdapi import *
+from gltypes import *
EGLNativeDisplayType = Opaque("EGLNativeDisplayType")
EGLNativeWindowType = Opaque("EGLNativeWindowType")
EGLClientBuffer = Opaque("EGLClientBuffer")
-_EGLBoolean = Alias("EGLBoolean", UInt)
-EGLBoolean = FakeEnum(_EGLBoolean, [
+EGLBoolean = Enum("EGLBoolean", [
"EGL_FALSE",
"EGL_TRUE",
])
EGLint = Alias("EGLint", Int32)
-EGLError = FakeEnum(EGLint, [
+EGLenum = Enum("EGLenum", [
+ # error codes
"EGL_SUCCESS", # 0x3000
"EGL_NOT_INITIALIZED", # 0x3001
"EGL_BAD_ACCESS", # 0x3002
"EGL_BAD_PARAMETER", # 0x300C
"EGL_BAD_SURFACE", # 0x300D
"EGL_CONTEXT_LOST", # 0x300E /* EGL 1.1 - IMG_power_management */
-])
-
-EGLName = FakeEnum(EGLint, [
- "EGL_VENDOR", # 0x3053
- "EGL_VERSION", # 0x3054
- "EGL_EXTENSIONS", # 0x3055
- "EGL_CLIENT_APIS", # 0x308D
-])
-
-# collection of all other enum values
-EGLenum = Enum("EGLenum", [
# config attributes
"EGL_BUFFER_SIZE", # 0x3020
"EGL_ALPHA_SIZE", # 0x3021
"EGL_SLOW_CONFIG", # 0x3050 /* EGL_CONFIG_CAVEAT value */
"EGL_NON_CONFORMANT_CONFIG", # 0x3051 /* EGL_CONFIG_CAVEAT value */
"EGL_TRANSPARENT_RGB", # 0x3052 /* EGL_TRANSPARENT_TYPE value */
+ "EGL_VENDOR", # 0x3053
+ "EGL_VERSION", # 0x3054
+ "EGL_EXTENSIONS", # 0x3055
+ "EGL_CLIENT_APIS", # 0x308D
"EGL_RGB_BUFFER", # 0x308E /* EGL_COLOR_BUFFER_TYPE value */
"EGL_LUMINANCE_BUFFER", # 0x308F /* EGL_COLOR_BUFFER_TYPE value */
])
# an alias of EGLenum
-EGLattrib = Alias("EGLint", EGLenum)
+EGLint_enum = Alias("EGLint", EGLenum)
+EGLattrib = EGLint_enum
# EGL_KHR_image_base
EGLImageKHR = Opaque("EGLImageKHR")
# EGL_NV_system_time
EGLuint64NV = Alias("EGLuint64NV", UInt64)
-eglapi = API("EGL")
+eglapi = Module("EGL")
+
+EGLAttribList = Array(Const(EGLattrib), "_AttribPairList_size(attrib_list, EGL_NONE)")
-PROC = Opaque("__eglMustCastToProperFunctionPointerType")
+EGLProc = Opaque("__eglMustCastToProperFunctionPointerType")
-eglapi.add_functions([
+def GlFunction(*args, **kwargs):
+ kwargs.setdefault('call', 'GL_APIENTRY')
+ return Function(*args, **kwargs)
+
+eglapi.addFunctions([
# EGL 1.4
- Function(EGLError, "eglGetError", [], sideeffects=False),
+ Function(EGLint_enum, "eglGetError", [], sideeffects=False),
Function(EGLDisplay, "eglGetDisplay", [(EGLNativeDisplayType, "display_id")]),
Function(EGLBoolean, "eglInitialize", [(EGLDisplay, "dpy"), Out(Pointer(EGLint), "major"), Out(Pointer(EGLint), "minor")]),
Function(EGLBoolean, "eglTerminate", [(EGLDisplay, "dpy")]),
- Function(Const(String("char *")), "eglQueryString", [(EGLDisplay, "dpy"), (EGLName, "name")], sideeffects=False),
+ Function(ConstCString, "eglQueryString", [(EGLDisplay, "dpy"), (EGLint_enum, "name")], sideeffects=False),
Function(EGLBoolean, "eglGetConfigs", [(EGLDisplay, "dpy"), (Array(EGLConfig, "config_size"), "configs"), (EGLint, "config_size"), Out(Pointer(EGLint), "num_config")]),
- Function(EGLBoolean, "eglChooseConfig", [(EGLDisplay, "dpy"), (Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list"), (Array(EGLConfig, "config_size"), "configs"), (EGLint, "config_size"), Out(Pointer(EGLint), "num_config")]),
+ Function(EGLBoolean, "eglChooseConfig", [(EGLDisplay, "dpy"), (EGLAttribList, "attrib_list"), (Array(EGLConfig, "config_size"), "configs"), (EGLint, "config_size"), Out(Pointer(EGLint), "num_config")]),
Function(EGLBoolean, "eglGetConfigAttrib", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (EGLattrib, "attribute"), Out(Pointer(EGLint), "value")], sideeffects=False),
- Function(EGLSurface, "eglCreateWindowSurface", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (EGLNativeWindowType, "win"), (Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list")]),
- Function(EGLSurface, "eglCreatePbufferSurface", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list")]),
- Function(EGLSurface, "eglCreatePixmapSurface", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (EGLNativePixmapType, "pixmap"), (Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list")]),
+ Function(EGLSurface, "eglCreateWindowSurface", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (EGLNativeWindowType, "win"), (EGLAttribList, "attrib_list")]),
+ Function(EGLSurface, "eglCreatePbufferSurface", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (EGLAttribList, "attrib_list")]),
+ Function(EGLSurface, "eglCreatePixmapSurface", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (EGLNativePixmapType, "pixmap"), (EGLAttribList, "attrib_list")]),
Function(EGLBoolean, "eglDestroySurface", [(EGLDisplay, "dpy"), (EGLSurface, "surface")]),
Function(EGLBoolean, "eglQuerySurface", [(EGLDisplay, "dpy"), (EGLSurface, "surface"), (EGLattrib, "attribute"), Out(Pointer(EGLint), "value")], sideeffects=False),
Function(EGLBoolean, "eglReleaseThread", []),
- Function(EGLSurface, "eglCreatePbufferFromClientBuffer", [(EGLDisplay, "dpy"), (EGLenum, "buftype"), (EGLClientBuffer, "buffer"), (EGLConfig, "config"), (Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list")]),
+ Function(EGLSurface, "eglCreatePbufferFromClientBuffer", [(EGLDisplay, "dpy"), (EGLenum, "buftype"), (EGLClientBuffer, "buffer"), (EGLConfig, "config"), (EGLAttribList, "attrib_list")]),
Function(EGLBoolean, "eglSurfaceAttrib", [(EGLDisplay, "dpy"), (EGLSurface, "surface"), (EGLattrib, "attribute"), (EGLint, "value")]),
Function(EGLBoolean, "eglBindTexImage", [(EGLDisplay, "dpy"), (EGLSurface, "surface"), (EGLattrib, "buffer")]),
Function(EGLBoolean, "eglSwapInterval", [(EGLDisplay, "dpy"), (EGLint, "interval")]),
- Function(EGLContext, "eglCreateContext", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (EGLContext, "share_context"), (Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list")]),
+ Function(EGLContext, "eglCreateContext", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (EGLContext, "share_context"), (EGLAttribList, "attrib_list")]),
Function(EGLBoolean, "eglDestroyContext", [(EGLDisplay, "dpy"), (EGLContext, "ctx")]),
Function(EGLBoolean, "eglMakeCurrent", [(EGLDisplay, "dpy"), (EGLSurface, "draw"), (EGLSurface, "read"), (EGLContext, "ctx")]),
Function(EGLBoolean, "eglSwapBuffers", [(EGLDisplay, "dpy"), (EGLSurface, "surface")]),
Function(EGLBoolean, "eglCopyBuffers", [(EGLDisplay, "dpy"), (EGLSurface, "surface"), (EGLNativePixmapType, "target")]),
- Function(PROC, "eglGetProcAddress", [(Const(CString), "procname")]),
+ Function(EGLProc, "eglGetProcAddress", [(ConstCString, "procname")]),
# EGL_KHR_lock_surface
- Function(EGLBoolean, "eglLockSurfaceKHR", [(EGLDisplay, "display"), (EGLSurface, "surface"), (Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list")]),
+ Function(EGLBoolean, "eglLockSurfaceKHR", [(EGLDisplay, "display"), (EGLSurface, "surface"), (EGLAttribList, "attrib_list")]),
Function(EGLBoolean, "eglUnlockSurfaceKHR", [(EGLDisplay, "display"), (EGLSurface, "surface")]),
# EGL_KHR_image_base
- Function(EGLImageKHR, "eglCreateImageKHR", [(EGLDisplay, "dpy"), (EGLContext, "ctx"), (EGLenum, "target"), (EGLClientBuffer, "buffer"), (Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list")]),
+ Function(EGLImageKHR, "eglCreateImageKHR", [(EGLDisplay, "dpy"), (EGLContext, "ctx"), (EGLenum, "target"), (EGLClientBuffer, "buffer"), (EGLAttribList, "attrib_list")]),
Function(EGLBoolean, "eglDestroyImageKHR", [(EGLDisplay, "dpy"), (EGLImageKHR, "image")]),
# EGL_KHR_reusable_sync
- Function(EGLSyncKHR, "eglCreateSyncKHR", [(EGLDisplay, "dpy"), (EGLenum, "type"), (Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list")]),
+ Function(EGLSyncKHR, "eglCreateSyncKHR", [(EGLDisplay, "dpy"), (EGLenum, "type"), (EGLAttribList, "attrib_list")]),
Function(EGLBoolean, "eglDestroySyncKHR", [(EGLDisplay, "dpy"), (EGLSyncKHR, "sync")]),
Function(EGLint, "eglClientWaitSyncKHR", [(EGLDisplay, "dpy"), (EGLSyncKHR, "sync"), (EGLint, "flags"), (EGLTimeKHR, "timeout")]),
Function(EGLBoolean, "eglSignalSyncKHR", [(EGLDisplay, "dpy"), (EGLSyncKHR, "sync"), (EGLenum, "mode")]),
Function(EGLBoolean, "eglGetSyncAttribKHR", [(EGLDisplay, "dpy"), (EGLSyncKHR, "sync"), (EGLattrib, "attribute"), Out(Pointer(EGLint), "value")], sideeffects=False),
# EGL_NV_sync
- Function(EGLSyncNV, "eglCreateFenceSyncNV", [(EGLDisplay, "dpy"), (EGLenum, "condition"), (Array(Const(EGLint), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list")]),
+ Function(EGLSyncNV, "eglCreateFenceSyncNV", [(EGLDisplay, "dpy"), (EGLenum, "condition"), (EGLAttribList, "attrib_list")]),
Function(EGLBoolean, "eglDestroySyncNV", [(EGLSyncNV, "sync")]),
Function(EGLBoolean, "eglFenceNV", [(EGLSyncNV, "sync")]),
Function(EGLint, "eglClientWaitSyncNV", [(EGLSyncNV, "sync"), (EGLint, "flags"), (EGLTimeNV, "timeout")]),
Function(EGLSurface, "eglCreatePixmapSurfaceHI", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (Pointer(EGLClientPixmapHI), "pixmap")]),
# EGL_MESA_drm_image
- Function(EGLImageKHR, "eglCreateDRMImageMESA", [(EGLDisplay, "dpy"), (Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)"), "attrib_list")]),
+ Function(EGLImageKHR, "eglCreateDRMImageMESA", [(EGLDisplay, "dpy"), (EGLAttribList, "attrib_list")]),
Function(EGLBoolean, "eglExportDRMImageMESA", [(EGLDisplay, "dpy"), (EGLImageKHR, "image"), Out(Pointer(EGLint), "name"), Out(Pointer(EGLint), "handle"), Out(Pointer(EGLint), "stride")]),
# EGL_NV_post_sub_buffer
# EGL_NV_system_time
Function(EGLuint64NV, "eglGetSystemTimeFrequencyNV", [], sideeffects=False),
Function(EGLuint64NV, "eglGetSystemTimeNV", [], sideeffects=False),
+
+ # GL_OES_EGL_image
+ GlFunction(Void, "glEGLImageTargetTexture2DOES", [(GLenum, "target"), (EGLImageKHR, "image")]),
+ GlFunction(Void, "glEGLImageTargetRenderbufferStorageOES", [(GLenum, "target"), (EGLImageKHR, "image")]),
])