Age | Commit message (Collapse) | Author |
|
It might be desirable find out which attribute went wrong.
|
|
Update the comments to macros/functions. Remove unused
_eglSetConfigAttrib.
|
|
Put a note that the macros define functions and should not be ended with
a semicolon when used.
|
|
Both a link and a binding creates a reference to the resource. Drivers
should not destroy the resource when there is a reference. The
difference is better described in doc/egl.html.
|
|
There are standard typecast functions that are common to most drivers.
They are used to typecast, for example, an _EGLSurface to a
driver-defined type.
This commits define _EGL_DRIVER_STANDARD_TYPECASTS and
_EGL_DRIVER_TYPECAST that should hopefully save some typings for driver
writers.
|
|
|
|
Rename _eglPreloadFile to _eglLoaderFile, and _eglPreloadFile to
_eglLoaderFile. There are several _eglPreload* functions. The
callbacks do not belong to them and it should be better to give them a
different prefix.
|
|
The driver suffix might be NULL on some platforms. Perform the matching
only when there is a suffix.
|
|
There were some refactorings with the addition of EGL_DRIVERS_PATH.
They made some platform #ifdef's unnecessary.
|
|
Specifically, ignore EGL_DRIVERS_PATH when an application is
setuid/setgid. And ignore EGL_DRIVER when there is a slash in it.
|
|
EGL_DRIVERS_PATH gives a list of colon-separated directories. The given
directories will be searched when preloading drivers.
This is based on Mike Stroyan's patch, which honors the variable in
_eglPreloadDisplayDrivers. It is extended to honor the variable also in
_eglPreloadUserDriver and _eglPreloadDefaultDriver in this version.
|
|
|
|
Add missing attributes and use correct types in _EGLSurface. Remove
ifdef tests that serve no purpose. Update _eglQuerySurface and
_eglSurfaceAttrib for missing queries and checks.
|
|
Add support EGL_KHR_vg_parent_image and EGL_KHR_gl_*. This is as simple
as adding some flags that can be enabled. Individual drivers need to
implement the extensions before enbaling the flags.
|
|
EGL_SCREEN_BIT_MESA is a valid bit only when EGL_MESA_screen_surface is
supported.
|
|
This changes _eglInitConfig to take the display as its argument.
|
|
Change _eglInitSurface, _eglInitContext, and _eglInitImage to take an
_EGLDisplay instead of an _EGLDriver. This is a more natural form, and
plus, the display encodes information such as the extensions supported
that might be required for attribute list parsing.
|
|
Refactor attribute list parsing code to _eglParseImageAttribList.
|
|
Refactor attribute list parsing code to _eglParseContextAttribList. Add
a check to make sure the config supports the client API.
|
|
Refactor attribute list parsing code to _eglParseSurfaceAttribList.
|
|
They are either unit tests or to demonstrate how functions are supposed
to be used. The unit test is outdated and it should be better to take a
look at any of the working drivers to see how a function is used.
|
|
There is already _eglstrdup for the main library's use.
|
|
|
|
A context can be bound to a surface just like it can be bound to a
thread. CurrentContext is a more consistent name.
|
|
Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
|
|
|
|
_eglMakeCurrent is a big hammer that is not easy to use. Migrate
drivers to use _eglBindContext and un-export _eglMakeCurrent.
|
|
MakeCurrent unbinds the current context of the current API. Modify the
current API to make sure all contexts are correctly unbound.
|
|
When no context or surface are given, the display is allowed to be
uninitialized. Most drivers cannot handle an uninitialized display.
But they are updated to at least throw a fatal message.
|
|
It works similar to _eglMakeCurrent, except that the old context and
surfaces are returned instead of destroyed. _eglMakeCurrent is now
calling the new _eglBindContext.
|
|
The driver pointer of the display was used to decide whether a display
is initialized. Use a boolean for that purpose allows accessing the
driver of an uninitialized display.
|
|
_eglCloseDriver is no-op and _eglOpenDriver does nothing but call
_eglMatchDriver. Export _eglMatchDriver directly.
|
|
Reset dpy->MaxConfigs so that dpy->Configs is re-allocated.
|
|
They have little use in drivers since drivers need to work for multiple
current contexts.
|
|
There may be multiple bound contexts that should be unbound.
|
|
Refactor _eglMakeCurrent into _eglCheckMakeCurrent,
_eglBindContextToSurface, and _eglBindContextToThread.
|
|
It will return the currently bound context of the given API.
|
|
An unlinked resource may still be a current resource such as current
surfaces. There might still be a need to know which display the
unlinked resource belongs to.
|
|
To support extensions such as GL_OES_EGL_image, the drivers need a way
to check if a given EGLImageKHR is valid.
|
|
Rename Native*Type to EGLNative*Type.
|
|
This emphasizes the fact that the resource to be checked could really be
invalid and have an unknown type.
|
|
Install EGL (and KHR) headers along with the library.
|
|
Individual drivers still need to implement the API hooks.
|
|
Update to the current versions found at
http://www.khronos.org/registry/egl/. There is one modification in
khrplatform.h for GCC visibility.
|
|
Add a platform specific function to turn a library name to a library
path. It is used to convert EGL_DRIVER or the default driver to a
library path that can be loaded.
|
|
This function is not used and should have been removed by last commit.
My mistake.
|
|
_eglFillInConfigs and _eglFindAPIs have no user in Mesa and are unlikely
to find one soon. It should be fine to remove them.
|
|
_eglUIntToPointer and _eglPointerToUInt are no longer used.
|
|
Turn _EGLSurface and _EGLContext into _EGLResource so that they can be
managed uniformly.
|
|
Resources are objects managed by a display. They can be linked to or
unlinked from a display. It is also possible to check if a resource is
valid.
|