History log of /external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
74d41339087d2e1facb8e5d03845014e1b767a6f 21-Mar-2017 Rob Herring <robh@kernel.org> Android: kill off {MESA_}ANDROID_VERSION defines aka Android 4.1 and older

The Android version defines are only needed for versions less than 4.2
which aren't really supported or tested.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>

(cherry picked from upstream commit 0e1ff22d55816c9a3710257c2e705a98ad3282bc)
Test: None
Bug: 32336912

Change-Id: I6e5f47f7595345969a01dcfd98437fa83df8777a
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
ba6b824a2cd5c0c02f7dc98374a8c8003464609d 02-Aug-2016 Tomasz Figa <tfiga@chromium.org> FROMLIST: egl/android: Make drm_gralloc headers optional (v2)

Make the code at least compile when being built without drm_gralloc
headers.

v2: Replaced #ifdefs with stubs for gralloc_drm_get_gem_handle()
and GRALLOC_MODULE_PERFORM_GET_DRM_FD.
Removed explicit render node probing code.

Signed-off-by: Tomasz Figa <tfiga@chromium.org>
(am from https://patchwork.freedesktop.org/patch/102547/)

BUG=b:29036398
TEST=No significant regressions in dEQP inside the container

Test: No significant regressions in dEQP inside the container
Change-Id: Id7b5087aaeb001cdcd6f384e7543da3aa6956ea6
(cherry picked from commit a038dd14dba799fa228b7781085b61e0605da8c2)
Reviewed-on: https://chromium-review.googlesource.com/367206
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
36b9976e1f99e8070c67cb8a255793939db77d02 13-Jan-2017 Jonas Ådahl <jadahl@gmail.com> egl/wayland: Avoid race conditions when on non-main thread

When EGL is used on some other thread than the thread that drives the
main wl_display queue, the Wayland EGL dri2 implementation is
vulnerable to a race condition related to display round trips and global
object advertisements.

The race that may happen is that after after a proxy is created, but
before the queue is set, events meant to be emitted via the yet to be
set queue may already have been queued on the wrong queue.

In order to make it possible to avoid this race, wayland 1.11
introduced new API that allows creating a proxy wrapper that may be used
as the factory proxy when creating new proxies via Wayland requests. The
queue of a proxy wrapper can be changed without effecting what queue
events emitted by the actual proxy will be queued on, while still
effecting what default queue proxies created from it will have.

By introducing a wl_display proxy wrapper and using this when performing
round trips (via wl_display_sync()) and retrieving the global objects (via
wl_display_get_registry()), the mentioned race condition is avoided.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Daniel Stone <daniels@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
859d0b01217a0241a12a75899dcfb8263787f1ad 10-Nov-2016 Tomasz Figa <tfiga@chromium.org> egl/android: Get gralloc module in dri2_initialize_android() (v2)

Currently droid_open_device() gets a reference to the gralloc module
only for its own use and does not store it anywhere. To make it possible
to call gralloc methods from code added in further patches, let's
refactor current code to get gralloc module in dri2_initialize_android()
and store it in dri2_dpy.

v2: fixes from Emil's review:
a) remove duplicate initialization of 'err'.

Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
b663753f3b27b2bbc14ec7552c178f9900e79954 16-Nov-2016 Liu Zhiquan <zhiquan.liu@intel.com> EGL/android: pbuffer implementation

Android path didn't support pbuffer, so add pbuffer support to fix
most failing dEQP and CTS pbuffer test cases.

Patch adds a single buffer config to support pbuffer, and creates
image in getBuffers for pbuffer when surface type is front surface.

The EGL 1.5 spec states that pbuffers have a back buffer but no front
buffer, single-buffered surfaces with no front buffer confuse Mesa;
so we deviate from the spec, following the precedent of Mesa's EGL
X11 platform.

V3: update commit message and code review changes.

Signed-off-by: Liu Zhiquan <zhiquan.liu@intel.com>
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
bf51b45313c7cc5ca792401f0cc29574aa9122cf 02-Nov-2016 Marek Olšák <marek.olsak@amd.com> egl: use util/macros.h

I need the definition of PUBLIC.

Cc: 12.0 13.0 <mesa-stable@lists.freedesktop.org>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
ebc68e38491b7bea61e964521d41ba6b2a127546 25-Aug-2016 Emil Velikov <emil.velikov@collabora.com> egl/dri2: coding style cleanup

