summaryrefslogtreecommitdiffstats
path: root/src/egl
Commit message (Collapse)AuthorAgeFilesLines
* egl_dri2.c: Open drm device with O_CLOEXECKristian Høgsberg2011-04-071-1/+1
| | | | Not a good fd to leak.
* egl_dri2 x11: Fix a typoFeng, Haitao2011-03-301-1/+1
| | | | Signed-off-by: Haitao Feng <[email protected]>
* egl/wayland-drm: Fix include pathBenjamin Franzke2011-03-261-1/+2
| | | | | | src/egl/main/egltypedefs.h needs the path for EGL/egl.h Reported by jlind on irc.
* egl_dri2: We don't actually support KHR_gl_texture_2D_imageKristian Høgsberg2011-03-261-1/+0
|
* egl_dri2: Enable image extensions in one placeKristian Høgsberg2011-03-264-13/+7
| | | | | We know what we can support in egl_dri2.c so just enable the extensions there.
* egl_dri2: Add attribute map for __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLEBenjamin Franzke2011-03-071-0/+1
| | | | | Broken since 6538b5824e298eaebede2d9686c7607c44ab446a. Thanks to iskren on #wayland for helping on finding this.
* egl_dri2: Fix incompatible vfunc-pointer warningBenjamin Franzke2011-03-041-1/+1
|
* egl/wayland: Move wayland-egl into a subdirBenjamin Franzke2011-03-046-64/+86
| | | | | This hopefully fixes wayland-egl's dependency resolution for autogenerated wayland-drm headers.
* egl_dri2 x11: Workaround device_name xcb-dri2 bugBenjamin Franzke2011-03-021-5/+13
| | | | | | | | | This commit is basically a copy-over of the fix Chia-I Wu's commited to wayland: http://cgit.freedesktop.org/wayland/wayland-demos/commit/?id=1b6c0ed95 "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."
* egl/wayland: build subdirs (wayland-drm) before dependBenjamin Franzke2011-03-021-1/+1
| | | | Autogenerated files need to be generated first.
* egl: Add EGL_WL_bind_wayland_displayBenjamin Franzke2011-03-0119-23/+620
|
* egl_dri2: Return NULL when xcb_get_geometry_reply fails.Chia-I Wu2011-02-201-0/+1
| | | | This should fix bug #33946.
* egl_dri2: add swrastHaitao Feng2011-02-165-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 <[email protected]>
* egl_dri2: add nouveau support.Dave Airlie2011-02-141-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.
* egl_dri2: rename loader_extension to dri2_loader_extensionHaitao Feng2011-02-103-18/+18
| | | | Signed-off-by: Haitao Feng <[email protected]>
* egl_dri2 wayland: Sync front buffer releaseBenjamin Franzke2011-02-102-26/+67
|
* egl_dri2: Always unbind old contextsBenjamin Franzke2011-02-101-10/+11
| | | | | | This fixes __DRIdrawable refcounting. Binding a context increases their refcount, so we need to decrease it.
* egl_dri2: Use double buffering for window surfacesBenjamin Franzke2011-02-105-40/+110
|
* wayland-egl: Add struct wl_egl_display argument to +wl_egl_window_create()Kristian Høgsberg2011-02-071-1/+2
|
* wayland-egl: Force roundtrips to get device name and authenticate correctlyKristian Høgsberg2011-02-072-4/+29
| | | | | | | | 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.
* egl_dri2: Add wayland platformBenjamin Franzke2011-02-074-0/+644
|
* egl_dri2: Export dri2_get_driver_for_fdBenjamin Franzke2011-02-072-1/+4
|
* egl_dri2: Enable pixmap bind_to_texture according to the extensionBenjamin Franzke2011-02-071-1/+2
|
* egl: Implement libwayland-eglBenjamin Franzke2011-02-074-0/+363
| | | | | This library is required and defined by wayland for EGL implementations supporting wayland.
* egl: Add wayland platformBenjamin Franzke2011-02-074-1/+10
|
* egl_dri2: Add new radeon pci idsAlex Deucher2011-02-031-1/+40
| | | | Signed-off-by: Alex Deucher <[email protected]>
* egl_dri2: Split out drm platform implementation to a separate fileKristian Høgsberg2011-02-034-595/+640
|
* egl_dri2: Split out x11 platform codeKristian Høgsberg2011-02-034-826/+936
|
* egl_dri2: Export glapi symbols for DRI drivers.Chia-I Wu2011-01-302-10/+27
| | | | | | | | | | | | When an app loads libEGL.so dynamically with RTLD_LOCAL, loading DRI drivers would fail because of missing glapi symbols. This commit makes egl_dri2 load libglapi.so 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 libGL.so and libglapi.so define glapi symbols and egl_dri2 cannot tell which library to load.
* egl: Make the transition to built-in drivers more smooth.Chia-I Wu2011-01-301-5/+24
| | | | | | When the user sets EGL_DRIVER to egl_dri2 (or egl_glx), make sure the built-in driver is used. The user might leave the outdated egl_dri2.so (or egl_glx.so) on the filesystem and we do not want to load it.
* egl: Fix EGL_VERSION string.Chia-I Wu2011-01-141-1/+1
| | | | Fix a copy-and-paste error in a4a38dcf61f141297a083ccac217200947d57b0d.
* egl: Fix an assertion in _eglUpdateAPIsString.Chia-I Wu2011-01-141-1/+1
| | | | dpy->ClientAPIs was renamed in a4a38dcf61f141297a083ccac217200947d57b0d.
* egl: need stdio.h for non-Windows build too to avoid compiler warningBrian Paul2011-01-131-1/+1
|
* egl: Improve driver selection.Chia-I Wu2011-01-134-0/+14
| | | | | | | | | | | | | | | | | | | | | | | 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.
* egl: Simplify driver matching.Chia-I Wu2011-01-135-84/+61
| | | | | | Add initialization options that drv->API.Initialize should support. Replace drv->Probe by TestOnly initialization option and simplify _eglMatchDriver.
* egl: Cleanup _EGLDisplay initialization.Chia-I Wu2011-01-138-63/+58
| | | | | Reorder/rename and document the fields that should be set by the driver during initialization. Drop the major/minor arguments from drv->API.Initialize.
* egl: When EGL_DRIVER is set, do not add other drivers.Chia-I Wu2011-01-121-5/+14
| | | | | Setting EGL_DRIVER forces the driver to be loaded, as documented. There should be no fallbacks.
* egl: libEGL depends on LOCAL_LIBS.Chia-I Wu2011-01-121-1/+1
| | | | So that libEGL is rebuilt whenever LOCAL_LIBS changes.
* egl_dri2: Fix eglGetProcAddress.Chia-I Wu2011-01-121-1/+2
| | | | The driver struct is zeroed after dri2_load. Oops.
* scons: Updates for targets/egl-static.Chia-I Wu2011-01-123-13/+24
| | | | | | | | Update SConscripts to re-enable or add support for EGL on windows and x11 platforms respectively. targets/egl-gdi is replaced by targets/egl-static, where "-static" means pipe drivers and state trackers are linked to statically by egl_gallium, and egl_gallium is a built-in driver of libEGL. There is no more egl_gallium.dll on Windows.
* targets/egl-static: New EGL target for scons.Chia-I Wu2011-01-121-6/+14
| | | | | This target is based on and replaces egl-gdi. It is suitable for both windows and x11.
* egl: Make egl_dri2 and egl_glx built-in drivers.Chia-I Wu2011-01-109-99/+106
| | | | | These two drivers are small in size. Making them built-in should simplify packaging.
* egl_glx: Load libGL dynamically.Chia-I Wu2011-01-102-107/+238
| | | | | | 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.
* egl_dri2: Look up _glapi_get_proc_address dynamically.Chia-I Wu2011-01-102-16/+46
| | | | | | | | | In preparation for making egl_dri2 built-in. It also handles symbol lookup error: /usr/local/lib/egl/egl_dri2.so: undefined symbol: _glapi_get_proc_address more gracefully.
* dri2: release texture image.Juan Zhao2011-01-091-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.
* egl: add missing case in _eglError()Brian Paul2010-12-311-1/+4
|
* egl: Do not unload drivers.Chia-I Wu2010-12-121-5/+11
| | | | | | When the driver is the last reference to libEGL.so, unloading it will cause libEGL.so to be unmapped and give problems. Disable the unloading for now. Still have to figure out the right timing to unload drivers.
* egl: _eglFilterArray should not allocate.Chia-I Wu2010-12-063-22/+34
| | | | | Otherwise, when it is called from within a driver, the caller cannot free the returned data (on Windows).
* egl_dri2: Fix one context, multiple surfaces.Chia-I Wu2010-11-241-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.
* egl_dri2: Add missing intel chip ids.Robert Hooker2010-11-171-0/+12
| | | | Signed-off-by: Robert Hooker <[email protected]>