|
Packit Service |
c8dffe |
#!/usr/bin/python3
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
"""
|
|
Packit Service |
9e77c8 |
Contains a list of EGL functions to generate dispatch functions for.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
This is used from gen_egl_dispatch.py.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
EGL_FUNCTIONS is a sequence of (name, eglData) pairs, where name is the name
|
|
Packit Service |
9e77c8 |
of the function, and eglData is a dictionary containing data about that
|
|
Packit Service |
9e77c8 |
function.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
The values in the eglData dictionary are:
|
|
Packit Service |
9e77c8 |
- method (string):
|
|
Packit Service |
9e77c8 |
How to select a vendor library. See "Method values" below.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
- prefix (string):
|
|
Packit Service |
9e77c8 |
This string is prepended to the name of the dispatch function. If
|
|
Packit Service |
9e77c8 |
unspecified, the default is "" (an empty string).
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
- static (boolean)
|
|
Packit Service |
9e77c8 |
If True, this function should be declared static.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
- "public" (boolean)
|
|
Packit Service |
9e77c8 |
If True, the function should be exported from the library. Vendor libraries
|
|
Packit Service |
9e77c8 |
generally should not use this.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
- extension (string):
|
|
Packit Service |
9e77c8 |
If specified, this is the name of a macro to check for before defining a
|
|
Packit Service |
9e77c8 |
function. Used for checking for extension macros and such.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
- retval (string):
|
|
Packit Service |
9e77c8 |
If specified, this is a C expression with the default value to return if we
|
|
Packit Service |
9e77c8 |
can't find a function to call. By default, it will try to guess from the
|
|
Packit Service |
9e77c8 |
return type: EGL_NO_whatever for the various handle types, NULL for
|
|
Packit Service |
9e77c8 |
pointers, and zero for everything else.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
method values:
|
|
Packit Service |
9e77c8 |
- "custom"
|
|
Packit Service |
9e77c8 |
The dispatch stub will be hand-written instead of generated.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
- "none"
|
|
Packit Service |
9e77c8 |
No dispatch function exists at all, but the function should still have an
|
|
Packit Service |
9e77c8 |
entry in the index array. This is for other functions that a stub may need
|
|
Packit Service |
9e77c8 |
to call that are implemented in libEGL itself.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
- "display"
|
|
Packit Service |
9e77c8 |
Select a vendor from an EGLDisplay argument.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
- "device"
|
|
Packit Service |
9e77c8 |
Select a vendor from an EGLDeviceEXT argument.
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
- "current"
|
|
Packit Service |
9e77c8 |
Select the vendor that owns the current context.
|
|
Packit Service |
9e77c8 |
"""
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
def _eglFunc(name, method, static=False, public=False, inheader=None, prefix="", extension=None, retval=None):
|
|
Packit Service |
9e77c8 |
"""
|
|
Packit Service |
9e77c8 |
A convenience function to define an entry in the EGL function list.
|
|
Packit Service |
9e77c8 |
"""
|
|
Packit Service |
9e77c8 |
if (inheader == None):
|
|
Packit Service |
9e77c8 |
inheader = (not public)
|
|
Packit Service |
9e77c8 |
values = {
|
|
Packit Service |
9e77c8 |
"method" : method,
|
|
Packit Service |
9e77c8 |
"prefix" : prefix,
|
|
Packit Service |
9e77c8 |
"extension" : extension,
|
|
Packit Service |
9e77c8 |
"retval" : retval,
|
|
Packit Service |
9e77c8 |
"static" : static,
|
|
Packit Service |
9e77c8 |
"public" : public,
|
|
Packit Service |
9e77c8 |
"inheader" : inheader,
|
|
Packit Service |
9e77c8 |
}
|
|
Packit Service |
9e77c8 |
return (name, values)
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
def _eglCore(name, method, **kwargs):
|
|
Packit Service |
9e77c8 |
return _eglFunc(name, method, public=True, **kwargs)
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
def _eglExt(name, method, **kwargs):
|
|
Packit Service |
9e77c8 |
return _eglFunc(name, method, public=False, **kwargs)
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
EGL_FUNCTIONS = (
|
|
Packit Service |
9e77c8 |
# EGL_VERSION_1_0
|
|
Packit Service |
9e77c8 |
_eglCore("eglChooseConfig", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglCopyBuffers", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglCreateContext", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglCreatePbufferSurface", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglCreatePixmapSurface", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglCreateWindowSurface", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglDestroyContext", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglDestroySurface", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglGetConfigAttrib", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglGetConfigs", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglQueryContext", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglQuerySurface", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglSwapBuffers", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglWaitGL", "current", retval="EGL_TRUE"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglWaitNative", "current", retval="EGL_TRUE"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglTerminate", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglInitialize", "display"),
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
_eglCore("eglGetCurrentDisplay", "custom"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglGetCurrentSurface", "custom"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglGetDisplay", "custom"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglGetError", "custom"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglGetProcAddress", "custom"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglMakeCurrent", "custom"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglQueryString", "custom"),
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
# EGL_VERSION_1_1
|
|
Packit Service |
9e77c8 |
_eglCore("eglBindTexImage", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglReleaseTexImage", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglSurfaceAttrib", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglSwapInterval", "display"),
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
# EGL_VERSION_1_2
|
|
Packit Service |
9e77c8 |
_eglCore("eglCreatePbufferFromClientBuffer", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglWaitClient", "current", retval="EGL_TRUE"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglBindAPI", "custom"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglQueryAPI", "custom"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglReleaseThread", "custom"),
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
# EGL_VERSION_1_4
|
|
Packit Service |
9e77c8 |
_eglCore("eglGetCurrentContext", "custom"),
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
# EGL_VERSION_1_5
|
|
Packit Service |
9e77c8 |
_eglCore("eglCreateSync", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglDestroySync", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglClientWaitSync", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglGetSyncAttrib", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglCreateImage", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglDestroyImage", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglCreatePlatformWindowSurface", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglCreatePlatformPixmapSurface", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglWaitSync", "display"),
|
|
Packit Service |
9e77c8 |
_eglCore("eglGetPlatformDisplay", "custom"),
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
# EGL_EXT_platform_base
|
|
Packit Service |
9e77c8 |
_eglExt("eglCreatePlatformWindowSurfaceEXT", "display"),
|
|
Packit Service |
9e77c8 |
_eglExt("eglCreatePlatformPixmapSurfaceEXT", "display"),
|
|
Packit Service |
9e77c8 |
_eglExt("eglGetPlatformDisplayEXT", "custom"),
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
# EGL_EXT_device_enumeration
|
|
Packit Service |
9e77c8 |
_eglExt("eglQueryDevicesEXT", "custom"),
|
|
Packit Service |
9e77c8 |
|
|
Packit Service |
9e77c8 |
# EGL_KHR_debug
|
|
Packit Service |
9e77c8 |
_eglExt("eglDebugMessageControlKHR", "custom"),
|
|
Packit Service |
9e77c8 |
_eglExt("eglQueryDebugKHR", "custom"),
|
|
Packit Service |
9e77c8 |
_eglExt("eglLabelObjectKHR", "custom"),
|
|
Packit Service |
9e77c8 |
)
|
|
Packit Service |
9e77c8 |
|