Consistently indent with space rather than a mix of tab and
spaces.

v2: Keep the structs properly aligned (Eric).

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
f7b8108289fbef03ec465cf3b418eb65ff18d80d 16-Aug-2016 Emil Velikov <emil.velikov@collabora.com> egl/dri2: remove unused dri2_egl_display::{dri2,swrast}_loader_extension

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
31ef5d4452a208ca13e26f0646f37b25c2a2eb26 16-Aug-2016 Emil Velikov <emil.velikov@collabora.com> egl/surfaceless: trivial coding style fixes

Remove a few gratious blank lines and use the correct level of
indentation.

Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
a7c6993a33e894556e45fc2882ad19f34274d689 28-Jul-2016 Haixia Shi <hshi@chromium.org> egl: android: query native window default width and height (v2)

On android platform, the width and height of a native window surface may
be updated after initialization. It is therefore necessary to query android
framework for the current width and height.

v2: remove Android specific #ifdef's and just implement the fallback directly
if the platform query_surface() callback is not provided.

TEST=dEQP-EGL.functional.resize.surface_size#* on cyan-cheets

Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org> (v1)
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Chad Versace <chad@kiwitree.net>
Change-Id: I673f7d2f1d90c3bf572b30f63da537f2cae1496e
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
9ee683f877b283020c6f24776236f1145cb7a4ea 22-Jul-2016 Nicolas Boichat <drinkcat@chromium.org> egl/dri2: Add reference count for dri2_egl_display

android.opengl.cts.WrapperTest#testGetIntegerv1 CTS test calls
eglTerminate, followed by eglReleaseThread. A similar case is
observed in this bug: https://bugs.freedesktop.org/show_bug.cgi?id=69622,
where the test calls eglTerminate, then eglMakeCurrent(dpy, NULL, NULL, NULL).

With the current code, dri2_dpy structure is freed on eglTerminate
call, so the display is not initialized when eglReleaseThread calls
MakeCurrent with NULL parameters, to unbind the context, which
causes a a segfault in drv->API.MakeCurrent (dri2_make_current),
either in glFlush or in a latter call.

eglTerminate specifies that "If contexts or surfaces associated
with display is current to any thread, they are not released until
they are no longer current as a result of eglMakeCurrent."

However, to properly free the current context/surface (i.e., call
glFlush, unbindContext, driDestroyContext), we still need the
display vtbl (and possibly an active dri dpy connection). Therefore,
we add some reference counter to dri2_egl_display, to make sure
the structure is kept allocated as long as it is required.

One drawback of this is that eglInitialize may not completely reinitialize
the display (if eglTerminate was called with a current context), however,
this seems to meet the EGL spec quite well, and does not permanently
leak any context/display even for incorrectly written apps.

Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
8fd5779da44cd6bf822a52339f3772581aa1e312 20-Jun-2016 Frank Binns <frank.binns@imgtec.com> egl: restrict swap_available dri2_egl_display field to X11

This field is only ever set and read by the X11 platform.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
63c5d5c6c46c8472ee7a8241a0f80f13d79cb8cd 17-May-2016 Gurchetan Singh <gurchetansingh@chromium.org> Added pbuffer hooks for surfaceless platform

This change enables the creation of pbuffer
surfaces on the surfaceless platform.

v3: Going back to single-buffered pbuffer
plus additional code review changes

Reviewed-by: Chad Versace <chad.versace@intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
38ef6f5f6019e168f584d99f94bc675afbb0b33a 01-May-2016 Emil Velikov <emil.l.velikov@gmail.com> egl: android: directly use dri2_create_image_dma_buf()

Make the function non static so that we can use it directly from the
android platform code.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
d45884ef054eea539d4bf0018a99ed29e69d59c9 28-Apr-2016 Rob Herring <robh@kernel.org> egl: android: disable __DRI_DRI2_LOADER support on render nodes

Use of __DRI_DRI2_LOADER extension is only supported for card nodes. In
order to support dmabufs, Android will be moving to using render nodes and
we need to disable the DRI2 loader extension.

This is based on the Wayland EGL code.

Cc: Rob Clark <robdclark@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
b6eda708431b91a3b568da0efac845c08cb36796 03-Mar-2016 Marek Olšák <marek.olsak@amd.com> egl: implement EGL part of interop interface (v2)

