History log of /external/mesa3d/src/egl/drivers/dri2/platform_x11.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
868ae3e31b0e479b299188d0047c88f0d260c6ec 25-Nov-2015 Boyan Ding <boyan.j.ding@gmail.com> egl/dri2: Unify the style of function pointer calls in structs

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
[Emil Velikov: address platform_surfaceless]
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
4d6d4f939e0af4252e0b6ba3fcb2c9f4101e9e39 21-Dec-2016 Tapani Pälli <tapani.palli@intel.com> egl/dri2: implement query surface hook

This makes better guarantee that the values we return are
in sync what the underlying drawable currently has.

Together with dEQP change in bug #98327 this fixes following test:

dEQP-EGL.functional.resize.surface_size.grow

v2: avoid unnecessary x11 roundtrips (Chad Versace)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Tested-by: Mark Janes <mark.a.janes@intel.com>
Reviewed-by: Chad Versace <chadversary@chromium.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98327
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
08fc74663bea34d61761b02b6194cdef686baefe 08-Dec-2016 Eric Engestrom <eric@engestrom.ch> egl/x11: cleanup init code

No functional change, just rewriting it in an easier-to-understand way.

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
7c6babb22c83d0cde747ec57c5ceb3c9e037c626 21-Nov-2016 Emil Velikov <emil.velikov@collabora.com> egl/x11: store xcb_screen_t *screen instead of int screen

Just fetch and store it once, rather than doing the
xcb_setup_roots_iterator + get_xcb_screen dance five times.

v2: Call xcb_disconnect() on error (Eric)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> (v1)
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
b9880d2e93a260c348b9413cb2c633365ba13b6e 21-Nov-2016 Emil Velikov <emil.velikov@collabora.com> egl/x11: factor out dri2_get_xcb_connection()

Identical throughout dri2, dri3 and drisw. Next patch will add more
common code, so rather than duplicating it factor out the function.

Note: this also sets eglError on failure. Something that's quite
inconsistent throughout the codebase.

v2: Call xcb_disconnect() on error (Eric)

Note: use xcb_disconnect() even in the xcb_connection_has_error() case
as per the manual:
... memory will not be freed until xcb_disconnect...

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> (v1)
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
8b780a543a39b6c2f971b074aff3c1d5d902b9b0 16-Nov-2016 Eric Engestrom <eric@engestrom.ch> egl/x11: misc style fixes

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
af7abc512c422183a761ce3d687086abe282fa74 12-Sep-2016 Emil Velikov <emil.velikov@collabora.com> loader: remove loader_get_driver_for_fd() driver_type

Reminiscent from the pre-loader days, were we had multiple instances of
the loader logic in separate places and one could build a "GALLIUM_ONLY"
version.

Since that is no longer the case and the loaders (glx/egl/gbm) do not
(and should not) require to know any classic/gallium specific we can
drop the argument and the related code.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
d81ba763e38b726054dca5b59671ffa0166461b4 25-Aug-2016 Emil Velikov <emil.velikov@collabora.com> egl/x11: attribute for dri2_add_config failure

... in dri2_x11_add_configs_for_visuals().

Currently the latter does not consider that, thus in such cases it adds
"empty" configs in the list.

Properly account for things and as we do that we can reuse count,
instead of calling _eglGetArraySize to determine if we've added any
configs.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
98f5d0106a8ee45e58a6bf162720da3f6f614a95 25-Aug-2016 Emil Velikov <emil.velikov@collabora.com> egl/dri2: set WL_bind_wayland_display in a consistent way

Introduce a helper and use it throughout the platform code. This allows
us to reduce the amount of ifdef(s) and (potentially) use
kms_swrast_dri.so for !drm platforms (namely wayland and x11).

Note: in the future as other platforms (android, surfaceless) support
the extension they can reuse the helper.

v2: Rebase, check for device_name.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
b10c05d4ffaf67786b48b978871e1015b3840653 25-Aug-2016 Emil Velikov <emil.velikov@collabora.com> egl/x11: don't crash if dri2_dpy->conn is NULL

The dri3 version of commits 60e9c35b3a0 and 6de9a03bed4.

While using xcb_connect() guarantees that we always get a non NULL
return value, XGetXCBConnection() does/can not.

CC: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
f871946594129500a67c05a6d9fe99db54b4bb64 25-Aug-2016 Emil Velikov <emil.velikov@collabora.com> egl/dri2: rework dri2_egl_display::extensions storage

Remove the error prone fixed size array.
While we're here also rename to loader_extensions like in the GLX code.

v2: Rebase. Keep image_loader_extension within the wayland_drm
dri2_loader_extensions list.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
e7fcf1b09bfb41a91ba058e987ff7b399296e124 16-Aug-2016 Emil Velikov <emil.velikov@collabora.com> egl/x11: don't populate dri2_dpy->swrast_loader_extension

Analogous to earlier commits.

Note: the actual version of the extension is 1, since it does not
implement .putImage2.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
3963a5fc941b00ea8c6491599d4db6bc82c2d647 16-Aug-2016 Emil Velikov <emil.velikov@collabora.com> egl/x11: don't populate dri2_dpy->dri2_loader_extension

Analogous to the earlier android and wayland patches. As we're here we
can drop exposing the old version of the extension.

Any dri loader/driver interface use lower bound checking thus exposing
dri2 loader v3 to a v2 capable driver is perfectly normal.

v2: Preserve compat with dri2_minor < 1. The driver does not know if
there is a protocol to manage getBuffersWithFormat(). It's up-to the
loader to expose the vfunc if there is one. (Kristian)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
8fb9ea413de31cc6a95ac4c38215b621de728687 16-Aug-2016 Emil Velikov <emil.velikov@collabora.com> egl/dri2: move surface refcounting out of the platform code

All the platforms are duplicating what should be a driver/dri2 thing -
refcounting. Just fold it accordingly.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
d6f669ba834697b7321c7ea2cbb38794385c7205 17-Jun-2016 Frank Binns <frank.binns@imgtec.com> egl: only store device name when Wayland support is built

The device name is only needed for WL_bind_wayland_display so make this clear
by only storing the device name when Wayland support is built.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
4c28c916ef229e94bd46fd1703e6b535e03e7e64 17-Jun-2016 Frank Binns <frank.binns@imgtec.com> egl/x11_dri3: disable WL_bind_wayland_display for devices without render nodes

