summaryrefslogtreecommitdiffstats
path: root/src/egl/drivers/xdri/egl_xdri.c
Commit message (Collapse)AuthorAgeFilesLines
* egl: Remove egl_xdri.Chia-I Wu2010-02-051-625/+0
| | | | | | | egl_xdri steals code from src/glx/x11/. This makes it broken from time to time when there is a bigger change to the GLX code. As egl_dri2 has been merged, which also functions as a DRI2 driver loader, remove egl_xdri for good.
* egl: Convert drivers to use typecast macros.Chia-I Wu2010-02-041-36/+6
| | | | | Use macros to define the standard typecasts. This saves lots of typings.
* egl: Initialize display configs with the display.Chia-I Wu2010-01-311-1/+1
| | | | This changes _eglInitConfig to take the display as its argument.
* egl: Initialize display resources with their display.Chia-I Wu2010-01-311-2/+2
| | | | | | | 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.
* egl: Rename Binding to CurrentContext in _EGLSurface.Chia-I Wu2010-01-301-1/+1
| | | | | A context can be bound to a surface just like it can be bound to a thread. CurrentContext is a more consistent name.
* egl: Clean up header inclusions.Chia-I Wu2010-01-301-1/+1
| | | | Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
* egl: Migrate drivers to use _eglBindContext.Chia-I Wu2010-01-281-9/+12
| | | | | _eglMakeCurrent is a big hammer that is not easy to use. Migrate drivers to use _eglBindContext and un-export _eglMakeCurrent.
* egl: eglMakeCurrent should accept an uninitialized display.Chia-I Wu2010-01-281-15/+38
| | | | | | 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.
* egl: Remove _eglGetCurrentSurface and _eglGetCurrentDisplay.Chia-I Wu2010-01-261-2/+1
| | | | | They have little use in drivers since drivers need to work for multiple current contexts.
* egl: Native types are renamed in EGL 1.3.Chia-I Wu2010-01-251-1/+2
| | | | Rename Native*Type to EGLNative*Type.
* egl_xdri: Add support for DRISW.Chia-I Wu2010-01-221-6/+15
| | | | | Try DRISW if both DRI2 and DRI fail. It can also be forced by setting EGL_SOFTWARE. When DRISW is used, single-buffered modes are ignored.
* egl_xdri: Flush commands on context switch and buffer swap.Chia-I Wu2010-01-221-6/+24
| | | | The corresponding DRI functions does not flush for us.
* egl_xdri: Report only OpenGL support.Chia-I Wu2010-01-221-9/+2
| | | | | It reported OpenGL ES support because some demos did not set EGL_RENDERABLE_TYPE correctly. The demos are fixed.
* egl_xdri: Do not reinitialize in __glXInitialize.Chia-I Wu2010-01-221-1/+0
| | | | | | __glXInitialize should return the same GLX display for the same X display. This issue is triggered by a35f6bb207efe3c959bbd16a37f2049e5aceeea9.
* egl: Add _EGLDriver as the first argument to GetProcAddress.Chia-I Wu2010-01-121-1/+1
| | | | | The rest of the driver API has it as the first argument. It should be there so that a driver has access to itself.
* egl_xdri: Fix build breakage.Chia-I Wu2010-01-121-1/+1
| | | | | driScreen->swapBuffers takes 3 more arguments since daf7fe69f7bd0caa955d30b43fc35b7ce0069b6b.
* egl_xdri: Report full list of supported configs.Chia-I Wu2009-09-291-31/+66
| | | | | | | Call _eglConfigFromContextModesRec to convert __GLcontextModes to _EGLConfig. Single-buffered configs are no longer skipped. Signed-off-by: Chia-I Wu <[email protected]>
* egl_xdri: Revive the driver.Chia-I Wu2009-08-241-827/+227
| | | | | | | | | egl_xdri does not compile for some time. This commit revives the driver. It no longer depends on libGL.so for GLX related functions. Instead, it uses code from src/glx/ directly. Both DRI and DRI2 are supported. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Replace IsBound by a pointer to the binding.Chia-I Wu2009-08-031-1/+1
| | | | | | | | | IsBound tells if a context or surface is current. What it does not tell is, to which thread a context is current, or to which context a surface is current. This commit replaces IsBound by a pointer to the binding thread or context. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Remove redundant DeletePending flag.Chia-I Wu2009-07-171-4/+1
| | | | | | | | A context or surface that is neither linked to a display nor current to a thread should be destroyed. Therefore, an unlinked context or surface implies a pending delete automatically. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Use the link functions to manage resources.Chia-I Wu2009-07-171-9/+10
| | | | | | | | This commit uses the newly introduced link functions to manage EGL contexts and surfaces. As a result of this, the API for drivers are changed. All drivers are updated for the change. Signed-off-by: Chia-I Wu <[email protected]>
* egl: check for null ptr/nameBrian Paul2008-10-021-1/+4
|
* st: change from ** to * for st_unreference_framebuffer()Alan Hourihane2008-09-261-1/+1
|
* egl: CreatePbufferSurface, Bind/ReleaseTexImage functionsBrian Paul2008-09-011-1/+229
|
* egl: free display ext data in xdri_eglTerminate().Brian Paul2008-08-271-0/+34
|
* egl: set EGL_SAMPLES, EGL_SAMPLE_BUFFERS config attribsBrian Paul2008-07-161-0/+2
|
* egl: set EGL_CONFORMANT, EGL_RENDERABLE_TYPE config fields, fix null ptr ↵Brian Paul2008-07-141-3/+12
| | | | crashes in MakeCurrent
* egl: a minor overhauld of egl_xdri.cBrian Paul2008-07-111-62/+42
| | | | | Rely more on the libGL code to avoid duplicated efforts. Also fix confusion arising from multiple __DRIscreen objects.
* egl: add all EGL_*_BITs to ClientAPIsMaskBrian Paul2008-07-101-1/+4
|
* egl: implement xdri_eglGetProcAddress() for galliumBrian Paul2008-07-101-3/+25
| | | | Plus comments, clean-ups.
* egl: misc updates/fixesBrian Paul2008-07-091-17/+76
| | | | | | Set surface size when created. Implement dri_find_dri_screen(). Look for "egl_xxx_dri.so" library before regular DRI driver.
* egl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to ↵Robert Ellison2008-06-271-1/+1
| | | | | | | | | | | | | | work correctly with GLES1 and GLES2. - egl_xdri.c just sets the EGL_OPENGL_ES_BIT as well as the EGL_OPENGL_BIT in ClientAPIsMask - eglconfig.c allows the renderable type to include EGL_OPENGL_ES2_BIT as well as EGL_OPENGL_ES_BIT. - egl_xlib.c sets the EGL_NATIVE_RENDERABLE attribute to EGL_FALSE for all softpipe configurations. (Otherwise, an eglChooseConfig() that looks for particular values of EGL_NATIVE_RENDERABLE will fail.)
* egl: added a debug msgBrian Paul2008-06-131-0/+1
|
* egl: only windows are renderable at this timeBrian Paul2008-06-101-0/+3
|
* egl: EGL->DRI adaptor/driverBrian Paul2008-06-061-0/+833
Allows regular DRI drivers to work with libEGL.