summaryrefslogtreecommitdiff
path: root/src/egl
AgeCommit message (Collapse)Author
2010-10-23egl: Use reference counting to replace IsLinked or IsBound.Chia-I Wu
Remove all _egl<Res>IsLinked and _egl<Res>IsBound. Update _eglBindContext and drivers to do reference counting.
2010-10-23egl: Add reference count for resources.Chia-I Wu
This is a really simple mechanism. There is no atomicity and the caller is expected to hold the display lock.
2010-10-23egl: Fix _eglModeLookup.Chia-I Wu
Internally a mode belongs to a screen. But functions like eglGetModeAttribMESA treat a mode as a display resource: a mode can be looked up without a screen. Considering how KMS works, it is better to stick to the current implementation. To properly support looking up a mode without a screen, this commit assigns each mode (of all screens) a unique ID.
2010-10-23egl: Minor changes to the _EGLScreen interface.Chia-I Wu
Make _eglInitScreen take a display and rename _eglAddScreen to _eglLinkScreen. Remove unused functions.
2010-10-23egl: Minor changes to the _EGLConfig interface.Chia-I Wu
Mainly to rename _eglAddConfig to _eglLinkConfig, along with a few clean ups.
2010-10-23egl: Drop dpy argument from the link functions.Chia-I Wu
All display resources are already initialized with a display. Linking simply links a resource to its display.
2010-10-22egl: Move fallback routines to eglfallbacks.c.Chia-I Wu
We do not want them to be all over the places.
2010-10-22egl: Parse image attributes with _eglParseImageAttribList.Chia-I Wu
Avoid code duplications.
2010-10-22egl: Move attributes in _EGLImage to _EGLImageAttribs.Chia-I Wu
The opaque nature of EGLImage implies that extensions almost always define their own attributes. Move attributes in _EGLImage to _EGLImageAttribs and add a helper function to parse attribute lists.
2010-10-22egl_glx: Fix borken driver.Chia-I Wu
The driver was broken since 6eda3f311bc24999835003e404d5eda5599bc5de. All configs fail to pass _eglValidateConfig.
2010-10-22egl_glx: Drop the use of [SG]ET_CONFIG_ATTRIB.Chia-I Wu
_EGLConfig can be directly dereferenced now. Since egl_glx is the last user of the macros, drop the macros too.
2010-10-22egl_dri2: Drop the use of _egl[SG]etConfigKey.Chia-I Wu
_EGLConfig can be directly dereferenced now.
2010-10-14egl: Access config attributes directly.Chia-I Wu
Replace SET_CONFIG_ATTRIB/GET_CONFIG_ATTRIB by direct dereferences.
2010-10-14egl: Use attribute names as the _EGLConfig member names.Chia-I Wu
This makes _EGLConfig more accessible and scales better when new attributes are added.
2010-09-30egl: remove duplicated includeNicolas Kaiser
Remove duplicated include. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-09-30egl: Check extensions.Chia-I Wu
Do not call into the driver if the extension for the called function is not enabled.
2010-09-24egl: Fix several 'comparison between signed and unsigned integer' warningsIan Romanick
I hate GCC for requiring the (int) cast on sizeof.
2010-09-24egl_glx: Silence piles of 'unused variable' warningsIan Romanick
2010-09-24EGL DRI2: Silence 'missing initializer' warningsIan Romanick
2010-09-24EGL DRI2: Silence piles of 'unused variable' warningsIan Romanick
2010-09-22dri: Pass the __DRIscreen and the __DRIscreen private back to image lookupKristian Høgsberg
We will typically have a current context when we need to lookup the image, but the lookup implementation don't need it so drop it.
2010-09-22dri2: Make createImageFromName() take a __DRIscreen instead of __DRIcontextKristian Høgsberg
We can't expect to have a context when this is called, and we don't need one so just require a __DRIscreen instead. Reported by Yu Dai <yu.dai@intel.com>
2010-09-19st/egl: Rename kms backend to drm.Chia-I Wu
The main use of the backend is to support EGL_MESA_drm_display. drm should be a better name.
2010-09-13EGL DRI2: 0xa011 is Pineview not IronlakeJesse Barnes
Point about needing a better way to do this validated.
2010-09-13EGL DRI2: add PCI ID for Ironlake mobileJesse Barnes
Allows KMS EGL driver to load. We need a better way of doing this.
2010-09-10egl: Simplify _eglBindContext.Chia-I Wu
Remove the hard-to-get-right _eglBindContextToSurfaces. As well as fix an assertion failure from b90a3e7d8b1bcd412ddbf2a4803de2756dacd436 when such call sequence is hit eglMakeCurrent(dpy, surf1, surf1, ctx1); eglMakeCurrent(dpy, surf2, surf2, ctx2); eglMakeCurrent(dpy, surf1, surf1, ctx1);
2010-09-09eglglx: Convert glx visuals/fbconfigs straight to EGL configsKristian Høgsberg
In other words, skip the __GLcontextModes middle man.
2010-09-09egl: Remove old egldri driverKristian Høgsberg
This driver doesn't work with any of the DRI drivers in the source tree.
2010-09-10egl: Use _EGL_CHECK_DISPLAY in eglCreateContext.Chia-I Wu
_EGL_CHECK_DISPLAY checks the display and returns from eglCreateContext on error.
2010-09-10egl: Display may be NULL in _eglLookup*.Chia-I Wu
This fixes several NULL dereferences.
2010-08-31egl: Mark EGL_MESA_screen_surface as obsolete.Chia-I Wu
EGL_MESA_drm_{display,image} can achieve the same functionality.
2010-08-25egl_dri2: Add support for MESA_image_drmKristian Høgsberg
2010-08-25egl: Add EGL_MESA_drm_image extensionKristian Høgsberg
Create EGLImages from DRM buffer handles.
2010-08-20egl: Fix context API check and be verbose.Chia-I Wu
The API of the context was not checked against EGL_RENDERABLE_TYPE when there was no attribute list. Move the check to _eglInitContext, and be verbose about common mistakes (EGL_RENDERABLE_TYPE not set, EGL_CONTEXT_CLIENT_VERSION not set, or eglBindAPI not called).
2010-08-20egl: Add egl.def for win32 build.Chia-I Wu
Without the .def file, function names are decorated and cannot be queried by GetProcAddress easily.
2010-08-20egl: Allow core functions to be queried.Chia-I Wu
When _EGL_GET_CORE_ADDRESSES is defined, eglGetProcAddress can be used to query core functions. This is non-standard, but some apps expect it.
2010-08-19st/egl: Fix win32 build.Chia-I Wu
Add new source files to SConscripts.
2010-08-17egl: Add support for EGL_KHR_fence_sync.Chia-I Wu
Individual drivers still need to support and enable the extension.
2010-08-17egl: Add support for EGL_KHR_reusable_sync.Chia-I Wu
Individual drivers still need to support and enable the extension.
2010-07-31egl: Fix '_eglAddAtExitCall' implicit declaration warning.Vinson Lee
2010-07-31egl: Add checks for EGL_MESA_screen_surface.Chia-I Wu
This allows Mesa EGL to be compiled with eglext.h that does not define EGL_MESA_screen_surface.
2010-07-29egl_dri2: Set API version for DRM displayKristian Høgsberg
2010-07-28egl: Fix deref before NULL-checkKristian Høgsberg
2010-07-28egl_dri2: Implement EGL_KHR_surfaceless_* extensionsKristian Høgsberg
2010-07-28egl: EGL_KHR_surfaceless_* extensionsKristian Høgsberg
These extensions allow an application to make a context current by passing EGL_NO_SURFACE for the write and read surface in the call to eglMakeCurrent. The motivation is that applications that only want to render to client API targets (such as OpenGL framebuffer objects) should not need to create a throw-away EGL surface just to get a current context.
2010-07-15egl: Return the correct array size in _eglFlattenArray.Chia-I Wu
The function is used by _eglGetConfigs and _eglGetScreens. The array size should not be limited by the buffer size when the buffer is NULL. This fixes fdo bug #29052.
2010-07-08egl_dri2: Support _EGL_PLATFORM_DRMKristian Høgsberg
This lets the egl_dri2 driver initialize on just a DRM fd.
2010-07-06egl: Remove unnecessary headers.Vinson Lee
2010-07-06egl: Rework driver loading.Chia-I Wu
Driver loading is now splitted into two stages. In the first stage, an _EGLModule is created for each driver: user driver, default drivers, and all files in the search directories that start with "egl_". Modules are not loaded at this stage. In the second stage, each module is loaded to initialize a display. The process stops at the first module that can initialize the display. If eglGetProcAddress is called before eglInitialize, the same code path will be taken to find the first module that supports EGL_DEFAULT_DISPLAY. Because we do not want to initialize the display, drv->Probe is used instead in this case.
2010-07-03egl: Always use EGLAPIENTRY in api function prototypesnobled
Fixes the build on Windows.