Up until now, DRI3 was only used for devices that have render nodes, unless
overridden via an environment variable, with it falling back to DRI2 otherwise.
This limitation was there in order to support WL_bind_wayland_display as it
requires client opened device node fds to be authenticated, which isn't possible
when using DRI3. This is an unfortunate compromise as DRI3 provides security
benefits over DRI2.

Instead, allow DRI3 to be used for devices without render nodes but don't
advertise WL_bind_wayland_display in this case. Applications that need this
extension can still be run by disabling DRI3 support via the LIBGL_DRI3_DISABLE
environment variable.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
769ac1ec78e5bc52191ef0393e4702945bbacaa9 31-Jul-2016 Jan Ziak <0xe2.0x9a.0x9b@gmail.com> egl/x11: avoid using freed memory if dri2 init fails

Found with valgrind:

==4841== Invalid read of size 4
==4841== at 0x56BDC80: dri2_initialize (egl_dri2.c:783)
==4841== by 0x56BAFE5: _eglMatchAndInitialize (egldriver.c:261)
==4841== by 0x56BB15E: _eglMatchDriver (egldriver.c:295)
==4841== by 0x56B58C9: eglInitialize (eglapi.c:480)
==4841== by 0x4F537DC: _glfwInitEGL (in /usr/lib64/libglfw.so.3.2)
==4841== by 0x4F4BEFB: _glfwPlatformInit (in /usr/lib64/libglfw.so.3.2)
==4841== by 0x4F46F40: glfwInit (in /usr/lib64/libglfw.so.3.2)
==4841== by 0x402E59: main
==4841== Address 0x6a05824 is 148 bytes inside a block of size 480 free'd
==4841== at 0x4C2B680: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==4841== by 0x56C2AAE: dri2_initialize_x11_swrast (platform_x11.c:1233)
==4841== by 0x56C2AAE: dri2_initialize_x11 (platform_x11.c:1493)
==4841== by 0x56BDCEB: dri2_initialize (egl_dri2.c:805)
==4841== by 0x56BAFAF: _eglMatchAndInitialize (egldriver.c:261)
==4841== by 0x56BB0C9: _eglMatchDriver (egldriver.c:292)
==4841== by 0x56B58C9: eglInitialize (eglapi.c:480)
==4841== by 0x4F537DC: _glfwInitEGL (in /usr/lib64/libglfw.so.3.2)
==4841== by 0x4F4BEFB: _glfwPlatformInit (in /usr/lib64/libglfw.so.3.2)
==4841== by 0x4F46F40: glfwInit (in /usr/lib64/libglfw.so.3.2)
==4841== by 0x402E59: main
==4841== Block was alloc'd at
==4841== at 0x4C2A868: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==4841== by 0x56C2A47: dri2_initialize_x11_swrast (platform_x11.c:1171)
==4841== by 0x56C2A47: dri2_initialize_x11 (platform_x11.c:1493)
==4841== by 0x56BDCEB: dri2_initialize (egl_dri2.c:805)
==4841== by 0x56BAFAF: _eglMatchAndInitialize (egldriver.c:261)
==4841== by 0x56BB0C9: _eglMatchDriver (egldriver.c:292)
==4841== by 0x56B58C9: eglInitialize (eglapi.c:480)
==4841== by 0x4F537DC: _glfwInitEGL (in /usr/lib64/libglfw.so.3.2)
==4841== by 0x4F4BEFB: _glfwPlatformInit (in /usr/lib64/libglfw.so.3.2)
==4841== by 0x4F46F40: glfwInit (in /usr/lib64/libglfw.so.3.2)
==4841== by 0x402E59: main