v2: - use const
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
70299474f58ad7c0299ea5f997019880d1c4deef 05-Apr-2016 Dongwon Kim <dongwon.kim@intel.com> egl: add EGL_KHR_reusable_sync to egl_dri

This patch enables an EGL extension, EGL_KHR_reusable_sync.
This new extension basically provides a way for multiple APIs or
threads to be excuted synchronously via a "reusable sync"
primitive shared by those threads/API calls.

This was implemented based on the specification at

https://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_reusable_sync.txt

v2
- use thread functions defined in C11/threads.h instead of
using direct pthread calls
- make the timeout set with reference to CLOCK_MONOTONIC
- cleaned up the way expiration time is calculated
- (bug fix) in dri2_client_wait_sync, case EGL_SYNC_CL_EVENT_KHR
has been added.
- (bug fix) in dri2_destroy_sync, return from cond_broadcast
call is now stored in 'err' intead of 'ret' to prevent 'ret'
from being reset to 'EGL_FALSE' even in successful case
- corrected minor syntax problems

v3
- dri2_egl_unref_sync now became 'void' type. No more error check
is needed for this function call as a result.
- (bug fix) resolved issue with duplicated unlocking of display in
eglClientWaitSync when type of sync is "EGL_KHR_REUSABLE_SYNC"

Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
858f2f2ae6d72f338fdd6d544b0c733814e22724 13-Sep-2015 Emil Velikov <emil.l.velikov@gmail.com> egl/dri2: ease srgb __DRIconfig conditionals

One can simplify the if-else chain, by declaring the driconfigs as a
two sized array, whist using srgb as a index to the correct entry.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
4f57ccd02d4c5f214c7e59e7302c1dc650cff31d 10-Jun-2015 Marek Olšák <marek.olsak@amd.com> egl,dri_interface: use DRI2rendererQueryExtension to enable 3D textures & sRGB

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
6b8accb36b541f77774109ea42533c02bb90bc68 12-Jun-2015 Haixia Shi <hshi@chromium.org> egl/dri2: implement platform_surfaceless

The surfaceless platform is for off-screen rendering only. Render node support
is required.

Only consider the render nodes. Do not use normal nodes as they require
auth hooks.

v3: change platform_null to platform_surfaceless
v4: make libdrm required for surfaceless
v5: remove modified include guards with defined(HAVE_SURFACELESS_PLATFORM)
v6: use O_CLOEXEC for drm fd

Signed-off-by: Haixia Shi <hshi@chromium.org>
Signed-off-by: Zach Reizner <zachr@google.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
cdcfe48fb0431184fabb40aa5a244d086f551df5 01-May-2015 Axel Davy <axel.davy@ens.fr> egl/wayland: Implement swrast support

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/egl_dri2.h
4cd546df82c557b9a765e40db2f96c4faa299846 01-May-2015 Axel Davy <axel.davy@ens.fr> egl/wayland: Implement DRI_PRIME support

When the server gpu and requested gpu are different:
. They likely don't support the same tiling modes
. They likely do not have fast access to the same locations

Thus we do:
. render to a tiled buffer we do not share with the server
. Copy the content at every swap to a buffer with no tiling
that we share with the server.

This is similar to the glx dri3 DRI_PRIME implementation.

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/egl_dri2.h
fb0960a14bd6980aa63deef45ec3cf1ab99bcf0a 01-May-2015 Axel Davy <axel.davy@ens.fr> egl/wayland: Add support for render-nodes

It is possible the server advertises a render-node.
In that case no authentication is needed,
and Gem names are forbidden.

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

Signed-off-by: Axel Davy <axel.davy@ens.fr>

v2: do not check for __DRI_IMAGE_DRIVER, but instead
do not advertise __DRI_DRI2_LOADER when on a render-node.
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
9a0bda2430f10fbf43c64573412d97b6cc38e5d7 10-Apr-2015 Marek Olšák <marek.olsak@amd.com> egl/dri2: implement EGL_KHR_fence_sync
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
5f280d0c4416627810de73a6c68c422453d2b7d9 12-Feb-2014 Emil Velikov <emil.l.velikov@gmail.com> egl_dri: rework dri extension handling

Use designated initialisers, and store the extensions pointers as const.

