summaryrefslogtreecommitdiffstats
path: root/src/egl
Commit message (Collapse)AuthorAgeFilesLines
* egl_glx: Try first a default lookup for glXGetProcAddress before loading ↵Beren Minor2011-11-271-9/+14
| | | | | | | | | | | | | | | | | | | | dynamic lib. GLX functions are sometimes directly available in the current binary. In such cases, we do not need any alternate library loaded using dlopen. Otherwise, dlopen may find the wrong libGL library and get functions that conflicts with the current loaded ones. For example, on Debian Sid with nvidia binary drivers, using mesa's libEGL with GLX driver leads to wrong glXGetFBConfigs symbol loaded (or loaded twice?), which leads to "GLX: failed to create any config" error message as the glXGetFBConfigs symbol seems to return garbage. If the binary is linked with nvidia's libGL, the GLX symbols are already available. Without this patch, convert_fbconfig (src/egl/drivers/glx/egl_glx.c:233) fails for every config found, after glXGetFBConfigAttrib(... GLX_RENDER_TYPE, ...) call, as the value returned has GLX_COLOR_INDEX_BIT and not GLX_RGBA_BIT. [olv: initialize handle, prepend egl_glx to the commit log]
* android: bring in i915_dri and i965_dri automaticallyChia-I Wu2011-11-261-0/+4
| | | | | Add i915_dri and i965_dri to libGLES_mesa's LOCAL_REQUIRED_MODULES when enabled.
* android: move libGLES_mesa build rules to src/egl/main/.Chia-I Wu2011-11-261-3/+83
| | | | Keep the top-level Android.mk away from building modules.
* android: add support for ICSChia-I Wu2011-11-252-9/+18
| | | | | | | | With ICS (Android 4.0), several headers and structs are renamed. Define ANDROID_VERSION so that we can choose a different path depending on the platform version. I've tested only softpipe and llvmpipe. r600g is also reported to work.
* egl: silence unused var warningBrian Paul2011-11-101-0/+2
|
* configure: replace pkg-config calls with $(PKG_CONFIG) in the makefiles.Stéphane Marchesin2011-10-041-2/+2
| | | | | | | Us poor souls who cross compile mesa want to be able to specify which pkg-config to pick, or at least just change one place. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* egl: add null platformChia-I Wu2011-09-203-0/+8
| | | | | | | The null platform has no window or pixmap surface (but pbuffer surface). And the only valid display is EGL_DEFAULT_DISPLAY. It is useful for offscreen rendering. It works everywhere becase no window system is required.
* egl_glx.c: use unsigned instead of uintMatt Turner2011-09-191-3/+3
| | | | | | | We've had a hack to fix this in Gentoo on Solaris for a while. Signed-off-by: Matt Turner <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* wayland: Flush before blocking in swapbuffers.Jørgen Lind2011-09-151-2/+5
| | | | Make sure that we've sent the frame request that we're going to block on.
* egl_dri2: add support for RGBA_8888 android native bufferChia-I Wu2011-09-091-0/+2
| | | | HAL_PIXEL_FORMAT_RGBA_8888 maps to __DRI_IMAGE_FORMAT_ABGR8888.
* Define INLINE macro in terms of inline.José Fonseca2011-09-081-19/+22
|
* wayland: Use wl_resource_* error functionsKristian Høgsberg2011-09-011-10/+10
|
* egl_dri2: Destroy callback in release_pending_bufferBenjamin Franzke2011-09-011-0/+2
|
* wayland-drm: Fix compilation with wayland masterBenjamin Franzke2011-09-011-9/+9
| | | | c661ecce introduced some not-yet-upstream stuff.
* wayland: Track changes to drop wl_visualKristian Høgsberg2011-08-318-39/+108
|
* egl_dri2: Only clear EGL_PIXMAP_BIT if DRI config is double bufferedKristian Høgsberg2011-08-311-2/+4
| | | | | | | We don't want to set the pixmap bit in the EGL config if the DRI config we're adding is a double buffered config. However, don't clear any other bits the platform might pass in in the surface_type argument.
* wayland: Track server side wayland changesKristian Høgsberg2011-08-312-35/+37
|
* wayland: Use new wl_callback mechanismKristian Høgsberg2011-08-311-31/+24
|
* egl_dri2: Drop dri2_surface_type enumBenjamin Franzke2011-08-312-18/+9
| | | | | Was only used in platform_wayland, and the remaining egl stack uses _EGLSurface::Type with one of EGL_{WINDOW,PIXMAP,PBUFFER}_BIT.
* egl_dri2: add pbuffer support to platform_androidChia-I Wu2011-08-311-5/+16
| | | | | | This is a simple change thanks to allocateBuffer. Reviewed-by: Chad Versace <[email protected]>
* egl_dri2: check the surface type in platform_androidChia-I Wu2011-08-311-45/+56
| | | | | | | Check the surface type is EGL_WINDOW_BIT before doing anything, in preparation for pbuffer support. Reviewed-by: Chad Versace <[email protected]>
* egl_dri2: refactor droid_get_buffers_with_formatChia-I Wu2011-08-311-27/+39
| | | | | | Move the loop to parse attachments to its own function. Reviewed-by: Chad Versace <[email protected]>
* egl_dri2: set ctx->WindowRenderBufferChia-I Wu2011-08-311-0/+6
| | | | | | | | | Set ctx->WindowRenderBuffer to EGL_BACK_BUFFER. As EGL_WINDOW_BIT of a config is set only when there is dri_double_buffer, that makes sure window surfaces are always double-buffered and contexts will render to the back buffer. Reviewed-by: Chad Versace <[email protected]>
* egl: Use gbm/wayland flags regardless of egl_dri2Benjamin Franzke2011-08-291-10/+10
| | | | | | Since they are needed for display autodetection. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40443
* android: add support for egl_dri2Chia-I Wu2011-08-282-0/+53
| | | | | | | Add rules to build egl_dri2 and make it a built-in EGL driver of libGLES_mesa. Reviewed-by: Chad Versace <[email protected]>
* egl_dri2: add support for AndroidChia-I Wu2011-08-283-0/+749
| | | | | | | | | | | | | | | | | | | | | | Add platform_android.c that supports _EGL_PLAFORM_ANDROID. It works with drm_gralloc, where back buffers of windows are backed by GEM objects. In Android a native window has a queue of back buffers allocated by the server, through drm_gralloc. For each frame, EGL needs to dequeue the next back buffer render to the buffer enqueue the buffer After enqueuing, the buffer is no longer valid to EGL. A window has no depth buffer or other aux buffers. They need to be allocated locally by EGL. Reviewed-by: Benjamin Franzke <[email protected]> Reviewed-by: Chad Versace <[email protected]> [olv: with assorted minor changes, mostly suggested during the review]
* egl_dri2: allow RGBA masks to be specified for matchingChia-I Wu2011-08-285-5/+27
| | | | | | | | Add rgba_masks to dri2_add_config. When it is non-NULL, the DRI config is accepted only when the offsets and sizes of the its channels match rgba_mask. Reviewed-by: Chad Versace <[email protected]>
* android: build core EGLChia-I Wu2011-08-211-0/+64
| | | | | | This builds the static library libmesa_egl from core EGL. Reviewed-by: Chad Versace <[email protected]>
* egl: add Android-specific extensionsChia-I Wu2011-08-214-0/+39
| | | | | | | | Add EGL_ANDROID_image_native_buffer and EGL_ANDROID_swap_rectangle. There is no spec for them though. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* egl: add _EGL_PLATFORM_ANDROIDChia-I Wu2011-08-212-1/+3
| | | | | | | This is Android Gingerbread platform. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* egl: Add include paths for platform autodetectionBenjamin Franzke2011-08-161-0/+2
| | | | | | Needed since commit 85fe9484. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40145
* dri2: Add __DRI_BUFFER_COUNT tokenBenjamin Franzke2011-08-161-2/+0
| | | | | | | Remove definition from egl_dri2. Defining this is egl_dri2.h breaks as soon as a new dri2 buffer token is added like with commit 4501a5d6e8d00fd0d87625352ed5ba1a8861f72e.
* egl: Log (debug) native platform typeBenjamin Franzke2011-08-151-12/+25
| | | | Reviewed-by: Kristian Høgsberg <[email protected]>
* egl: Native Display autodetectionBenjamin Franzke2011-08-154-8/+115
| | | | | | | | | | | | | | | | | | | | | | | | EGL doesnt define howto manage different native platforms. So mesa has a builtime configurable default platform, whith non-standard envvar (EGL_PLATFORM) overwrites. This caused unneeded bugreports, when EGL_PLATFORM was forgotten. Detection is grouped into basic types of NativeDisplays (which itself needs to be detected). The final decision is based on characteristcs of these basic types: File Desciptor based platforms (fbdev): - fstat(2) to check for being a fd that belongs to a character device - check kernel subsystem (todo) Pointer to structuctures (x11, wayland, drm/gbm): - mincore(2) to check whether its valid pointer to some memory. - magic elements (e.g. pointers to exported symbols): o wayland display stores interface type pointer (first elm.) o gbm stores pointer to its constructor (first elm.) o x11 as a fallback (FIXME?) Reviewed-by: Kristian Høgsberg <[email protected]>
* Destroy context in dri2/glx driver when apps call eglDestroyContextCooper Yuan2011-08-142-2/+38
|
* egl/gbm: Fix EGL_DEFAULT_DISPLAYBenjamin Franzke2011-08-043-2/+31
|
* egl: EGL_MATCH_NATIVE_NATIVE_PIXMAP cannot be EGL_DONT_CAREChia-I Wu2011-07-291-2/+3
|
* egl: make pixmaps and pbuffers EGL_BUFFER_PRESERVEDChia-I Wu2011-07-291-1/+3
| | | | eglSwapBuffers is no-op to these surface types anyway.
* wayland-drm: Add copyright notice to protocolBenjamin Franzke2011-07-271-0/+27
| | | | Fixes build since wayland 986703ac7365bc87a5501714adb9fc73157c62b7.
* Rename swrastg_dri to swrast_driMarek Olšák2011-07-141-5/+0
| | | | | I prefer it this way and it has been suggested earlier by others too. Opinions?
* Fixes for leaks reported by cppcheck.Völgyes Dávid2011-07-063-2/+8
|
* egl_dri2: Fix compilation if udev devel files are not installedBenjamin Franzke2011-07-021-0/+4
| | | | NOTE: This is a candidate for the 7.11 branch.
* egl: add copyright noticesChia-I Wu2011-07-0238-49/+1054
| | | | | The list of copyright holders could be incomplete. Please update directly or notify me if your name is missing.
* egl: fix a compiler warningChia-I Wu2011-07-011-0/+1
|
* egl: Fix Terminate with shared gbm screensBenjamin Franzke2011-06-272-2/+7
| | | | NOTE: This is a candidate for the 7.11 branch.
* egl: fix EGL_MATCH_NATIVE_PIXMAPChia-I Wu2011-06-251-2/+10
| | | | | EGL_MATCH_NATIVE_PIXMAP is valid for eglChooseConfig, but invalid for eglGetConfigAttrib.
* egl: make implementing eglChooseConfig easierChia-I Wu2011-06-252-27/+57
| | | | | Add a new helper function, _eglFilterConfigArray, for drivers and hide _eglSortConfigs.
* egl_dri2: Build drm platform only if enabledBenjamin Franzke2011-06-242-1/+8
|
* egl_dri2: Hookup gbm as drm platformBenjamin Franzke2011-06-235-61/+131
|
* egl_dri2/wayland: Hook up new buffer.release eventBenjamin Franzke2011-06-213-18/+129
|