Signed-off-by: Jan Ziak (http://atom-symbol.net) <0xe2.0x9a.0x9b@gmail.com>
Fixes: 9ee683f877 (egl/dri2: Add reference count for dri2_egl_display)
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
b8e59292e6a19673ca34a8aaeeb26d75dca23f3f 29-Apr-2016 Mark Kettenis <mark.kettenis@xs4all.nl> egl/x11: resolve "initialization from incompatible pointer type" warning

With earlier commit we've moved a few functions and changing the
argument type from _EGLDisplay * to struct dri2_egl_display *.

The latter is effectively a wrapper around the former, thus
functionality was preserved, although GCC rightfully warned us about the
misuse.

Add a simple wrapper that casts and propagates the correct type.

Fixes: 9bbf3737f9c ("egl/x11: authenticate before doing chipset id
ioctls")
Cc: "11.2 11.1" <mesa-stable@lists.freedesktop.org>
Reported-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
9bbf3737f9c96377bee65b947da3e63adaa58d58 18-Apr-2016 Jonathan Gray <jsg@jsg.id.au> egl/x11: authenticate before doing chipset id ioctls

For systems without udev or sysfs that use drm ioctls in the loader
drm authentication must take place earlier or the loader will fail
"MESA-LOADER: failed to get param for i915".

Patch from Mark Kettenis.

Cc: "11.2 11.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
[Emil Velikov: remove gratuitous white-space]
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
b9c5c4af6dbfab28b1f0a78e41bffff1b2e06ce9 05-Mar-2016 Emil Velikov <emil.l.velikov@gmail.com> egl/x11: check the return value of xcb_dri2_get_buffers_reply()

... before using it. The function can return NULL, which we should check
prior to refererencing it in the next function(s).

Cc: Fabian Vogt <fvogt@suse.com>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93667
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Eduardo Lima Mitev <elima@igalia.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
e6f1a44d1407f3318d86ca1bcbc26c3479632e63 15-Feb-2016 Daniel Czarnowski <daniel.czarnowski@intel.com> egl_dri2: set correct error code if swapbuffers fails

A return value of '-1' means that there was error during swap with a
window drawable, in this case we set error as EGL_BAD_NATIVE_WINDOW.

v2: coding style cleanup, better commit message

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
5d87a7c894d8327491be804fee8005fadfaeb3f1 11-Feb-2016 Daniel Czarnowski <daniel.czarnowski@intel.com> egl_dri2: NULL check for xcb_dri2_get_buffers_reply()

Without the check, unsuccessful xcb_dri2_get_buffers_reply(...) causes
segmentation fault in dri2_get_buffers.

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
4518eea065df5c6877b996738ed425c292e3b144 30-Oct-2015 Martin Peres <martin.peres@linux.intel.com> egl: make it clear which platform x11 backend is being used (dri2 or 3)

Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
Reviewed-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.co.uk>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
fcdc798515a74d12e4f1f848ac8b8bacce928855 21-Jul-2015 Boyan Ding <boyan.j.ding@gmail.com> egl/x11_dri3: Implement EGL_KHR_image_pixmap

v2: from Martin Peres
- Replace a tab with spaces

v3: from Martin Peres
- disable EGL_KHR_image_pixmap when is_different_gpu is set (Axel Davy)

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.co.uk>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
f35198badeb956a8f435727d805a47c7e42610d0 21-Jul-2015 Boyan Ding <boyan.j.ding@gmail.com> egl/x11: Implement dri3 support with loader's dri3 helper

v2: From Martin Peres
- Tell we are compiling the dri3 backend in configure.ac
- Update the Makefile.am
- get rid of the LIBDRM_HAS_RENDERNODE_SUPPORT macro
- fix some warnings related to EGLuint64KHR to int64_t conversions
- use dri2_get_dri_config to get the __DRIconfig instead of open-coding it
- replace the occasional tabs with spaces

v3: From Martin Peres
- fix and indent problem (Matt Turner)
- drop the authenticate function, use NULL in the vtable instead (Emil)
- drop some useless includes (Emil Velikov)
- mandate libdrm (Emil Velikov)
- link to xcb-dri3 (Kristian Høgsberg)
- convert to the new loader interface for drwable (Kristian)
- remove some dead code after the dropping of some vfuncs (Kristian)
- add a comment on the topic of rendering to the frontbuffer

v4: From Martin Peres
- do not expose the preserved swap behavior (Acked by Eric Anholt)

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.co.uk>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
a25df5457121d40fef86929d4c10d8058a4d5c72 21-Jul-2015 Boyan Ding <boyan.j.ding@gmail.com> egl_dri2: Add a function to let platform code return dri drawable from _EGLSurface

dri3 for EGL will use different struct other than dri2_egl_surface for
an EGL surface, the common code only uses __DRIdrawable from that
struct, so instead of converting _EGLSurface to dri2_egl_surface, let
the platform code return the __DRIdrawable by its own (although the
current platforms use the same function).

v2: From Martin Peres
- convert to the new drawable interface (Kristian)

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.co.uk>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
4ea5ed9f51c2ec851ac2d81108035bf7046bbc69 13-Sep-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/dri2: enable EGL_KHR_gl_colorspace for swrast

No driver changes needed for softpipe/llvmpipe - things just work.

v2: Whitespace fixes.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Boyan Ding <boyan.j.ding@gmail.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
a1ac742f709089eabad59b4da484799091203d91 10-Sep-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/dri2: don't leak the fd on dri2_terminate

Currently the check was incorrect as it did not consider the (unlikely)
case of fd == 0. In order to fix this we should first correctly
initialize it to -1, as the swrast implementations leave it set to zero
(props to calloc()).

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Boyan Ding <boyan.j.ding@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
9a4eae61c24858d69d731d63b141d2acaed40d69 04-Aug-2015 Frank Binns <frank.binns@imgtec.com> egl/x11: don't abort when creating a DRI2 drawable fails

When calling either eglCreateWindowSurface or eglCreatePixmapSurface it
was possible for an application to be aborted as a result of it failing
to create a DRI2 drawable on the server. This could happen due to an
application passing in an invalid native drawable handle, for example.

v2: Handle the case where an error has been set on the connection

Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
3b491cbc42f6cfad2e750957f720b15b95278acf 04-Aug-2015 Frank Binns <frank.binns@imgtec.com> egl/x11: set EGL_BAD_NATIVE_(PIXMAP|WINDOW) for invalid pixmaps/windows

Both eglCreatePixmapSurface and eglCreateWindowSurface were incorrectly
setting the EGL error to be EGL_BAD_ALLOC when an invalid native drawable
handle was being passed in. The EGL spec states the following for
eglCreatePixmapSurface:

"If pixmap is not a valid native pixmap handle, then an EGL_BAD_-
NATIVE_PIXMAP error should be generated."

(eglCreateWindowSurface has similar text)

Correctly set the EGL error value based on xcb_get_geometry_reply returning
an error structure containing something other than BadAlloc.

v2: Check for BadAlloc error and update commit message to reflect this

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
2900e8ca9077d20c5b29bb5a4171ac59ea9d1767 04-Aug-2015 Frank Binns <frank.binns@imgtec.com> egl/x11: fix use of EGL_BAD_NATIVE_WINDOW

Commit 4ed23fd590 introduced some calls to _eglError inappropriately
passing it EGL_BAD_NATIVE_WINDOW. This was actually harmless in two of the
cases as _eglError gets called later on with a more appropriate error code
but (just to be safe) switch these to _eglLog calls instead.

The final case is a little trickier as it actually needs to set an error
of which the following are available (according to the EGL spec):
EGL_BAD_MATCH, EGL_BAD_CONFIG, EGL_BAD_NATIVE_(PIXMAP|WINDOW) and
EGL_BAD_ALLOC.

Of these, EGL_BAD_ALLOC seems to be the most appropriate given that
failure can occur either as a result of xcb_get_setup failing due to an
earlier error on the connection (where the most commonly occurring error
code is XCB_CONN_CLOSED_MEM_INSUFFICIENT) or as a result of the
xcb_screen_iterator_t 'rem' field being 0.

In addition to this, commit af2aea40d2 unconditionally set the error to
EGL_BAD_NATIVE_WINDOW when creating a window or pixmap surface with a NULL
native handle. Change this to correctly set the error based on surface
type.

v2: Updated patch description (Emil Velikov)
Return EGL_BAD_NATIVE_PIXMAP when eglCreatePixmapSurface is called
with a NULL native pixmap handle

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
27141f984d6401dc466f0e9b0c5da2a9248045e3 08-Aug-2015 Boyan Ding <boyan.j.ding@gmail.com> egl/x11: Fix driver_name acquisition

We don't need to free driverName string from dri2 reply, on the other
hand, the driver name acquired from loader doesn't need duplication.

Fixes: 45e110bad9d (egl/x11: trust our loader over the xserver for the
drivername)

Reported-by: Timothy Arceri <t_arceri@yahoo.com.au>
Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
[Emil Velikov: use brackets for both branches of conditional]
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
6de9a03bed400fca5672ef0c13c0039bbe94a679 07-Aug-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/x11: don't crash if dri2_dpy->conn is NULL

Identical to commit 60e9c35b3a0(egl/x11: bail out if we cannot fetch
the xcb connection) but for the swrast codepath.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
2c7b6cf512a775a37677b1e467d2af952c449dae 29-Jul-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/x11: auth with xserver before attempting to open the dri module

No real change, apart from keeping the calls to the underlying winsys
(x11) next to each other. Just like platform_wayland.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
45e110bad9d5d31eb67d7d32937aa5a752108df8 29-Jul-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/x11: trust our loader over the xserver for the drivername

This is a port of commit 7bd95ec437a(dri2: Trust our own driver name
lookup over the server's.) from glx/dri2.

v2: Add newline between code and multiline comment. (Matt)

Cc: Julien Isorce <julien.isorce@gmail.com>
Reported-by: Julien Isorce <julien.isorce@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
faf0f811e3f9fb724a89c463c0cb6a0d61715f95 29-Jul-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/x11: open the device from within dri2_x11_connect()

Allows us, with the next commit, to use alternative driver_name rather
than the one from xserver.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
beddb0a2371059829b20240058931b8c9fd5be40 29-Jul-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/x11: fetch the device_name prior to driver_name

With the follow up commits we're about to further reshuffle things. Thus
we'll honour our our driver_name lookup (src/loader), and use the one
provided by xserver as a fall-back.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
bf66988b08786c123804c2be8846a6a21cf200ad 29-Jul-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/x11: remove dri2_dpy->conn checks

If the connection is NULL we won't be able to get here.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
60e9c35b3a0384860ffcb01d902a69ee13254eb9 29-Jul-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/x11: bail out if we cannot fetch the xcb connection

The documentation of xcb_connection_has_error() does not mention
what will happen, if NULL is fed to the function.

Upon closer look (props to Matt), it seems that we'll crash as the
implementation dereferences conn.

This will also allow us to remove the dri2_dpy->conn checking with the
next commit.

v2: Reword commit message as per Matt's findings.

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
c2c2e9ab604793c6e01f85497f3f5bf645f962fa 10-Jun-2015 Marek Olšák <marek.olsak@amd.com> egl: implement EGL_KHR_gl_colorspace (v2)

v2: add missing "break"

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
af2aea40d29dffd5e584432e0652db114113469b 18-Jun-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/x11: handle when invalid drawable is passed in create_surface

0 is not used as a valid drawable id, as such there is no point in
attempting to query its geometry. Just bail out early and provide the
more meaningful EGL_BAD_NATIVE_WINDOW to the user.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
052b3d4e2f159038137504f01e9ff2380a67af8b 13-Jun-2015 Boyan Ding <boyan.j.ding@gmail.com> egl_dri2: Remove trailing whitespaces

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
3fa9bb81ec8b21f472de32e08d0caf917239da08 13-Jun-2015 Boyan Ding <boyan.j.ding@gmail.com> egl/x11: Remove duplicate call to dri2_x11_add_configs_for_visuals

The call to dri2_x11_add_configs_for_visuals (previously
dri2_add_configs_for_visuals) was moved downwards in commit f8c5b8a1,
but appeared again in its original position after its rename in
d019cd81. Remove it.

Cc: "10.5 10.6" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
4f8f790525f1adcb5259cb72b7c9dbfd121867c6 17-Jun-2015 Derek Foreman <derekf@osg.samsung.com> egl: Use the loader_open_device() helper to do open with CLOEXEC

We've moved the open with CLOEXEC idiom into a helper function, so
call it instead of duplicating the code.

This also replaces a couple of opens that didn't properly do CLOEXEC.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
997fc807b2f71ef65b4601d6db33d0f912c18d3f 16-Jun-2015 Boyan Ding <boyan.j.ding@gmail.com> egl/x11: Set version of swrastLoader to 2

which it actually implements instead of the newest version defined in
dri_interface.h

Cc: "10.5 10.6" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
efda9c56491f5cb90e77f5fe7979477fc9b2b529 11-May-2015 Marek Olšák <marek.olsak@amd.com> egl: set the EGL version in common code

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
f1cc478d89986c87f01fdaae510335965e19493c 01-May-2015 Axel Davy <axel.davy@ens.fr> egl/x11: move dri2_x11_swrast_create_image_khr to egl_dri2_fallback.h

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
bf0e4d219a8cf396402b46c265eb35afd22a676d 28-Feb-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/drivers: include stdint.h where needed

Currently these files are including it indirectly via eglcompiler.h
The latter of which will be removed with follow up commits.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
11a955aef42730ab009490f03c03c54ed07db666 20-Jan-2015 José Fonseca <jfonseca@vmware.com> egl: Pass the correct X visual depth to xcb_put_image().

The dri2_x11_add_configs_for_visuals() function happily matches a 32
bits EGLconfig with a 24 bits X visual. However it was passing 32bits
depth to xcb_put_image(), making X server unhappy:

https://github.com/apitrace/apitrace/issues/313#issuecomment-70571911

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
70e8ccc459d9bf579ad7efeae453cb8641266c94 21-Dec-2014 Eric Anholt <eric@anholt.net> egl: Inform the client API when ancillary buffers may become undefined.

This is part of the EGL spec, and is useful for a tiled renderer to avoid
the memory bandwidth cost of storing the depth/stencil buffers.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
3386e95994ec77248f71dedf49f996e2078f8cea 29-Sep-2014 Tapani Pälli <tapani.palli@intel.com> egl: setup screen iterator before using it

commit 4ed23fd broke creation of pbuffer surfaces, patch fixes
the failure, noticed when running chrome with '--use-gl=egl'.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
4ed23fd590b2de3dbf0a39e5f8374b395afd2902 08-Sep-2014 Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> egl: extra null checks for get_xcb_screen() return values

verify get_xcb_screen() returned pointer before using it.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
0b56e23e7f3d5852a90e965b2958fd446270a7f8 20-Aug-2014 Marek Olšák <marek.olsak@amd.com> egl/dri2: use the correct screen index

Required for multi-GPU configuration where each GPU has its own X screen.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
5cb1cad0aef8d1c426207c955996278290e19e60 02-Jun-2014 Emil Velikov <emil.l.velikov@gmail.com> egl/dri2: do not leak dri2_dpy->driver_name

Originally all hardware drivers duplicate the driver_name string
from an external source, while for the software rasterizer we set
it to "swrast". Follow the example set by hw drivers this way
we can free the string at dri2_terminate().

v2: Use strdup over strndup. Suggested by Ilia Mirkin.
v3: Handle platform_drm in a similar manner. Cleanup swrast
driver_name in error path.

Cc: Chia-I Wu <olv@lunarg.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
c153b1f39b60f7a2ba59262b12b4597cbfbf36ca 01-Jun-2014 Emil Velikov <emil.l.velikov@gmail.com> egl/dri2/x11: use standard strndup function

Using a custom version of the function brings no benefit.

Cc: Chad Versace <chad.versace@linux.intel.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
c524f3ef9155caba6cd4f9fc72485426b1da76fd 06-May-2014 Sarah Sharp <sarah.a.sharp@linux.intel.com> egl: Add EGL_CHROMIUM_sync_control extension.

Chromium defined a new GL extension (that isn't registered with Khronos).
We need to add an EGL extension for it, so we can migrate ChromeOS on
Intel systems to use EGL instead of GLX.

http://git.chromium.org/gitweb/?p=chromium/src/third_party/khronos.git;a=commitdiff;h=27cbfdab35c601f70aa150581ad1448d0401f447

The EGL_CHROMIUM_sync_control extension is similar to the GLX extension
OML_sync_control, but only defines one function,
eglGetSyncValuesCHROMIUM, which is equivalent to glXGetSyncValuesOML.

http://www.opengl.org/registry/specs/OML/glx_sync_control.txt

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Cc: Jamey Sharp <jamey@minilop.net>
Cc: Ian Romanick <idr@freedesktop.org>
Cc: Stéphane Marchesin <stephane.marchesin@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
6d1f83ec09164bd805c90785635bbcf861b403e5 07-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/main: Stop using EGLNative types internally

Internally, much of the EGL code uses EGLNativeDisplayType,
EGLNativeWindowType, and EGLPixmapType. However, the EGLNative type
often does not match the variable's actual type.

The concept of EGLNative types are a bad match for Linux, as explained
below. And the EGL platform extensions don't use EGLNative types at all.
Those extensions attempt to solve cross-platform issues by moving the
EGL API away from the EGLNative types.

The core of the problem is that eglplatform.h can define each EGLNative
type once only, but Linux supports multiple EGL platforms.

To work around the problem, Mesa's eglplatform.h contains multiple
definitions of each EGLNative type, selected by feature macros. Mesa
expects EGL clients to set the feature macro approrpiately. But the
feature macros don't work when a single codebase must be built with
support for multiple EGL platforms, *such as Mesa itself*.

When building libEGL, autotools chooses the EGLNative typedefs based on
the first element of '--with-egl-platforms'. For example,
'--with-egl-platforms=x11,drm,wayland' defines the following:

typedef Display* EGLNativeDisplayType;
typedef Window EGLNativeWindowType;
typedef Pixmap EGLNativePixmapType;

Clearly, this doesn't work well for Wayland and GBM. Mesa works around
the problem by casting the EGLNative types to different things in
different files.

For sanity's sake, and to prepare for the EGL platform extensions, this
patch removes from egl/main and egl/dri2 all internal use of the
EGLNative types. It replaces them with 'void*' and checks each explicit
cast with a static assertion. Also, the patch touches egl_gallium the
minimal amount to keep it compatible with eglapi.h.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
eef68a9094396ee85f73a94911f8919d232b9a08 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglCreateImageKHR by display, not driver

Add dri2_egl_display_vtbl::create_image, set it for each platform, and
let egl_dri2 dispatch eglCreateImageKHR to that.

To remove ambiguity, rename egl_dri2.c:dri2_create_image() to
dri2_create_image_from_dri().

This prepares for the EGL platform extensions.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
88b9e600a6c9ad191c4cb9ba981b5aa15bbe2b81 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2/x11: Don't clobber _EGLDriver::API

dri2_initialize_x11_swrast() does a strange thing. For some extensions
it doesn't support, it sets the corresponding functions in
_EGLDriver::API to NULL. The intention here is clear, but misplaced.

NULL or not, the function pointers never get called because their
extensions aren't supported.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
eadd5e0c0a3c4b24c25e6368ea0a8352a8fd0701 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglCreateWaylandBufferFromImageWL by display, not driver

Add dri2_egl_display_vtbl::create_wayland_buffer_from_image, set it for
each platform, and let egl_dri2 dispatch
eglCreateWaylandBufferFromImageWL to that.

This prepares for the EGL platform extensions.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
31cd0fee317c8532ac93f6de13c7955511f738a0 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2/x11: Set dri2_dpy->own_device

When the user calls eglGetDisplay(EGL_DEFAULT_DISPLAY), the Wayland and
DRM platforms set dri2_dpy->own_device=true. This patch makes the X11
platform do the same for consistency.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
688a0e8e73b916438878b4fc2271453ee79ec7a6 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglPostSubBufferNV by display, not driver

Add dri2_egl_display_vtbl::post_sub_buffer, set it for each
platform, and let egl_dri2 dispatch eglPostSubBufferNV to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
75d398ed9309c0cb8179380bd317d8f935618df7 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglSwapBuffersRegionNOK by display, not driver

Add dri2_egl_display_vtbl::swap_buffers_region, set it for each
platform, and let egl_dri2 dispatch eglSwapBuffersRegionNOK to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
bc2cbc0951ded883dc610672a6f6d4cca5d99502 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglCopyBuffers by display, not driver

Add dri2_egl_display_vtbl::copy_buffers, set it for each
platform, and let egl_dri2 dispatch eglCopyBuffers to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
3fdfbd2572ea42f3ef71db032b31cc87ea274e11 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch API.QueryBufferAge by display, not driver

Add dri2_egl_display_vtbl::query_buffer_age, set it for each
platform, and let egl_dri2 dispatch API.QueryBufferAge to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
958dd80c40dc87545b49d09cb2e4415a30746004 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglDestroySurface by display, not driver

Add dri2_egl_display_vtbl::destroy_surface, set it for each
platform, and let egl_dri2 dispatch eglDestroySurface to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
bf20076bafcf0809529ae470fb12af5eae12b33d 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglCreatePbufferSurface by display, not driver

Add dri2_egl_display_vtbl::create_pbuffer_surface, set it for each
platform, and let egl_dri2 dispatch eglCreatePbufferSurface to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
bc8b07a65722ad25aa52aa4918b51e236a13b09e 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglCreatePixmapSurface by display, not driver

Add dri2_egl_display_vtbl::create_pbuffer_surface, set it for each
platform, and let egl_dri2 dispatch eglCreatePixmapSurface to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
0a0c881a13afc99c7a88bf16117850350ccb85df 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglCreateWindowSurface by display, not driver

Add dri2_egl_display_vtbl::create_window_surface, set it for each
platform, and let egl_dri2 dispatch eglCreateWindowSurface to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
d03948a76634392455ae53fbf975d09c58bfc7aa 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglSwapBuffersWithDamage by display, not driver

Add dri2_egl_display_vtbl::swap_buffers_with_damage, set it for each
platform, and let egl_dri2 dispatch eglSwapBuffersWithDamageEXT to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
ad173bcfdbeaa52d6a024cd7ef6c068c5a999ba2 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglSwapBuffers by display, not driver

Add dri2_egl_display_vtbl::swap_buffers, set it for each platform, and
let egl_dri2 dispatch eglSwapBuffers to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
8b9298af0a3bce1360cc2c020b31470b37b660fe 28-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglSwapInterval by display, not driver

Add dri2_egl_display_vtbl::swap_interval, set it for each platform, and
let egl_dri2 dispatch eglSwapInterval to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
a218765478e5207f4337406d98865c6b5cf3784e 28-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/wl,x11: Call dri2_swap_interval() statically

Don't call it through the driver dispatch table. Just call it
statically.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
d019cd81b566649e9dbe157266f70841a10e00fa 28-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Put platform func names into proper namespaces

Each of the egl_dri2 platforms (except Android) prefix their function
names with "dri2", not "dri2_${platform}". This means many function
names have three separate definitions in the egl_dri2 directory: one in
each of platform_drm.c, platform_wayland.c, and platform_x11.c. For
example, each of the three files defines dri2_create_window_surface().

The name collisions make it difficult to review patches for correctness
("Is this patch hunk calling a platform_x11 function or a global
egl_dri2 function?"), complicate debugging, and confuse code navigation
tools.

For each function in platform_x11.c prefixed with 'dri2', this patch
changes its prefix to 'dri2_x11'. Likewise for platform_drm.c and
'dri2_drm'; and platform_wayland.c and 'dri2_wl'.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
90502b18b2b868250ab7e9189810ca42b3c812a1 28-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Move dri2_egl_display virtual funcs to vtbl

dri2_egl_display has only one virtual function, 'authenticate'. Define
dri2_egl_display::vtbl and move 'authenticate' there.

This prepares for the EGL platform extensions, which will add many
more virtual functions to dri2_egl_display.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
f8c5b8a17dae2ee0d63e5456dc76c77436ac1946 08-Jan-2014 Tapani Pälli <tapani.palli@intel.com> egl_dri2: call dri2_add_configs_for_visuals after extensions set

dri2_add_config makes decisions based on NOK_texture_from_pixmap so
it needs to be enabled before calling dri2_add_configs_for_visuals.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
992a2dbba80aba35efe83202e1013bd6143f0dba 15-Nov-2013 Neil Roberts <neil@linux.intel.com> wayland: Add support for eglSwapInterval

The Wayland EGL platform now respects the eglSwapInterval value. The value is
clamped to either 0 or 1 because it is difficult (and probably not useful) to
sync to more than 1 redraw.

The main change is that if the swap interval is 0 then Mesa won't install a
frame callback so that eglSwapBuffers can be executed as often as necessary.
Instead it will do a sync request after the swap buffers. It will block for
sync complete event in get_back_bo instead of the frame callback. The
compositor is likely to send a release event while processing the new buffer
attach and this makes sure we will receive that before deciding whether to
allocate a new buffer.

If there are no buffers available then instead of returning with an error,
get_back_bo will now poll the compositor by repeatedly sending sync requests
every 10ms. This is a last resort and in theory this shouldn't happen because
there should be no reason for the compositor to hold on to more than three
buffers. That means whenever we attach the fourth buffer we should always get
an immediate release event which should come in with the notification for the
first sync request that we are throttled to.

When the compositor is directly scanning out from the application's buffer it
may end up holding on to three buffers. These are the one that is is currently
scanning out from, one that has been given to DRM as the next buffer to flip
to, and one that has been attached and will be given to DRM as soon as the
previous flip completes. When we attach a fourth buffer to the compositor it
should replace that third buffer so we should get a release event immediately
after that. This patch therefore also changes the number of buffer slots to 4
so that we can accomodate that situation.

If DRM eventually gets a way to cancel a pending page flip then the compositors
can be changed to only need to hold on to two buffers and this value can be
put back to 3.

This also moves the vblank configuration defines from platform_x11.c to the
common egl_dri2.h header so they can be shared by both platforms.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
a057b837ddd1c725a7504eedc53c6df05a012773 01-Dec-2013 Tapani Pälli <tapani.palli@intel.com> egl: add HAVE_LIBDRM define, fix EGL X11 platform

Commit a594cec broke EGL X11 backend by adding dependency between
X11 and DRM backends requiring HAVE_EGL_PLATFORM_DRM defined for X11.

This patch fixes the issue by adding additional define for libdrm
detection independent of which backend is being compiled. Tested by
compiling Mesa with '--with-egl-platforms=x11' and running es2gears_x11
+ glbenchmark2.7 successfully.

v2: return true for dri2_auth if running without libdrm (Samuel)
v3: check libdrm when building EGL drm platform + AM_CFLAGS fix (Emil)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72062
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
a594cec7e3ef275c386054127a357110a19dd823 10-Nov-2013 Samuel Thibault <samuel.thibault@ens-lyon.org> EGL: fix build without libdrm

This fixes building EGL without libdrm support.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
44e584a73af0ef78321d06a92f372d920b6ee8b7 15-Sep-2013 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Remove depth argument from dri2_add_config()

All callers now use the more correct rgba mask mechanism for filtering
out mathcing DRI configs. Even if depth and buffer size match, the
color component layout can be different, or in case or ARGB8888 and
ARGB2101010 the color components can even be different sizes.

Since anything that the depth check would reject is also rejected by
the rgba mask comparison, the depth parameter is redundant and not
specific enough. We should probably have removed it when the rgba
masks argument was introduced, but better late than never.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
e3d0a0eac7a742de9ef427b86d2ca0051a957bf7 15-Sep-2013 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Match X11 visuals using rgba masks instead of depth

Matching on visual depth to buffer size makes 8 bpc RGBA look similar to
10 bit RGB with 2 bit alphs - both have buffer size 32. Instead, build
the rgba masks from the visual data and use that for finding matching
DRI configs.

We need to keep the special case that allows us to match 24 bit visuals
to DRI configs with buffer size 32. We do that by creating an alpha
mask of "all the non-rgb bits" for 24 bit visuals and matching a second
time with that.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
eed0a80137dfac641adfd39ce316938dbcf2be10 22-Jun-2013 Eric Anholt <eric@anholt.net> egl: Restore "bogus" DRI2 invalidate event code.

I had removed it in commit 1e7776ca2bc59a6978d9b933d23852d47078dfa8
because it was obviously wrong -- why do we care whether the server is a
version that emits events, if we're not watching for the server's events,
anyway? And why would you only invalidate on a server that emits
invalidate events, when the comment said to emit invalidates if the server
*doesn't*? Only, I missed that we otherwise don't flag that our buffers
might have changed at swap time at all, so the driver was only checking
for new buffers when triggered by the Viewport hack. Of course you don't
expect Viewport to be called after a swap.

So, this is effectively a revert of the previous commit, except that I
dropped the check for only emitting invalidates on a new server -- we
*always* need to invalidate if we're doing a SwapBuffers.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63435
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: "9.1 and 9.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
f730c210b89ab8eb2dd5f346a68d06bd05386a37 09-Apr-2013 Ian Romanick <ian.d.romanick@intel.com> egl/dri2: NULL check value returned by dri2_create_surface

dri2_create_surface can fail for a variety of reasons, including bad
input data. Dereferencing the NULL pointer and crashing is not okay.

Fixes issue identified by Klocwork analysis:

Pointer 'surf' returned from call to function 'dri2_create_surface'
at line 285 may be NULL and will be dereferenced at line 291.

NOTE: This is a candidate for the stable branches.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
3998f8c6b5da1a223926249755e54d8f701f81ab 09-Apr-2013 Ralf Jung <post@ralfj.de> egl/x11: Fix initialisation of swap_interval

The EGLConfig attributes EGL_MIN/MAX_SWAP_INTERVAL were incorrectly set to
0 and 0. This prevented clients from setting the swap interval to a
reasonable value, like 1 or 2.

Swap interval worked correctly in Mesa 9.0. The commit below introduced
the bug.

commit 7e9bd2b2ed35a440a96362417100a7e43715d606
Author: Eric Anholt <eric@anholt.net>
Date: Tue Sep 25 14:05:30 2012 -0700
egl: Add support for driconf control of swapinterval.

Note: This is a candidate for the 9.1 branch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63078
[chadv: Wrote commit message]
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
f42518962a08ce927e4ddd233d19d2661e135834 06-Nov-2012 Fredrik Höglund <fredrik@kde.org> egl_dri2/x11: Fix eglPostSubBufferNV()

This got broken in commit 0a523a8820e8a2549ac1c7887eb1892b228af44b.

NOTE: This is a candidate for the 9.0 branch.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55856
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
1e7776ca2bc59a6978d9b933d23852d47078dfa8 25-Sep-2012 Eric Anholt <eric@anholt.net> egl: Remove bogus invalidate code.

The invalidate event support is a careful dance between driver and loader,
where both have to say they can handle it, and then the loader reports
invalidate events for the driver so the driver can do the optimization.

The EGL code doesn't report __DRIuseInvalidateExtension to the driver, so it
has no responsibility to call the driver's invalidate function, and the driver
is doing the glViewport hack because it assume. This is not
the only time invalidate would need to be called (we need it *any* time an
invalidate event comes down the pipe, but we don't watch for them), so just
stop calling the driver's function.

Acked-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
7e9bd2b2ed35a440a96362417100a7e43715d606 25-Sep-2012 Eric Anholt <eric@anholt.net> egl: Add support for driconf control of swapinterval.

This behavior mostly matches glx_dri2. It's slightly complicated in
comparison because EGL exposes the implementation limits in the EGL config.

Note that platform_x11 was the only one setting swap_available, so the move of
the MaxSwapInterval into it is appropriate.

Acked-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
da3f7c127b4086eb50d1ba8ed6332fcf2431a85e 25-Sep-2012 Eric Anholt <eric@anholt.net> egl: Quit checking for a bug in old xcb when we require new xcb.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
b477384f4059cfda668c616c5655f2ee493cf6d1 25-Sep-2012 Eric Anholt <eric@anholt.net> egl: Drop xcb ifdefs by just requiring a version from this year.

glx and gallium's xcb_dri2 usage already require this version, so this is
nothing really new.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
b49cd8495f2f01a55d126d42ea97a071c6723376 25-Sep-2012 Eric Anholt <eric@anholt.net> egl: Unifdef dri_interface.h defines.

dri_interface.h comes from our tree, so why litter our tree with ifdefs for
older versions of it?

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
31c7d4ec188b6f25a23a3eb9a3e05e103792aa4d 25-Sep-2012 Eric Anholt <eric@anholt.net> egl: Cleanly cast EGLNative* pointers to X11 types.

The EGLNative* types are all defined to be pointers across all our EGL
implementations, but in the X11 platform they're actually just XIDs (32-bit
integers).

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
0a523a8820e8a2549ac1c7887eb1892b228af44b 18-Sep-2012 Robert Bragg <robert@linux.intel.com> SwapBuffersRegionNOK: invert rectangles on y axis

The EGL_NOK_swap_region2 spec states that the rectangles are specified
with a bottom-left origin within a surface coordinate space also with a
bottom left origin, so this patch ensures the rectangles are flipped
before passing them on to dri2_copy_region.

Fixes piglit's egl-nok-swap-region test.

Tested-by: Matt Turner <mattst88@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
6bda027e01c15df24d36de5bf3838ea8ed7e9e56 05-Sep-2012 Matt Turner <mattst88@gmail.com> Use calloc instead of malloc/memset-0

This patch has been generated by the following Coccinelle semantic
patch:

@@
expression E;
identifier I;
@@
- I = malloc(E);
+ I = calloc(1, E);
...
- memset(I, 0, sizeof *I);

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
5067506ea6ada5eeae33b1acf1c916e00121c12a 04-Sep-2012 Matt Turner <mattst88@gmail.com> Remove useless checks for NULL before freeing

This patch has been generated by the following Coccinelle semantic
patch:

// Remove useless checks for NULL before freeing
//
// free (NULL) is a no-op, so there is no need to avoid it

@@
expression E;
@@
+ free (E);
+ E = NULL;
- if (unlikely (E != NULL)) {
- free(E);
(
- E = NULL;
|
- E = 0;
)
...
- }

@@
expression E;
type T;
@@
+ free ((T) E);
+ E = NULL;
- if (unlikely (E != NULL)) {
- free((T) E);
(
- E = NULL;
|
- E = 0;
)
...
- }

@@
expression E;
@@
+ free (E);
- if (unlikely (E != NULL)) {
- free (E);
- }

@@
expression E;
type T;
@@
+ free ((T) E);
- if (unlikely (E != NULL)) {
- free ((T) E);
- }

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
b60120608f6ddf4098bc324363197c979ee04cb7 10-Dec-2011 David Fries <David@Fries.net> Set close on exec flag FD_CLOEXEC

Set the close on exec flag when opening dri character devices, so they
will be closed and free any resouces allocated in exec.

Signed-off-by: David Fries <David@Fries.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
636f2fc46c83d471b60b96bca1ced0c78b3415b5 21-Dec-2011 Kristian Høgsberg <krh@bitplanet.net> egl/x11: Merge the right version of Frederiks change

Argh, I merged an older broken version of the swapbuffer change instead of
Frederiks fixed version. This diffs gets us back to the right version.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
352c889c10d8d104551ef6657e03b77996bffc39 20-Dec-2011 Fredrik Höglund <fredrik@kde.org> egl_dri2/x11: Add support for the DRI2 SwapBuffers request
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
655f2c1d6593064b83f64a527798f48cd300fa16 20-Dec-2011 Fredrik Höglund <fredrik@kde.org> egl_dri2/x11: Add support for eglSwapInterval
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
eb7d1b9474b021769e2d1f1b64901c64130e53d8 20-Dec-2011 Chia-I Wu <olv@lunarg.com> egl_dri2/x11: error check coordinates in eglPostSubBufferNV

EGL_BAD_PARAMETER should be returned when any of the coordinates is negative.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
71b8fc9872077d30307329b27ffc135d2d460dc9 14-Dec-2011 Fredrik Höglund <fredrik@kde.org> egl_dri2/x11: Add support for EGL_NV_post_sub_buffer

Signed-off-by: Fredrik Höglund <fredrik@kde.org>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
58911b86a15676f116c693e84ea6b9ebabb906ed 05-Aug-2011 Chia-I Wu <olvaffe@gmail.com> egl_dri2: allow RGBA masks to be specified for matching

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 <chad@chad-versace.us>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
f747d03b1d3aa4e63417bd8486909f63b4a33be4 06-Jul-2011 Völgyes Dávid <david.volgyes@gmail.com> Fixes for leaks reported by cppcheck.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
80636ff2da374ca417db5afaaa0ab0cc5de9272d 19-Jun-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2/x11: Check availability of the dri2 extension

Do this before query versions, or xcb will shutdown
and the connection can not be used for swrast.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
cf69eeacc6931e833e7894a379af4fae085881e9 08-Jun-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: add dri2_load_driver_swrast

Refactor dri2_load_driver and add dri2_load_driver_swrast for loading
swrast DRI driver.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
6a661895e946f38b21775bf9cb45ef6b22fab85a 12-May-2011 José Fonseca <jfonseca@vmware.com> egl: Fix int <-> ptr casts.

Based on zhigang gong <zhigang.gong@gmail.com>'s patch.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
55a629cee5c20b357cca5c767a14fb27d9691e16 08-Apr-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2.c: Open drm device with O_CLOEXEC

Not a good fd to leak.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
58f95f9d01f1fe2c260ca87f1ee74d9710947c12 29-Mar-2011 Feng, Haitao <haitao.feng@intel.com> egl_dri2 x11: Fix a typo

Signed-off-by: Haitao Feng <haitao.feng@intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
981e338611699ed965966a161b7ba0aaa3e87ee0 08-Mar-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Enable image extensions in one place

We know what we can support in egl_dri2.c so just enable the extensions
there.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
4ca075ac4f047141d5e5ef865991650e0ac488e4 02-Mar-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2 x11: Workaround device_name xcb-dri2 bug

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."
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
6b369c4c7cd8a52f99bbff2a57fb316b33a87495 21-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Add EGL_WL_bind_wayland_display
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
bf0c56522e21bd45ad3385e3115ef7eb71a7b8bf 20-Feb-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: Return NULL when xcb_get_geometry_reply fails.

This should fix bug #33946.
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
f55d027ac2e0423eba5d0664cc36668520597703 17-Feb-2011 Haitao Feng <haitao.feng@intel.com> egl_dri2: add swrast

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 <haitao.feng@intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
3104e5cb4f8524e9852300aa1e112d7fe31545ca 09-Feb-2011 Haitao Feng <haitao.feng@intel.com> egl_dri2: rename loader_extension to dri2_loader_extension

Signed-off-by: Haitao Feng <haitao.feng@intel.com>
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
87dde5b1cd596c4008695ff2db9469f88c09f925 09-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Use double buffering for window surfaces
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c
2889d9640fa98b690c6a89593572bbc9ea5640e3 03-Feb-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Split out x11 platform code
/external/mesa3d/src/egl/drivers/dri2/platform_x11.c