The loader extensions __DRIdri2LoaderExtension and __DRIswrastLoaderExtension
are setup by the platform backends so they should not be constified.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
8d4357b5ba9e224ffe02e2457a2f4ffe2915f608 11-Jan-2014 Emil Velikov <emil.l.velikov@gmail.com> egl_dri2: use loader util lib

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
0b7058c46abe615f4035633dd4eee417d1553c06 11-Sep-2013 Neil Roberts <neil@linux.intel.com> egl_dri2: Remove the unused swap_interval member of dri2_egl_surface

The _EGLSurface struct which is embedded into dri2_egl_surface also contains a
swap interval member so the other member is redundant. Nothing was using it as
far as I can tell.
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
68bb26bead333764f140225926a9123f38b567a3 09-Nov-2013 Kristian Høgsberg <krh@bitplanet.net> wayland: Use __DRIimage based getBuffers implementation when available

This lets us allocate color buffers as __DRIimages and pass them into
the driver instead of having to create a __DRIbuffer with the flink
that requires.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
f93533d118b6dab00022cc9bc1448615a25946dc 27-Sep-2013 Eric Anholt <eric@anholt.net> dri: Pass in the dlsym()ed driver extension to screen creation.

This will allow a megadrivers build to reference the actual driver being
loaded from the shared dri_util screen creation code.

v2: Fix indentation, fallback case in EGL (review by Emil).

Reviewed-by: Matt Turner <mattst88@gmail.com> (v1)
Reviewed-by: Chad Versace <chad.versace@linux.intel.com> (v1)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
8d29b5271a2e66fc78436be31ed6748ff006f0cb 18-Jul-2013 Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> egl: Update to Wayland 1.2 server API

Since Wayland 1.2, struct wl_buffer and a few functions are deprecated.

References to wl_buffer are replaced with wl_resource and some getter
functions and calls to deprecated functions are replaced with the proper
new API. The latter changes are related to resource versioning.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
de315f76a266ce51ca0638b9ea2ec3ccfd31f03b 02-Feb-2013 Kristian Høgsberg <krh@bitplanet.net> wayland: Add prime fd passing as a buffer sharing mechanism

Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
664fe6dc844358dbc5474aa4e936c6180e86f144 02-Feb-2013 Kristian Høgsberg <krh@bitplanet.net> wayland: allocate a __DRIimage for the color buffer

No functional change here, but this will let us query the image
for an fd handle later.

Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
90804e886de892cfedb8248a4f5700fd7422b94a 14-Dec-2012 Kristian Høgsberg <krh@bitplanet.net> egl/wayland: Pull color buffers from dri2_surf->color_buffers pool

We used to keep the color buffers in the dri_buffers array and
swap __DRI_BUFFER_BACK_LEFT and __DRI_BUFFER_FRONT_LEFT around there
and swap third_buffer in in case we needed to triple buffer. That
gets a little fidgety with all the swaps, so lets use the
color_buffers pool like the gbm platform does. We track the color buffers,
their corresponding wl_buffer and locked status here and just plug
a free one into dri2_surf->buffers when we need to.

This is a nice clean-up in itself, but it also sets us up to track
buffer age in the color_buffers structs.

Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
4e42e569dd5643ff948ab4ee31dd16b1683f21fa 14-Dec-2012 Kristian Høgsberg <krh@bitplanet.net> egl/gbm: Implement EGL_EXT_buffer_age

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
b5160a10c0be29c9df2a05be0bbc025f2894e9e6 14-Dec-2012 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Remove unused struct dri2_egl_buffer from header file
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
0229e3ae41be109ac423b2eb2ddf79e24b799d60 11-Oct-2012 Kristian Høgsberg <krh@bitplanet.net> egl/wayland: Update to Wayland 0.99 API

The 0.99.0 Wayland release changes the event API to provide a thread-safe
mechanism for receiving events specific to a subsystem (such as EGL) and
we need to use it in the EGL platform.

The Wayland protocol now also requires a commit request to make changes
take effect, issue that from eglSwapBuffers.
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
7b4b4f8e68ba7a6109cc508de10314e966e56f5f 20-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl_dri2: Add support for EGL_KHR_create_context and EGL_EXT_create_context_robustness

