summaryrefslogtreecommitdiff
path: root/src/egl/drivers/glx
AgeCommit message (Collapse)Author
2011-01-13egl: Improve driver selection.Chia-I Wu
The idea is to be able to match a driver using the following order try egl_gallium with hw renderer try egl_dri2 try egl_gallium with sw renderer try egl_glx given the module list egl_gallium egl_dri2 egl_glx For that, UseFallback initialization option is added. The module list is matched twice: with the option unset and with the option set. In the first pass, egl_gallium skips its sw renderer and egl_glx rejects to initialize since UseFallback is not set. In the second pass, egl_gallium skips its hw renderer and egl_dri2 rejects to initialize since UseFallback is set. The process stops at the first driver that initializes the display.
2011-01-13egl: Simplify driver matching.Chia-I Wu
Add initialization options that drv->API.Initialize should support. Replace drv->Probe by TestOnly initialization option and simplify _eglMatchDriver.
2011-01-13egl: Cleanup _EGLDisplay initialization.Chia-I Wu
Reorder/rename and document the fields that should be set by the driver during initialization. Drop the major/minor arguments from drv->API.Initialize.
2011-01-10egl: Make egl_dri2 and egl_glx built-in drivers.Chia-I Wu
These two drivers are small in size. Making them built-in should simplify packaging.
2011-01-10egl_glx: Load libGL dynamically.Chia-I Wu
This is a step forward for compatibility with really old GLX. But the real reason for making this change now is so that we can make egl_glx a built-in driver without having to link to libGL.
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: Minor changes to the _EGLConfig interface.Chia-I Wu
Mainly to rename _eglAddConfig to _eglLinkConfig, along with a few clean ups.
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-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-09eglglx: Convert glx visuals/fbconfigs straight to EGL configsKristian Høgsberg
In other words, skip the __GLcontextModes middle man.
2010-06-30egl: Store configs in a dynamic array.Chia-I Wu
2010-06-23egl: Introduce platform displays internally.Chia-I Wu
This commit introduces type-safe platform displays internally. A platform display consists of a generic pointer and an enum that specifies the platform. An EGLDisplay is created from a platform display. Native displays become platform displays whose platform is determined by _eglGetNativePlatform(). Platform windows and pixmaps may also be introduced if needed.
2010-05-14egl: remove duplicate ARRAY_SIZE() macro declarationBrian Paul
2010-04-19egl: Pass flags to locate Xlib headers and librariesDan Nicholson
eglplatform.h pulls in Xlib.h on X11 platforms. Likewise, the egl glx driver and egl programs needs to link to libX11. Make sure we use the locations the user told us about. Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2010-02-04egl: Convert drivers to use typecast macros.Chia-I Wu
Use macros to define the standard typecasts. This saves lots of typings.
2010-01-31egl: Initialize display configs with the display.Chia-I Wu
This changes _eglInitConfig to take the display as its argument.
2010-01-31egl: Initialize display resources with their display.Chia-I Wu
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.
2010-01-30egl: Clean up header inclusions.Chia-I Wu
Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
2010-01-28egl: Migrate drivers to use _eglBindContext.Chia-I Wu
_eglMakeCurrent is a big hammer that is not easy to use. Migrate drivers to use _eglBindContext and un-export _eglMakeCurrent.
2010-01-28egl: eglMakeCurrent should accept an uninitialized display.Chia-I Wu
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.
2010-01-25egl: Native types are renamed in EGL 1.3.Chia-I Wu
Rename Native*Type to EGLNative*Type.
2010-01-22egl_glx: Report only OpenGL support.Chia-I Wu
It reported OpenGL ES support because some demos did not set EGL_RENDERABLE_TYPE correctly. The demos are fixed.
2010-01-22egl: Update driver Makefiles.Chia-I Wu
Update to use the new Makefile.template.
2010-01-12egl: Add _EGLDriver as the first argument to GetProcAddress.Chia-I Wu
The rest of the driver API has it as the first argument. It should be there so that a driver has access to itself.
2009-10-22egl_glx: Add support for eglWaitClient and eglWaitNative.Chia-I Wu
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-22egl_glx: Clean up eglGetProcAddress.Chia-I Wu
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-22egl_glx: Clean up context functions.Chia-I Wu
This lifts the requirement that a context must be direct. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-22egl_glx: Clean up surface functions.Chia-I Wu
Separete Drawable and GLXDrawable. Add support for pbuffer and pixmap surfaces on GLX <= 1.3. Remove surface binding code that will never work. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-22egl_glx: Clean up the initialization code.Chia-I Wu
Proper detection of GLX extensions. Convert fbconfigs or visuals in a more unified way and validate the resulting configs. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-26egl_glx: Make fbconfigs and visuals per display.Chia-I Wu
This is to allow a driver to drive multiple displays. Remove the use of _EGL_PLATFORM_X and obsolete code along the way. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Remove eglhash.c and eglhash.h.Chia-I Wu
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Some per-driver data should be per-display.Chia-I Wu
Move some fields of _EGLDriver to _EGLDisplay. It also becomes unnecessary to pass _EGLDisplay to drivers when _eglMain is called. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Overhaul driver API.Chia-I Wu
The motivation is so that drivers do not need to look up and check for bad display, context, and etc. It also becomes unnecessary for drivers to call the link functions. This commit makes eglapi.[ch] do the lookup and check. As a result, the driver API is overhauled, and almost all sources and drivers need update. The updates are mainly find and replace with human brains. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-03egl: Replace IsBound by a pointer to the binding.Chia-I Wu
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 <olvaffe@gmail.com>
2009-07-17egl: Remove redundant DeletePending flag.Chia-I Wu
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 <olvaffe@gmail.com>
2009-07-17egl: Use the link functions to manage resources.Chia-I Wu
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 <olvaffe@gmail.com>
2009-06-01Use separate $(MINSTALL) for installing librariesDan Nicholson
The special feature of bin/minstall to copy symlinks is only ever needed when installing libraries which may have .so symlinks. All the headers and directories can use a normal install program. These two modes are separated as $(INSTALL) and $(MINSTALL) to allow the user (or autoconf) to override installing normal files as they please. An autoconf check for the install program has been added and will be used in preference to minstall when available. Fixes bug 16053.
2009-03-26egl: Fix newline typo in MakefilesCarl-Johan Kjellander
2009-03-19egl: fix commentAlan Hourihane
2009-03-19egl: try harder for eglGetProcAddress()Alan Hourihane
2009-02-19egl: glx updates for FBconfigsAlan Hourihane
2009-02-19egl: error checkingAlan Hourihane
2009-02-11Add install target for eglJohannes Engel
Signed-off-by: Johannes Engel <jcnengel@googlemail.com> Acked-by: Jakob Bornecrantz <jakob@vmware.com>
2009-01-14egl: fix makecurrent with null drawable/contextAlan Hourihane
2008-12-23egl: fix egl closureAlan Hourihane
2008-12-23egl: fix startup query versionAlan Hourihane
2008-12-23egl: support GLXFBConfigs, pbuffers and pixmaps.Alan Hourihane
2008-10-27disable OPENGL_BITAlan Hourihane