path: root/src/egl/drivers/dri2
AgeCommit message (Collapse)AuthorFilesLines
2011-03-02egl_dri2 x11: Workaround device_name xcb-dri2 bugBenjamin Franzke1-5/+13
This commit is basically a copy-over of the fix Chia-I Wu's commited to wayland: "Workaround an xcb-dri2 bug. xcb_dri2_connect_device_name generated by xcb-proto 1.6 is broken. It only works when the length of the driver name is a multiple of 4."
2011-03-01egl: Add EGL_WL_bind_wayland_displayBenjamin Franzke6-17/+224
2011-02-20egl_dri2: Return NULL when xcb_get_geometry_reply fails.Chia-I Wu1-0/+1
This should fix bug #33946.
2011-02-16egl_dri2: add swrastHaitao Feng5-52/+395
This enables the egl_dri2 driver to load swrast driver for software rendering. It could be used when hardware dri2 drivers are not available, such as in VM. Signed-off-by: Haitao Feng <>
2011-02-14egl_dri2: add nouveau support.Dave Airlie1-0/+8
but really wtf? all these PCI IDs need to be ripped out of here, its totally unscalable and the drivers already have this info so could export it some better way. tested by Darxus on #wayland.
2011-02-10egl_dri2: rename loader_extension to dri2_loader_extensionHaitao Feng3-18/+18
Signed-off-by: Haitao Feng <>
2011-02-10egl_dri2 wayland: Sync front buffer releaseBenjamin Franzke2-26/+67
2011-02-10egl_dri2: Always unbind old contextsBenjamin Franzke1-10/+11
This fixes __DRIdrawable refcounting. Binding a context increases their refcount, so we need to decrease it.
2011-02-10egl_dri2: Use double buffering for window surfacesBenjamin Franzke5-40/+110
2011-02-07wayland-egl: Force roundtrips to get device name and authenticate correctlyKristian Høgsberg1-4/+28
If the client hasn't done the initial wl_display_iterate() at the time we initialize the display, we have to do that in platform_wayland.c. Make sure we detect that correctly instead of dup()ing fd=0, and use the sync callback to make sure we don't wait forever for authorization that won't happen.
2011-02-07egl_dri2: Add wayland platformBenjamin Franzke4-0/+644
2011-02-07egl_dri2: Export dri2_get_driver_for_fdBenjamin Franzke2-1/+4
2011-02-07egl_dri2: Enable pixmap bind_to_texture according to the extensionBenjamin Franzke1-1/+2
2011-02-03egl_dri2: Add new radeon pci idsAlex Deucher1-1/+40
Signed-off-by: Alex Deucher <>
2011-02-03egl_dri2: Split out drm platform implementation to a separate fileKristian Høgsberg4-595/+640
2011-02-03egl_dri2: Split out x11 platform codeKristian Høgsberg4-826/+936
2011-01-30egl_dri2: Export glapi symbols for DRI drivers.Chia-I Wu2-10/+27
When an app loads dynamically with RTLD_LOCAL, loading DRI drivers would fail because of missing glapi symbols. This commit makes egl_dri2 load with RTLD_GLOBAL to export glapi symbols for future symbol resolutions. The same trick can be found in GLX. However, egl_dri2 can only do so when --enable-shared-glapi is given. Because, otherwise, both and define glapi symbols and egl_dri2 cannot tell which library to load.
2011-01-13egl: Improve driver selection.Chia-I Wu1-0/+4
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 Wu1-0/+4
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 Wu1-18/+15
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-12egl_dri2: Fix eglGetProcAddress.Chia-I Wu1-1/+2
The driver struct is zeroed after dri2_load. Oops.
2011-01-10egl: Make egl_dri2 and egl_glx built-in drivers.Chia-I Wu2-2/+5
These two drivers are small in size. Making them built-in should simplify packaging.
2011-01-10egl_dri2: Look up _glapi_get_proc_address dynamically.Chia-I Wu2-16/+46
In preparation for making egl_dri2 built-in. It also handles symbol lookup error: /usr/local/lib/egl/ undefined symbol: _glapi_get_proc_address more gracefully.
2011-01-09dri2: release texture image.Juan Zhao1-4/+25
Add release function for texture_from_pixmap extension. Some platform need to release texture image for texture_from_pixmap extension, add this interface for those platforms.
2010-11-24egl_dri2: Fix one context, multiple surfaces.Chia-I Wu1-1/+5
When a context was made current to another surface, the old code did this dri2_dpy->core->bindContext(cctx, ddraw, rdraw); dri2_dpy->core->unbindContext(old_cctx); and there will be no current context due to the second line. unbindContext should be called only when bindContext is not. This fixes a regression since d19afc57. Thanks to Neil Roberts for noticing the issue and creating a test case.
2010-11-17egl_dri2: Add missing intel chip ids.Robert Hooker1-0/+12
Signed-off-by: Robert Hooker <>
2010-11-10egl_dri2: Fix __DRI_DRI2 version 1 support.Chia-I Wu1-1/+1
Correctly set __DRI_API_OPENGL flag.
2010-11-08egl_dri2: Add radeon chip idsAlex Deucher1-0/+427
2010-10-26egl_dri2: Fix a typo that make glFlush be called at wrong time.Chia-I Wu1-1/+1
We want to call glFlush when there is a current context. That is, old_ctx. This is a regression introduced by d19afc57fe49816f3f3290410e0124d326577be2.
2010-10-23egl: Use reference counting to replace IsLinked or IsBound.Chia-I Wu1-10/+25
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 Wu1-1/+1
Mainly to rename _eglAddConfig to _eglLinkConfig, along with a few clean ups.
2010-10-22egl: Parse image attributes with _eglParseImageAttribList.Chia-I Wu1-81/+30
Avoid code duplications.
2010-10-22egl: Move attributes in _EGLImage to _EGLImageAttribs.Chia-I Wu1-4/+4
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_dri2: Drop the use of _egl[SG]etConfigKey.Chia-I Wu1-11/+9
_EGLConfig can be directly dereferenced now.
2010-09-24egl: Fix several 'comparison between signed and unsigned integer' warningsIan Romanick1-2/+2
I hate GCC for requiring the (int) cast on sizeof.
2010-09-24EGL DRI2: Silence 'missing initializer' warningsIan Romanick1-2/+2
2010-09-24EGL DRI2: Silence piles of 'unused variable' warningsIan Romanick1-0/+46
2010-09-22dri: Pass the __DRIscreen and the __DRIscreen private back to image lookupKristian Høgsberg1-4/+3
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øgsberg1-4/+2
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 <>
2010-09-13EGL DRI2: 0xa011 is Pineview not IronlakeJesse Barnes1-1/+1
Point about needing a better way to do this validated.
2010-09-13EGL DRI2: add PCI ID for Ironlake mobileJesse Barnes1-0/+1
Allows KMS EGL driver to load. We need a better way of doing this.
2010-08-25egl_dri2: Add support for MESA_image_drmKristian Høgsberg1-0/+223
2010-07-29egl_dri2: Set API version for DRM displayKristian Høgsberg1-0/+4
2010-07-28egl_dri2: Implement EGL_KHR_surfaceless_* extensionsKristian Høgsberg1-25/+55
2010-07-08egl_dri2: Support _EGL_PLATFORM_DRMKristian Høgsberg2-40/+223
This lets the egl_dri2 driver initialize on just a DRM fd.
2010-06-30egl: Store configs in a dynamic array.Chia-I Wu1-1/+1
2010-06-23egl: Introduce platform displays internally.Chia-I Wu1-4/+7
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-28egl_dri2: Split driver loading out into its own functionKristian Høgsberg1-32/+48
2010-05-28egl_dri2: Check for xcb_connect() failure the right wayKristian Høgsberg1-6/+4
It always returns a valid xcb_connection_t, but if connection failed, it's in the error state.
2010-05-20Make TLS EGL dri2 driver search path behavior match TLS GLX dri2 behavior.Eric Anholt1-9/+12