Just like in GLX, EGL_KHR_create_context requires DRI2 version >= 3, and
EGL_EXT_create_context_robustness requires both DRI2 version >= 3 and the
__DRI2_ROBUSTNESS extension.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
4a976b60b1139021ef00e722361b7e1ad8e0810d 25-Jan-2012 Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> egl_dri2: use gbm_surface as the native window type in drm platform
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
655f2c1d6593064b83f64a527798f48cd300fa16 20-Dec-2011 Fredrik Höglund <fredrik@kde.org> egl_dri2/x11: Add support for eglSwapInterval
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
2a58453e25899e726f02db005de0e1296c326845 13-Dec-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Fix some valgrind reported leaks

Free the device_name, reported by Pekka Paalanen.

Destroy wayland display and drm resources,
if created by dri2_initialize_wayland.
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
75cc24c876059d6eb183e07ed802f997fb416864 25-Nov-2011 Chia-I Wu <olv@lunarg.com> android: add support for ICS

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.
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
7b1d94e5d1f53ac5f59000176aea1d02fc9a1181 31-Aug-2011 Kristian Høgsberg <krh@bitplanet.net> wayland: Track changes to drop wl_visual
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
f811c1e6d637a556f36271ee4abeb30aaeb07204 31-Aug-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Drop dri2_surface_type enum

Was only used in platform_wayland, and the remaining egl stack
uses _EGLSurface::Type with one of EGL_{WINDOW,PIXMAP,PBUFFER}_BIT.
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
9779f6f5c143506d71420d78bb51b2fa7c995378 05-Aug-2011 Chia-I Wu <olvaffe@gmail.com> egl_dri2: add support for Android

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 <benjaminfranzke@googlemail.com>
Reviewed-by: Chad Versace <chad@chad-versace.us>

[olv: with assorted minor changes, mostly suggested during the review]
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
8c409403217cf8c13e1d2dd306ad5e86b566c5c9 15-Aug-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> dri2: Add __DRI_BUFFER_COUNT token

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.
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
32f4cf38085e4056b8e4a9fc78fea28897a1d05f 29-Jun-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/gbm: Fix EGL_DEFAULT_DISPLAY
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
b2d6375e6a64ac12f35f8a611ebf2016e4a6dd42 02-Jul-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Fix compilation if udev devel files are not installed

NOTE: This is a candidate for the 7.11 branch.
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
992680c8b46d72cbc61888b8439d815bff42986c 27-Jun-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Fix Terminate with shared gbm screens

NOTE: This is a candidate for the 7.11 branch.
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
e5fc4c81ce5aa261e330977f1a672838cd186cdb 30-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Hookup gbm as drm platform
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
0cb356dd5c93f745bb1b17987d206a24ab708f31 06-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2/wayland: Hook up new buffer.release event
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
16a04e019dcb0f1d50ceab5c8c2eafb56fa60853 20-Jun-2011 Kristian Høgsberg <krh@bitplanet.net> wayland: Pass use_invalidate extension to driver
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
7f881c43dfb4f1aeeab3a84125b5c106c191a43f 30-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Use external driver pci list

Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
93aea63a33c575bbce80acad391e810acc2f3e94 11-May-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Make it possible to not compile in the X11 platform
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
c0f8c9911c82c576cdd82dabad4a2370ac53565c 14-Apr-2011 Kristian Høgsberg <krh@bitplanet.net> wayland-egl: Update to wayland-egl.h changes, drop struct wl_egl_display
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
22d9ae11bc436375a67752b90d8a5a273754d907 03-Mar-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Fix incompatible vfunc-pointer warning
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
6b369c4c7cd8a52f99bbff2a57fb316b33a87495 21-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Add EGL_WL_bind_wayland_display
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
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/egl_dri2.h
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/egl_dri2.h
51f2820922b669af3947fcedd17109524644bb94 11-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2 wayland: Sync front buffer release
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
87dde5b1cd596c4008695ff2db9469f88c09f925 09-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Use double buffering for window surfaces
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
93aea84f472f5f9ff588f7b2d4f7320ec43bc216 04-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Add wayland platform
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
9630437fc9f46f48b2543ca8b6741a664bd028e3 04-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Export dri2_get_driver_for_fd
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
9dc5de5bb13bfcd960f178c8e0eac265c3496fa8 03-Feb-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Split out drm platform implementation to a separate file
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h
2889d9640fa98b690c6a89593572bbc9ea5640e3 03-Feb-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Split out x11 platform code
/external/mesa3d/src/egl/drivers/dri2/egl_dri2.h