• Home
  • History
  • Annotate
  • only in /external/mesa3d/src/egl/
History log of /external/mesa3d/src/egl/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
39b588b9680a2ce28dc6a5000700c2b315d6a61c 25-Jan-2014 Colin Cross <ccross@android.com> external/mesa3d: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH

LOCAL_MODULE_PATH doesn't work for multiarch builds, replace it
with LOCAL_MODULE_RELATIVE_PATH.

Change-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e
ain/Android.mk
81d40e66ad1c0c53c1de2f183a4987a3159c7c55 21-Jan-2013 Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> egl/wayland: Destroy the pending buffer callback with the egl surface

Otherwise, we crash when the callback is executed, since the dri2_surf
pointer may point to invalid data.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
rivers/dri2/egl_dri2.h
rivers/dri2/platform_wayland.c
65476169f344115462a652da39972d16aadee86f 09-Nov-2012 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Set error code when dri2CreateContextAttribs fails

When dri2CreateContextContextAttribs failed, eglCreateContext returned
NULL yet set the error code to EGL_SUCCESS! The problem was that
eglCreateContext ignored the error code returned by
driCreateContextAttribs.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56706
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 5cf8536690226b3bd19d19197fcec501a278703c)
rivers/dri2/egl_dri2.c
f2da7e720f60e8df96bf2530f35e3e79897e0cb7 25-Dec-2012 Jonas Ådahl <jadahl@gmail.com> wayland: Don't cancel a roundtrip when any event is received

Since wl_display_dispatch_queue() returns the number of processed events
or -1 on error, only cancel the roundtrip if an -1 is returned.

This also fixes a potential memory corruption bug happening when the
roundtrip does an early return and the callback later writes to the then
out of scope stack allocated `done' parameter.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
rivers/dri2/platform_wayland.c
f9d8d0c3b5e11c4ae08b078dca2aa48a3218f8d9 22-Nov-2012 Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> egl/wayland: Dispatch the event queue before get_buffers

When a client frame callback is executed and the client starts rendering
again, the egl event queue might not have been dispatched so that the
buffer release event for the previous frame hasn't been processed. In
that case a third buffer is allocated, even though it would be possible
to reuse the buffer that was just released.

The wl_display_dispatch_queue_pending() entry point is available from
wayland-client 1.0.2, so require that in configure.ac. Also, just
let the pkg-config macro throw its own error, which will show what version
we were looking for and failed to find.

Note: This is a candidate for stable branches.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
rivers/dri2/platform_wayland.c
b49d9338d7e79752e886eede34db08e37c34f8ed 30-Nov-2012 Kristian Høgsberg <krh@bitplanet.net> egl/wayland: Add invalidate back in eglSwapBuffers()

Commit ca3ed3e024864e91ca3cccc59fb96950e1d079b5 fixed the problem where
eglMakeCurrent would trigger a getbuffer callback that then breaks the
following wl_egl_window_resize() call. However, we still need to
invalidate buffers in eglSwapBuffers, since in wayland we always swap
buffers, so the dri driver needs to come out and ask us for the next buffer
after each swapbuffer.

Note: this is a candidate for stable branches.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
rivers/dri2/platform_wayland.c
eaf6884621661288624fc060974c3aa485771324 30-Nov-2012 Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> egl/wayland: Don't invalidate drawable on swap buffers

We used to invalidate the drawable after a call to eglSwapBuffers(),
so that a wl_egl_window_resize() would take effect for the next frame.
However, that leads to calling dri2_get_buffers() when eglMakeCurrent()
is called with the current context and surface, and a later call to
wl_egl_window_resize() would not take effect until the next buffer
swap.

Instead, add a callback from wl_egl_window_resize() back to the wayland
egl platform, and invalidate the drawable only when it is resized.

This solves a bug on wayland clients when going back to windowed mode
from fullscreen when clicking a pop up menu, where the window size
after this would be the fullscreen size.

Note: this is a candidate for stable branches.
CC: wayland-devel@lists.freedesktop.org
rivers/dri2/platform_wayland.c
ayland/wayland-egl/wayland-egl-priv.h
ayland/wayland-egl/wayland-egl.c
2332bc26d435e465a6f6571ab267db2a33ce05d2 28-Oct-2012 Jonas Ådahl <jadahl@gmail.com> wayland: Destroy frame callback when destroying surface

If a frame callback is not destroyed when destroying a surface, its
handler function will be invoked if the surface was destroyed after the
callback was requested but before it was invoked, causing a write on
free:ed memory.

This can happen if eglDestroySurface() is called shortly after
eglSwapBuffers().

Note: This is a candidate for stable branches.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
(cherry picked from commit a3b6b2d3055070da9bf7054fecfd0b171c398eb7)
rivers/dri2/platform_wayland.c
d26890688fc4efdec64e8fef33b54049f9c690bf 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
(cherry picked from commit f42518962a08ce927e4ddd233d19d2661e135834)
rivers/dri2/platform_x11.c
cf7634d9665b26a321a9d8542d50c76693141b52 09-Oct-2012 Matt Turner <mattst88@gmail.com> egl: Return EGL_BAD_MATCH for invalid profile attributes

Version 12 of the EGL_KHR_create_context spec changed this behavior.

NOTE: This is a candidate for the 9.0 branch
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 587d5db11d8047663201c5fb06a6b2feb5d55891)
ain/eglcontext.c
2a81037439afb04d4170f674646cdae59619707d 16-Oct-2012 Kristian Høgsberg <krh@bitplanet.net> wayland: Drop support for ill-defined, unused wl_egl_pixmap

It doesn't provide the cross-process buffer sharing that a window system
pixmap could otherwise support and we don't have anything left that uses
this type of surface.
rivers/dri2/platform_wayland.c
ayland/wayland-egl/wayland-egl-priv.h
ayland/wayland-egl/wayland-egl.c
b565197c5c1a516fa416bb2587365e15bb38b5b0 16-Oct-2012 Kristian Høgsberg <krh@bitplanet.net> wayland: Remove 0.85 compatibility #ifdefs
ayland/wayland-drm/wayland-drm.c
a5776ac0b8c015bf5d6a8513cefec5920895cc8e 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.
rivers/dri2/egl_dri2.h
rivers/dri2/platform_wayland.c
e1cb50b15dbb75d1ba0fe184d05be7d302b058ee 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>
(cherry picked from commit 0a523a8820e8a2549ac1c7887eb1892b228af44b)
rivers/dri2/platform_x11.c
a2f28ceea22254f09ee37039eec873ccdf689e6c 19-Sep-2012 Matt Turner <mattst88@gmail.com> build: Use AX_PTHREAD's HAVE_PTHREAD preprocessor definition
(cherry picked from commit 814345f54b74eee2597cf84f3c34817488f07522)

Conflicts:

src/mapi/glapi/gen/gl_x86-64_asm.py
src/mapi/glapi/gen/gl_x86_asm.py
ain/eglcurrent.c
ain/eglmutex.h
c7775e842bec815ede6badc35dbfe4991c183e3a 13-Aug-2012 Tapani Pälli <tapani.palli@intel.com> android: do not expose single buffered eglconfigs

On Android we want to add only double buffered configs for visuals.
Earlier implementation set the SurfaceType as 0 for single buffered
configs but driver still exposed these configs that were not compatible
with any egl surface type. This caused Khronos conformance test runs to
fail on Android. This patch fixes the issue by skipping single buffered
configs earlier and not exposing them.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit d58ca43b809593314907694e744780ab9b28d590)
rivers/dri2/platform_android.c
2a69de60bf9d8a4b35a115a0b1ac115301dd954d 13-Aug-2012 Tapani Pälli <tapani.palli@intel.com> android: fix liblog API changes

android logging macros changed their name in JellyBean.

Signed-off-by: Bruce E. Robertson <bruce.e.robertson@intel.com>
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 29d394b9ba4d7a23524fc6fba6da6e043085744b)
rivers/dri2/platform_android.c
00978098794f723230a33cab1c1152686f1c4fa5 31-Aug-2012 Jakob Bornecrantz <jakob@vmware.com> dri: Rework planar image interface

As discussed with Kristian on #wayland. Pushes the decision of components into
the dri driver giving it greater freedom to allow t to implement YUV samplers
in hardware, and which mode to use.

This interface will also allow drivers like SVGA to implement YUV surfaces
without the need to sub-allocate and instead send 3 seperate buffers for each
channel, currently not implemented.

I have tested these changes on Gallium Svga. Scott tested them on both intel
and Gallium Radeon. Kristan and Pekka tested them on intel.

v2: Fix typo in dri2_from_planar.
v3: Merge in intel changes.

(cherry picked from commit 6a7dea93fa70d670a5954e47a47075a2703209d4)

Tested-by: Scott Moreau <oreaus@gmail.com>
Tested-by: Pekka Paalanen <ppaalanen@gmail.com>
Tested-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
rivers/dri2/egl_dri2.c
971750e1cd76dabe22bf2ca83f07266837e3a2a6 25-Aug-2012 Matt Turner <mattst88@gmail.com> egl: fix invalid flag detection for EGL_KHR_create_context

We want to check whether there are bits set outside of the valid flags.

Fixes piglit test egl-create-context-invalid-flag-gl

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
ain/eglcontext.c
a669a5055eadae85ffa000cea19a2241d0699348 13-Aug-2012 Jakob Bornecrantz <jakob@vmware.com> gbm: Use libkms to replace DRI cursor images

Uses libkms instead of dri image cursor. Since this is the only user of the
DRI cursor and write interface we can remove cursor surfaces entirely from
the DRI interface and as a consequence also from the Gallium interface as
well. Tho to make everybody happy with this it would probably should add a
kms_bo_write function, but that is probably wise in anyways.

The only downside is that it adds a dependancy on libkms, this could how ever
be replaced with the dumb_bo drm ioctl interface.

Tested-by: Scott Moreau <oreaus@gmail.com>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
rivers/dri2/Makefile.am
b41f36bde778e6b11129f51de423b7c3aece26b4 17-Aug-2012 Paulo Alcantara <pcacjr@profusion.mobi> egl_dri2: Fix segmentation fault

The segmentation fault occurs when DRI2 is not loaded up and
dri2_setup_screen() function deferences dri2_dpy->dri2 (since it's NULL
at this point).

This patch fixes the segmentation fault by checking if dri2 pointer is
not NULL before deferencing it.

Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
rivers/dri2/egl_dri2.c
dbecb413008c19e1864de93d9a8a9123bfee46e7 20-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl: Allow OpenGL ES 3.0 as a version

In the DRI2 back-end this will get the same API as GLES 2.0.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
rivers/dri2/egl_dri2.c
ain/eglcontext.c
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>
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
f171571bfc897921cee63cbba3b71fd9b64174c9 20-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl: Implement front-end support for EGL_EXT_create_context_robustness

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
ain/eglcontext.c
ain/egldisplay.h
ain/eglmisc.c
63beb3df98147f34fd0965cb0afbb97444206d0c 19-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl: Implement front-end support for EGL_KHR_create_context

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
ain/eglcontext.c
ain/eglcontext.h
ain/egldisplay.h
ain/eglmisc.c
9d76ad2fac5b6558d63656e9a29cda394bb4ec80 19-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl_dri2: Silence warnings about missing initializers

egl_dri2.c: At top level:
egl_dri2.c:325:4: warning: missing initializer [-Wmissing-field-initializers]
egl_dri2.c:325:4: warning: (near initialization for 'swrast_driver_extensions[2].version') [-Wmissing-field-initializers]
egl_dri2.c:330:4: warning: missing initializer [-Wmissing-field-initializers]
egl_dri2.c:330:4: warning: (near initialization for 'swrast_core_extensions[1].version') [-Wmissing-field-initializers]

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
rivers/dri2/egl_dri2.c
3fd79dd9886f05f45f3dc94c028a38dd75b8ee1b 19-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl: Rename ClientVersion to ClientMajorVersion, add ClientMinorVersion

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
rivers/dri2/egl_dri2.c
ain/eglcontext.c
ain/eglcontext.h
ce55741cbc0837338b73f9112ab4d84363ebaee1 18-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl_dri2: Use createContextAttribs if DRI2 version >= 3

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
rivers/dri2/egl_dri2.c
38f91f2b08e2457fa637c631490fe713e8ee5429 18-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl_dri2: Require DRI2 version 2

The extra block in dri2_create_context is to prevent extra white space noise
in the next patch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
rivers/dri2/egl_dri2.c
b50703aea55450e04bcd8154335774786e0f253b 18-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl: Replace KHR_surfaceless_* extensions with KHR_surfaceless_context

KHR extension name is reserved for Khronos ratified extensions, and there is
no such thing as EGL_KHR_surfaceless_{gles1,gles2,opengl}. Replace these
three extensions with EGL_KHR_surfaceless_context since that extension
actually exists.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
rivers/dri2/egl_dri2.c
ain/eglapi.c
ain/eglcontext.c
ain/egldisplay.h
ain/eglmisc.c
cb77f5dd1f6658fca671454c9b5be9a23c3bf3e4 18-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl_dri2: Refactor dereference of dri2_ctx_shared

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
rivers/dri2/egl_dri2.c
05413ddb1da5d4f17b6da891fd2d76cff4947979 18-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> egl_dri2: Remove swrast version >= 2 checks

Since support for swrast version 2 was added (f55d027a), it has also been
required. In swrast_driver_extensions, version 2 is set for __DRI_SWRAST
extension. Remove the spurious version checks sprinked through the code.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Cc: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
rivers/dri2/egl_dri2.c
d7522ed13052a3d30bc4faedce04685263f57933 19-Jul-2012 Kristian Høgsberg <krh@bitplanet.net> wayland: Support EGL_WIDTH and EGL_HEIGHT queries for wl_buffer

We're going to make the public wl_buffer struct as small as possible.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
rivers/dri2/egl_dri2.c
e23bfdb3298ec43ef895121527fb4d79474d7b1b 19-Jul-2012 Kristian Høgsberg <krh@bitplanet.net> wayland: Use existing EGL_TEXTURE_FORMAT for querying wl_buffer texture format

We also reuse EGL_TEXTURE_RGBA and EGL_TEXTURE_RGB, adding only the new
planar YUV texture formats: EGL_TEXTURE_Y_U_V_WL, EGL_TEXTURE_Y_UV_WL and
EGL_TEXTURE_Y_XUXV_WL.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
rivers/dri2/egl_dri2.c
b262f56738fe532bc95b6d2e2d535f832dbbd791 17-Jul-2012 Kristian Høgsberg <krh@bitplanet.net> wayland: Include wl_drm format enum in wayland-drm.h

This gets referenced before we get to generate the header files, so just include the
enum that we need and don't include the generated header.
ayland/wayland-drm/wayland-drm.h
cf775c9cbf86676aa321eb9665fe38aeba35afc9 11-Jul-2012 Elvis Lee <kwangwoong.lee@lge.com> egl_dri2: NULL check for EGLNativeWindowType

Some application calls eglCreateWindowSurface with
EGLNativeWindowType parameter having zero value. It causes SEGV
and disturbs error handling like EGL_NO_SURFACE.

Signed-off-by: Elvis Lee <kwangwoong.lee@lge.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
rivers/dri2/platform_drm.c
44f066b9ffb7749e872c9cc44ab4d6e2973c2372 13-Jul-2012 Kristian Høgsberg <krh@bitplanet.net> gbm: Add new gbm_bo_import entry point

This generalizes and replaces gbm_bo_create_for_egl_image. gbm_bo_import
will create a gbm_bo from either an EGLImage or a struct wl_buffer.
ayland/wayland-drm/wayland-drm.h
426a23af147720ae3b89995ffee792a29e8ae2db 13-Jul-2012 Kristian Høgsberg <krh@bitplanet.net> wayland: Stop trying to use make rules from aclocal, just copy and paste

Defeated by autotool, copy and paste to the rescue.

https://bugs.freedesktop.org/show_bug.cgi?id=51997
https://bugs.freedesktop.org/show_bug.cgi?id=51531

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
ayland/wayland-drm/Makefile.am
ayland/wayland-drm/protocol/wayland-drm.xml
ayland/wayland-drm/wayland-drm.xml
b2a37e242ea60fde6d616814a30b89325875d0df 29-Jun-2012 Jon TURNEY <jon.turney@dronecode.org.uk> automake: convert libglapi

* "configure substitutions are not allowed in _SOURCES variables" in automake,
so remove the AC_SUBST'ed GLAPI_ASM_SOURCES and instead use some AM_CONDITIONALS
to choose which asm sources are used

* Change GLAPI_LIB to point to the .la file in other Makefile.am files, and make a link
to the .a file for the convenience of other Makefiles which have not yet been converted
to automake

v2:
- Use AM_CPPFLAGS for cleaner build output
- EXTRA_SOURCES is not needed
- Remove libglapi.a compatibility link on clean

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Matt Turner <mattst88@gmail.com>
ain/Makefile.am
e6a33570b73aa56c87818d7f67a122d4427b7841 05-Jul-2012 Kristian Høgsberg <krh@bitplanet.net> egl: Add EGL_WAYLAND_PLANE_WL attribute

This lets us specify the plane to create the image for for multiplanar
wl_buffers.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
rivers/dri2/egl_dri2.c
ain/eglapi.c
ain/eglapi.h
ain/eglimage.c
ain/eglimage.h
ayland/wayland-drm/wayland-drm.h
1aaec8c60985ffe03af265bf8f659ee0319926ca 05-Jul-2012 Kristian Høgsberg <krh@bitplanet.net> wayland-drm: Add protocol to create planar buffers
rivers/dri2/egl_dri2.c
ayland/wayland-drm/protocol/wayland-drm.xml
ayland/wayland-drm/wayland-drm.c
ayland/wayland-drm/wayland-drm.h
379eb47ea61c87c9ac071fa6d93e49ae3f02ac2c 05-Jul-2012 Kristian Høgsberg <krh@bitplanet.net> wayland-drm: Pass struct wl_drm_buffer to the driver

We're going to extend this to support multi-plane buffers, so pass this
to the driver so it can access the details.
rivers/dri2/egl_dri2.c
ayland/wayland-drm/wayland-drm.c
ayland/wayland-drm/wayland-drm.h
5f5746a692e8f279dcba9e25ad0bb2c41a546f6e 05-Jul-2012 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Reorganize the EGLImage constructors to share more code

We factor out all the EGL book-keeping into dri2_create_image() and
simplify the wayland case by using dupImage.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
rivers/dri2/egl_dri2.c
07b28af5b57338263e8aef5833e7d5085051a655 11-Jun-2012 Eric Anholt <eric@anholt.net> automake: Convert src/egl/Makefile to automake.
gitignore
akefile
akefile.am
c384c5d4d733244c9922638eebb20b05f465df62 03-May-2012 Robert Hooker <sarvatt@ubuntu.com> egl_dri2: Fix out of tree builds with the wayland backend enabled

Otherwise it fails like so:

CC egl_dri2.lo
In file included from egl_dri2.h:40:0,
from egl_dri2.c:42:
../../../../../../src/egl/wayland/wayland-drm/wayland-drm.h:8:41:
fatal error: wayland-drm-server-protocol.h: No such file or directory
compilation terminated.
rivers/dri2/Makefile.am
81f95ce13d92f15df2941a831ddb5a415f0f816e 24-Apr-2012 Sean V Kelley <sean.v.kelley@linux.intel.com> egl/android: Add support for RGBX_8888 used in Android native buffers

Add new format __DRI_IMAGE_FORMAT_XBGR8888 to __DRI_IMAGE.
HAL_PIXEL_FORMAT_RGBX_8888 now maps to __DRI_IMAGE_FORMAT_XBGR8888.

Signed-off-by: Sean V Kelley <sean.v.kelley@linux.intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
rivers/dri2/platform_android.c
a75c6163e605f35b14f26930dd9227e4f337ec9e 06-Jan-2012 Tom Stellard <thomas.stellard@amd.com> radeonsi: initial WIP SI code

This commit adds initial support for acceleration
on SI chips. egltri is starting to work.

The SI/R600 llvm backend is currently included in mesa
but that may change in the future.

The plan is to write a single gallium driver and
use gallium to support X acceleration.

This commit contains patches from:
Tom Stellard <thomas.stellard@amd.com>
Michel Dänzer <michel.daenzer@amd.com>
Alex Deucher <alexander.deucher@amd.com>
Vadim Girlin <vadimgirlin@gmail.com>

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

The following commits were squashed in:

======================================================================

radeonsi: Remove unused winsys pointer

This was removed from r600g in commit:

commit 96d882939d612fcc8332f107befec470ed4359de
Author: Marek Olšák <maraeo@gmail.com>
Date: Fri Feb 17 01:49:49 2012 +0100

gallium: remove unused winsys pointers in pipe_screen and pipe_context

A winsys is already a private object of a driver.

======================================================================

radeonsi: Copy color clamping CAPs from r600

Not sure if the values of these CAPS are correct for radeonsi, but the
same changed were made to r600g in commit:

commit bc1c8369384b5e16547c5bf9728aa78f8dfd66cc
Author: Marek Olšák <maraeo@gmail.com>
Date: Mon Jan 23 03:11:17 2012 +0100

st/mesa: do vertex and fragment color clamping in shaders

For ARB_color_buffer_float. Most hardware can't do it and st/mesa is
the perfect place for a fallback.
The exceptions are:
- r500 (vertex clamp only)
- nv50 (both)
- nvc0 (both)
- softpipe (both)

We also have to take into account that r300 can do CLAMPED vertex colors only,
while r600 can do UNCLAMPED vertex colors only. The difference can be expressed
with the two new CAPs.

======================================================================

radeonsi: Remove PIPE_CAP_OUTPUT_READ

This CAP was dropped in commit:

commit 04e324008759282728a95a1394bac2c4c2a1a3f9
Author: Marek Olšák <maraeo@gmail.com>
Date: Thu Feb 23 23:44:36 2012 +0100

gallium: remove PIPE_SHADER_CAP_OUTPUT_READ

r600g is the only driver which has made use of it. The reason the CAP was
added was to fix some piglit tests when the GLSL pass lower_output_reads
didn't exist.

However, not removing output reads breaks the fallback for glClampColorARB,
which assumes outputs are not readable. The fix would be non-trivial
and my personal preference is to remove the CAP, considering that reading
outputs is uncommon and that we can now use lower_output_reads to fix
the issue that the CAP was supposed to workaround in the first place.

======================================================================

radeonsi: Add missing parameters to rws->buffer_get_tiling() call

This was changed in commit:

commit c0c979eebc076b95cc8d18a013ce2968fe6311ad
Author: Jerome Glisse <jglisse@redhat.com>
Date: Mon Jan 30 17:22:13 2012 -0500

r600g: add support for common surface allocator for tiling v13

Tiled surface have all kind of alignment constraint that needs to
be met. Instead of having all this code duplicated btw ddx and
mesa use common code in libdrm_radeon this also ensure that both
ddx and mesa compute those alignment in the same way.

v2 fix evergreen
v3 fix compressed texture and workaround cube texture issue by
disabling 2D array mode for cubemap (need to check if r7xx and
newer are also affected by the issue)
v4 fix texture array
v5 fix evergreen and newer, split surface values computation from
mipmap tree generation so that we can get them directly from the
ddx
v6 final fix to evergreen tile split value
v7 fix mipmap offset to avoid to use random value, use color view
depth view to address different layer as hardware is doing some
magic rotation depending on the layer
v8 fix COLOR_VIEW on r6xx for linear array mode, use COLOR_VIEW on
evergreen, align bytes per pixel to a multiple of a dword
v9 fix handling of stencil on evergreen, half fix for compressed
texture
v10 fix evergreen compressed texture proper support for stencil
tile split. Fix stencil issue when array mode was clear by
the kernel, always program stencil bo. On evergreen depth
buffer bo need to be big enough to hold depth buffer + stencil
buffer as even with stencil disabled things get written there.
v11 rebase on top of mesa, fix pitch issue with 1d surface on evergreen,
old ddx overestimate those. Fix linear case when pitch*height < 64.
Fix r300g.
v12 Fix linear case when pitch*height < 64 for old path, adapt to
libdrm API change
v13 add libdrm check

Signed-off-by: Jerome Glisse <jglisse@redhat.com>

======================================================================

radeonsi: Remove PIPE_TRANSFER_MAP_PERMANENTLY

This was removed in commit:

commit 62f44f670bb0162e89fd4786af877f8da9ff607c
Author: Marek Olšák <maraeo@gmail.com>
Date: Mon Mar 5 13:45:00 2012 +0100

Revert "gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLY"

This reverts commit 0950086376b1c8b7fb89eda81ed7f2f06dee58bc.

It was decided to refactor the transfer API instead of adding workarounds
to address the performance issues.

======================================================================

radeonsi: Handle PIPE_VIDEO_CAP_PREFERED_FORMAT.

Reintroduced in commit 9d9afcb5bac2931d4b8e6d1aa571e941c5110c90.

======================================================================

radeonsi: nuke the fallback for vertex and fragment color clamping

Ported from r600g commit c2b800cf38b299c1ab1c53dc0e4ea00c7acef853.

======================================================================

radeonsi: don't expose transform_feedback2 without kernel support

Ported from r600g commit 15146fd1bcbb08e44a1cbb984440ee1a5de63d48.

======================================================================

radeonsi: Handle PIPE_CAP_GLSL_FEATURE_LEVEL.

Ported from r600g part of commit 171be755223d99f8cc5cc1bdaf8bd7b4caa04b4f.

======================================================================

radeonsi: set minimum point size to 1.0 for non-sprite non-aa points.

Ported from r600g commit f183cc9ce3ad1d043bdf8b38fd519e8f437714fc.

======================================================================

radeonsi: rework and consolidate stencilref state setting.

Ported from r600g commit a2361946e782b57f0c63587841ca41c0ea707070.

======================================================================

radeonsi: cleanup setting DB_SHADER_CONTROL.

Ported from r600g commit 3d061caaed13b646ff40754f8ebe73f3d4983c5b.

======================================================================

radeonsi: Get rid of register masks.

Ported from r600g commits
3d061caaed13b646ff40754f8ebe73f3d4983c5b..9344ab382a1765c1a7c2560e771485edf4954fe2.

======================================================================

radeonsi: get rid of r600_context_reg.

Ported from r600g commits
9344ab382a1765c1a7c2560e771485edf4954fe2..bed20f02a771f43e1c5092254705701c228cfa7f.

======================================================================

radeonsi: Fix regression from 'Get rid of register masks'.

======================================================================

radeonsi: optimize r600_resource_va.

Ported from r600g commit 669d8766ff3403938794eb80d7769347b6e52174.

======================================================================

radeonsi: remove u8,u16,u32,u64 types.

Ported from r600g commit 78293b99b23268e6698f1267aaf40647c17d95a5.

======================================================================

radeonsi: merge r600_context with r600_pipe_context.

Ported from r600g commit e4340c1908a6a3b09e1a15d5195f6da7d00494d0.

======================================================================

radeonsi: Miscellaneous context cleanups.

Ported from r600g commits
e4340c1908a6a3b09e1a15d5195f6da7d00494d0..621e0db71c5ddcb379171064a4f720c9cf01e888.

======================================================================

radeonsi: add a new simple API for state emission.

Ported from r600g commits
621e0db71c5ddcb379171064a4f720c9cf01e888..f661405637bba32c2cfbeecf6e2e56e414e9521e.

======================================================================

radeonsi: Also remove sbu_flags member of struct r600_reg.

Requires using sid.h instead of r600d.h for the new CP_COHER_CNTL definitions,
so some code needs to be disabled for now.

======================================================================

radeonsi: Miscellaneous simplifications.

Ported from r600g commits 38bf2763482b4f1b6d95cd51aecec75601d8b90f and
b0337b679ad4c2feae59215104cfa60b58a619d5.

======================================================================

radeonsi: Handle PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION.

Ported from commit 8b4f7b0672d663273310fffa9490ad996f5b914a.

======================================================================

radeonsi: Use a fake reloc to sleep for fences.

Ported from r600g commit 8cd03b933cf868ff867e2db4a0937005a02fd0e4.

======================================================================

radeonsi: adapt to get_query_result interface change.

Ported from r600g commit 4445e170bee23a3607ece0e010adef7058ac6a11.
ain/Android.mk
071501a68129768c6223beb24f7363d87c6684ea 01-Apr-2012 Dylan Noblesmith <nobled@dreamwidth.org> egl: fix uninitialized values

Noticed by clang:

eglimage.c:48:28: warning: argument to 'sizeof' in 'memset' call is
the same expression as the destination; did you mean to dereference
it? [-Wsizeof-pointer-memaccess]
memset(attrs, 0, sizeof(attrs));
~~~~~ ^~~~~

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: Brian Paul <brianp@vmware.com>
ain/eglimage.c
4f2eafe4dcea26d7275b121360c4f4e0b28455f5 11-Apr-2012 Neil Roberts <neil@linux.intel.com> wayland-drm: Implement wl_buffer.damage in old versions of Wayland

Commit 272bc48976 removed the damage implementation for the
wl_buffer_interface because that has been removed from git master of
Wayland. However this breaks building with the 0.85 branch of Wayland
because it would end up initialising the struct incorrectly.

For the time being it's quite convenient for some compositors to track
the 0.85 branch of Wayland because the protocol is stable but they
will also want to track the master branch of Mesa so that they can use
the gbm surface changes.

This patch adds a compile-time check for the version of Wayland so
that it can work with either Wayland master or the 0.85 branch.

krh: Edited to also account for API changes in 6802eaa68, which
removes the timestamp argument from wl_resource_destroy().
ayland/wayland-drm/wayland-drm.c
0695cf68f5afb903f93cc3779444d095b218271d 10-Apr-2012 Mandeep Singh Baines <mandeep.baines@gmail.com> egl_dri2: fix aux buffer leak in drm platform

Keep a reference to any newly allocated aux buffers to avoid
re-allocating for every st_framebuffer_validate() (i.e. leaking).

Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
rivers/dri2/platform_drm.c
272bc489762c6946e3c0314e9e035b281c567310 10-Apr-2012 Pekka Paalanen <ppaalanen@gmail.com> wayland-drm: remove wl_buffer.damage

This is a related fix for the Wayland change:

commit 83685c506e76212ae4e5cb722205d98d3b0603b9
Author: Kristian Høgsberg <krh@bitplanet.net>
Date: Mon Mar 26 16:33:24 2012 -0400

Remove wl_buffer.damage and simplify shm implementation

Apparently, this should also fix a memory leak. When wl_buffer.damage
was removed from Wayland and Mesa was not fixed, wl_buffer.destroy ended
up in the (empty) damage function instead of calling
wl_resource_destroy().

Spotted during build as:
CC wayland-drm-protocol.lo
wayland-drm.c:80:2: warning: initialization from incompatible pointer type
wayland-drm.c:82:1: warning: excess elements in struct initializer
wayland-drm.c:82:1: warning: (near initialization for 'drm_buffer_interface')

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
ayland/wayland-drm/wayland-drm.c
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
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
410aa3eb45c88dd939dcecaa2aafa8f5afd6e000 25-Jan-2012 Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> egl_dri2: make flush extension useable by drm platform
rivers/dri2/platform_drm.c
03eca9d92d407c71a59ff8a43067759769da0ae4 27-Mar-2012 Kristian Høgsberg <krh@bitplanet.net> wayland: Stop using wl_buffer.damage
rivers/dri2/platform_wayland.c
dfce56ba4dd444cdb1148425a2cc0662bb79932d 20-Mar-2012 Kenneth Graunke <kenneth@whitecape.org> Add Makefile.in to toplevel .gitignore

To avoid redundancies, this patch also removes Makefile.in from the
other .gitignore files.

Acked-by: Eric Anholt <eric@anholt.net>
rivers/.gitignore
ain/.gitignore
ayland/.gitignore
b41ab3b42c989926389e599d5794412a628f277f 16-Mar-2012 Paul Berry <stereotype441@gmail.com> Add .deps/, .libs/, and *.la to toplevel .gitignore

To avoid redundancies, this patch also removes .deps, .libs, and *.la
from .gitignore files in subdirectories.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
ain/.gitignore
ayland/.gitignore
ca760181b4420696c7e86aa2951d7203522ad1e8 16-Mar-2012 Kristian Høgsberg <krh@bitplanet.net> shared-glapi: Convert to automake

This fixes a build problem where EGL links to libgbm.la, which encodes
a relative path to it's libglapi.so dependency. The relative path
breaks when the linker tries to resolve it from src/egl/main instead
of src/gbm. Typically we silently fall back to the system
libglapi.so, which is wrong and breaks when there isn't one.

Morale of the story: don't mix mklib and libtool.
ain/Makefile.am
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>
rivers/dri2/platform_wayland.c
rivers/dri2/platform_x11.c
71f4a960f8e034cc73aaa81b4343101d0046ffb3 04-Mar-2012 Jon TURNEY <jon.turney@dronecode.org.uk> egl: Use -no-undefined libtool flag

"Use -no-undefined to assure libtool that the library has no
unresolved symbols at link time, so that libtool will build a shared
library on platforms require that all symbols are resolved when the
library is linked."

If I had a dollar for every time I wrote this patch, I'd have about
$10 :-)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
ain/Makefile.am
e6aa32ac7f8d7b843f4d4f8bf9d8e9db790b0868 05-Mar-2012 Benjamin Franzke <benjaminfranzke@googlemail.com> wayland: Use new wl_display_disconnect

This replaces the previously used wl_display_destroy.
wl_display_destroy was povided by wayland-client.so and
wayland-server.so, to resolve that conflict its renamed client-side.
rivers/dri2/platform_wayland.c
31b044506e14c482162596641218bdae520a466d 29-Feb-2012 Eric Anholt <eric@anholt.net> egl: Also put a symlink from libEGL.so in lib/ for now.

This fixes the egl_gallium.so driver build when no system libEGL.so is
present, since it's relying on the lib/ to build against until it gets
converted to automake.
ain/Makefile.am
6b024464e80d035fe92c9c15761a0ac269a8ad51 01-Mar-2012 José Fonseca <jose.r.fonseca@gmail.com> egl: Don't include strings.h on Windows.

strings.h is needed for the declaration of strcasecmp(), but only on
non-Windows platforms.
ain/egllog.c
ain/eglstring.h
e5f895485e03ac60efcb3f6f83ec1d3e33ef7ec2 06-Feb-2012 Eric Anholt <eric@anholt.net> egl/drivers: Convert to automake.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
rivers/Makefile.template
rivers/dri2/Makefile
rivers/dri2/Makefile.am
rivers/glx/Makefile
rivers/glx/Makefile.am
ain/Makefile.am
88612029f6ce9d2717220a0ef31bfe71a8c85529 05-Feb-2012 Eric Anholt <eric@anholt.net> egl/main: Convert to automake.

The drivers/ walk-through-subdirs makefile is converted as well so I
didn't need to keep EGL_DRIVERS_DIRS along with the per-driver
HAVE_EGL_DRIVER_WHATEVER.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
rivers/.gitignore
rivers/Makefile
rivers/Makefile.am
rivers/Makefile.template
ain/.gitignore
ain/Makefile
ain/Makefile.am
ain/egl.pc.in
ain/egllog.c
d019cf9124210f8feaca532e3d24cbddcff54061 05-Feb-2012 Eric Anholt <eric@anholt.net> egl: Drop the non-builtin-drivers support.

The two drivers both did builtin mode, so drop the non-builtin build
system.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
rivers/Makefile.template
rivers/dri2/Makefile
9f0f00c319a18ec2e9f022482fa11990e682c1d7 05-Feb-2012 Eric Anholt <eric@anholt.net> egl: Drop _EGL_MAIN entrypoint obfuscation.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
rivers/dri2/Android.mk
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
rivers/glx/Makefile
rivers/glx/egl_glx.c
03dae294720a9c5b15f5a604a35509eb433bdbe9 29-Jan-2012 Juan Zhao <juan.j.zhao@linux.intel.com> add wayland cflags when building wayland-egl

to fix the header file missing when building wayland-egl
ayland/wayland-egl/Makefile.am
8b902056d53e0e14f7d58ac7f95091ab06abc72e 24-Jan-2012 Benjamin Franzke <benjaminfranzke@googlemail.com> automake: src/egl/wayland

So we can use the wayland scanner makro, which is way
better than our previous runtime-pkgconfig hack.

Reviewed-by: Matt Turner <mattst88@gmail.com>
rivers/dri2/Makefile
ain/Makefile
ayland/.gitignore
ayland/Makefile
ayland/Makefile.am
ayland/wayland-drm/.gitignore
ayland/wayland-drm/Makefile
ayland/wayland-drm/Makefile.am
ayland/wayland-egl/Makefile
ayland/wayland-egl/Makefile.am
ayland/wayland-egl/wayland-egl.pc.in
027ce0c493a85c863df88b43f61aea34bcd4cd58 24-Jan-2012 Matt Turner <mattst88@gmail.com> Revert "Always build shared glapi"

This reverts commit adefee50d954151f76150af80207081ae3c247d9.

Shared glapi was never tested with --enable-xlib-glx and turns out
to cause a lot of problems.

Conflicts:

configure.ac
rivers/dri2/Android.mk
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
a208468e04353239f2876cc2013f860b48a4f1c1 24-Jan-2012 Matt Turner <mattst88@gmail.com> gbm: install libgbm.so into lib

This partially reverts commit 90e256853418eaaba3717f930cc6a331e4099056.
ain/Makefile
90e256853418eaaba3717f930cc6a331e4099056 24-Jan-2012 Benjamin Franzke <benjaminfranzke@googlemail.com> egl,gbm_gallium: Fix linkage against gbm from automake

Add src/gbm/.libs to ldflags.
The gbm lib is src/gbm/.libs/ instead of lib/
as of commit 06ad64ad29e7aa9e2d001f6bd1f8c1c1f77050b8.
ain/Makefile
adefee50d954151f76150af80207081ae3c247d9 12-Jan-2012 Matt Turner <mattst88@gmail.com> Always build shared glapi

libglapi.so, libGL.so, libGLESv2.so, libGLESv1_CM.so must all
come from the same version of Mesa or bad things may happen.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Matt Turner <mattst88@gmail.com>
rivers/dri2/Android.mk
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
58dc1b28d1ef4d1931c52b079d304f2e1546329d 11-Jan-2012 Kristian Høgsberg <krh@bitplanet.net> wayland-drm: Drop the non-premul formats, use format codes from drm_fourcc.h
rivers/dri2/egl_dri2.c
rivers/dri2/platform_wayland.c
ayland/wayland-drm/protocol/wayland-drm.xml
ayland/wayland-drm/wayland-drm.c
513d1feee46d05b71094c60ee09fa263867f25b7 11-Jan-2012 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Put the _eglError call in the case switch case

Log an error in case we get an unknown format, not in case for XRGB32.
I botched the edit of Roberts patch.
rivers/dri2/egl_dri2.c
670f182a1f0401f34b1fb7ead50644589737f0d2 10-Jan-2012 Robert Bragg <robert@linux.intel.com> egl_dri2/wayland: handle creating xrgb8888 images

When creating an EGLImage from a struct wl_buffer * this ensures
that we create an XRGB8888 image if the wayland buffer doesn't have an
alpha channel. To determine if a wl_buffer has a valid alpha channel
this patch adds an internal wayland_drm_buffer_has_alpha() function.

It's important to get the internal format for an EGLImage right so that
if a GL texture is later created from the image then the GL driver will
know if it should sample the alpha from the texture or flatten it to
a constant of 1.0.

This avoids needing fragment program workarounds in wayland compositors
to manually ignore the alpha component of textures created from wayland
buffers.

krh: Edited to use wl_buffer_get_format() instead of wl_buffer_has_alpha().

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
rivers/dri2/egl_dri2.c
ayland/wayland-drm/wayland-drm.c
ayland/wayland-drm/wayland-drm.h
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.
rivers/dri2/platform_x11.c
352c889c10d8d104551ef6657e03b77996bffc39 20-Dec-2011 Fredrik Höglund <fredrik@kde.org> egl_dri2/x11: Add support for the DRI2 SwapBuffers request
rivers/dri2/egl_dri2.h
rivers/dri2/platform_x11.c
655f2c1d6593064b83f64a527798f48cd300fa16 20-Dec-2011 Fredrik Höglund <fredrik@kde.org> egl_dri2/x11: Add support for eglSwapInterval
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/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.
rivers/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>
rivers/dri2/platform_x11.c
7d46b45c5bd7d1ab3e32a2722ca65061ca80dc34 14-Dec-2011 Fredrik Höglund <fredrik@kde.org> egl: add EGL_NV_post_sub_buffer

v2: Handle EGL_POST_SUB_BUFFER_SUPPORTED_NV in
_eglParseSurfaceAttribList()

Signed-off-by: Fredrik Höglund <fredrik@kde.org>

[olv: remove #ifdef checks]
ain/eglapi.c
ain/eglapi.h
ain/egldisplay.h
ain/eglmisc.c
ain/eglsurface.c
ain/eglsurface.h
f63e129d5fef73b0710d294ddc19440d9d388836 20-Dec-2011 Chia-I Wu <olv@lunarg.com> egl: KHR_reusable_sync entrypoints are missing from eglGetProcAddress
ain/eglapi.c
f957cac772d34b3406be3236b81571e456ee40e8 20-Dec-2011 Chia-I Wu <olv@lunarg.com> egl: remove #ifdef's for official extensions

There is no point in having them when we distribute eglext.h.

As for unofficial extensions, there is a chance that we might remove some of
them evetually. Keeping the #ifdef's for now should make that easier.
ain/eglapi.c
ain/eglapi.h
ain/eglcontext.c
ain/eglfallbacks.c
ain/eglimage.c
ain/eglsync.c
ain/eglsync.h
ed1ff2acec2cdfe3eace9f4caa6cfe5e0f175534 20-Dec-2011 Chia-I Wu <olv@lunarg.com> egl: remove EGL_ANDROID_swap_rectangle

We never support this unofficial extension, and it has been removed from
Android recently. There is no point in keeping it.
ain/eglapi.c
ain/eglapi.h
ain/egldisplay.h
ain/eglmisc.c
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.
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
rivers/dri2/platform_wayland.c
b7a69cbb71304609245be43fa739c50969017ab8 03-Dec-2011 Chia-I Wu <olv@lunarg.com> egl_glx: fix eglDestroyContext

Wrong pointers are passed to glXDestroyContext.

Spotted by Brian Paul.
rivers/glx/egl_glx.c
6baa5f10c04641960e0bedce664d0a5cf39e8954 25-Nov-2011 Beren Minor <beren.minor@gmail.com> egl_glx: Try first a default lookup for glXGetProcAddress before loading dynamic lib.

GLX functions are sometimes directly available in the current binary. In such
cases, we do not need any alternate library loaded using dlopen. Otherwise,
dlopen may find the wrong libGL library and get functions that conflicts with
the current loaded ones.

For example, on Debian Sid with nvidia binary drivers, using mesa's libEGL with
GLX driver leads to wrong glXGetFBConfigs symbol loaded (or loaded twice?),
which leads to "GLX: failed to create any config" error message as the
glXGetFBConfigs symbol seems to return garbage. If the binary is linked with
nvidia's libGL, the GLX symbols are already available.
Without this patch, convert_fbconfig (src/egl/drivers/glx/egl_glx.c:233) fails
for every config found, after glXGetFBConfigAttrib(... GLX_RENDER_TYPE, ...)
call, as the value returned has GLX_COLOR_INDEX_BIT and not GLX_RGBA_BIT.

[olv: initialize handle, prepend egl_glx to the commit log]
rivers/glx/egl_glx.c
496f68bb9d3760075c4a446ddf832dce6cf6cbc7 25-Nov-2011 Chia-I Wu <olv@lunarg.com> android: bring in i915_dri and i965_dri automatically

Add i915_dri and i965_dri to libGLES_mesa's LOCAL_REQUIRED_MODULES when
enabled.
ain/Android.mk
4d3d6f76ff165ca92544432ca512c9652cab9110 26-Nov-2011 Chia-I Wu <olv@lunarg.com> android: move libGLES_mesa build rules to src/egl/main/.

Keep the top-level Android.mk away from building modules.
ain/Android.mk
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.
rivers/dri2/egl_dri2.h
rivers/dri2/platform_android.c
2e15f0c86066b6f455c817b81e59bdca1afb0ee2 10-Nov-2011 Brian Paul <brianp@vmware.com> egl: silence unused var warning
ain/egldisplay.c
3db309aecee57d7e0055a49a0e12a491a554347b 01-Oct-2011 Stéphane Marchesin <marcheu@chromium.org> configure: replace pkg-config calls with $(PKG_CONFIG) in the makefiles.

Us poor souls who cross compile mesa want to be able to specify which pkg-config to pick, or at least just change one place.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
ayland/wayland-drm/Makefile
5eca41665bbd6deb5ffff011e47ff0cec41916da 20-Sep-2011 Chia-I Wu <olv@lunarg.com> egl: add null platform

The null platform has no window or pixmap surface (but pbuffer surface).
And the only valid display is EGL_DEFAULT_DISPLAY. It is useful for
offscreen rendering. It works everywhere becase no window system is
required.
ain/Makefile
ain/egldisplay.c
ain/egldisplay.h
75eb92fb28545bd57281e465c1dadf63b38ab55a 18-Sep-2011 Matt Turner <mattst88@gmail.com> egl_glx.c: use unsigned instead of uint

We've had a hack to fix this in Gentoo on Solaris for a while.

Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
rivers/glx/egl_glx.c
0763b978eea5f133e43fb223d50c08fcca5397a2 15-Sep-2011 Jørgen Lind <jorgen.lind@nokia.com> wayland: Flush before blocking in swapbuffers.

Make sure that we've sent the frame request that we're going to block on.
rivers/dri2/platform_wayland.c
48eb1fe6f9bca74364cf43c36e48ff3fd7cd53f5 21-Aug-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: add support for RGBA_8888 android native buffer

HAL_PIXEL_FORMAT_RGBA_8888 maps to __DRI_IMAGE_FORMAT_ABGR8888.
rivers/dri2/platform_android.c
1cf808c86e7e88b173a5ca0ec6fef562ecae16b3 07-Sep-2011 José Fonseca <jfonseca@vmware.com> Define INLINE macro in terms of inline.
ain/eglcompiler.h
64332917c972a075c9e7792d77d8ef5ac2fd5a90 01-Sep-2011 Kristian Høgsberg <krh@bitplanet.net> wayland: Use wl_resource_* error functions
ayland/wayland-drm/wayland-drm.c
11f64668a91259b876d6b6bccd902f875531502d 01-Sep-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Destroy callback in release_pending_buffer
rivers/dri2/platform_wayland.c
59884b9b5922ceb87e5d24acc36ffc70570a873d 01-Sep-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> wayland-drm: Fix compilation with wayland master

c661ecce introduced some not-yet-upstream stuff.
ayland/wayland-drm/wayland-drm.c
7b1d94e5d1f53ac5f59000176aea1d02fc9a1181 31-Aug-2011 Kristian Høgsberg <krh@bitplanet.net> wayland: Track changes to drop wl_visual
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_wayland.c
ayland/wayland-drm/protocol/wayland-drm.xml
ayland/wayland-drm/wayland-drm.c
ayland/wayland-drm/wayland-drm.h
ayland/wayland-egl/wayland-egl-priv.h
ayland/wayland-egl/wayland-egl.c
447bb454d848d98134ff916ab8a3b316fb136c59 01-Sep-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Only clear EGL_PIXMAP_BIT if DRI config is double buffered

We don't want to set the pixmap bit in the EGL config if the DRI
config we're adding is a double buffered config. However, don't clear
any other bits the platform might pass in in the surface_type
argument.
rivers/dri2/egl_dri2.c
c661ecce1089000c3fca9a543713f8264221be50 22-Aug-2011 Kristian Høgsberg <krh@bitplanet.net> wayland: Track server side wayland changes
rivers/dri2/platform_wayland.c
ayland/wayland-drm/wayland-drm.c
6602bda23ba6c4351eb7f04d34803103a68ac2db 17-Aug-2011 Kristian Høgsberg <krh@bitplanet.net> wayland: Use new wl_callback mechanism
rivers/dri2/platform_wayland.c
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.
rivers/dri2/egl_dri2.h
rivers/dri2/platform_wayland.c
93d59637446ba98802fa349afc1f365d71a66c9d 26-Aug-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: add pbuffer support to platform_android

This is a simple change thanks to allocateBuffer.

Reviewed-by: Chad Versace <chad@chad-versace.us>
rivers/dri2/platform_android.c
c8e18f85da9b41e79b67c39450917b46b6de8fb4 26-Aug-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: check the surface type in platform_android

Check the surface type is EGL_WINDOW_BIT before doing anything, in
preparation for pbuffer support.

Reviewed-by: Chad Versace <chad@chad-versace.us>
rivers/dri2/platform_android.c
384f228a2573ce592854f58c45564f75419fe987 26-Aug-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: refactor droid_get_buffers_with_format

Move the loop to parse attachments to its own function.

Reviewed-by: Chad Versace <chad@chad-versace.us>
rivers/dri2/platform_android.c
357d3f30f36878a3010547b669f055a2043cbbaa 26-Aug-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: set ctx->WindowRenderBuffer

Set ctx->WindowRenderBuffer to EGL_BACK_BUFFER. As EGL_WINDOW_BIT of a
config is set only when there is dri_double_buffer, that makes sure
window surfaces are always double-buffered and contexts will render to
the back buffer.

Reviewed-by: Chad Versace <chad@chad-versace.us>
rivers/dri2/egl_dri2.c
efb4872a9d6e3aa6b02f6bc7426b311ae816e20d 29-Aug-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Use gbm/wayland flags regardless of egl_dri2

Since they are needed for display autodetection.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40443
ain/Makefile
099faeef33a2207731986f02b1fd897d91c764c4 19-Aug-2011 Chia-I Wu <olvaffe@gmail.com> android: add support for egl_dri2

Add rules to build egl_dri2 and make it a built-in EGL driver of
libGLES_mesa.

Reviewed-by: Chad Versace <chad@chad-versace.us>
rivers/dri2/Android.mk
ain/Android.mk
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]
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_android.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>
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
rivers/dri2/platform_wayland.c
rivers/dri2/platform_x11.c
2a77dc0c0d6e36b64867ff21467aa7d86722395f 17-Aug-2011 Chia-I Wu <olvaffe@gmail.com> android: build core EGL

This builds the static library libmesa_egl from core EGL.

Reviewed-by: Chad Versace <chad@chad-versace.us>
ain/Android.mk
00b365bc78c131bfd1c19bb22ac55e36f4e8f3c5 01-Oct-2010 Chia-I Wu <olvaffe@gmail.com> egl: add Android-specific extensions

Add EGL_ANDROID_image_native_buffer and EGL_ANDROID_swap_rectangle.
There is no spec for them though.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Chad Versace <chad@chad-versace.us>
ain/eglapi.c
ain/eglapi.h
ain/egldisplay.h
ain/eglmisc.c
b0945c14dff96eb894c4a8b52a4c1374a05e2f6c 11-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: add _EGL_PLATFORM_ANDROID

This is Android Gingerbread platform.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Chad Versace <chad@chad-versace.us>
ain/egldisplay.c
ain/egldisplay.h
61d2dfbe488cf5de5881c20fe1ead97f2ab5dabb 16-Aug-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Add include paths for platform autodetection

Needed since commit 85fe9484.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40145
ain/Makefile
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.
rivers/dri2/egl_dri2.h
2e71c7d4ffa439dace639bd9c66174544dcd02d7 09-Aug-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Log (debug) native platform type

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
ain/egldisplay.c
85fe9484945cb57ffd49df248b0e5057eba6af04 09-Aug-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Native Display autodetection

EGL doesnt define howto manage different native platforms.
So mesa has a builtime configurable default platform,
whith non-standard envvar (EGL_PLATFORM) overwrites.
This caused unneeded bugreports, when EGL_PLATFORM was forgotten.

Detection is grouped into basic types of NativeDisplays (which itself
needs to be detected). The final decision is based on characteristcs
of these basic types:

File Desciptor based platforms (fbdev):
- fstat(2) to check for being a fd that belongs to a character device
- check kernel subsystem (todo)

Pointer to structuctures (x11, wayland, drm/gbm):
- mincore(2) to check whether its valid pointer to some memory.
- magic elements (e.g. pointers to exported symbols):
o wayland display stores interface type pointer (first elm.)
o gbm stores pointer to its constructor (first elm.)
o x11 as a fallback (FIXME?)

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
ain/Makefile
ain/eglapi.c
ain/egldisplay.c
ain/egldisplay.h
f5e757ea60d9abb848d98af01e1986be3e35e236 14-Aug-2011 Cooper Yuan <cooperyuan@gmail.com> Destroy context in dri2/glx driver when apps call eglDestroyContext
rivers/dri2/egl_dri2.c
rivers/glx/egl_glx.c
32f4cf38085e4056b8e4a9fc78fea28897a1d05f 29-Jun-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/gbm: Fix EGL_DEFAULT_DISPLAY
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
d6a9564854601bd01a1132f0a17fcab1d2a41481 28-Jul-2011 Chia-I Wu <olv@lunarg.com> egl: EGL_MATCH_NATIVE_NATIVE_PIXMAP cannot be EGL_DONT_CARE
ain/eglconfig.c
a5ab46909e9475da0eb8c814efb8e1859a6e6ed3 28-Jul-2011 Chia-I Wu <olv@lunarg.com> egl: make pixmaps and pbuffers EGL_BUFFER_PRESERVED

eglSwapBuffers is no-op to these surface types anyway.
ain/eglsurface.c
79dcfb266aa6ff14ff21c0b6dddef6060b450c32 27-Jul-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> wayland-drm: Add copyright notice to protocol

Fixes build since wayland 986703ac7365bc87a5501714adb9fc73157c62b7.
ayland/wayland-drm/protocol/wayland-drm.xml
5fe54df58f31e5d321f7cbd5b095eb8c2417deb1 27-Jun-2011 Marek Olšák <maraeo@gmail.com> Rename swrastg_dri to swrast_dri

I prefer it this way and it has been suggested earlier by others too.
Opinions?
rivers/dri2/egl_dri2.c
f747d03b1d3aa4e63417bd8486909f63b4a33be4 06-Jul-2011 Völgyes Dávid <david.volgyes@gmail.com> Fixes for leaks reported by cppcheck.
rivers/dri2/egl_dri2.c
rivers/dri2/platform_x11.c
ayland/wayland-drm/wayland-drm.c
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.
rivers/dri2/egl_dri2.h
f2001df508fda599a18b3586d2775e970a3db13a 02-Jul-2011 Chia-I Wu <olv@lunarg.com> egl: add copyright notices

The list of copyright holders could be incomplete. Please update
directly or notify me if your name is missing.
rivers/glx/egl_glx.c
ain/eglapi.c
ain/eglapi.h
ain/eglarray.c
ain/eglarray.h
ain/eglcompiler.h
ain/eglconfig.c
ain/eglconfig.h
ain/eglcontext.c
ain/eglcontext.h
ain/eglcurrent.c
ain/eglcurrent.h
ain/egldefines.h
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
ain/eglfallbacks.c
ain/eglglobals.c
ain/eglglobals.h
ain/eglimage.c
ain/eglimage.h
ain/egllog.c
ain/egllog.h
ain/eglmisc.c
ain/eglmisc.h
ain/eglmode.c
ain/eglmode.h
ain/eglmutex.h
ain/eglscreen.c
ain/eglscreen.h
ain/eglstring.c
ain/eglstring.h
ain/eglsurface.c
ain/eglsurface.h
ain/eglsync.c
ain/eglsync.h
ain/egltypedefs.h
c250363022ea2d4d8de1a1660431f35d8b92aca4 01-Jul-2011 Chia-I Wu <olvaffe@gmail.com> egl: fix a compiler warning
ain/eglconfig.c
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.
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
8ea5330200e314f9f7de763b1951656c92caa857 25-Jun-2011 Chia-I Wu <olv@lunarg.com> egl: fix EGL_MATCH_NATIVE_PIXMAP

EGL_MATCH_NATIVE_PIXMAP is valid for eglChooseConfig, but invalid for
eglGetConfigAttrib.
ain/eglconfig.c
31520548b763947da6b70b6debe38820835c5bcc 25-Jun-2011 Chia-I Wu <olv@lunarg.com> egl: make implementing eglChooseConfig easier

Add a new helper function, _eglFilterConfigArray, for drivers and hide
_eglSortConfigs.
ain/eglconfig.c
ain/eglconfig.h
629c15aaacb69a8f2060e366fba679601738b22d 24-Jun-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Build drm platform only if enabled
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
e5fc4c81ce5aa261e330977f1a672838cd186cdb 30-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Hookup gbm as drm platform
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
ain/Makefile
0cb356dd5c93f745bb1b17987d206a24ab708f31 06-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2/wayland: Hook up new buffer.release event
rivers/dri2/egl_dri2.h
rivers/dri2/platform_wayland.c
ayland/wayland-drm/wayland-drm.c
16a04e019dcb0f1d50ceab5c8c2eafb56fa60853 20-Jun-2011 Kristian Høgsberg <krh@bitplanet.net> wayland: Pass use_invalidate extension to driver
rivers/dri2/egl_dri2.h
rivers/dri2/platform_wayland.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.
rivers/dri2/platform_x11.c
982cb365848ebb7e64dc0915e37793e5823e4bbf 13-Jun-2011 Chia-I Wu <olv@lunarg.com> wayland-drm: remove depend on "make clean"
ayland/wayland-drm/Makefile
77e031a1c423affde99934f0fd059d49852e2729 08-Jun-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: try swrastg_dri if swrast_dri fails

Per libGL.
rivers/dri2/egl_dri2.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.
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_x11.c
16e30276e843b6f788aee75547136ea24e4a4248 11-Jun-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Compare configs before matching them

This compares attribs like buffer size, and will prevent merging
unequal configs because of match criterion is e.g. ATLEAST.
rivers/dri2/egl_dri2.c
b8325fd2554aafde3d0b784b7944b1473af7d144 11-Jun-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2/wayland: Add support for EGL_DEFAULT_DISPLAY
rivers/dri2/egl_dri2.c
rivers/dri2/platform_wayland.c
ac3c2c8ece9bf4778239e2f81903a685248ab791 07-Jun-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Add missing header
rivers/dri2/platform_drm.c
3b11d67ef6f97e4ee3ff85750f038ab4f5618573 07-Jun-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Add missing license
rivers/dri2/common.c
ec2b08de774a6aaeb9db201b4f363ff712b83f18 07-Jun-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Use libudev only if available

Broken since 7f881c43dfb4f1aeeab3a84125b5c106c191a43f.
rivers/dri2/common.c
7f881c43dfb4f1aeeab3a84125b5c106c191a43f 30-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Use external driver pci list

Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
rivers/dri2/Makefile
rivers/dri2/common.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
089aa313b40b495e9d9a9d209fe3851d43807f6e 31-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> wayland-drm: Check visual for being NULL
ayland/wayland-drm/wayland-drm.c
aa87a938fb4cec30dad48642e8d12810e947bc8b 31-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Fix usage of bool values
rivers/dri2/platform_wayland.c
5bf6cc95c1e3dc01dde2bd91fc0bd4eb02cddd40 31-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> wayland-egl: Remove left-over headers and struct
ayland/wayland-egl/wayland-egl-priv.h
ayland/wayland-egl/wayland-egl.c
c44dad559af88c40bb8e626fe293319966d14394 25-May-2011 Alex Deucher <alexdeucher@gmail.com> egl_dri2: add new cayman pci ids

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
rivers/dri2/platform_drm.c
339544f4bbef9be1b4b3465f28482b9699a99692 11-May-2011 Kristian Høgsberg <krh@bitplanet.net> wayland-drm: Use new generic error event
ayland/wayland-drm/protocol/wayland-drm.xml
ayland/wayland-drm/wayland-drm.c
bfaa458445978b5210e6866256d19448db2c6dd0 16-May-2011 Kristian Høgsberg <krh@bitplanet.net> wayland: Fix link order for libwayland-drm.a
ain/Makefile
b2c1f8ff1d98f03be79892b7730372afdb94ba58 26-Apr-2011 Kenneth Graunke <kenneth@whitecape.org> egl: Recognize Ivybridge PCI IDs.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
rivers/dri2/platform_drm.c
b8033a5651fbf6f82258d8f0e846cc7324d744da 16-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Compile wayland-drm.a into libEGL independent of egl_dri2

Fixes egl_gallium when egl_dri2 is not enabled.
ain/Makefile
83c68758be3589edeab4d20346388241dc2ebaac 12-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Discard similar configs
rivers/dri2/egl_dri2.c
93aea63a33c575bbce80acad391e810acc2f3e94 11-May-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Make it possible to not compile in the X11 platform
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
ain/Makefile
5de2c67ba7d62882fe2c5e2a307e58f4f637fadd 12-May-2011 José Fonseca <jfonseca@vmware.com> egl/dri2: Avoid unused static functions.
rivers/dri2/egl_dri2.c
4a47d6d46b397bf31a1fd22d35bd40ef03bd9357 12-May-2011 José Fonseca <jfonseca@vmware.com> egl/dri2: Prevent uninitialized variable dereference.
rivers/dri2/egl_dri2.c
6c26072bd151ee7abc897aad63cd55ec5f15762e 12-May-2011 José Fonseca <jfonseca@vmware.com> egl/dri2: Fix const pointer duplication, prevent unitialized variable dereference.

Based on zhigang gong <zhigang.gong@gmail.com>'s patch.
rivers/dri2/platform_drm.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.
rivers/dri2/egl_dri2.c
rivers/dri2/platform_drm.c
rivers/dri2/platform_x11.c
ain/eglapi.c
6bb230970cb2da5e3fe9bc63991b4b5f92445e92 06-May-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland: Follow wl_resource_destroy changes
ayland/wayland-drm/wayland-drm.c
8c3226be9004657db6c850b3164caf70deafa822 06-May-2011 Kostas Georgiou <georgiou@opengamma.com> Add pci id for FirePro 2270

Signed-off-by: Kostas Georgiou <georgiou@opengamma.com>
rivers/dri2/platform_drm.c
2c3232da7ae42267e73a77322576ef3b2f6319cb 06-May-2011 Alex Deucher <alexdeucher@gmail.com> egl_dri2: add new radeon pci ids

There seriously needs to be a better way to do
this.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
rivers/dri2/platform_drm.c
e5169e9615e8391ea369415b356168717b8f7be0 06-May-2011 Kristian Høgsberg <krh@bitplanet.net> egl: Add a cursor use bit to MESA_drm_image
rivers/dri2/egl_dri2.c
834b84149d99526e4e7a3cfa6ba9fe81e5fb9eda 30-Apr-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland-drm: Generalize interface

Do not depend on _EGLDisplay and _EGLImage.
rivers/dri2/egl_dri2.c
ayland/wayland-drm/wayland-drm.c
ayland/wayland-drm/wayland-drm.h
dc520d4fefa6a92b3a8f2eed3c5a1044dfccb3ff 29-Apr-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland: Fix possible lockup in drm initialization

Lockup happens when wl_drm interface is not available.
rivers/dri2/platform_wayland.c
f274dfaca4b53bae92dfe6a72c1890c381d84746 25-Apr-2011 Kristian Høgsberg <krh@bitplanet.net> egl: Use the right extension name in #ifdef
ain/eglapi.c
01b036adea7c6534e0c3122c02c289f6fa2804e8 07-Mar-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland: Follow buffer.attach removal
ayland/wayland-drm/wayland-drm.c
b1a91722773152ea96de79d2b446ae488561bb0c 07-Mar-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland: Update to buffer.damage addition
rivers/dri2/platform_wayland.c
ayland/wayland-drm/wayland-drm.c
f09c66b3cc9542b0a8f795e34b882c2b8f9f26f7 21-Apr-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Create wl_buffers for pixmap surfaces

Needed since wayland-egl doesnt do this anymore.
rivers/dri2/platform_wayland.c
ayland/wayland-egl/wayland-egl.c
1617b268ef79bd7dc527f6dc65f3ef0d3c51a77d 21-Apr-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland: Add new version parameter for post_drm
ayland/wayland-drm/wayland-drm.c
2225397d1cf5e4f4a1293495f3a26bd33e5d7ac3 21-Apr-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland: Fix prefixes for interface names
rivers/dri2/platform_wayland.c
ayland/wayland-drm/protocol/wayland-drm.xml
c0f8c9911c82c576cdd82dabad4a2370ac53565c 14-Apr-2011 Kristian Høgsberg <krh@bitplanet.net> wayland-egl: Update to wayland-egl.h changes, drop struct wl_egl_display
rivers/dri2/egl_dri2.h
rivers/dri2/platform_wayland.c
ayland/wayland-egl/wayland-egl-priv.h
ayland/wayland-egl/wayland-egl.c
f05751aa2af1a8ec83c2d110385aab1b7e735238 16-Mar-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland: Update to per-surface frame events
rivers/dri2/platform_wayland.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.
rivers/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>
rivers/dri2/platform_x11.c
62d5f7a04a0b3b11dc3bcf1f416f3b7646eef4f5 16-Mar-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland-drm: Fix include path

src/egl/main/egltypedefs.h needs the path for EGL/egl.h

Reported by jlind on irc.
ayland/wayland-drm/Makefile
a1bd01247320d73cc296cce53f2408c0aa4af05a 08-Mar-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: We don't actually support KHR_gl_texture_2D_image
rivers/dri2/egl_dri2.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.
rivers/dri2/egl_dri2.c
rivers/dri2/platform_drm.c
rivers/dri2/platform_wayland.c
rivers/dri2/platform_x11.c
4f6fbfa0ed45dcd4be236a286725077c8f005647 07-Mar-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Add attribute map for __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE

Broken since 6538b5824e298eaebede2d9686c7607c44ab446a.
Thanks to iskren on #wayland for helping on finding this.
rivers/dri2/egl_dri2.c
22d9ae11bc436375a67752b90d8a5a273754d907 03-Mar-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Fix incompatible vfunc-pointer warning
rivers/dri2/egl_dri2.h
e71920929e3933b007b0bd2358def91df1447eb3 03-Mar-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland: Move wayland-egl into a subdir

This hopefully fixes wayland-egl's dependency
resolution for autogenerated wayland-drm headers.
rivers/dri2/Makefile
ayland/Makefile
ayland/wayland-egl-priv.h
ayland/wayland-egl.c
ayland/wayland-egl.pc.in
ayland/wayland-egl/Makefile
ayland/wayland-egl/wayland-egl-priv.h
ayland/wayland-egl/wayland-egl.c
ayland/wayland-egl/wayland-egl.pc.in
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."
rivers/dri2/platform_x11.c
648a16d079282a33289d9b1d91108a665bd84547 02-Mar-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl/wayland: build subdirs (wayland-drm) before depend

Autogenerated files need to be generated first.
ayland/Makefile
6b369c4c7cd8a52f99bbff2a57fb316b33a87495 21-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Add EGL_WL_bind_wayland_display
akefile
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
rivers/dri2/platform_wayland.c
rivers/dri2/platform_x11.c
ain/Makefile
ain/eglapi.c
ain/eglapi.h
ain/egldisplay.h
ain/eglmisc.c
ayland/Makefile
ayland/wayland-drm/.gitignore
ayland/wayland-drm/Makefile
ayland/wayland-drm/protocol/wayland-drm.xml
ayland/wayland-drm/wayland-drm.c
ayland/wayland-drm/wayland-drm.h
ayland/wayland-egl.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.
rivers/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>
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
rivers/dri2/platform_wayland.c
rivers/dri2/platform_x11.c
1f5b67416810f7331fe71db0f767418473083701 13-Feb-2011 Dave Airlie <airlied@redhat.com> egl_dri2: add nouveau support.

but really wtf? all these PCI IDs need to be ripped out of here, its totally
unscalable and the drivers already have this info so could export it some better way.

tested by Darxus on #wayland.
rivers/dri2/platform_drm.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>
rivers/dri2/egl_dri2.h
rivers/dri2/platform_wayland.c
rivers/dri2/platform_x11.c
51f2820922b669af3947fcedd17109524644bb94 11-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2 wayland: Sync front buffer release
rivers/dri2/egl_dri2.h
rivers/dri2/platform_wayland.c
4e8f95f64d004aa1278609c5bbac9a53c0c6e4c9 09-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Always unbind old contexts

This fixes __DRIdrawable refcounting.
Binding a context increases their refcount,
so we need to decrease it.
rivers/dri2/egl_dri2.c
87dde5b1cd596c4008695ff2db9469f88c09f925 09-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Use double buffering for window surfaces
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
rivers/dri2/platform_wayland.c
rivers/dri2/platform_x11.c
1e1b89103e1cdce9f20b9f32825dd166f8d9d6e1 08-Feb-2011 Kristian Høgsberg <krh@bitplanet.net> wayland-egl: Add struct wl_egl_display argument to +wl_egl_window_create()
ayland/wayland-egl.c
56758c839ff29bd168529535a4816bff3b79cde5 04-Feb-2011 Kristian Høgsberg <krh@bitplanet.net> wayland-egl: Force roundtrips to get device name and authenticate correctly

If the client hasn't done the initial wl_display_iterate() at the time
we initialize the display, we have to do that in platform_wayland.c.
Make sure we detect that correctly instead of dup()ing fd=0, and use
the sync callback to make sure we don't wait forever for authorization that
won't happen.
rivers/dri2/platform_wayland.c
ayland/wayland-egl.c
93aea84f472f5f9ff588f7b2d4f7320ec43bc216 04-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Add wayland platform
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_wayland.c
9630437fc9f46f48b2543ca8b6741a664bd028e3 04-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Export dri2_get_driver_for_fd
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
a8128d7d4b7b89d483ead0003140af68a1c95ebf 04-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl_dri2: Enable pixmap bind_to_texture according to the extension
rivers/dri2/egl_dri2.c
214fc6e85057bc4661b76ae3f3c22733910da69c 04-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Implement libwayland-egl

This library is required and defined by wayland for
EGL implementations supporting wayland.
ayland/Makefile
ayland/wayland-egl-priv.h
ayland/wayland-egl.c
ayland/wayland-egl.pc.in
e586c4b7634f856a350f029709adc8a32271562c 04-Feb-2011 Benjamin Franzke <benjaminfranzke@googlemail.com> egl: Add wayland platform
akefile
ain/Makefile
ain/egldisplay.c
ain/egldisplay.h
4668ad36f397df183bcce2e596ac34d3d8b8f01f 03-Feb-2011 Alex Deucher <alexdeucher@gmail.com> egl_dri2: Add new radeon pci ids

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
rivers/dri2/platform_drm.c
9dc5de5bb13bfcd960f178c8e0eac265c3496fa8 03-Feb-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Split out drm platform implementation to a separate file
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_drm.c
2889d9640fa98b690c6a89593572bbc9ea5640e3 03-Feb-2011 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Split out x11 platform code
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
rivers/dri2/egl_dri2.h
rivers/dri2/platform_x11.c
218381d92755fa080bbb5635c0c4ed6d5296b79c 29-Jan-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: Export glapi symbols for DRI drivers.

When an app loads libEGL.so dynamically with RTLD_LOCAL, loading DRI
drivers would fail because of missing glapi symbols. This commit makes
egl_dri2 load libglapi.so with RTLD_GLOBAL to export glapi symbols for
future symbol resolutions.

The same trick can be found in GLX. However, egl_dri2 can only do so
when --enable-shared-glapi is given. Because, otherwise, both libGL.so
and libglapi.so define glapi symbols and egl_dri2 cannot tell which
library to load.
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
f36cba6cf3d51a3937d3bb429609d258399751a0 29-Jan-2011 Chia-I Wu <olv@lunarg.com> egl: Make the transition to built-in drivers more smooth.

When the user sets EGL_DRIVER to egl_dri2 (or egl_glx), make sure the
built-in driver is used. The user might leave the outdated egl_dri2.so
(or egl_glx.so) on the filesystem and we do not want to load it.
ain/egldriver.c
e7d8f925704ddd635748fe72a42eaeec95eb89ee 14-Jan-2011 Chia-I Wu <olv@lunarg.com> egl: Fix EGL_VERSION string.

Fix a copy-and-paste error in a4a38dcf61f141297a083ccac217200947d57b0d.
ain/eglmisc.c
36a59b29ef07b78378dcb3934131d262d42612cb 14-Jan-2011 Chia-I Wu <olv@lunarg.com> egl: Fix an assertion in _eglUpdateAPIsString.

dpy->ClientAPIs was renamed in a4a38dcf61f141297a083ccac217200947d57b0d.
ain/eglmisc.c
ca31c596e8acf64cbae86b052bb5634790a540ce 13-Jan-2011 Brian Paul <brianp@vmware.com> egl: need stdio.h for non-Windows build too to avoid compiler warning
ain/eglstring.h
a22a332fc7cc54d4d0973dcd21a90159cc51de1a 12-Jan-2011 Chia-I Wu <olv@lunarg.com> egl: Improve driver selection.

The idea is to be able to match a driver using the following order

try egl_gallium with hw renderer
try egl_dri2
try egl_gallium with sw renderer
try egl_glx

given the module list

egl_gallium
egl_dri2
egl_glx

For that, UseFallback initialization option is added. The module list
is matched twice: with the option unset and with the option set. In the
first pass, egl_gallium skips its sw renderer and egl_glx rejects to
initialize since UseFallback is not set. In the second pass,
egl_gallium skips its hw renderer and egl_dri2 rejects to initialize
since UseFallback is set. The process stops at the first driver that
initializes the display.
rivers/dri2/egl_dri2.c
rivers/glx/egl_glx.c
ain/egldisplay.h
ain/egldriver.c
655e4598927728a663f4cfcd6babdf7e5ad83f77 12-Jan-2011 Chia-I Wu <olv@lunarg.com> egl: Simplify driver matching.

Add initialization options that drv->API.Initialize should support.
Replace drv->Probe by TestOnly initialization option and simplify
_eglMatchDriver.
rivers/dri2/egl_dri2.c
rivers/glx/egl_glx.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
a4a38dcf61f141297a083ccac217200947d57b0d 13-Jan-2011 Chia-I Wu <olv@lunarg.com> egl: Cleanup _EGLDisplay initialization.

Reorder/rename and document the fields that should be set by the driver during
initialization. Drop the major/minor arguments from drv->API.Initialize.
rivers/dri2/egl_dri2.c
rivers/glx/egl_glx.c
ain/eglapi.c
ain/eglapi.h
ain/egldisplay.h
ain/egldriver.c
ain/eglmisc.c
ain/eglstring.h
1e4f412242391000eea3fd28452865c3d27f987d 12-Jan-2011 Chia-I Wu <olv@lunarg.com> egl: When EGL_DRIVER is set, do not add other drivers.

Setting EGL_DRIVER forces the driver to be loaded, as documented. There
should be no fallbacks.
ain/egldriver.c
4924cb9036cfe0f435a4a09db6f86d59a3a132d8 12-Jan-2011 Chia-I Wu <olv@lunarg.com> egl: libEGL depends on LOCAL_LIBS.

So that libEGL is rebuilt whenever LOCAL_LIBS changes.
ain/Makefile
39812c48dfb18e6c3b896db8a8395eeebef8cc1b 12-Jan-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: Fix eglGetProcAddress.

The driver struct is zeroed after dri2_load. Oops.
rivers/dri2/egl_dri2.c
a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3 09-Jan-2011 Chia-I Wu <olv@lunarg.com> scons: Updates for targets/egl-static.

Update SConscripts to re-enable or add support for EGL on windows and
x11 platforms respectively. targets/egl-gdi is replaced by
targets/egl-static, where "-static" means pipe drivers and state
trackers are linked to statically by egl_gallium, and egl_gallium is a
built-in driver of libEGL. There is no more egl_gallium.dll on Windows.
ain/SConscript
ain/egldriver.c
ain/egldriver.h
49ed5bb28d501cd6751bd59dc25a60a4293bcd75 09-Jan-2011 Chia-I Wu <olv@lunarg.com> targets/egl-static: New EGL target for scons.

This target is based on and replaces egl-gdi. It is suitable for both
windows and x11.
ain/egldriver.c
c98ea26e16b6458b4385d6558936696e4d099455 07-Jan-2011 Chia-I Wu <olv@lunarg.com> egl: Make egl_dri2 and egl_glx built-in drivers.

These two drivers are small in size. Making them built-in should
simplify packaging.
akefile
rivers/Makefile.template
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
rivers/glx/Makefile
rivers/glx/egl_glx.c
ain/Makefile
ain/egldriver.c
ain/egldriver.h
15f0223931e32ef5ff82b39a2b6c433400edbd9d 07-Jan-2011 Chia-I Wu <olv@lunarg.com> egl_glx: Load libGL dynamically.

This is a step forward for compatibility with really old GLX. But the
real reason for making this change now is so that we can make egl_glx a
built-in driver without having to link to libGL.
rivers/glx/Makefile
rivers/glx/egl_glx.c
fef5d14494ff19ea302e247ba593e189a8ab62bd 07-Jan-2011 Chia-I Wu <olv@lunarg.com> egl_dri2: Look up _glapi_get_proc_address dynamically.

In preparation for making egl_dri2 built-in. It also handles

symbol lookup error: /usr/local/lib/egl/egl_dri2.so: undefined symbol:
_glapi_get_proc_address

more gracefully.
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
e59fa4c46c8857f2e04447777dd197464c95b2cb 09-Jan-2011 Juan Zhao <juan.j.zhao@intel.com> dri2: release texture image.

Add release function for texture_from_pixmap extension.
Some platform need to release texture image for texture_from_pixmap
extension, add this interface for those platforms.
rivers/dri2/egl_dri2.c
e227f4bf50ff534718fa43f6d8e20735bd0d81c0 31-Dec-2010 Brian Paul <brianp@vmware.com> egl: add missing case in _eglError()
ain/eglcurrent.c
d6b1478ff0499059661df145efe469e7b28ff7bf 12-Dec-2010 Chia-I Wu <olv@lunarg.com> egl: Do not unload drivers.

When the driver is the last reference to libEGL.so, unloading it will
cause libEGL.so to be unmapped and give problems. Disable the unloading
for now. Still have to figure out the right timing to unload drivers.
ain/egldriver.c
5ae4b6693a8254236435960ef84701fe405fe59b 06-Dec-2010 Chia-I Wu <olv@lunarg.com> egl: _eglFilterArray should not allocate.

Otherwise, when it is called from within a driver, the caller cannot
free the returned data (on Windows).
ain/eglarray.c
ain/eglarray.h
ain/eglconfig.c
1f4c55128b7e4a2aa08600ae9338071a97cee8fa 24-Nov-2010 Chia-I Wu <olv@lunarg.com> egl_dri2: Fix one context, multiple surfaces.

When a context was made current to another surface, the old code did
this

dri2_dpy->core->bindContext(cctx, ddraw, rdraw);
dri2_dpy->core->unbindContext(old_cctx);

and there will be no current context due to the second line.

unbindContext should be called only when bindContext is not. This fixes
a regression since d19afc57. Thanks to Neil Roberts for noticing the
issue and creating a test case.
rivers/dri2/egl_dri2.c
778917069c34971d12c6704a53bcbd6416ddf9ab 16-Nov-2010 Robert Hooker <sarvatt@ubuntu.com> egl_dri2: Add missing intel chip ids.

Signed-off-by: Robert Hooker <robert.hooker@canonical.com>
rivers/dri2/egl_dri2.c
aa139a14ba7279f908da523522cb9ec0578b1ea0 10-Nov-2010 Chia-I Wu <olv@lunarg.com> egl_dri2: Fix __DRI_DRI2 version 1 support.

Correctly set __DRI_API_OPENGL flag.
rivers/dri2/egl_dri2.c
675aec81789efebe9c8103f4670f5ae6758d830c 01-Nov-2010 Thomas Hellstrom <thellstrom@vmware.com> egl: Add an include for size_t

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
ain/egldriver.h
4990b771dec7d81f70f3867ba0a002894205d42b 08-Nov-2010 Alex Deucher <alexdeucher@gmail.com> egl_dri2: Add radeon chip ids
rivers/dri2/egl_dri2.c
04ae53ca8a844fbb2764b6ecb942b68a6db850e7 03-Nov-2010 Chia-I Wu <olv@lunarg.com> st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.

Added for completeness. It makes sense to have such mechanism, but I am
not aware of any user of that..
ain/eglarray.h
c9186bd5886f4e05fd62a98d42404eda2a99416c 02-Nov-2010 Chia-I Wu <olv@lunarg.com> egl: Set up the pthread key even TLS is used.

We have to rely on the pthread key destructor to free the current thread
info when a thread exits.
ain/eglcurrent.c
ad00a92ee720c275d3852faea4e442a8da876ca2 01-Nov-2010 Chia-I Wu <olv@lunarg.com> egl: Rework _eglGetSearchPath.

So that the directory part of EGL_DRIVER, if exists, is prepended to the
search path. This commit also adds a sanity check to _eglLog.
ain/egldriver.c
ain/egllog.c
601498ae73e654c2de997ea75075613a694d604d 01-Nov-2010 José Fonseca <jfonseca@vmware.com> scons: Revamp how to specify targets to build.

Use scons target and dependency system instead of ad-hoc options.

Now is simply a matter of naming what to build. For example:

scons libgl-xlib

scons libgl-gdi

scons graw-progs

scons llvmpipe

and so on. And there is also the possibility of scepcified subdirs, e.g.

scons src/gallium/drivers

If nothing is specified then everything will be build.

There might be some rough corners over the next days. Please bare with me.
ain/SConscript
ain/eglconfig.h
1b92eb1a4b73c647ab42ac97809466bba8720d7b 27-Oct-2010 Vinson Lee <vlee@vmware.com> egl: Remove unnecessary headers.
ain/eglimage.c
ain/eglmode.c
ain/eglscreen.c
547e7619aac74ae13bdaa7fdf403a4ceb5212467 26-Oct-2010 Chia-I Wu <olv@lunarg.com> egl_dri2: Fix a typo that make glFlush be called at wrong time.

We want to call glFlush when there is a current context. That is,
old_ctx. This is a regression introduced by
d19afc57fe49816f3f3290410e0124d326577be2.
rivers/dri2/egl_dri2.c
70f60c9c89b4773089c621faf0e5765d9488e9fa 24-Oct-2010 Jon TURNEY <jon.turney@dronecode.org.uk> Ensure -L$(TOP)/$(LIB_DIR) appears in link line before any -L in $LDFLAGS

Ensure -L$(TOP)/$(LIB_DIR) (the staging dir for build products), appears
in the link line before any -L in $LDFLAGS, so that we link driver we are
building with libEGL we have just built, and not an installed version

[olv: make a similar change to targets/egl]

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
rivers/Makefile.template
0d43cbed2f130c377bed92c7a8ad8c19f441d6a5 23-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Fix a false negative check in _eglCheckMakeCurrent.

This call sequence

eglMakeCurrent(dpy, surf, surf, ctx1);
eglMakeCurrent(dpy, surf, surf, ctx2);

should be valid if ctx1 and ctx2 have the same client API and are not
current in another thread.
ain/eglcontext.c
d19afc57fe49816f3f3290410e0124d326577be2 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Use reference counting to replace IsLinked or IsBound.

Remove all _egl<Res>IsLinked and _egl<Res>IsBound. Update
_eglBindContext and drivers to do reference counting.
rivers/dri2/egl_dri2.c
rivers/glx/egl_glx.c
ain/eglapi.c
ain/eglcontext.c
ain/eglcontext.h
ain/eglimage.h
ain/eglsurface.h
ain/eglsync.h
dc4f845c37a8446de19036e24fd397a0aa864c02 23-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Add reference count for resources.

This is a really simple mechanism. There is no atomicity and the caller
is expected to hold the display lock.
ain/eglcontext.c
ain/eglcontext.h
ain/egldisplay.c
ain/egldisplay.h
ain/eglimage.c
ain/eglimage.h
ain/eglsurface.c
ain/eglsurface.h
ain/eglsync.c
ain/eglsync.h
e32ac5b8a963202dcdfb91354f77979765083000 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Fix _eglModeLookup.

Internally a mode belongs to a screen. But functions like
eglGetModeAttribMESA treat a mode as a display resource: a mode can be
looked up without a screen. Considering how KMS works, it is better to
stick to the current implementation.

To properly support looking up a mode without a screen, this commit
assigns each mode (of all screens) a unique ID.
ain/eglmode.c
ain/eglmode.h
ain/eglscreen.c
ain/eglscreen.h
37213ceacc2d7b309de7641da501282f8f24c8c2 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Minor changes to the _EGLScreen interface.

Make _eglInitScreen take a display and rename _eglAddScreen to
_eglLinkScreen. Remove unused functions.
ain/eglscreen.c
ain/eglscreen.h
8a6bdf3979c2dda0efc6771308bf9e5c32bbdab4 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Minor changes to the _EGLConfig interface.

Mainly to rename _eglAddConfig to _eglLinkConfig, along with a few clean
ups.
rivers/dri2/egl_dri2.c
rivers/glx/egl_glx.c
ain/eglconfig.c
ain/eglconfig.h
4ce33ec606292d92eff5afad6f50e1acc7109729 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Drop dpy argument from the link functions.

All display resources are already initialized with a display. Linking
simply links a resource to its display.
ain/eglapi.c
ain/eglcontext.h
ain/egldisplay.c
ain/egldisplay.h
ain/eglimage.h
ain/eglsurface.h
ain/eglsync.h
25328509c90dc205b9561b5265e478af2873438b 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Move fallback routines to eglfallbacks.c.

We do not want them to be all over the places.
ain/Makefile
ain/SConscript
ain/eglcontext.c
ain/eglcontext.h
ain/egldriver.c
ain/egldriver.h
ain/eglfallbacks.c
ain/eglimage.c
ain/eglimage.h
ain/eglmisc.c
ain/eglmisc.h
ain/eglscreen.c
ain/eglscreen.h
ain/eglsurface.c
ain/eglsurface.h
ain/eglsync.c
ain/eglsync.h
5664a983867038de48e71b65df89e0e254085af2 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Parse image attributes with _eglParseImageAttribList.

Avoid code duplications.
rivers/dri2/egl_dri2.c
ain/eglimage.c
ain/eglimage.h
713c8734f45b51b3758ecc95b96cf7b5aecacec8 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Move attributes in _EGLImage to _EGLImageAttribs.

The opaque nature of EGLImage implies that extensions almost always
define their own attributes. Move attributes in _EGLImage to
_EGLImageAttribs and add a helper function to parse attribute lists.
rivers/dri2/egl_dri2.c
ain/eglimage.c
ain/eglimage.h
ain/egltypedefs.h
ecca5571b6df9a35dc16280b3556f4b11a8493a2 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl_glx: Fix borken driver.

The driver was broken since 6eda3f311bc24999835003e404d5eda5599bc5de.
All configs fail to pass _eglValidateConfig.
rivers/glx/egl_glx.c
0ed96efc1b77719879868738eb5aa7a234064108 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl_glx: Drop the use of [SG]ET_CONFIG_ATTRIB.

_EGLConfig can be directly dereferenced now. Since egl_glx is the last
user of the macros, drop the macros too.
rivers/glx/egl_glx.c
ain/eglconfig.h
b67f7295b77839a027502039e63213dce269034c 22-Oct-2010 Chia-I Wu <olv@lunarg.com> egl_dri2: Drop the use of _egl[SG]etConfigKey.

_EGLConfig can be directly dereferenced now.
rivers/dri2/egl_dri2.c
3fa21881b18044292e7d9455e9a370a71249df22 14-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Access config attributes directly.

Replace SET_CONFIG_ATTRIB/GET_CONFIG_ATTRIB by direct dereferences.
ain/eglconfig.c
ain/eglcontext.c
ain/eglsurface.c
282e514240c8f514da768af6377ae61b9f79c81f 14-Oct-2010 Chia-I Wu <olv@lunarg.com> egl: Use attribute names as the _EGLConfig member names.

This makes _EGLConfig more accessible and scales better when new
attributes are added.
ain/eglconfig.c
ain/eglconfig.h
3b7b1db66162bc762e6ff19131dcd76211de7160 30-Sep-2010 Nicolas Kaiser <nikai@nikai.net> egl: remove duplicated include

Remove duplicated include.

Signed-off-by: Brian Paul <brianp@vmware.com>
ain/egldriver.c
6b2f1561ad66c358a5d6b7a5ed5eb8f550a3b098 23-Sep-2010 Chia-I Wu <olv@lunarg.com> egl: Check extensions.

Do not call into the driver if the extension for the called function is
not enabled.
ain/eglapi.c
e4bd50c232ed9d8c5a8a76a662a29a03d4237593 24-Sep-2010 Ian Romanick <ian.d.romanick@intel.com> egl: Fix several 'comparison between signed and unsigned integer' warnings

I hate GCC for requiring the (int) cast on sizeof.
rivers/dri2/egl_dri2.c
rivers/glx/egl_glx.c
66c9ac76ad6b405d75ea099c1c2d3b2ba23f63ce 24-Sep-2010 Ian Romanick <ian.d.romanick@intel.com> egl_glx: Silence piles of 'unused variable' warnings
rivers/glx/egl_glx.c
137fce247f8f575f5ff38da65171bd26b4e38866 23-Sep-2010 Ian Romanick <ian.d.romanick@intel.com> EGL DRI2: Silence 'missing initializer' warnings
rivers/dri2/egl_dri2.c
eade946cbf787f48f773c8a4037af0ead425eb26 23-Sep-2010 Ian Romanick <ian.d.romanick@intel.com> EGL DRI2: Silence piles of 'unused variable' warnings
rivers/dri2/egl_dri2.c
17eace581d25a626a7d75d9d1205d012cbb14a6e 23-Sep-2010 Kristian Høgsberg <krh@bitplanet.net> dri: Pass the __DRIscreen and the __DRIscreen private back to image lookup

We will typically have a current context when we need to lookup the image,
but the lookup implementation don't need it so drop it.
rivers/dri2/egl_dri2.c
9ec0b2a45e18c045fd3dbcdf846fad7faf97494c 22-Sep-2010 Kristian Høgsberg <krh@bitplanet.net> dri2: Make createImageFromName() take a __DRIscreen instead of __DRIcontext

We can't expect to have a context when this is called, and we don't need one
so just require a __DRIscreen instead.

Reported by Yu Dai <yu.dai@intel.com>
rivers/dri2/egl_dri2.c
e7424d72405a1cb1fb5ac625b340043aaa9f88be 19-Sep-2010 Chia-I Wu <olv@lunarg.com> st/egl: Rename kms backend to drm.

The main use of the backend is to support EGL_MESA_drm_display. drm
should be a better name.
ain/Makefile
ain/egldisplay.c
e7eff0cfcef5c549678779e3c1def950feae4fb9 13-Sep-2010 Jesse Barnes <jbarnes@virtuousgeek.org> EGL DRI2: 0xa011 is Pineview not Ironlake

Point about needing a better way to do this validated.
rivers/dri2/egl_dri2.c
c121608b6e409fe6c22cb8b05c52cc94d2dfb0af 13-Sep-2010 Jesse Barnes <jbarnes@virtuousgeek.org> EGL DRI2: add PCI ID for Ironlake mobile

Allows KMS EGL driver to load. We need a better way of doing this.
rivers/dri2/egl_dri2.c
ea9e5dbbc2e992ead954d3d2ebf3689f7a003f79 10-Sep-2010 Chia-I Wu <olv@lunarg.com> egl: Simplify _eglBindContext.

Remove the hard-to-get-right _eglBindContextToSurfaces. As well as fix
an assertion failure from b90a3e7d8b1bcd412ddbf2a4803de2756dacd436 when
such call sequence is hit

eglMakeCurrent(dpy, surf1, surf1, ctx1);
eglMakeCurrent(dpy, surf2, surf2, ctx2);
eglMakeCurrent(dpy, surf1, surf1, ctx1);
ain/eglcontext.c
6eda3f311bc24999835003e404d5eda5599bc5de 09-Sep-2010 Kristian Høgsberg <krh@bitplanet.net> eglglx: Convert glx visuals/fbconfigs straight to EGL configs

In other words, skip the __GLcontextModes middle man.
rivers/glx/egl_glx.c
ain/Makefile
ain/SConscript
ain/eglconfigutil.c
ain/eglconfigutil.h
01a7eebc4c3591eecb59e42409790bf1d6344847 09-Sep-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Remove old egldri driver

This driver doesn't work with any of the DRI drivers in the source tree.
rivers/dri/Makefile
rivers/dri/egldri.c
rivers/dri/egldri.h
916c8ed2c8f916604166b22e6fcb9433b960a924 09-Sep-2010 Chia-I Wu <olv@lunarg.com> egl: Use _EGL_CHECK_DISPLAY in eglCreateContext.

_EGL_CHECK_DISPLAY checks the display and returns from eglCreateContext
on error.
ain/eglapi.c
08a482e7a9d13db5d4e6fd974942f6699d7d49dc 09-Sep-2010 Chia-I Wu <olv@lunarg.com> egl: Display may be NULL in _eglLookup*.

This fixes several NULL dereferences.
ain/eglconfig.h
ain/eglmode.c
ain/eglscreen.c
8cdeff8444db999a02a27ecab59d9374cb076437 31-Aug-2010 Chia-I Wu <olv@lunarg.com> egl: Mark EGL_MESA_screen_surface as obsolete.

EGL_MESA_drm_{display,image} can achieve the same functionality.
ocs/EGL_MESA_screen_surface
5aaa53e66cc49bf0d28ec53bdab4e3b7f714e5ba 04-Jun-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Add support for MESA_image_drm
rivers/dri2/egl_dri2.c
b7a8893a2413adfddf4dc836676a19463fb6ffd7 04-Jun-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Add EGL_MESA_drm_image extension

Create EGLImages from DRM buffer handles.
ain/eglapi.c
ain/eglapi.h
ain/egldisplay.h
ain/eglmisc.c
5eb33596a0db26586957365ab27fc6afdebfe057 20-Aug-2010 Chia-I Wu <olv@lunarg.com> egl: Fix context API check and be verbose.

The API of the context was not checked against EGL_RENDERABLE_TYPE when there
was no attribute list. Move the check to _eglInitContext, and be verbose about
common mistakes (EGL_RENDERABLE_TYPE not set, EGL_CONTEXT_CLIENT_VERSION not
set, or eglBindAPI not called).
ain/eglconfig.c
ain/eglcontext.c
ce2cae4130548872a0205097b0b5dbe0f4f57d5f 19-Aug-2010 Chia-I Wu <olv@lunarg.com> egl: Add egl.def for win32 build.

Without the .def file, function names are decorated and cannot be
queried by GetProcAddress easily.
ain/SConscript
ain/egl.def
f508c0c09702a5ea53dcb58721f3674605594c6e 19-Aug-2010 Chia-I Wu <olv@lunarg.com> egl: Allow core functions to be queried.

When _EGL_GET_CORE_ADDRESSES is defined, eglGetProcAddress can be used to query
core functions. This is non-standard, but some apps expect it.
ain/SConscript
ain/eglapi.c
ce29e864588b0fdf36607864df45a3c237781e78 19-Aug-2010 Chia-I Wu <olv@lunarg.com> st/egl: Fix win32 build.

Add new source files to SConscripts.
ain/SConscript
2b2c5c4f5cb4620044eeaa7cc308e696209c7046 15-Aug-2010 Chia-I Wu <olv@lunarg.com> egl: Add support for EGL_KHR_fence_sync.

Individual drivers still need to support and enable the extension.
ain/egldisplay.h
ain/eglmisc.c
ain/eglsync.c
ain/eglsync.h
4eebea74a81ec5fbacf2347ea88cac137ddd4d69 14-Aug-2010 Chia-I Wu <olv@lunarg.com> egl: Add support for EGL_KHR_reusable_sync.

Individual drivers still need to support and enable the extension.
ain/Makefile
ain/eglapi.c
ain/eglapi.h
ain/egldisplay.h
ain/egldriver.c
ain/eglmisc.c
ain/eglsync.c
ain/eglsync.h
ain/egltypedefs.h
db71bdc31c8fb1bd2b086a7872621e8aee9251d6 31-Jul-2010 Vinson Lee <vlee@vmware.com> egl: Fix '_eglAddAtExitCall' implicit declaration warning.
ain/eglcurrent.c
6c7e0b95a4a16d268aa3ca74c5c8407779533314 30-Jul-2010 Chia-I Wu <olv@lunarg.com> egl: Add checks for EGL_MESA_screen_surface.

This allows Mesa EGL to be compiled with eglext.h that does not define
EGL_MESA_screen_surface.
ain/eglconfig.c
ain/eglcurrent.c
ain/egldriver.c
ain/eglglobals.c
ain/eglglobals.h
ain/eglmode.c
ain/eglmode.h
ain/eglscreen.c
ain/eglscreen.h
ain/eglsurface.c
e8a72460b799e3d5a065e4b00f9b4f24139dac52 29-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Set API version for DRM display
rivers/dri2/egl_dri2.c
2c343af09873f35cbc7b265d5606a228fe304bb9 29-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Fix deref before NULL-check
ain/eglcontext.c
efd4a8cffd2f16b44bb8e47184262f35e780b38d 28-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Implement EGL_KHR_surfaceless_* extensions
rivers/dri2/egl_dri2.c
b90a3e7d8b1bcd412ddbf2a4803de2756dacd436 03-Jun-2010 Kristian Høgsberg <krh@bitplanet.net> egl: EGL_KHR_surfaceless_* extensions

These extensions allow an application to make a context current by
passing EGL_NO_SURFACE for the write and read surface in the call to
eglMakeCurrent. The motivation is that applications that only want to
render to client API targets (such as OpenGL framebuffer objects)
should not need to create a throw-away EGL surface just to get a
current context.
ain/eglapi.c
ain/eglcontext.c
ain/egldisplay.h
ain/eglmisc.c
d7284b45e247d620e3a80bfc9182ff9c45bb7c62 14-Jul-2010 Chia-I Wu <olv@lunarg.com> egl: Return the correct array size in _eglFlattenArray.

The function is used by _eglGetConfigs and _eglGetScreens. The array
size should not be limited by the buffer size when the buffer is NULL.

This fixes fdo bug #29052.
ain/eglarray.c
2168b87b51e70e8ad914e547c6c922fc33af3a89 03-Jun-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Support _EGL_PLATFORM_DRM

This lets the egl_dri2 driver initialize on just a DRM fd.
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
ff318c45ec1fafd0d825a8da5556d2d1e69ff7da 07-Jul-2010 Vinson Lee <vlee@vmware.com> egl: Remove unnecessary headers.
ain/eglapi.c
ain/egldriver.c
f2aa361f3b58a91780c9358b3f8716f6434074c7 04-Jul-2010 Chia-I Wu <olv@lunarg.com> egl: Rework driver loading.

Driver loading is now splitted into two stages. In the first stage, an
_EGLModule is created for each driver: user driver, default drivers, and
all files in the search directories that start with "egl_". Modules are
not loaded at this stage.

In the second stage, each module is loaded to initialize a display. The
process stops at the first module that can initialize the display.

If eglGetProcAddress is called before eglInitialize, the same code path
will be taken to find the first module that supports
EGL_DEFAULT_DISPLAY. Because we do not want to initialize the display,
drv->Probe is used instead in this case.
ain/eglapi.c
ain/eglarray.c
ain/eglarray.h
ain/egldriver.c
ain/egldriver.h
ain/eglglobals.c
ain/eglglobals.h
c43ab4fe1fbb13bbfe70680c6c608ff0da73be9a 03-Jul-2010 nobled <nobled@dreamwidth.org> egl: Always use EGLAPIENTRY in api function prototypes

Fixes the build on Windows.
ain/eglapi.c
a8815b754d9f64fce32bbfdcdf58dfed62a8aa3c 30-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: Update MaxSize when a dynamic array is grown.
ain/eglarray.c
98ebc8165c39a3f4bcfa16836292e217f24fe1ed 30-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: Make _eglUnloadDrivers no-op on Windows.

Windows unloads DLLs before atexit. Make _eglUnloadDrivers no-op on
Windows for now.
ain/egldriver.c
8b0c6c4a8dc1899d56e52fe3b0a9e1165c30ecae 30-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: Store screens in a dynamic array.
ain/egldisplay.h
ain/eglmode.c
ain/eglscreen.c
6717a313f26e42a7864f46f499637462a7cc3d57 30-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: Store configs in a dynamic array.
rivers/dri2/egl_dri2.c
rivers/glx/egl_glx.c
ain/eglconfig.c
ain/egldisplay.c
ain/egldisplay.h
106466783f986f532d3ee7af3a70f693c610ea04 30-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: Add dynamic array.

Dynamic arrays will be used to store configs and screens of a display.
ain/Makefile
ain/SConscript
ain/eglarray.c
ain/eglarray.h
ain/egltypedefs.h
4cb853402b6c55f5dbabf4475cd46b34bd7b1bc1 24-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: Remove st/egl probe code.

It is no longer needed.
ain/egldriver.c
ain/egldriver.h
afcea9b115cdfa0a6c948784f753d38b43240d25 24-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: Do not call drv->Initialize with global mutex locked.
ain/egldriver.c
a81ef14228c6fe2893527b7b5f12855c90db3f8e 23-Jun-2010 Chia-I Wu <olv@lunarg.com> st/egl: Build a single EGL driver.

This change makes st/egl build a single egl_gallium.so and multiple
st_<API>.so and pipe_<HW>.so. When a display is initialized, the
corresponding pipe driver will be loaded. When a context is created,
the corresponding state tracker will be loaded.

Unlike DRI drivers, no ABI compatibility is maintained. egl_gallium,
pipe drivers and state trackers should always be distributed as a single
package. As such, there is only a single src/gallium/targets/egl/ that
builds everything for the package.
ain/egldriver.c
ea05299ce54ea0463626277907cab8e849884740 17-Jun-2010 Chia-I Wu <olv@lunarg.com> st/egl: One driver per hardware.

Merge multiple egl_<platform>_<pipe>.so into a single
egl_gallium_<pipe>.so. The environment variable EGL_PLATFORM is now
used to modify the return value of _eglGetNativePlatform.
ain/Makefile
ain/SConscript
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
78d70ddbbd41d73b7f6040f392eb87758c39dc37 17-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: Add support for EGL_MESA_drm_display.

The extension defines eglGetDRMDisplay that creates an EGLDisplay from a
DRM fd. Calling eglCreateWindowSurace or eglCreatePixmapSurface with
such displays will generate EGL_BAD_NATIVE_WINDOW or
EGL_BAD_NATIVE_PIXMAP.
ain/eglapi.c
ain/egldisplay.h
ain/eglmisc.c
f22665df95406567193dee0089f4830664ff4101 17-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: Introduce platform displays internally.

This commit introduces type-safe platform displays internally. A
platform display consists of a generic pointer and an enum that
specifies the platform.

An EGLDisplay is created from a platform display. Native displays
become platform displays whose platform is determined by
_eglGetNativePlatform(). Platform windows and pixmaps may also be
introduced if needed.
rivers/dri2/egl_dri2.c
rivers/glx/egl_glx.c
ain/Makefile
ain/SConscript
ain/eglapi.c
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
da39d5d3b46c55f88a2f051368e09284732fd440 17-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: s/EGL_DISPLAY/EGL_PLATFORM/.

A platform is already used to mean a window system in EGL. No need to
use a different term.
ain/Makefile
ain/egldriver.c
6f690caddcd9afbea6ed3e743b0c95c02c85e5ef 15-Jun-2010 Chia-I Wu <olv@lunarg.com> egl: s/_EGL_PLATFORM/_EGL_OS/ and s/POSIX/UNIX/.

A platform means a native window system in EGL. Use OS that follows
Gallium instead.
ain/Makefile
ain/SConscript
ain/egldriver.c
ain/eglstring.h
1e6c10f4be9e36cc052a6b47fb2cb1eae60caa00 31-May-2010 Chia-I Wu <olv@lunarg.com> egl: Use SConscript for Windows build.

Fix several portability issues and add SConscript for Windows build.
ain/SConscript
ain/eglapi.c
ain/egldriver.c
ain/egllog.c
ain/eglmisc.c
ain/eglstring.c
ain/eglstring.h
ba26631d0d936523c7a8f002cf469e569aa6d7a3 31-May-2010 Chia-I Wu <olv@lunarg.com> Define PUBLIC to dllexport on MSVC.

Define PUBLIC to __declspec(dllexport) when _MVC_VER is defined.
ain/eglcompiler.h
d2cb99904578b263396752975d60c8d7e2eac14b 31-May-2010 Chia-I Wu <olv@lunarg.com> Always define int32_t in compiler headers.

eglplatform.h no longer defines int32_t.
ain/eglcompiler.h
0defc2597717162e2ba7ddeee10b4bf64ed3e9a6 28-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Split driver loading out into its own function
rivers/dri2/egl_dri2.c
c5ddaa2cd71c100fe4aa6da36b6ac1a59e6665e3 28-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Check for xcb_connect() failure the right way

It always returns a valid xcb_connection_t, but if connection failed, it's in the
error state.
rivers/dri2/egl_dri2.c
6e9da8ab6085b72473aa414922aa9cfa6ee508f9 27-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Return NULL if we fail to load a default driver
ain/egldriver.c
6f77b751b6577c72fdbf7cb6c8eef4bc87c360cc 20-May-2010 Eric Anholt <eric@anholt.net> Make TLS EGL dri2 driver search path behavior match TLS GLX dri2 behavior.
rivers/dri2/egl_dri2.c
bc73a6289f5e28636d579e17e8a8d70a2d8d7500 12-May-2010 Chia-I Wu <olv@lunarg.com> egl: Link drivers back to libEGL.

Drivers need symbols from libEGL. Without back-linking, the build fails
on Cygwin.
rivers/Makefile.template
5dc0f49084f322dd8ff6eb585212eea8b50e3377 07-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Implement EGL_NOK_texture_from_pixmap

This extension allows a color buffer to be used for both rendering and
texturing. EGL allows the use of color buffers of pbuffer drawables
for texturing, this extension extends this to allow the use of color
buffers of pixmaps too.
rivers/dri2/egl_dri2.c
ain/eglconfig.c
ain/eglconfig.h
ain/egldisplay.h
ain/eglmisc.c
ain/eglsurface.c
ain/eglsurface.h
554e4fc26a64a90012b0d7dcc1205441273f214c 14-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Only allow valid config attributes in _eglParseConfigAttribList()

Passing 0x3030, 0 in the chooser list didn't get caught.
ain/eglconfig.c
e6a7ee7fbb7a058bf3c7de965197f19a9bcede8e 14-May-2010 Brian Paul <brianp@vmware.com> egl: remove duplicate ARRAY_SIZE() macro declaration
rivers/glx/egl_glx.c
12297f1f98c5daf177938b2598e6fb8ed97a9a66 14-May-2010 Vinson Lee <vlee@vmware.com> egl: Silence uninitialized variable warnings.
ain/eglapi.c
52c554a79d3ed3104a9f7d112faa9129073b5a25 07-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Implement EGL_NOK_swap_region

This extension adds a new function which provides an alternative to
eglSwapBuffers. eglSwapBuffersRegionNOK accepts two new parameters in
addition to those in eglSwapBuffers. The new parameters consist of a
pointer to a list of 4-integer blocks defining rectangles (x, y,
width, height) and an integer specifying the number of rectangles in
the list.
rivers/dri2/egl_dri2.c
ain/eglapi.c
ain/eglapi.h
ain/egldisplay.h
ain/eglmisc.c
681fd73f1e95d43425b946a250b241bfdb0ce1c8 13-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Allow a prioritized list of default drivers

When there is no user driver or any matching display drivers we fall
back to the default driver. This patch lets us have a list of default
drivers instead of just one. The drivers are loaded in turn and we
attempt to initialize the display. If it fails we unload the driver
and move on to the next one.

Compared to the display driver mechanism, this avoids loading a number
of drivers and then only using one. Also, we call Initialize to see
if the driver will work instead of relying on Probe. To know for sure
that a driver will work, Probe really have to do a full Initialize, so
we will just use Initialize directly.
ain/eglapi.c
ain/eglconfig.c
ain/egldefines.h
ain/egldriver.c
ain/egldriver.h
ain/eglglobals.c
7413d9ae9ff3e21f517aea97d7a1a211867bdc68 13-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Downgrade initialization errors to warnings

Don't want to shutdown everything if egl_dri2 fails to initialize.
rivers/dri2/egl_dri2.c
021a68b7e83259faedacea8b3a18e754bed6277a 13-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Drop broken _EGL_PLATFORM_NO_OS code

It would do strlen(library_suffix()) in _eglLoaderFile(), with
library_suffix() returning NULL. So obviuosly not used or tested.
ain/egldriver.c
41797e16599304e9e300e60c54f7d9457ff2b848 13-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Don't try to load driver basename if the platform needs a suffix

That is, don't dlopen(egl_glx) when we know we need to append .so.
ain/egldriver.c
880acbe177c81c13fdb4b4f96c7e37d8a89939e2 12-May-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Zero out driver struct

Otherwise testing ->Probe for non-NULL and calling it goes boom.
rivers/dri2/egl_dri2.c
56530c90976e96694a034a04925affd806860f09 07-May-2010 Chia-I Wu <olv@lunarg.com> egl: Build drivers in $(TOP)/$(LIB_DIR)/egl.

There are enough EGL modules that they deserve a subdirectory, to avoid
polluting $(TOP)/$(LIB_DIR).
rivers/Makefile.template
e8ba2812e6995d1ec95c972a1b48ac29a99531dd 05-May-2010 Chia-I Wu <olv@lunarg.com> egl: Add _eglSearchPathForEach.

The function can be used by a driver to check each search path of EGL.
ain/egldriver.c
ain/egldriver.h
296adbd545b8efd38c9ed508166b2de2764a444b 25-Apr-2010 Chia-I Wu <olv@lunarg.com> glapi: Move to src/mapi/.

Move glapi to src/mapi/{glapi,es1api,es2api}.
rivers/dri/Makefile
rivers/dri2/Makefile
ceffd7b9245690dbfef9478fff982cfff37b0611 10-Mar-2010 Kristian Høgsberg <krh@bitplanet.net> Add egl.pc file
ain/Makefile
ain/egl.pc.in
0870e4a2022cff79805613ae7cd4b9237a2f564c 02-May-2010 Kristian Høgsberg <krh@bitplanet.net> Merge branch 'gles2-2'

Conflicts:
src/mesa/drivers/dri/common/dri_util.h
e2fd98d794947464aa97d85fbbcbd2b833e96939 27-Apr-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Use new DRI API to create a GLES1/2 context when asked to
rivers/dri2/egl_dri2.c
02224ec4e0de8072c9d730821f88e0a00212ff50 20-Apr-2010 Dan Nicholson <dbn.lists@gmail.com> Merge branch '7.8'

Conflicts:
progs/egl/Makefile

progs/egl/Makefile is gone on master with the egl demos split into
subdirectories. Will require an additional commit.
88be2171e7336201e5ee97ade36ba3de4fe939bf 18-Apr-2010 Dan Nicholson <dbn.lists@gmail.com> egl: Pass flags to locate Xlib headers and libraries

eglplatform.h pulls in Xlib.h on X11 platforms. Likewise, the egl glx
driver and egl programs needs to link to libX11. Make sure we use the
locations the user told us about.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
rivers/glx/Makefile
ain/Makefile
6fc532ae05352a5540c658580cde08b1e0e9f84c 28-Apr-2010 Jakob Bornecrantz <jakob@vmware.com> Merge branch '7.8'
9cfaaa291f9c69cfc24e8a9c0d7de47319e479ed 28-Apr-2010 Micah Fedke <M.Fedke@Astronautics.com> egl: dri2 driver error output

This patch amends the error output string for the case where the
dri2 egl driver could not open the dri dev node.

Signed-off-by: Brian Paul <brianp@vmware.com>
rivers/dri2/egl_dri2.c
3a82c8c5625217599f31cd5080b4d7ff7a1dc0aa 14-Apr-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Enable KHR_gl_texture_2D_image

Forgot to set the enabled bit when I implemented the extension.
rivers/dri2/egl_dri2.c
d18d0fdcd8daa0d9979b72978795f0305d2db7c8 06-Apr-2010 Chia-I Wu <olv@lunarg.com> egl_dri2: Flush before context switch and swap buffers.

DRI does not define any callback to flush the current context. GLX
loader simply calls glFlush. Follow the GLX loader here.
rivers/dri2/egl_dri2.c
848945e5d63ff8327f5a1a6e61e66fcdab3ac8fc 06-Apr-2010 Chia-I Wu <olv@lunarg.com> egl: Unbind the old context in _eglBindContext.

The last commit incorrectly moved the code under an "else".
ain/eglcontext.c
bbe459b14d593bd2d7b6c0f010e165fe815e8396 05-Apr-2010 Chia-I Wu <olv@lunarg.com> egl: Fix eglMakeCurrent with different surfaces.

0a82fadcdd0b6ebbc345c7c302da0e0efce40a98 seems to trigger a bug in
_eglBindContext. Rework the logics yet again. It is simpler, and
hopefully correct this time.
ain/eglcontext.c
0a82fadcdd0b6ebbc345c7c302da0e0efce40a98 27-Mar-2010 Chia-I Wu <olv@lunarg.com> egl: Make _eglBindContextToSurfaces more readable.

There is no effective changes given how the function is called. It is
still not trivial, but it should be more readable and resemble
_eglBindContextToThread a lot.
ain/eglcontext.c
551bfe7a09b0d1bc277796edc10c649b2b07a5b7 27-Mar-2010 Chia-I Wu <olv@lunarg.com> egl: Always return the previously bound context.

When a newly bound context is the same as the previously bound one,
_eglBindContextToThread should still return the context instead of NULL.
This gives the driver a chance to flush the context.
ain/eglcontext.c
016fc30839f0fb67bb37d4a7353a7e38749deab5 04-Mar-2010 Ian Romanick <ian.d.romanick@intel.com> Remove support for GCC older than 3.3.0

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
ain/eglcompiler.h
400734258453fb8cb22a467d18779ad3acf4e53f 02-Mar-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Factor out DRI2 protocol bits from initialize.
rivers/dri2/egl_dri2.c
557c20b3091843fdec59069b2b85969a49943305 26-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Implement EGL_KHR_gl_renderbuffer_image
rivers/dri2/egl_dri2.c
f4e7d1b1e5477a28e9a6364e742a79f95fb9b10e 12-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Implement EGL_KHR_image and EGL_KHR_image_pixmap
rivers/dri2/egl_dri2.c
7d1237bc71811e95aec142f41599620f0361fafc 22-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: Remove unused _EGL_SKIP_HANDLE_CHECK.

It was added to skip checking EGLDisplay, EGLSurface, and etc. It is
never defined and the spec does not allow the checks to be skipped.
Remove it for good.
ain/eglconfig.c
ain/eglconfig.h
ain/egldisplay.c
ain/egldisplay.h
32f2fd1c5d6088692551c80352b7d6fa35b0cd09 19-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versions
rivers/dri/egldri.c
496724b869d4258a64e8343d3ae66d08bfb19f7b 19-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: Silence warnings when compiled with -pedantic.

Just follow gcc's advices here.
ain/eglconfig.c
ain/egldisplay.h
ain/egldriver.c
ain/egltypedefs.h
bef4b476d729320599264483113d577ac5eeaff1 18-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: Silence warnings in check/return macros.

The macros give warnings when compiled with -pedantic. This commit is
based on a patch by Brian Paul, with minor changes to add do {} while(0)
and rename the check macros.
ain/eglapi.c
4afe24808ee253c44c65b855f65bd0749c1e1524 17-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: Revisit global data locking.

Lock the global mutex in _eglPreloadDrivers and _eglAllocScreenHandle.
Add comments to why certain pathes do not need locking.
ain/egldriver.c
ain/eglglobals.h
ain/eglscreen.c
ain/eglscreen.h
655f4654675e601a9482e40d8e50156c965b8934 17-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: Always lock a display before using it.

This gives a simple access control to the display. It is potentially
slow, but a finer grained mutex can always be used in the future. The
benefit of this simple approach is that drivers need not to worry about
thread-safety.
ain/eglapi.c
ain/eglapi.h
db5ce8b3843a03c6f83a02a79f033d7e74784dd5 17-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: Make eglGetDisplay atomic.

Merge _eglNewDisplay and _eglLinkDisplay into _eglFindDisplay. Remove
unused _eglUnlinkDisplay.
ain/eglapi.c
ain/egldisplay.c
ain/egldisplay.h
99bcb1f06d35a038b9fcf9786938a31b3dba21b7 17-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: Add a mutex to _EGLDisplay.

A display may be shared by multiple threads. Add a mutex for access
control.
ain/egldisplay.c
ain/egldisplay.h
b3bb18062005d3c9ec0f942a5e096e7e38c6f3e1 17-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: eglGetError should return the status of the last call.

Use macros to record the status of the function call before returning.
This is the only way that eglGetError can return the status of the most
recent function call.
ain/eglapi.c
3dee01a692796496b6e3d6ff6e4ebac10b594640 17-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: Always record error code.

The error code denotes the success or failure of the most recent
function call. A call to _eglError should always update the error code.
ain/eglcurrent.c
aed7358e54fd143033d240c6e543d403da2d7336 17-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: Use new error checking macros.

Replace all uses of _EGL_DECLARE_* and _eglCheck* by _EGL_CHECK_*.
ain/eglapi.c
f3e03e1277839cddc35e0cc3427a7972bc17a10a 17-Feb-2010 Chia-I Wu <olv@lunarg.com> egl: Add new error checking macros.

Add _EGL_CHECK_* which will replace _EGL_DECLARE_* for error checking.
Move _eglCheck* earlier in the file so that the macros and the functions
are grouped together.
ain/eglapi.c
c19dab7c5929bc70633002111bbb2b496a90899e 10-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Only allocate config if we're going to keep it

Small optimization.
rivers/dri2/egl_dri2.c
c3c1a7e1d9357a6ba5b8092b3b0b9c873737e53d 10-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Initialize config attributes with visual id and class from X
rivers/dri2/egl_dri2.c
360faf80ca763e195425ee7cadfee64002c8cd98 09-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Allow pbuffer and pixmap surfaces for all configs
rivers/dri2/egl_dri2.c
bba5a98dfde705d898ada1c8eac41cc7c6275fe2 09-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Implement eglBindTexImage()
rivers/dri2/egl_dri2.c
8c593d3ea9fa137290480e73aeebcf807c920f50 09-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Use a helper function for looking up and binding extensions
rivers/dri2/egl_dri2.c
538539d8791e5b3b1ea2e95473b589934d94497e 09-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Fix initialization with EGL_DEFAULT_DISPLAY
rivers/dri2/egl_dri2.c
077bc2fda2afdbe0bf12e1baeafa4ce41b711d1d 05-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Use pkg-config cflags and libs from configure output

Running pkg-config in Makefiles is bad form, since it doesn't respect the
PKG_CONFIG_PATH value set at ./configure time.
rivers/dri2/Makefile
832f2d3c392b0f222415eb1f1907b7790a1d2bdd 05-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Log both driver and core extensions
rivers/dri2/egl_dri2.c
9c94faeff18c942417daaed87a16909790c72a60 05-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Audit and fix errors paths
rivers/dri2/egl_dri2.c
f27b4fadca814f21a0c0b3335d8862640aeb2344 05-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl_dri2: Just cast the pointer difference to an int
rivers/dri2/egl_dri2.c
4f47684f7555cc973a89add9a28c9ae3c3c4a989 05-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add debug messages to config validation and matching.

It might be desirable find out which attribute went wrong.
ain/eglconfig.c
a37dc17c122ed25365b100aefe4b941df1b526c0 05-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Clean up eglconfig.h.

Update the comments to macros/functions. Remove unused
_eglSetConfigAttrib.
ain/eglconfig.h
5f08eff2a769e27df37fc00e46797e70a54727bb 05-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove egl_xdri.

egl_xdri steals code from src/glx/x11/. This makes it broken from time
to time when there is a bigger change to the GLX code. As egl_dri2 has
been merged, which also functions as a DRI2 driver loader, remove
egl_xdri for good.
rivers/xdri/Makefile
rivers/xdri/driinit.c
rivers/xdri/driinit.h
rivers/xdri/egl_xdri.c
rivers/xdri/glxinit.c
rivers/xdri/glxinit.h
cb260e1d18726814a43f51c4e16e4bd8d65736e2 05-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Update the comments to typecast macros.

Put a note that the macros define functions and should not be ended with
a semicolon when used.
ain/egldriver.h
a35e63382e5a8b5ee81bf8c8d2cafb2da937f71c 05-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl_dri2: Use _EGL_DRIVER_STANDARD_TYPECASTS.

It saves the driver from defining the boring typecasts itself.
rivers/dri2/egl_dri2.c
b31255fbfdb2d9201e8d02e379b8384ee67fcfd0 05-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Clarify IsLinked and IsBound.

Both a link and a binding creates a reference to the resource. Drivers
should not destroy the resource when there is a reference. The
difference is better described in doc/egl.html.
ain/eglcontext.h
ain/eglsurface.h
fc5ca85a63c6d252a9e8c450f12d2f11057ea2c6 05-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl_dri2: Do not destroy linked resources.

A linked resource is stil owned by the display.
rivers/dri2/egl_dri2.c
7e7c1ba40b6e10b7d38490e7f3252dbebb3a3a72 05-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl_dri2: Fix a snprintf warning.

The subtraction between two pointers has type unsigned int (only on
x86-64?), while the format string expects an int.
rivers/dri2/egl_dri2.c
8d411c9a127beb75b2af8b9135b971afa53202c7 05-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl_dri2: Add a debug print for DRI2 extensions.
rivers/dri2/egl_dri2.c
c6e830c393a12e7273a2a3d57688492cb69794d7 05-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Implement eglCopyBuffers for DRI2, make pixmap and pbuffers actually work
rivers/dri2/egl_dri2.c
42fa009e641c35a6543f2fb63b229c0adc8a30dc 03-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Add driver for EGL on X with DRI2
rivers/dri2/Makefile
rivers/dri2/egl_dri2.c
9a3de505dc5377a47a6ccb29fe60343feb2f5b14 04-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Convert drivers to use typecast macros.

Use macros to define the standard typecasts. This saves lots of
typings.
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
bdb9e202de2524821bec1a136d48af70df8fb60e 03-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add macros to define typecast functions.

There are standard typecast functions that are common to most drivers.
They are used to typecast, for example, an _EGLSurface to a
driver-defined type.

This commits define _EGL_DRIVER_STANDARD_TYPECASTS and
_EGL_DRIVER_TYPECAST that should hopefully save some typings for driver
writers.
ain/egldriver.h
88af76ce94834d795c11445b1c82b7aa874b87d5 03-Feb-2010 Igor Oliveira <igor.oliveira@openbossa.org> egl: fix wrong argument. Use loader_data instead of loader
ain/egldriver.c
0d089cbb48d099b833768556266114d537c91299 02-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Rename _eglPreloadForEach callbacks.

Rename _eglPreloadFile to _eglLoaderFile, and _eglPreloadFile to
_eglLoaderFile. There are several _eglPreload* functions. The
callbacks do not belong to them and it should be better to give them a
different prefix.
ain/egldriver.c
8e6a964411ea3e1d7dc4c86c314e326e3be2b0eb 02-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Fix a potential segfault in driver suffix matching.

The driver suffix might be NULL on some platforms. Perform the matching
only when there is a suffix.
ain/egldriver.c
2287f4c52ab10a6d65d7bb12803a8ee0f2394699 02-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove unnecessary #ifdef's.

There were some refactorings with the addition of EGL_DRIVERS_PATH.
They made some platform #ifdef's unnecessary.
ain/egldriver.c
6fd8b6a9e22f474117281b00d15c548c29b8197f 02-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Ignore certain environment variables when setuid/setgid.

Specifically, ignore EGL_DRIVERS_PATH when an application is
setuid/setgid. And ignore EGL_DRIVER when there is a slash in it.
ain/egldriver.c
5d8646c41ff3022692fa9d7f5f1644a2a60641e4 02-Feb-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add EGL_DRIVERS_PATH environment variable.

EGL_DRIVERS_PATH gives a list of colon-separated directories. The given
directories will be searched when preloading drivers.

This is based on Mike Stroyan's patch, which honors the variable in
_eglPreloadDisplayDrivers. It is extended to honor the variable also in
_eglPreloadUserDriver and _eglPreloadDefaultDriver in this version.
ain/egldriver.c
19af9ea792dbfb184b70f70ca359067399ef8f3d 01-Feb-2010 Vinson Lee <vlee@vmware.com> egl: Remove unnecessary headers.
ain/eglcurrent.c
ain/egldisplay.c
ain/egldriver.c
eb961f81d53405ab04e021703228ddb15190d75f 31-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Clean up surface attributes.

Add missing attributes and use correct types in _EGLSurface. Remove
ifdef tests that serve no purpose. Update _eglQuerySurface and
_eglSurfaceAttrib for missing queries and checks.
ain/egldisplay.h
ain/eglsurface.c
ain/eglsurface.h
0135e5d6c83add5e539492a4899504e33f3f2434 31-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add support for more EGLImage extensions to EGL core.

Add support EGL_KHR_vg_parent_image and EGL_KHR_gl_*. This is as simple
as adding some flags that can be enabled. Individual drivers need to
implement the extensions before enbaling the flags.
ain/egldisplay.h
ain/eglimage.c
ain/eglimage.h
ain/eglmisc.c
bbdce27649698df82432f8da4dc3740c508d3ed8 31-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Surface type validaction should depend on extensions supported.

EGL_SCREEN_BIT_MESA is a valid bit only when EGL_MESA_screen_surface is
supported.
ain/eglconfig.c
216925ccd122a06505dafae425323e3ac858f80e 31-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Initialize display configs with the display.

This changes _eglInitConfig to take the display as its argument.
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
ain/eglconfig.c
ain/eglconfig.h
d69242be55091e53b0ae2cfa6282790ce1862f29 31-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Initialize display resources with their display.

Change _eglInitSurface, _eglInitContext, and _eglInitImage to take an
_EGLDisplay instead of an _EGLDriver. This is a more natural form, and
plus, the display encodes information such as the extensions supported
that might be required for attribute list parsing.
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
ain/eglcontext.c
ain/eglcontext.h
ain/eglimage.c
ain/eglimage.h
ain/eglsurface.c
ain/eglsurface.h
e694ccad803157b71b2de78d63ee6dacc489faab 31-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Refactor _eglInitImage.

Refactor attribute list parsing code to _eglParseImageAttribList.
ain/eglimage.c
caa5c8dfe8e5857aa25b2a3fa649d553e651e144 30-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Refactor _eglInitContext.

Refactor attribute list parsing code to _eglParseContextAttribList. Add
a check to make sure the config supports the client API.
ain/eglcontext.c
6f1529293f218015f47d86dcba774c3d9faa2cda 30-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Refactor _eglInitSurface.

Refactor attribute list parsing code to _eglParseSurfaceAttribList.
ain/eglsurface.c
996fd61442e4186e23418cc8a3b0cd593398be26 31-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove code blocks that are commented out.

They are either unit tests or to demonstrate how functions are supposed
to be used. The unit test is outdated and it should be better to take a
look at any of the working drivers to see how a function is used.
ain/eglcontext.c
ain/eglmode.c
ain/eglscreen.c
ain/eglsurface.c
2c3a23a96f510ee56103b6f6e9308eedd6cd4c4c 30-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove my_strdup.

There is already _eglstrdup for the main library's use.
ain/eglmode.c
6fc304456e4b5c166efdaac512b2fb285b9f5d7f 30-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove unused VisibleRefCount.
ain/eglsurface.h
00e1790f3230de550121591d611b47da299ae15c 30-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Rename Binding to CurrentContext in _EGLSurface.

A context can be bound to a surface just like it can be bound to a
thread. CurrentContext is a more consistent name.
rivers/xdri/egl_xdri.c
ain/eglcontext.c
ain/eglsurface.h
94cb321b5d246185abf71d89968d472a626f1a23 29-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Clean up header inclusions.

Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
ain/eglapi.c
ain/eglapi.h
ain/eglconfig.c
ain/eglconfigutil.c
ain/eglcontext.c
ain/eglcontext.h
ain/eglcurrent.c
ain/eglcurrent.h
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
ain/eglglobals.c
ain/eglglobals.h
ain/egllog.h
ain/eglmisc.c
ain/eglmisc.h
ain/eglmode.c
ain/eglscreen.c
ain/eglscreen.h
ain/eglsurface.c
ain/egltypedefs.h
fc4939bff917b520f0d428ce00219593df8b6d96 29-Jan-2010 Vinson Lee <vlee@vmware.com> egl: Remove unnecessary headers.
ain/eglconfig.c
ain/eglconfigutil.c
ain/egldisplay.c
ain/eglglobals.c
ain/eglsurface.c
6baa2c8d022e5dd1e305e7da2925c1e6f9370f35 28-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Migrate drivers to use _eglBindContext.

_eglMakeCurrent is a big hammer that is not easy to use. Migrate
drivers to use _eglBindContext and un-export _eglMakeCurrent.
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
ain/eglcontext.c
ain/eglcontext.h
45ba53324341234144ca02122bf2c0b5ef58c361 28-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Correctly unbind contexts in eglReleaseThread.

MakeCurrent unbinds the current context of the current API. Modify the
current API to make sure all contexts are correctly unbound.
ain/eglapi.c
17330479b39409a63a06ec9e6b0f8e28b585db12 27-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: eglMakeCurrent should accept an uninitialized display.

When no context or surface are given, the display is allowed to be
uninitialized. Most drivers cannot handle an uninitialized display.
But they are updated to at least throw a fatal message.
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
ain/eglapi.c
ain/eglapi.h
ain/eglcontext.c
959481ad70b033a254f4d7d0a94dfdfab6b94c15 27-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add _eglBindContext.

It works similar to _eglMakeCurrent, except that the old context and
surfaces are returned instead of destroyed. _eglMakeCurrent is now
calling the new _eglBindContext.
ain/eglcontext.c
ain/eglcontext.h
a933259daa98615ad7473c53623a96f612e9a311 27-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Use a boolean to indicate whether a display is initialized.

The driver pointer of the display was used to decide whether a display
is initialized. Use a boolean for that purpose allows accessing the
driver of an uninitialized display.
ain/eglapi.c
ain/egldisplay.h
092b1ca989ba3bdc3f4d421b83b3943af260b7db 26-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove _eglOpenDriver and _eglCloseDriver.

_eglCloseDriver is no-op and _eglOpenDriver does nothing but call
_eglMatchDriver. Export _eglMatchDriver directly.
ain/eglapi.c
ain/egldriver.c
ain/egldriver.h
545eaf83b5f096e5b16b2056e13b76f58d9211c9 26-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Fix a segfault when a display is initialized again.

Reset dpy->MaxConfigs so that dpy->Configs is re-allocated.
ain/egldisplay.c
a1717970e78d897f527273278bf1346cc86a5741 26-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove _eglGetCurrentSurface and _eglGetCurrentDisplay.

They have little use in drivers since drivers need to work for multiple
current contexts.
rivers/xdri/egl_xdri.c
ain/eglapi.c
ain/eglcurrent.c
ain/eglcurrent.h
11cf3cb2c463cf8af8a7e63eb9521979bfd303f8 26-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Fix leaks in eglReleaseThread.

There may be multiple bound contexts that should be unbound.
ain/eglapi.c
7c09296d4ce977f711f36c3393fd1a2718a6a6ce 26-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Refactor _eglMakeCurrent.

Refactor _eglMakeCurrent into _eglCheckMakeCurrent,
_eglBindContextToSurface, and _eglBindContextToThread.
ain/eglcontext.c
6f6f3e4227855c87a78a717bce7374a7d64172ce 26-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add _eglGetAPIContext.

It will return the currently bound context of the given API.
ain/eglcurrent.c
ain/eglcurrent.h
f65ed0a3097d91289ced44d53786506333122b55 26-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Use a boolean to indicate whether a resource is linked.

An unlinked resource may still be a current resource such as current
surfaces. There might still be a need to know which display the
unlinked resource belongs to.
ain/egldisplay.c
ain/egldisplay.h
d21ee93fdb817a96b47b5dd4be925e23c19bb5a7 26-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Mark _eglCheckResource as PUBLIC.

To support extensions such as GL_OES_EGL_image, the drivers need a way
to check if a given EGLImageKHR is valid.
ain/egldisplay.h
0d2d40451d01a07db515452561c71eaacb789872 26-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl/xdri: Update with glxclient.h change.

__glXFindDisplay is no longer static since
7a9329ba99fe1242c07fbf4fd04e7a4dbeba2e72.
rivers/xdri/glxinit.c
4aed0944f4b8b8d14d210cf6bc87ccddfa9a77ec 25-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Native types are renamed in EGL 1.3.

Rename Native*Type to EGLNative*Type.
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
ain/eglapi.c
ain/eglapi.h
ain/egldisplay.c
ain/egldisplay.h
ain/eglsurface.c
ain/eglsurface.h
dbb866ab33862defc2749134805bafebf323fd11 25-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Make resource void pointer in _eglCheckResource.

This emphasizes the fact that the resource to be checked could really be
invalid and have an unknown type.
ain/eglcontext.h
ain/egldisplay.c
ain/egldisplay.h
ain/eglimage.h
ain/eglsurface.h
3f932a444021958d632e3e6334d7b168304dfd74 25-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Install EGL headers.

Install EGL (and KHR) headers along with the library.
ain/Makefile
a1c4a8a3c855d52fbfef10023b9a8f116e163a97 15-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Add support for EGL_KHR_image.

Individual drivers still need to implement the API hooks.
ain/Makefile
ain/eglapi.c
ain/eglapi.h
ain/egldisplay.h
ain/egldriver.c
ain/eglimage.c
ain/eglimage.h
ain/eglmisc.c
ain/egltypedefs.h
95f8f75ad8bdb1d8e1cc16ea91fed8c407c36abd 15-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Update headers.

Update to the current versions found at
http://www.khronos.org/registry/egl/. There is one modification in
khrplatform.h for GCC visibility.
ain/eglapi.c
ain/eglconfig.c
21b2c0a6e5ecb6d542bd7d3750c5a0b745104edd 24-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add and use make_library_path.

Add a platform specific function to turn a library name to a library
path. It is used to convert EGL_DRIVER or the default driver to a
library path that can be loaded.
ain/egldriver.c
cecc33cd4f2b3ae1fa590a450eeaefc9b761fb30 24-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove _eglFindAPIs.

This function is not used and should have been removed by last commit.
My mistake.
ain/egldriver.c
ain/egldriver.h
cf7c1ea4f1a805a3b6003808aa0b034603412870 24-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove unused helper functions.

_eglFillInConfigs and _eglFindAPIs have no user in Mesa and are unlikely
to find one soon. It should be fine to remove them.
ain/eglconfigutil.c
ain/eglconfigutil.h
56b93a25ea5c573587ac699bf6806fe530f81b2f 24-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove unused casting functions.

_eglUIntToPointer and _eglPointerToUInt are no longer used.
ain/egldisplay.h
ecb3b3102a3022e31cf9d75ae099eddbe298517f 24-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Make surfaces and contexts resources.

Turn _EGLSurface and _EGLContext into _EGLResource so that they can be
managed uniformly.
ain/eglapi.c
ain/eglcontext.c
ain/eglcontext.h
ain/eglcurrent.c
ain/egldisplay.c
ain/egldisplay.h
ain/eglsurface.c
ain/eglsurface.h
7abf42626fe8552cf898652134f3767e591614ab 24-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add _EGLResource and _EGLResourceType.

Resources are objects managed by a display. They can be linked to or
unlinked from a display. It is also possible to check if a resource is
valid.
ain/egldisplay.c
ain/egldisplay.h
ain/egltypedefs.h
b4d2c97a2d2cce92fa638ff74bef7dedf593fd1f 23-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Move surface functions in egldisplay.[ch] to eglsurface.[ch]

Move functions to where they should be. There should be no real change
here.
ain/egldisplay.c
ain/egldisplay.h
ain/eglsurface.c
ain/eglsurface.h
5e66d1893234b3002d71985c05253321d4cdedc4 23-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Move context functions in egldisplay.[ch] to eglcontext.[ch].

Move functions to where they should be. There should be no real change
here.
ain/eglcontext.c
ain/eglcontext.h
ain/egldisplay.c
ain/egldisplay.h
28c3e57c8354f988f49bac69a6866418e6009a5d 23-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Install drivers to ${libdir}/egl.

Install EGL drivers to EGL_DRIVER_INSTALL_DIR, which is default to
${libdir}/egl.
rivers/Makefile.template
ain/Makefile
3b0ffd5a36c4626b44eafc43f5eaebb7c758bfbd 22-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove egl_softpipe.

With the addition egl_x11_swrast, egl_softpipe is sort of deprecated.
The new driver serves the same purpose as egl_softpipe does. It is
based on egl_g3d and provides more features.
ain/egldriver.c
324fdf736453fbdcbc904c38ff383b540fb815c7 22-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove the demo driver.

The demo driver has outdated. It is suggested to look at any of the
drivers that is functioning.
rivers/demo/Makefile
rivers/demo/demo.c
18b63b55d5626dec86e3470bdf8c9996faf28384 22-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl_xdri: Add support for DRISW.

Try DRISW if both DRI2 and DRI fail. It can also be forced by setting
EGL_SOFTWARE. When DRISW is used, single-buffered modes are ignored.
rivers/xdri/Makefile
rivers/xdri/driinit.c
rivers/xdri/egl_xdri.c
caa75a7ce07e4a5d89b0d7cf8823fe02034c1b3b 22-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl_xdri: Flush commands on context switch and buffer swap.

The corresponding DRI functions does not flush for us.
rivers/xdri/egl_xdri.c
3c9bf648ac8f837f49f426af791aadb6a2589f08 22-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl_xdri: Report only OpenGL support.

It reported OpenGL ES support because some demos did not set
EGL_RENDERABLE_TYPE correctly. The demos are fixed.
rivers/xdri/egl_xdri.c
fe0e35aba8bb2472630a18edb232d7379ef17eaf 22-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl_xdri: Do not reinitialize in __glXInitialize.

__glXInitialize should return the same GLX display for the same X
display. This issue is triggered by
a35f6bb207efe3c959bbd16a37f2049e5aceeea9.
rivers/xdri/egl_xdri.c
rivers/xdri/glxinit.c
rivers/xdri/glxinit.h
0e54f9c529c0c015b3d227afff21da1f7b452991 22-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl_glx: Report only OpenGL support.

It reported OpenGL ES support because some demos did not set
EGL_RENDERABLE_TYPE correctly. The demos are fixed.
rivers/glx/egl_glx.c
2279fa3c065bcc2dcc02d462668792138f7d2e7b 22-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Update driver Makefiles.

Update to use the new Makefile.template.
rivers/glx/Makefile
rivers/xdri/Makefile
e63272050f5775a28ab699c804a34f33940a900d 21-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add Makefile.template for EGL drivers.
rivers/Makefile.template
506e27b9724e7f11350fc2454d263bea2df8ea39 20-Jan-2010 Alan Coopersmith <alan.coopersmith@sun.com> Copy __FUNCTION__ portability #defines from mesa/compiler.h to eglcompiler.h

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ain/eglcompiler.h
c5766c4ae39b4190965abd65eaf67b478a9ad028 20-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add a simple cache for driver probe.

In current design, multiple drivers will probe the same display and the
best driver is determined. The cache can be used by the drivers to
store and share the probed data.
ain/egldriver.c
ain/egldriver.h
cf22fd5e5b13ccdb02ba0368ea722ede3bbc6de0 19-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Improve driver matching.

Make drv->Probe return a score so that the matching can be done by
finding the driver with the highest score.
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
925f8113beba03e956351cee6780b1c7ab76add8 20-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Rename _EGL_PLATFORM_X to _EGL_PLATFORM_POSIX.

The macro is used to determine if dlfcn.h or dirent.h is available.
POSIX is a better name than X in such case.
ain/Makefile
ain/egldriver.c
f0c2871bf4f6fa89339347bb9767bb2c19fda6d0 19-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Remove unused driver and display functions.

Remove _eglPreloadDriver, _eglLookupDriver, and _eglSplitDisplayString.
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
57929eda3e876dc60be7060237a669f042be2376 19-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Use _eglPreloadDrivers.

Replace the use of _eglPreloadDriver by _eglPreloadDrivers. The latter
supports EGL_DISPLAY which have a better chance to "just work".
ain/eglapi.c
ain/egldisplay.c
b3bcd33f7a8b32ce4ea6e979e9cc764d0f903ae9 19-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add _eglPreloadDrivers.

It can be used to load the user driver specified by EGL_DRIVER, or a set
of drivers specified by EGL_DISPLAY, or the default driver, and in that
order.
ain/Makefile
ain/egldriver.c
ain/egldriver.h
a7aaf052f935cb51b7b616a7a764c57fc01b2821 17-Jan-2010 Alan Coopersmith <alan.coopersmith@sun.com> Sun compilers now support some gcc __attribute__ values

Sun cc 5.9 and later (__SUNPRO_C >= 0x590) support __attribute__ calls
for aligned, always_inline, noinline, pure, const, and malloc.

This commit includes updates to files that were regenerated by gl_XML.py
after adding the __SUNPRO_C checks to it

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ain/eglcompiler.h
3e6139d158a054a0dfe8def28bf60201cdb9f385 12-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Add _EGLDriver as the first argument to GetProcAddress.

The rest of the driver API has it as the first argument. It should be
there so that a driver has access to itself.
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
ain/eglapi.c
ain/eglapi.h
31d2786239d7d4c5d73d2a39c01d55975b6c901c 12-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl_xdri: Fix build breakage.

driScreen->swapBuffers takes 3 more arguments since
daf7fe69f7bd0caa955d30b43fc35b7ce0069b6b.
rivers/xdri/egl_xdri.c
39790cab1349fbf69b61711c46eeef7ded6ae13a 03-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: EGL_SCREEN_BIT_MESA is a valid bit.

Update _eglValidateConfig so that it passes the test.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglconfig.c
d4c1ee05345e1e185ac15a3cd3552d9bb0d61bc3 21-Dec-2009 Chia-I Wu <olvaffe@gmail.com> egl: Clean up the Makefile rules.

This allows libEGL to be built as a static library and removes libX11
from the dependencies.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/Makefile
897cb8950ae14ffe7029b1daf16113ff62ce0dfe 05-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Fix breakage from -fvisibility=hidden.

Mark EGL API and driver functions as PUBLIC.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglcompiler.h
ain/eglconfig.h
ain/eglconfigutil.h
ain/eglcontext.h
ain/eglcurrent.h
ain/egldisplay.h
ain/egldriver.h
ain/egllog.h
ain/eglmode.h
ain/eglscreen.h
ain/eglsurface.h
d61f07318c8678901b948fdaa8ccdf37aa3203e9 01-Jan-2010 Kristian Høgsberg <krh@bitplanet.net> Remove leftover __DRI{screen,drawable,context}Private references

As part of the DRI driver interface rewrite I merged __DRIscreenPrivate
and __DRIscreen, and likewise for __DRIdrawablePrivate and
__DRIcontextPrivate. I left typedefs in place though, to avoid renaming
all the *Private use internal to the driver. That was probably a
mistake, and it turns out a one-line find+sed combo can do the mass
rename. Better late than never.
rivers/dri/egldri.c
60cf250d4705d5005399a53ab334fbc10b4bf9c4 02-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl_glx: Add support for eglWaitClient and eglWaitNative.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/glx/egl_glx.c
7ffe64a7ae912974f9c2da43dd362cd832e2ba99 01-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl_glx: Clean up eglGetProcAddress.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/glx/egl_glx.c
a20643657723094197620976402aeec2f40a84a0 01-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl_glx: Clean up context functions.

This lifts the requirement that a context must be direct.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/glx/egl_glx.c
c407c7024495b19eec5ce978b611c7359c247f81 01-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl_glx: Clean up surface functions.

Separete Drawable and GLXDrawable. Add support for pbuffer and pixmap
surfaces on GLX <= 1.3. Remove surface binding code that will never
work.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/glx/egl_glx.c
78c3a351bc91eed49a07108682013a323d87540e 01-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl_glx: Clean up the initialization code.

Proper detection of GLX extensions. Convert fbconfigs or visuals in a
more unified way and validate the resulting configs.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/glx/egl_glx.c
326baecd757747a52b028e1f590437597776d7e6 15-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl: Correct conversion of native visual type.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglconfigutil.c
6c21c8862bc6edc9cddf3b6eb6f276961099a7a8 28-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Rework the synchronization primitives.

This adds error checking to the synchronization primitives. And
eglWaitGL is now implemented by eglWaitClient.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
ain/eglapi.h
ain/egldriver.c
ain/eglmisc.c
ain/eglmisc.h
57da499d7ba074128e8c97b8076805e403a2b9c4 15-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl: Rework eglSwapInterval.

This adds error checking to eglSwapInterval and clamps the swap
interval.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
ain/eglapi.h
ain/eglsurface.c
ain/eglsurface.h
bbfd0e26151bef567c152c8018ecc15f04c70914 15-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl: Rework error checking in eglSwapBuffers.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
aaa1253b09a6a38e7fcd695aa36e89b9d4bd8dfe 30-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Update comments about eglapi.c.

Mention that opaque handles are looked up and checked.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
61906631202af855d0742586956ff9f34522a525 30-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Rework error checking in eglGetCurrentSurface.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
8bb2485ed0e4764b8ad1f1a7f0bfe1c3f66d71bc 01-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl: Include GL header in eglconfigutil.h.

This is just a cosmetic change.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglconfigutil.h
29d115092e7b9e1436df3ce1fb7ffe183f8a9302 10-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl: Fix GLX_USE_TLS build.

Remove an extraneous semicolon.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglcurrent.c
2fc1614e7a56ab16df1b6ebbc159c58e8212d96d 01-Oct-2009 Chia-I Wu <olvaffe@gmail.com> egl: Fix eglCheckConfigHandle.

A stupid bug by me made the check void.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglconfig.c
f1c5cab5525dfcb8edffa275e7c8c3e753c7536f 29-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Improve logging facility.

Add _eglSetLogger and _eglSetLogLevel to allow drivers to change the
message logger or report level.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglglobals.c
ain/egllog.c
ain/egllog.h
310c76812e5a2013dad36fc9d1686f57e7b1e626 17-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Allow binding to any client API.

As a result, EGL_NONE is no longer a valid client API. And it is
possible that no config supports the current bound API.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
ain/eglcurrent.c
ain/eglcurrent.h
ain/eglglobals.c
ain/eglglobals.h
e787ffcd02cac9085ac69f631cce235d1cad59c9 28-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Preload a driver if eglGetProcAddress is called early.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
9061d733d3f31293c145cf3b7a0f71c1bfd31989 15-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Remove core functions from eglGetProcAddress.

eglGetProcAddress may not be used to query core (non-extension)
functions.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
5541988578054345ca70b7ed7972710396e61b44 28-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Add support for driver built-in.

This allows an EGL driver to be compiled together with libEGL.so. It
eliminates the need to specify a driver, or support module loading on
new platforms.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldriver.c
ain/egllog.c
170bd0c8827f6f65c7bfa5a7fb68ba0678ed57ba 27-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl_xdri: Report full list of supported configs.

Call _eglConfigFromContextModesRec to convert __GLcontextModes to
_EGLConfig. Single-buffered configs are no longer skipped.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/xdri/egl_xdri.c
d845f2754bb8c0677323a5922cb90f9ea42bdb1f 27-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Add support for querying render buffer.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglcontext.c
ain/eglcontext.h
55893b9439754c5213a9c182ee84f6c2554a0281 27-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Add a function to convert __GLcontextModes to _EGLConfig.

_eglConfigFromContextModesRec is used to convert a __GLcontextModes to a
_EGLConfig. Note that the config is not validated. An invalid mode
is likely to give an invalid config.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglconfigutil.c
ain/eglconfigutil.h
56822b0812cd500bd54bb7c4b573c54547efb657 25-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Rework config lookup.

Make it similiar to how contexts and surfaces are looked up. It should
be slightly faster, and work better with multiple displays.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglconfig.c
ain/eglconfig.h
ain/egldisplay.h
95cdd697e7e72cec1d0fe79c59a8ba7b8cef8571 25-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Rework configuration management.

This mainly implements the algorithms for configuration selection and
sorting, described in the spec. User errors should also be correctly
detected and reported.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglconfig.c
ain/eglconfig.h
358c5a8fd1d518930c3e87316a2c743a661ac553 25-Sep-2009 Chia-I Wu <olvaffe@gmail.com> egl: Introduce config keys.

Config keys are almost config attributes. A valid config attribute is a
valid config key, but a valid config key may not be a valid config
attribute.

This commit does not distinguish the differences.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/demo/demo.c
ain/eglconfig.c
ain/eglconfig.h
ain/eglconfigutil.h
e1d978775f982a450bd84588a4f9567d6bbccebd 26-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Remove Xdpy from EGLDisplay.

It is not used anymore.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldisplay.c
ain/egldisplay.h
f5a06fad62cd43d7854bafa60bbe6f48e8cf90af 26-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl_glx: Make fbconfigs and visuals per display.

This is to allow a driver to drive multiple displays. Remove the use of
_EGL_PLATFORM_X and obsolete code along the way.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/glx/egl_glx.c
58ac57c2b7b40b64df2a867d4b9d4e5c5bc13c47 16-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl_xdri: Revive the driver.

egl_xdri does not compile for some time. This commit revives the
driver. It no longer depends on libGL.so for GLX related functions.
Instead, it uses code from src/glx/ directly. Both DRI and DRI2 are
supported.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/xdri/Makefile
rivers/xdri/driinit.c
rivers/xdri/driinit.h
rivers/xdri/egl_xdri.c
rivers/xdri/glxinit.c
rivers/xdri/glxinit.h
b1f156f0ecc93e456757fa95497b2af9b045d4de 21-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Make _eglChooseDriver return the filename of the driver.

The real difference is that the driver suffix is now appended. This
also fixes an annoying bug that EGL_DRIVER could not specify the path to
a driver because a suffix was always appended.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldriver.c
5a459d58fca2b71cb77c39f98df8a81ce6298421 21-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Remove dependency on libX11.

libX11 is used to determine the screen number, which is in turned used
to determine the DRI driver. However, the sysfs interface for
determining the DRI driver is gone, and no working driver depends on
this mechanism.

Display string parsing is moved to a new function,
_eglSplitDisplayString.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/Makefile
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
ain/eglx.c
ain/eglx.h
408db29792a2d57409f2604974e4398a3545a38f 19-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Check for null display in handle checking.

The display may be NULL when checking a handle.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldisplay.c
ain/egldisplay.h
34d8c13bff05de200dbad70d0798519108e186f2 14-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Remove eglhash.c and eglhash.h.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/glx/egl_glx.c
ain/Makefile
ain/egldisplay.c
ain/eglhash.c
ain/eglhash.h
ain/eglsurface.c
e484a929289e859d9f8ef8028af3b0d8dc77b6d6 14-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Add back handle checking.

Handle checking was done using hash tables. Now that they are gone, we
have to loop over the lists.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldisplay.c
ain/egldisplay.h
e3734e46850c3cf9a80df32bacae92593a416c14 14-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Make lookup functions static inline.

progs/egl/demo3.c is also changed since it uses an internal function.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldisplay.c
ain/egldisplay.h
38feefdc4eb4a3c7530b9cddea4c55e9ef39aec8 14-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Remove hash table for displays.

The hash table was used to map a display to a handle. It is simpler to
cast directly.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldisplay.c
ain/egldisplay.h
ain/eglglobals.c
ain/eglglobals.h
7a9f52800932c02f5b425158b4978d0c1d2f4fd3 14-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Remove hash table for surfaces.

The hash table was used to map a surface to a handle. It is simpler to
cast directly.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldisplay.c
ain/egldisplay.h
ain/eglsurface.h
ccc2b0bc65b02d4582d52d133290c8cb046bce8f 13-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: _eglCloseDriver should be no-op.

Move drv->API.Terminate call to eglTerminate. Remove
_eglReleaseDisplayResource as drivers are doing it.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
ain/egldisplay.c
ain/egldriver.c
5a2c9372a0d9fa1efd924f9386a4e3df47c17d0e 13-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Some per-driver data should be per-display.

Move some fields of _EGLDriver to _EGLDisplay. It also becomes
unnecessary to pass _EGLDisplay to drivers when _eglMain is called.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/demo/demo.c
rivers/glx/egl_glx.c
ain/eglapi.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
ain/eglglobals.c
ain/eglglobals.h
ain/eglmisc.c
ain/eglsurface.c
ain/egltypedefs.h
0eaa02c836821556c1e8d0141f49f57e23f2548d 13-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Change the way drivers are loaded.

Driver is chosen and preloaded when eglGetDisplay is called. Later when
eglInitialize is called, the same driver is matched to initialize the
display. Also, add new, but unused, hooks to EGLDriver to allow a
driver to probe a display or unload itself.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
ain/eglglobals.c
2f2cf461c57974abd89e4917945cc8ae6a67a72e 11-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Overhaul driver API.

The motivation is so that drivers do not need to look up and check for
bad display, context, and etc. It also becomes unnecessary for drivers
to call the link functions.

This commit makes eglapi.[ch] do the lookup and check. As a result, the
driver API is overhauled, and almost all sources and drivers need
update. The updates are mainly find and replace with human brains.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/demo/demo.c
rivers/glx/egl_glx.c
ain/eglapi.c
ain/eglapi.h
ain/eglconfig.c
ain/eglconfig.h
ain/eglcontext.c
ain/eglcontext.h
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
ain/eglmisc.c
ain/eglmisc.h
ain/eglmode.c
ain/eglmode.h
ain/eglscreen.c
ain/eglscreen.h
ain/eglsurface.c
ain/eglsurface.h
64e7bb326207df559b5cebdb278f62df83cf1425 10-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Use _eglAddAtExitCall to free thread infos and displays.

Thread infos and displays are usually not freed by applications. This
commit add atexit calls to free them.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglcurrent.c
ain/egldisplay.c
435c7ac24d8d6f8ddae59f4b66983d7642250d1e 10-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Add _eglAddAtExitCall.

Add a convenient wrapper to register atexit calls. Add mutex to
_eglGlobal along the way.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglglobals.c
ain/eglglobals.h
0e3687e33dd482115c1a0e39c50b424936cb05a6 10-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Make _eglGlobal initialize statically.

Now that display and surface hash tables are moved out, _eglGlobal can
be initialized statically.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
ain/eglglobals.c
ain/eglglobals.h
413969a92052c019bcf3c5bf48cf564613eba598 10-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Implement _eglFiniDisplay.

_eglFiniDisplay is called at exit time to free allocated displays. It
is, however, not used right now.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldisplay.c
621801abd287238f9a3209554bc84fec5d2e9ccd 10-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Make display and surface hash tables local.

Move display and surface hash tables to egldisplay.c, and have them
initialized on demand.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldisplay.c
ain/egldisplay.h
ain/eglglobals.c
ain/eglglobals.h
56d2119280a202b7714821bc324b07df4b36d559 09-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Initialize current thread management on demand.

Current thread management was initialized in _eglInitGlobals, which is
called only in eglGetDisplay. Since EGL does not require eglGetDisplay
to be called first, the initialization is better to be done on demand.

_eglFiniCurrent is removed, as it is not called at all.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglcurrent.c
ain/eglcurrent.h
ain/eglglobals.c
f6c2f5e37925abe3ea7036b7a3bd6ca1721e4f73 09-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Destroy eglThreadInfo on thread exit.

This is done through pthread TSD destructor. It destroys all thread
infos except for main thread's. The thread info of the main thread is
destroyed by _eglFiniCurrent.

TLS case is not supported yet.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglcurrent.c
e79d21ca1f11e5b584db0930eb0cf49869b0e77d 10-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Add eglmutex.h.

The implementation uses pthread mutex when available. Otherwise, it is
no-op.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/Makefile
ain/eglmutex.h
11038989c197e92454ec0dd14e32acec6030e6b7 09-Aug-2009 Pauli Nieminen <suokkos@gmail.com> egl: Add depend and depend.bak to clean target

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
rivers/dri/Makefile
ain/Makefile
8a130a65aa7b0695c7d220f4ad6317ba1f64c6a6 03-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Correct the default values of surface attributes.

EGL_TEXTURE_FORMAT and EGL_TEXTURE_TARGET should default to
EGL_NO_TEXTURE.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglsurface.c
8cdc6c66f9d8ede00d02108070d269d3aca8b130 03-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Make eglMakeCurrent more robust.

Now that a current surface points back to its binding context, and a
current context points back to its binding thread, make sure there is no
dangling pointers. This commit reworks eglMakeCurrent, adds more checks
to avoid stealing context or surfaces from another thread, and correctly
destroys unlinked context and surfaces.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglcontext.c
07ee01365a8bddf6f50821ecd585784498a25ff0 03-Aug-2009 Chia-I Wu <olvaffe@gmail.com> egl: Replace IsBound by a pointer to the binding.

IsBound tells if a context or surface is current. What it does not tell
is, to which thread a context is current, or to which context a surface
is current. This commit replaces IsBound by a pointer to the binding
thread or context.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/demo/demo.c
rivers/dri/egldri.c
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
ain/eglcontext.c
ain/eglcontext.h
ain/eglsurface.c
ain/eglsurface.h
dc516d6e2afe7f157dbe5aad1288e5624b27e093 31-Jul-2009 Chia-Wu <olvaffe@gmail.com> egl: Silence warnings on x86-64.

Casting an unsigned int to or from a pointer directly gives warnings on
x86-64. Add wrappers to silence the warnings.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglcompiler.h
ain/eglconfig.c
ain/egldisplay.c
ain/egldisplay.h
a744a496d5280ebcd3225debdb2f82589486f89a 28-Jul-2009 Chia-I Wu <olvaffe@gmail.com> egl: Comment out unused tables in_eglFillInConfigs

This silences a compiler warning.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglconfigutil.c
5358e54d1ae64ccfa81199b343a2931b415fcc0a 20-Jul-2009 Peter Hutterer <peter.hutterer@who-t.net> Add missing X11_INCLUDES to egl/drivers/demo and egl/main.

Compiling mesa on a system with no X headers installed in the default
include paths fails due to missing X11 includes. The header includes are
picked up by configure but not applied.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
rivers/demo/Makefile
ain/Makefile
40fd1019195681e3b94f5878b57190f3ae7d8e0e 17-Jul-2009 Brian Paul <brianp@vmware.com> egl: commit missing eglcurrent.[ch] files

Not sure how these got left out from earlier commit.
ain/eglcurrent.c
ain/eglcurrent.h
15fdbc8361d0b865aea5e2f374b471081ed4214a 17-Jul-2009 Chia-I Wu <olvaffe@gmail.com> egl: Remove redundant DeletePending flag.

A context or surface that is neither linked to a display nor current to
a thread should be destroyed. Therefore, an unlinked context or surface
implies a pending delete automatically.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/demo/demo.c
rivers/dri/egldri.c
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
ain/eglcontext.c
ain/eglcontext.h
ain/egldisplay.h
ain/eglsurface.c
ain/eglsurface.h
3f7e0d5302ed0fadd794a41af6e476d2c408adc7 17-Jul-2009 Chia-I Wu <olvaffe@gmail.com> egl: Destroy display's resources upon termination.

eglTerminate should destroy the contexts and surfaces of the display.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
be9d1ab171b1b29108c781af84dd500707a12925 17-Jul-2009 Chia-I Wu <olvaffe@gmail.com> egl: Return the same EGL Display for the same native display.

The latest revision of the spec explicitly requires the same handle to
be returned for the same native display.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
ain/egldisplay.c
ain/egldisplay.h
cca31340b5a9c0b941946753a31236c7201ca87c 17-Jul-2009 Chia-I Wu <olvaffe@gmail.com> egl: Use the link functions to manage resources.

This commit uses the newly introduced link functions to manage EGL
contexts and surfaces. As a result of this, the API for drivers are
changed. All drivers are updated for the change.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
rivers/demo/demo.c
rivers/dri/egldri.c
rivers/glx/egl_glx.c
rivers/xdri/egl_xdri.c
ain/eglcontext.c
ain/eglcontext.h
ain/eglglobals.h
ain/eglscreen.c
ain/eglsurface.c
ain/eglsurface.h
18457cb263e3e062e12314e7b3d5c81a7f2ba048 17-Jul-2009 Chia-I Wu <olvaffe@gmail.com> egl: Add funtions to link contexts and surfaces to displays.

EGL contexts and surfaces are resources of displays. They should be
managed by displays. This commit adds a bunch of functions to
egldisplay.c to help establish the links between contexts/surfaces and
displays. How links are established is considered opaque outside
display. Functions like _eglGetSurfaceHandle or _eglLookupSurface are
therefore moved to egldisplay.c, with some small modifications.

The idea is also extended to display. That is, displays need to link to
themselves to be looked up.

This commit only adds the functions. A commit to use them should
follow.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
ain/eglcontext.c
ain/eglcontext.h
ain/egldisplay.c
ain/egldisplay.h
ain/eglsurface.c
ain/eglsurface.h
21b635ffa8b59049a95d50d4c7b7a8ff6413b730 17-Jul-2009 Chia-I Wu <olvaffe@gmail.com> egl: Extend per-thread info for multiple current contexts.

EGL allows multiple current contexts, as long as they are bound to
different client APIs.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/eglapi.c
ain/eglcontext.c
75da80b29556e6dbbba21e5297ca440e475f65cb 17-Jul-2009 Chia-I Wu <olvaffe@gmail.com> egl: Support per-thread info.

This commit introduces a "current" system to manage per-thread info. It
uses TLS, if GLX_USE_TLS is defined, or pthread, if PTHREADS is defined.
If none of them are defined, it uses a dummy implementation that is just
like before.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
ain/Makefile
ain/eglapi.c
ain/eglcontext.c
ain/eglcontext.h
ain/egldisplay.c
ain/egldisplay.h
ain/eglglobals.c
ain/eglglobals.h
ain/eglsurface.c
ain/eglsurface.h
8e92ec9fdd58bdfcdef65a995988974d3266b9ad 17-Jul-2009 Chia-I Wu <olvaffe@gmail.com> egl: Add eglcompiler.h for compiler features.

Only INLINE (from mesa/main/compiler.h) is defined now. It may be used
to deal with symbol visibility and int/pointer conversion in the future.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ain/Makefile
ain/eglcompiler.h
ain/egltypedefs.h
bc302b2a33ceffe454bcf443daa0ac1edc118e9b 22-May-2009 Dan Nicholson <dbn.lists@gmail.com> Use separate $(MINSTALL) for installing libraries

The special feature of bin/minstall to copy symlinks is only ever needed
when installing libraries which may have .so symlinks. All the headers
and directories can use a normal install program.

These two modes are separated as $(INSTALL) and $(MINSTALL) to allow the
user (or autoconf) to override installing normal files as they please.
An autoconf check for the install program has been added and will be
used in preference to minstall when available.

Fixes bug 16053.
rivers/dri/Makefile
rivers/glx/Makefile
rivers/xdri/Makefile
ain/Makefile
cc68cd20d9fbb87486eb69a50fa14a3d6b9c6798 30-Apr-2009 Dan Nicholson <dbn.lists@gmail.com> egl: Don't install demodriver

I don't think anyone besides a developer would ever want to use the demo
egl driver. Furthermore, egl would only ever load demodriver if it was
set via EGL_DRIVER in the environment. In that case, I think you can
point it to your mesa source directory.
rivers/demo/Makefile
7571d5d3b013e544a9fbde91e4aec05e0b13b4cb 17-Apr-2009 Alan Coopersmith <alan.coopersmith@sun.com> egl/main/Makefile: Add dependency of install target on default build target

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
ain/Makefile
c97e5e1fc157ca5876241ee16c520d924535b4f0 26-Mar-2009 Carl-Johan Kjellander <carljohan@kjellander.com> egl: Fix newline typo in Makefiles
rivers/dri/Makefile
rivers/glx/Makefile
rivers/xdri/Makefile
66b0b200ee53fe342466513640deef55619cab17 25-Mar-2009 Brian Paul <brianp@vmware.com> egl: don't use __FUNCTION__ in error messages
ain/eglconfigutil.c
a57d7edf069d1d161a45825021a7cf4d825fb88f 19-Mar-2009 Alan Hourihane <alanh@vmware.com> egl: fix comment
rivers/glx/egl_glx.c
9ed03af8c0a8e6af54e827f15778d8b567492c89 19-Mar-2009 Alan Hourihane <alanh@vmware.com> egl: try harder for eglGetProcAddress()
rivers/glx/egl_glx.c
c34c78b85381ced8bfa9f16faba9a5e9e6bf2a3a 25-Feb-2009 Brian Paul <brianp@vmware.com> egl: use new EGL_LIB_DEPS to pass library dependencies to mklib when building libEGL

EGL_LIB_DEPS may need fine-tuning for some platforms. It's only defined
in configs/default ATM.
ain/Makefile
9c0dea10e91752d5f43ed5ef9eac53248e5a05eb 25-Feb-2009 Benjamin Close <Benjamin.Close@clearchain.com> egl: Use -dlopen rather than -dl which is non portable

Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
ain/Makefile
526e8451455d43c815828e7dd319defcd518631f 19-Feb-2009 Alan Hourihane <alanh@vmware.com> egl: glx updates for FBconfigs
rivers/glx/egl_glx.c
b57c9fd83f23d011765b6c68bce090c9a5458886 19-Feb-2009 Alan Hourihane <alanh@vmware.com> egl: if a surface type isn't defined let's default to EGL_WINDOW_BIT
ain/eglconfig.c
44054aca36580440f956f0cbcdd5f31de8e3a7e2 19-Feb-2009 Alan Hourihane <alanh@vmware.com> egl: error checking
rivers/glx/egl_glx.c
1e81855566b8c9957b39ee4612cec24bea591785 11-Feb-2009 Johannes Engel <jcnengel@googlemail.com> Add install target for egl

Signed-off-by: Johannes Engel <jcnengel@googlemail.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
akefile
rivers/Makefile
rivers/demo/Makefile
rivers/dri/Makefile
rivers/glx/Makefile
rivers/xdri/Makefile
ain/Makefile
3ef419f4a5d0c5bb6720196ae6cfe3002d4aabc8 14-Jan-2009 Alan Hourihane <alanh@vmware.com> egl: fix makecurrent with null drawable/context
rivers/glx/egl_glx.c
53ce80e7cc466efae349e3a83007345bd299acd6 23-Dec-2008 Alan Hourihane <alanh@vmware.com> egl: fix egl closure
rivers/glx/egl_glx.c
04ef91af8bf77b483249719ddc02839acd192f42 23-Dec-2008 Alan Hourihane <alanh@vmware.com> egl: fix startup query version
rivers/glx/egl_glx.c
90039225935a817ee6004dfabc8f5c404affc726 23-Dec-2008 Alan Hourihane <alanh@vmware.com> egl: support GLXFBConfigs, pbuffers and pixmaps.
rivers/glx/egl_glx.c
7eacd11bf1743d47f07c2edd86507172d84b35fc 27-Oct-2008 Alan Hourihane <alanh@tungstengraphics.com> disable OPENGL_BIT
rivers/glx/egl_glx.c
2cb213ff233ccd566e716aece45da78daa7d015a 26-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: check for null ptr/name
rivers/xdri/egl_xdri.c
5b60d6d07b79124499a1d75a2830cf2e5949d1ad 26-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: remove space after -L flag
rivers/xdri/Makefile
e9c722b660ee8fc0aa73335d447f1dd8bced6fe2 26-Sep-2008 Alan Hourihane <alanh@tungstengraphics.com> st: change from ** to * for st_unreference_framebuffer()
rivers/xdri/egl_xdri.c
bb6a69d1696cacf828a3de21bc57678c0e4aa54a 26-Sep-2008 Alan Hourihane <alanh@tungstengraphics.com> egl: cleanup doublebuffer check
rivers/glx/egl_glx.c
cc6bdf49ca19c08d0c7134d2cd881b9c166cdc8a 26-Sep-2008 Alan Hourihane <alanh@tungstengraphics.com> egl: switch to egl_glx.so as the default EGL driver for X.
ain/eglx.c
192f45606a7c388862112b8d53a5983fb125fee3 26-Sep-2008 Alan Hourihane <alanh@tungstengraphics.com> egl: fudge with LIBGL_DRIVERS_PATH to pick up EGL specific DRI driver.
rivers/glx/egl_glx.c
8015f3ae3b96d93e8b1338b8254bcbead45bb91a 26-Sep-2008 Alan Hourihane <alanh@tungstengraphics.com> egl: Add new EGL driver that wraps GLX.
rivers/glx/Makefile
rivers/glx/egl_glx.c
9644fa6c48f596875f6955728c3a8af1b01a5028 21-Sep-2008 Keith Whitwell <keith@tungstengraphics.com> Merge branch 'master' into gallium-0.2

Conflicts:

include/GLES/egl.h
include/GLES/egltypes.h
src/egl/main/eglconfig.c
src/egl/main/eglconfig.h
src/glu/sgi/libnurbs/interface/bezierEval.h
src/glu/sgi/libnurbs/interface/bezierPatch.h
src/glu/sgi/libnurbs/interface/bezierPatchMesh.h
src/glu/sgi/libnurbs/internals/dataTransform.h
src/glu/sgi/libnurbs/internals/displaymode.h
src/glu/sgi/libnurbs/internals/sorter.h
src/glu/sgi/libnurbs/nurbtess/definitions.h
src/glu/sgi/libnurbs/nurbtess/directedLine.h
src/glu/sgi/libnurbs/nurbtess/gridWrap.h
src/glu/sgi/libnurbs/nurbtess/monoChain.h
src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h
src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h
src/glu/sgi/libnurbs/nurbtess/partitionX.h
src/glu/sgi/libnurbs/nurbtess/partitionY.h
src/glu/sgi/libnurbs/nurbtess/polyDBG.h
src/glu/sgi/libnurbs/nurbtess/polyUtil.h
src/glu/sgi/libnurbs/nurbtess/primitiveStream.h
src/glu/sgi/libnurbs/nurbtess/quicksort.h
src/glu/sgi/libnurbs/nurbtess/rectBlock.h
src/glu/sgi/libnurbs/nurbtess/sampleComp.h
src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h
src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h
src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h
src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h
src/glu/sgi/libnurbs/nurbtess/sampledLine.h
src/glu/sgi/libnurbs/nurbtess/searchTree.h
src/glu/sgi/libnurbs/nurbtess/zlassert.h
src/glu/sgi/libutil/error.c
src/glu/sgi/libutil/glue.c
src/glu/sgi/libutil/gluint.h
src/glu/sgi/libutil/project.c
src/glu/sgi/libutil/registry.c
src/glx/x11/Makefile
src/glx/x11/glxclient.h
src/glx/x11/glxext.c
src/mesa/drivers/dri/ffb/ffb_dd.h
src/mesa/drivers/dri/ffb/ffb_points.h
src/mesa/drivers/dri/gamma/gamma_context.h
src/mesa/drivers/dri/gamma/gamma_macros.h
src/mesa/drivers/dri/i810/i810context.h
src/mesa/drivers/dri/r128/r128_dd.h
src/mesa/drivers/dri/r128/r128_tex.h
src/mesa/drivers/dri/tdfx/tdfx_dd.h
src/mesa/drivers/x11/xm_buffer.c
src/mesa/glapi/glapi.c
src/mesa/main/dispatch.c
src/mesa/main/state.c
src/mesa/main/texstate.c
src/mesa/shader/arbprogparse.c
src/mesa/shader/arbprogram.c
src/mesa/shader/nvfragparse.c
src/mesa/shader/nvprogram.c
src/mesa/shader/shader_api.c
src/mesa/sources
src/mesa/swrast/s_aaline.c
src/mesa/swrast/s_aaline.h
src/mesa/swrast/s_aatriangle.h
src/mesa/swrast/s_accum.c
src/mesa/swrast/s_alpha.h
src/mesa/swrast/s_bitmap.c
src/mesa/swrast/s_blend.h
src/mesa/swrast/s_context.c
src/mesa/swrast/s_copypix.c
src/mesa/swrast/s_depth.c
src/mesa/swrast/s_depth.h
src/mesa/swrast/s_drawpix.c
src/mesa/swrast/s_drawpix.h
src/mesa/swrast/s_feedback.c
src/mesa/swrast/s_feedback.h
src/mesa/swrast/s_fog.h
src/mesa/swrast/s_lines.h
src/mesa/swrast/s_logic.h
src/mesa/swrast/s_masking.h
src/mesa/swrast/s_points.c
src/mesa/swrast/s_points.h
src/mesa/swrast/s_readpix.c
src/mesa/swrast/s_span.c
src/mesa/swrast/s_span.h
src/mesa/swrast/s_stencil.h
src/mesa/swrast/s_texcombine.c
src/mesa/swrast/s_texcombine.h
src/mesa/swrast/s_texfilter.c
src/mesa/swrast/s_texfilter.h
src/mesa/swrast/s_texstore.c
src/mesa/swrast/s_triangle.c
src/mesa/swrast/s_triangle.h
src/mesa/swrast/s_zoom.h
src/mesa/swrast_setup/ss_context.c
src/mesa/swrast_setup/ss_triangle.h
src/mesa/tnl/t_draw.c
src/mesa/tnl/t_vb_light.c
src/mesa/tnl/t_vertex_generic.c
src/mesa/tnl/t_vertex_sse.c
src/mesa/tnl/t_vp_build.h
src/mesa/tnl/tnl.h
src/mesa/x86/common_x86.c
5a46e176715b0eae7b8a715e8aec42f5a27214fc 20-Sep-2008 Keith Whitwell <keith@tungstengraphics.com> mesa: standardize on C99's uint*_t instead of u_int*_t
ain/eglconfig.c
ain/eglconfig.h
176c454765b88c71d8b1ef474bc0fd53cb253a08 12-Sep-2008 Keith Whitwell <keith@tungstengraphics.com> Merge commit 'origin/gallium-0.1' into gallium-0.2

Conflicts:

progs/fp/Makefile
7d3d5fb7a57d01c99645f30189244287260239f0 21-Aug-2008 Dima Zavin <dmitriyz@google.com> egl_xdri: Add the top-level lib dir so we link against the libGL we built.
rivers/xdri/Makefile
912488a8d016834349273acac88be85a6afadcc0 21-Aug-2008 Dima Zavin <dmitriyz@google.com> egl_dri/egl_xdri: Makefiles should use pkg-config to find libdrm.
rivers/dri/Makefile
rivers/xdri/Makefile
cc7dd4fc1b3c765ca1ecd943d189bb156dae529d 11-Sep-2008 Keith Whitwell <keith@tungstengraphics.com> Merge commit 'origin/gallium-0.1' into gallium-0.2

Conflicts:

Makefile
progs/demos/Makefile
progs/glsl/Makefile
progs/redbook/Makefile
progs/samples/Makefile
progs/tests/Makefile
progs/trivial/Makefile
progs/xdemos/Makefile
src/gallium/Makefile
src/mesa/main/attrib.c
src/mesa/main/bufferobj.c
src/mesa/vbo/vbo_exec_draw.c
0397b2bb41b0f337af2949a15bcd7d0e7e8a7dc1 11-Sep-2008 Keith Whitwell <keith@tungstengraphics.com> Merge branch 'gallium-0.1' into gallium-0.2

A first attempt at moving gallium onto a branch directly off master...

It will be interesting to see how much work this takes to get running.

Have resolved the conflicts semi-arbitarily, not compiled or tested.

Conflicts:

.gitignore
Makefile
configs/config.mgw
configs/darwin
configs/darwin-x86ppc
configs/default
configs/freebsd-dri
configs/linux-dri
configs/linux-dri-xcb
configs/linux-fbdev
configs/linux-static
configs/linux-x86-64-static
configs/linux-x86-static
doxygen/Makefile
include/GL/gl.h
progs/demos/Makefile
progs/demos/descrip.mms
progs/demos/texenv.c
progs/egl/.gitignore
progs/egl/Makefile
progs/glsl/.gitignore
progs/glsl/Makefile
progs/glsl/convolutions.c
progs/samples/Makefile.mgw
progs/tests/.gitignore
progs/trivial/.gitignore
progs/trivial/point-param.c
progs/trivial/tri.c
progs/xdemos/.gitignore
progs/xdemos/glthreads.c
src/egl/drivers/demo/Makefile
src/egl/drivers/dri/Makefile
src/egl/main/Makefile
src/glu/Makefile
src/glu/sgi/Makefile
src/glu/sgi/Makefile.mgw
src/glut/glx/Makefile.mgw
src/glut/os2/WarpWin.cpp
src/glut/os2/glut_cindex.cpp
src/glut/os2/glut_gamemode.cpp
src/glut/os2/glut_win.cpp
src/glut/os2/glut_winmisc.cpp
src/glut/os2/os2_glx.cpp
src/glut/os2/os2_menu.cpp
src/glut/os2/os2_winproc.cpp
src/glw/Makefile
src/glx/x11/dri_glx.c
src/glx/x11/glxext.c
src/mesa/Makefile
src/mesa/Makefile.mgw
src/mesa/descrip.mms
src/mesa/drivers/beos/Makefile
src/mesa/drivers/common/descrip.mms
src/mesa/drivers/common/driverfuncs.c
src/mesa/drivers/directfb/Makefile
src/mesa/drivers/dri/Makefile.template
src/mesa/drivers/dri/common/dri_bufmgr.c
src/mesa/drivers/dri/common/dri_bufmgr.h
src/mesa/drivers/dri/common/dri_util.c
src/mesa/drivers/dri/common/extension_helper.h
src/mesa/drivers/dri/common/mmio.h
src/mesa/drivers/dri/common/utils.c
src/mesa/drivers/dri/common/utils.h
src/mesa/drivers/dri/glcore/Makefile
src/mesa/drivers/dri/i810/i810screen.c
src/mesa/drivers/dri/i915/intel_ioctl.c
src/mesa/drivers/dri/i915/intel_ioctl.h
src/mesa/drivers/dri/i915/intel_screen.c
src/mesa/drivers/dri/i915/server/i830_common.h
src/mesa/drivers/dri/i915/server/i830_dri.h
src/mesa/drivers/dri/i965/intel_screen.c
src/mesa/drivers/dri/i965/server/i830_common.h
src/mesa/drivers/dri/i965/server/i830_dri.h
src/mesa/drivers/dri/mach64/mach64_screen.c
src/mesa/drivers/dri/nouveau/nouveau_context.h
src/mesa/drivers/dri/nouveau/nouveau_fifo.c
src/mesa/drivers/dri/nouveau/nouveau_fifo.h
src/mesa/drivers/dri/nouveau/nouveau_screen.c
src/mesa/drivers/dri/nouveau/nouveau_screen.h
src/mesa/drivers/dri/r128/r128_tex.h
src/mesa/drivers/dri/savage/savageioctl.h
src/mesa/drivers/fbdev/Makefile
src/mesa/drivers/osmesa/Makefile
src/mesa/drivers/osmesa/descrip.mms
src/mesa/drivers/x11/Makefile
src/mesa/drivers/x11/descrip.mms
src/mesa/drivers/x11/xm_dd.c
src/mesa/glapi/glapi.c
src/mesa/glapi/glthread.c
src/mesa/main/api_validate.c
src/mesa/main/attrib.c
src/mesa/main/bufferobj.c
src/mesa/main/bufferobj.h
src/mesa/main/buffers.c
src/mesa/main/config.h
src/mesa/main/context.c
src/mesa/main/descrip.mms
src/mesa/main/drawpix.c
src/mesa/main/enums.c
src/mesa/main/fbobject.c
src/mesa/main/glheader.h
src/mesa/main/imports.c
src/mesa/main/mipmap.c
src/mesa/main/mm.c
src/mesa/main/mm.h
src/mesa/main/mtypes.h
src/mesa/main/points.c
src/mesa/main/sources
src/mesa/main/state.c
src/mesa/main/texcompress_fxt1.c
src/mesa/main/texenvprogram.c
src/mesa/main/texobj.c
src/mesa/main/texstate.c
src/mesa/main/texstore.c
src/mesa/math/descrip.mms
src/mesa/shader/arbprogram.c
src/mesa/shader/descrip.mms
src/mesa/shader/prog_execute.c
src/mesa/shader/prog_statevars.c
src/mesa/shader/prog_statevars.h
src/mesa/shader/prog_uniform.c
src/mesa/shader/program.c
src/mesa/shader/program.h
src/mesa/shader/shader_api.c
src/mesa/shader/slang/descrip.mms
src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
src/mesa/sources
src/mesa/swrast/descrip.mms
src/mesa/swrast/s_drawpix.c
src/mesa/swrast/s_fragprog.c
src/mesa/swrast/s_readpix.c
src/mesa/swrast/s_span.c
src/mesa/swrast_setup/descrip.mms
src/mesa/tnl/descrip.mms
src/mesa/tnl/t_context.h
src/mesa/tnl/t_vp_build.c
src/mesa/tnl/tnl.h
src/mesa/vbo/descrip.mms
src/mesa/vbo/vbo_context.c
src/mesa/vbo/vbo_exec_array.c
src/mesa/x86-64/xform4.S
src/mesa/x86/rtasm/x86sse.c
src/mesa/x86/rtasm/x86sse.h
windows/VC6/progs/glut/glut.dsp
windows/VC7/mesa/gdi/gdi.vcproj
windows/VC7/mesa/glu/glu.vcproj
windows/VC7/mesa/mesa.sln
windows/VC7/mesa/mesa/mesa.vcproj
windows/VC7/mesa/osmesa/osmesa.vcproj
windows/VC7/progs/glut/glut.vcproj
windows/VC8/mesa/gdi/gdi.vcproj
windows/VC8/mesa/glu/glu.vcproj
windows/VC8/mesa/mesa.sln
windows/VC8/mesa/mesa/mesa.vcproj
windows/VC8/progs/glut/glut.vcproj
102529cf1b6ab860d47e92a0bb58a0dce8b31cbc 01-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: CreatePbufferSurface, Bind/ReleaseTexImage functions
rivers/xdri/egl_xdri.c
b36f90657370296b45c27d33d60c89fa31dc1d76 01-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: additional error checking in _eglBind/ReleaseTexImage()
ain/eglsurface.c
ain/eglsurface.h
c5f0fd95a43db4c69decd0fa54dc9eb2b2525690 28-Aug-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: free display ext data in xdri_eglTerminate().
rivers/xdri/egl_xdri.c
a88de345cd2e8d79de5f5da36223b1db6adf1b3e 19-Aug-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: don't put the example/demo driver in the lib/ dir
rivers/demo/Makefile
bd953fdd549310638b6960f358b31a40c05ca680 07-Aug-2008 Jonathan White <jwhite@tungstengraphics.com> egl: fixes for Windows
ain/egldriver.c
ain/egllog.c
7e2458c7b55b2662067d8cce8a962d8c2bbd3a43 06-Aug-2008 Jonathan White <jwhite@tungstengraphics.com> egl: fix version handling
ain/eglapi.c
ab0d13dd60c707f2c414fa9fe8e489a9e24a8aee 06-Aug-2008 Jonathan White <jwhite@tungstengraphics.com> egl: changes for Windows
ain/egldriver.c
2eb4f86785ac7e4002904384b7ad0517e0bd6999 05-Aug-2008 Jonathan White <jwhite@tungstengraphics.com> egl: don't include stdint.h on Windows
ain/eglconfigutil.h
655ca5afad5f5d79f0ad60b5aa7fcafd35e97b62 05-Aug-2008 Jonathan White <jwhite@tungstengraphics.com> egl: fix _eglGlobal initialization for Windows
ain/eglglobals.c
26df49cd7a67aa9dc26e9cf271d6ed121f08f95d 16-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: set EGL_SAMPLES, EGL_SAMPLE_BUFFERS config attribs
rivers/xdri/egl_xdri.c
e7fd3de9277a0c5efe52966908da8e4e7f1995ee 14-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: set EGL_CONFORMANT, EGL_RENDERABLE_TYPE config fields, fix null ptr crashes in MakeCurrent
rivers/xdri/egl_xdri.c
e59086ab91281cafcae094164bf4d8454df337ae 13-Jul-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> EGL: Only build EGL dri based drivers under linux-dri based configs
rivers/Makefile
3b8081603bf846285e56a6ecafaf182935fd8733 12-Jul-2008 Dan Nicholson <dbn.lists@gmail.com> Always pass -linker and -ldflags to mklib for shared libraries

This just makes the use of mklib more consistent throughout Mesa where
we always want to pass the linker and LDFLAGS when we might be making a
shared library.
rivers/demo/Makefile
rivers/dri/Makefile
ain/Makefile
db072baaaf6adcd176ea7e4d67b77177de7eca31 11-Jul-2008 Dan Nicholson <dbn.lists@gmail.com> Call mklib with $(SHELL) so the user controls the interpreter

Respect the user's choice of shell when running mklib rather than always
using /bin/sh.
rivers/demo/Makefile
rivers/dri/Makefile
ain/Makefile
80b24166a51f26e7bb341a731ceeb4f85c6cc4cf 11-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: a minor overhauld of egl_xdri.c

Rely more on the libGL code to avoid duplicated efforts. Also fix confusion
arising from multiple __DRIscreen objects.
rivers/xdri/egl_xdri.c
7986baf7cf5434c0ff8210eedd0be366ab5e8f14 10-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> build egl subdirs
rivers/Makefile
b101890c150d2ba17a42f5164f0de86914b9b28b 10-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: add all EGL_*_BITs to ClientAPIsMask
rivers/xdri/egl_xdri.c
fb3867aec018ba0c0aa548db541236528400d934 10-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: implement xdri_eglGetProcAddress() for gallium

Plus comments, clean-ups.
rivers/xdri/egl_xdri.c
e3b13dba4df0522cce11c55c34a9e3e7d0f3a32c 09-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: link libEGL w/ additional libs
rivers/xdri/Makefile
70b0a949b0af9954359be452febaa44f08052056 09-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: misc updates/fixes

Set surface size when created.
Implement dri_find_dri_screen().
Look for "egl_xxx_dri.so" library before regular DRI driver.
rivers/xdri/egl_xdri.c
de71e4741d8b4e3719e702431912374f1cb90034 07-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: bump up MAX_ATTRIBS, added assertion
ain/eglconfig.h
28f3d390ddf87f796a9a9f3dc28b0b05c19e40fa 03-Jul-2008 Jakob Bornecrantz <jakob@aurora.(none)> egl: Fix demodriver
rivers/demo/demo.c
8f91a83669b8626678eb38fbbdd304c72243b6fe 29-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: fix default value of EGL_SURFACE_TYPE, added some sanity check assertions
ain/eglconfig.c
a1fb565ea7ac9f86beb4deece6a24d79e7b7860e 26-Jun-2008 Robert Ellison <papillo@tungstengraphics.com> egl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to work correctly with GLES1 and GLES2.

- egl_xdri.c just sets the EGL_OPENGL_ES_BIT as well as the
EGL_OPENGL_BIT in ClientAPIsMask

- eglconfig.c allows the renderable type to include EGL_OPENGL_ES2_BIT
as well as EGL_OPENGL_ES_BIT.

- egl_xlib.c sets the EGL_NATIVE_RENDERABLE attribute to EGL_FALSE for
all softpipe configurations. (Otherwise, an eglChooseConfig() that
looks for particular values of EGL_NATIVE_RENDERABLE will fail.)
rivers/xdri/egl_xdri.c
ain/eglconfig.c
72edcd171190f1d358abeb485582c87c104f5add 24-Jun-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> egl: Stdint was missing from eglconfigutil.h
ain/eglconfigutil.h
0d947674305a349662b3ab57733c54f9f4c1a8b3 24-Jun-2008 José Fonseca <jrfonseca@tungstengraphics.com> egl: Use standard integer types.
ain/eglconfigutil.c
ain/eglconfigutil.h
677151ad71d7f0792fb79597e972e2cad2cfc7d4 20-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: added null ptr check
ain/egldisplay.c
fbd6e86b8f3c9bdeae7581d8d852b4df66e4b42c 20-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: implment EGL_LARGEST_PBUFFER query
ain/egldriver.h
ain/eglsurface.c
8a75d109531755358708de5381eb912b7e2bf69c 20-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: added null ptr check
ain/eglconfig.c
cae4444fa179c9ed556f1d1d207967b4e72736e2 20-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: default API should be ES
ain/eglglobals.c
9f6a4e2a65ff872bc27e7081df7d6205393a1180 20-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: fix assorted context-related bugs

Move memset() to proper place.
Added EGL_CONTEXT_CLIENT_VERSION query.
Fix bad return EGL_FALSE -> EGL_TRUE.
ain/eglcontext.c
a8533d54930f8fa989036c197ad20b0778ec0cac 20-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: clean up prototype code, new _eglFindAPIs() function.
ain/eglcontext.c
ain/egldriver.c
ain/egldriver.h
ain/eglmisc.c
a668b43568b99170e354c7e7cbb393e633765ec4 18-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: use RTLD_LAZY
ain/egldriver.c
be16f04e76be28dd0bab039b21b63ce0752de336 13-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: added a debug msg
rivers/xdri/egl_xdri.c
f61923441f94439b9ca3c4304ce74fe4e13a14b4 12-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: some basic docs for libEGL
ain/README.txt
6b389b5c2facc431af0ffb21e3a9bcd532765367 11-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: some prototype Windows code (eq for dlopen,dlsym)
ain/egldriver.c
e9b6ed395a69be90cbf1e2481a9da6fa4079e88e 11-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: only windows are renderable at this time
rivers/xdri/egl_xdri.c
b9c5b0bc4b0abbe12770824371c173ad1e8d1046 11-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: some prototype API detection code
ain/eglmisc.c
6420a62cf0f5812708a4c649691ba62c573eaced 09-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: s/softpipe_egl.so/egl_softpipe.so/
ain/eglx.c
50d59c8be1e409f0f96ba5c59d74eb5ff8c35b6a 09-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: choose between DRI and softpipe drivers
ain/eglx.c
f374734d61011acc2d7b4e5f390d806603a833bd 06-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: improved Makefile
rivers/Makefile
8dafe470fc29cada5f3beab114e2be19fd01dabe 06-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: EGL->DRI adaptor/driver

Allows regular DRI drivers to work with libEGL.
rivers/xdri/Makefile
rivers/xdri/egl_xdri.c
47ddcd2a7144ea456fcd52b9470e4e41b878af48 06-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: make _eglChooseDRMDriver() non-static
ain/egldriver.c
ain/egldriver.h
f6e030f531f7292a373a7cd633e8af9f97726266 06-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: change default logging level to _EGL_WARNING
ain/egllog.c
3b28aab1614bb22ca12ce7ebd5aa5ff0d87309ec 05-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: updated SUBDIRS
akefile
d5cf57de2de9692e9dc194bea1bbf8abfd446770 05-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: new src/egl/drivers/Makefile
rivers/Makefile
f6bb2f87b96bd05661020cf8e73e80f5ef25353a 04-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: minor tweaks
rivers/dri/egldri.c
97035cb19aaf508aad45446651a80da9af1d0e8c 04-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: in _eglAddConfig() just save a pointer to the config; don't copy the config

This allows subclassing by drivers.
ain/eglconfig.c
ain/eglconfig.h
ain/egldisplay.c
ain/egldisplay.h
19ca6ce573b409346a397453e7d4fa43a0f98368 04-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: updated include paths (s/GLES/EGL/)
ain/egltypedefs.h
e3805cad0d15ed25ce8f6c5a1f1ea913e5d0986a 30-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: new eglGetProcAddress() code

The idea is to pass the call down to the device driver where an API-specific
query can be made. Untested.
ain/eglapi.c
ain/eglapi.h
ain/egldriver.c
ain/egldriver.h
ain/eglglobals.h
ain/egltypedefs.h
d5078b94323241a6482f54797756116b1c864327 30-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: clean-up re-org of the client API state
ain/eglapi.c
ain/eglcontext.c
ain/eglcontext.h
ain/egldriver.c
ain/egldriver.h
ain/eglglobals.c
ain/eglglobals.h
ain/eglmisc.c
834aa8cfbc25622256889624ee1768c10224feb2 30-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: check for EGL_DRIVER env var to override normal driver selection process
ain/egldriver.c
274dd381a30072ecb8341cfc41e63bb6e39419ac 30-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: fix width/height tests
ain/eglsurface.c
d0de5a2dafb5143f01a3c6dc367c85aa0800466b 30-May-2008 Brian Paul <brian.paul@tungstengraphics.com> link libEGL with Xlib
ain/Makefile
1c73b4ba86b424ba66a16c4006a57db505bd3ca3 30-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: added Name field to _EGLDriver so a driver name string can propogate up through EGL_VERSION string
ain/eglapi.c
ain/egldriver.h
d1a0faffc3fde42b030f3eb18d6f31c10dfdc8f6 30-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: use softpipe_egl driver by default
ain/eglx.c
31e70fa275a48b8020c14017919e08d21f5e982f 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> comments in _eglMain()
rivers/dri/egldri.c
f751371028cc425bef83418224c23ece67f5b8b7 29-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: re-enable LOCAL_CFLAGS
ain/Makefile
260ac3c983644e1e51f705c00ceec1866a0c9611 29-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: remove unused Display field
ain/egldriver.c
ain/egldriver.h
11a261ef4f1d4100c46f73ad51e7e4ed57cc1b5e 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: move a few small functions into new eglmisc.[ch] files
ain/Makefile
ain/egldriver.c
ain/egldriver.h
ain/eglmisc.c
ain/eglmisc.h
c56e15b093c367e7e17ebd2e153baab8cafd213a 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: make sure EGL_VERSION_STRING query returns same version as eglInitialize()
ain/eglapi.c
ain/egldefines.h
ain/egldriver.c
ain/egldriver.h
e084fe54f93c9d51df99812b76d3299b0cff57a3 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: include egldefines.h
ain/egldriver.c
ain/egldriver.h
cf3c7d74ccee8e21ebfa04159ab64fec3b989d83 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: added egldefines.h
ain/Makefile
ain/egldefines.h
9843c6420d88db0c43b831cf79a3d1872c636225 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: bring card->driver lookup code into egldriver.c
ain/egldisplay.c
ain/egldriver.c
aa6e350bed8e6930bef761fb85ad524e5a4aa3a3 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: pass args to _eglOpenDriver()
rivers/dri/egldri.c
0c8908c411c434eda318b41b4f2a370a1e794831 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: added args string to _eglMain()
rivers/demo/demo.c
rivers/dri/egldri.c
ain/eglapi.c
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
ain/egltypedefs.h
e94d383b9ba7964da9fefac2a55e10c00ee72392 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: added eglstring.[ch]
ain/Makefile
ain/eglstring.c
ain/eglstring.h
17ec3b3cc5100deb6ef96977d87b2a7f05814f72 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> prototype new code to map card number to driver name
rivers/dri/egldri.c
aa4ca9119d1dbaf542cf5971f845b434ef008aa0 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> link libEGLdri.so with libdrm
rivers/dri/Makefile
95c917f7dd6e837cb1b280be617a795dd57c9f13 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> x-related EGL code (stub)
ain/eglx.c
ain/eglx.h
b870bf79b5387f26668285f44ccbf5812ad62e10 28-May-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> egl: Temporarily disable eglx.[c|h] building
ain/Makefile
ain/egldriver.c
68ff873c20a6e32eef0fa4c6d259a5a415308be5 28-May-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> egl: Make dri driver compile
rivers/dri/egldri.h
003afbe5bdb3d3c45e0f4f06d0b4239237df934c 28-May-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> egl: Make demo driver compile
rivers/demo/demo.c
96a40345bb3b7c87d9742d0b5683355f42596823 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> include eglconfigutil.h
rivers/dri/egldri.c
a772bbb16ec91a8714a498e8089f96f45730153c 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> Move some config-related utility functions into new eglconfigutil.c file.
ain/Makefile
ain/eglconfig.c
ain/eglconfig.h
ain/eglconfigutil.c
ain/eglconfigutil.h
07e92b174214e6bdaa22eecc0ed87cf1dbc8fc10 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> misc updates, clean-ups, remove dependency on mtypes.h
rivers/dri/Makefile
rivers/dri/egldri.c
rivers/dri/egldri.h
6052af172f0241e6678cd16efac0a0f14f40146c 28-May-2008 Brian Paul <brian.paul@tungstengraphics.com> minor overhaul/re-org of driver selection/loading code
ain/Makefile
ain/eglapi.c
ain/eglconfig.c
ain/eglconfig.h
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
721ba15bf4596b2e9589e7656005b387724875c3 27-May-2008 Brian Paul <brian.paul@tungstengraphics.com> added _eglGet*Handle() functions

These are the inverse of the _eglLookup*() functions.
Returns the public handle for a private surface/config/display/etc.
Removes glapi.c's direct access of private fields.
ain/eglapi.c
ain/eglconfig.c
ain/eglconfig.h
ain/egldisplay.c
ain/egldisplay.h
ain/eglsurface.c
ain/eglsurface.h
5f8a4f3e5e8fe78f1abe9ca6dd1131ad53d3d943 27-May-2008 Brian Paul <brian.paul@tungstengraphics.com> added EGL_OPENGL_API case
ain/eglapi.c
ain/eglglobals.h
5e7dba541298a29f175f9d077bf6f63030465d94 27-May-2008 Brian Paul <brian.paul@tungstengraphics.com> eliminate the context hash table

In EGL 1.4 the opaque EGLContext type is a pointer so we can just cast
between public EGLContext handles and private _EGLContext pointers.
ain/eglapi.c
ain/eglcontext.c
ain/eglcontext.h
ain/eglglobals.c
ain/eglglobals.h
209a557574b9833da3d6ac299c83f4cddfff6910 27-May-2008 Brian Paul <brian.paul@tungstengraphics.com> fix typo: s/Contexts/Surfaces/
ain/eglsurface.c
fcce6c068cf53fd394a2c82080338860dae8777b 27-May-2008 Brian Paul <brian.paul@tungstengraphics.com> s/GLuint/unsigned/
rivers/demo/demo.c
1ed1027e886980b9b0f48fa6bfcf3d6e209c7787 27-May-2008 Brian Paul <brian.paul@tungstengraphics.com> assorted changes to compile with new EGL 1.4 headers (untested)
ain/eglapi.c
ain/eglconfig.c
ain/eglconfig.h
ain/eglcontext.c
ain/egldisplay.c
ain/eglmode.h
ain/eglsurface.c
ain/egltypedefs.h
3e4128963d4e1a27ef29658a3aa260f492091628 27-May-2008 Brian Paul <brian.paul@tungstengraphics.com> pipe stderr to /dev/null
ain/Makefile
a6464b3cb08b86d5fc537a4907849546a63ae4da 07-May-2008 Dan Nicholson <dbn.lists@gmail.com> Never fail `make clean'

Mostly some pedantic changes such that `make clean' always ignores
errors. Also changed the top clean target to do the `touch
configs/current' dance instead of realclean.
akefile
rivers/demo/Makefile
rivers/dri/Makefile
ain/Makefile
cba14d85a854df8b5f24342c072acf21813761b6 06-May-2008 Dan Nicholson <dbn.lists@gmail.com> Error consistently when running recursive make

When changing directories and running a sub-make, ensure that both the
cd and make commands propagate errors to the parent make.
akefile
2a3e33865dd9a3d064a3c0af94ef11d4aa4a6ce4 29-Sep-2007 Dan Nicholson <dbn.lists@gmail.com> add support for LDFLAGS env var
rivers/demo/Makefile
rivers/dri/Makefile
ain/Makefile
90ee7a41443a971d6ff2e0a6e90997806c28d11b 07-Aug-2007 Keith Whitwell <keith@tungstengraphics.com> Gutsy oopses on touch of existing file. Workaround.
rivers/dri/Makefile
ain/Makefile
20e851bb9a6737194bc0effcb155b2fdb23acaaa 20-Feb-2007 Christian Neumair <chris@gnome-de.org> set log level w/ env var
ain/egllog.c
b56a5261fe43e7afead076b43a29fd34cad65962 14-Dec-2006 Brian <brian@yutani.localnet.net> Check in a long-misplaced spec update.
ocs/EGL_MESA_screen_surface
883f9891cb203dd087843b830ab058d6c9e160dc 13-Jul-2006 Brian Paul <brian.paul@tungstengraphics.com> LIB_DIR is now just 'lib' or 'lib64'
Replaced $(LIB_DIR) with $(TOP)/$(LIB_DIR), use LIB_DIR in install targets.
Patch by Hanno Böck.
rivers/demo/Makefile
rivers/dri/Makefile
ain/Makefile
3696f0ee1dd510bb1d45efde457c9d3cf7742abe 03-Jun-2006 Brian Paul <brian.paul@tungstengraphics.com> updates for using libdrm (Hanno Bock)
rivers/dri/Makefile
63b852f4f9a350f4004ef681c29441728cea218d 05-Feb-2006 Brian Paul <brian.paul@tungstengraphics.com> fix typo
ain/eglsurface.c
b2006a40eb22899d38cd31691640555228e36975 30-Jan-2006 Brian Paul <brian.paul@tungstengraphics.com> some initial EGL 1.2 work
ain/eglapi.c
ain/eglapi.h
ain/eglconfig.c
ain/eglcontext.c
ain/eglcontext.h
ain/egldriver.c
ain/egldriver.h
ain/eglglobals.c
ain/eglglobals.h
ain/eglsurface.c
ain/eglsurface.h
fb83a42d31d7d720a1e9d3bc809086f304e49a3c 30-Dec-2005 Dave Airlie <airliedfreedesktop.org> fixup stamp so driver updates drawable info
rivers/dri/egldri.c
edf570da67978c319bb2e041c2f50fb24707d73c 29-Dec-2005 Dave Airlie <airliedfreedesktop.org> use card_type not isPCI
rivers/dri/egldri.h
bc8390fa6cb748061ab325b789b828436eac7c5d 23-Dec-2005 Dave Airlie <airliedfreedesktop.org> this needs to be calloced
ain/egldisplay.c
c9b4acfeb8044bfe3f9275cb51fed9ccd3651d95 17-Dec-2005 Brian Paul <brian.paul@tungstengraphics.com> minor code movement
ain/eglglobals.c
ain/eglglobals.h
ain/eglscreen.c
ain/eglscreen.h
f06ce1ba71f79ac6aaae2240e5ade57caf195f23 10-Dec-2005 Brian Paul <brian.paul@tungstengraphics.com> Rename eglDRIShowSurfaceMESA.
s/_eglAddMode/_eglAddNewMode/
rivers/dri/egldri.c
rivers/dri/egldri.h
98d9bb66a4b5123f7d6d5cbd7b9d92ce29665d5a 10-Dec-2005 Brian Paul <brian.paul@tungstengraphics.com> updates to match other changes elsewhere
rivers/demo/demo.c
48822796339cb4a55714dc3f1abbe379562ec538 10-Dec-2005 Brian Paul <brian.paul@tungstengraphics.com> Some initial per-thread support.
Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
ain/eglapi.c
ain/eglapi.h
ain/eglcontext.c
ain/egldriver.c
ain/eglglobals.c
ain/eglglobals.h
ain/eglsurface.c
ain/egltypedefs.h
b04dd5c58763039a564c50b5e3c0bbc9755e7f72 10-Dec-2005 Brian Paul <brian.paul@tungstengraphics.com> Added EGL_SCREEN_POSITION_GRANULARITY_MESA query.
Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
ain/eglscreen.c
ain/eglscreen.h
ad6f8eba00359fcb7abff8105dcb7a9dd2f32fec 10-Dec-2005 Brian Paul <brian.paul@tungstengraphics.com> lots of updates, mode sorting, etc
ain/eglmode.c
ain/eglmode.h
6002d2ff4ed9f465d1c5bf05caea83f1522ecf3d 10-Dec-2005 Brian Paul <brian.paul@tungstengraphics.com> implement config sorting for eglChooseConfig()
ain/eglconfig.c
ain/eglconfig.h
58f45fa44deeb0277154a2f193d33824bb4c1c85 29-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> added _EGLExtensions typedef
ain/egltypedefs.h
5285c32a17a8ec260dcb5d412d862e50bced0ce9 29-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> Put extension flags, string into separate struct.
rivers/dri/egldri.c
ain/egldriver.c
ain/egldriver.h
f576450cae38ee247134f2463e8dbdeecb70ecf4 29-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> clean up the drmGetMap/drmMap code
rivers/dri/egldri.c
4683e8e95447f0b10d59099d6c578126a4212757 29-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> apparently need to load colormap after setting the mode to make it work reliably
rivers/dri/egldri.c
3070a581fca624a953a969c91cee34a4f9302610 28-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> Lots of fixes, clean-ups, new comments, etc.
To set the FBdev video mode, need to add a \n char to the string.
rivers/dri/egldri.c
rivers/dri/egldri.h
d548bf41d3a0fe443494f94f745d1fe49e5e432c 28-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> Redo _eglInitSurface() so it can be used with all surface types.
Redo _eglInitContext() to do error checking, attribute list parsing, etc.
ain/eglconfig.c
ain/eglcontext.c
ain/eglcontext.h
ain/eglscreen.c
ain/eglscreen.h
ain/eglsurface.c
ain/eglsurface.h
1ac1c1c4239eb99f4befa00c501904f6b74e9694 24-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> use _egl_api struct, make some functions static
rivers/dri/egldri.c
daf585d0f00df1d4d2e8dc5b465dad60a4bf0122 24-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> Move all the EGL API function pointers into a new _egl_api struct.
ain/eglapi.c
ain/eglapi.h
ain/eglcontext.c
ain/egldriver.c
ain/egldriver.h
ain/egltypedefs.h
d2c64e0b83b37c551c774191f1cd97891d24ac7d 24-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> report error token in message printed in _eglError()
ain/eglglobals.c
b1abf1ea8e4cad0f574b059149cb9761f12c4053 24-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> change error test in _eglParseConfigAttribs()
ain/eglconfig.c
ff707ead2b6453d24942ce1a1b3a41ce281b5b50 24-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> init attribs to EGL_DONT_CARE in _eglParseConfigAttribs()
ain/eglconfig.c
39591da355dcbc759c391465ec6b6b56ca3fa12b 23-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> update some comments
ain/eglsurface.c
b8829facc7c7c63a4fab46b1d81c9aefcfdf7b95 23-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> change error message
ain/eglglobals.c
b711eb793b68bb0c4561e5e345b76453dfac286b 23-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> use _eglLog()
ain/eglconfig.c
ain/egldriver.c
f049ca4e33e0e5d06223a1c05815bc564b4bf06e 23-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> New _eglLog() function to replace fprintf/printf calls for debug/info.
ain/Makefile
ain/egllog.c
ain/egllog.h
543469501790a02988e3fcf5ab51dbd74ae2da88 20-Sep-2005 Brian Paul <brian.paul@tungstengraphics.com> initial check-in
ocs/EGL_MESA_screen_surface
bf54a28384f70b80f1a523fe24312cc56b0827a1 07-Aug-2005 Jon Smirl <jonsmirl@gmail.com> Add missing egldri.h header file
rivers/dri/egldri.h
7e5da5d52629bfa68f83429254eab0304cf346bd 07-Aug-2005 Jon Smirl <jonsmirl@gmail.com> Enable EGL support in 'linux-dri' config
akefile
485528f2acb69940a7c757638127f716c0cb2654 05-Aug-2005 Jon Smirl <jonsmirl@gmail.com> More EGL prep. No impact on anything outside of EGL
rivers/demo/demo.c
ain/egldriver.c
ain/egldriver.h
b507bd41607a8025866d125d99c5abbca1931cd7 05-Aug-2005 Jon Smirl <jonsmirl@gmail.com> New files for radeon egl driver.
Still a work in progress.
rivers/dri/Makefile
rivers/dri/egldri.c
198d6d05b033ece21d094c46390ec0faa7612939 17-May-2005 Brian Paul <brian.paul@tungstengraphics.com> remove eglQueryDisplayMESA()
ain/eglapi.c
ain/egldisplay.c
ain/egldriver.c
ain/egldriver.h
5a0cb726d1e8dbd8cdb024d9e45169ad8c440777 17-May-2005 Brian Paul <brian.paul@tungstengraphics.com> fix pbuffer sample code
rivers/demo/demo.c
d2ab4eb2c2ed7a36e2e37fa3804c7581ecca81e0 17-May-2005 Brian Paul <brian.paul@tungstengraphics.com> remove glmode stuff
ain/eglconfig.c
ain/eglconfig.h
bb2c65200c023f7db4b0a4a72b18301e72c3b755 17-May-2005 Brian Paul <brian.paul@tungstengraphics.com> updated demoCreatePbufferSurface()
rivers/demo/demo.c
511905632427aff302ddfb6cae285017451e0821 17-May-2005 Brian Paul <brian.paul@tungstengraphics.com> update comments
ain/eglscreen.c
4c80f8df46e6c70c9954364609cd0103030fa2a6 17-May-2005 Brian Paul <brian.paul@tungstengraphics.com> more work on _eglConfigToContextModesRec()
ain/eglconfig.c
ain/eglconfig.h
e03b5cdf3fb4dafe565c06179124644e218e9cde 17-May-2005 Jon Smirl <jonsmirl@gmail.com> Make EGL_NO_MODE_MESA work.
ain/eglscreen.c
167b141e6eac1af5fc8fcd4129216a3125b08501 17-May-2005 Brian Paul <brian.paul@tungstengraphics.com> added _eglInitPbufferSurface()
ain/eglsurface.c
ain/eglsurface.h
d06da508880e9baee403b0d0046764b31087cdfd 17-May-2005 Jon Smirl <jonsmirl@gmail.com> Fix several internal problems with generating the list of configs.
ain/eglconfig.c
380991cb657dec71d754d5221ffd55360864358d 16-May-2005 Jon Smirl <jonsmirl@gmail.com> Implement query of surface type.
ain/eglsurface.c
f9bad3dfea43d792876c3a7221b9cfcd107085eb 16-May-2005 Brian Paul <brian.paul@tungstengraphics.com> use EGLint instead of unsigned long for eglCopyContextMESA, added comments
ain/eglapi.c
ain/eglcontext.c
ain/eglcontext.h
ain/egldriver.h
a495ed372f7056c84cbf9c5a38622367c0fac36e 16-May-2005 Brian Paul <brian.paul@tungstengraphics.com> separate ext strings with a space
ain/egldriver.c
d9789b78610a814e0f694312ee7ddf8f9ad2403c 16-May-2005 Brian Paul <brian.paul@tungstengraphics.com> s/Atrib/Attrib/, set extension enable flags
rivers/demo/demo.c
51ac95ba8945711cf65e94a2deba6c896dea5f0e 16-May-2005 Brian Paul <brian.paul@tungstengraphics.com> added boolean extension flags to _EGLDriver
ain/egldriver.c
ain/egldriver.h
6493bd07a7a766552c754920190972c91f5c336c 16-May-2005 Brian Paul <brian.paul@tungstengraphics.com> restore _eglSetConfigAttrib (for now), added prototype _eglConfigToContextModesRec()
ain/eglconfig.c
ain/eglconfig.h
5873faf39b59dc566e1eae8c9f6d24ed5d4c388b 16-May-2005 Brian Paul <brian.paul@tungstengraphics.com> make _eglSetConfigAtrib() a static function, and rename it
ain/eglconfig.c
ain/eglconfig.h
9b134f641c3a2ee8d12e6b2a205e9fe6ff2cf401 16-May-2005 Brian Paul <brian.paul@tungstengraphics.com> minor tweaks
ain/eglmode.c
ain/eglmode.h
ain/eglscreen.c
ain/eglscreen.h
45472672a2764e2ceaf499f586d7c337ddba731c 15-May-2005 Jon Smirl <jonsmirl@gmail.com> A few egl patches needed for glitz, mainly config BITS
ain/eglconfig.c
1c606a9aa1d1fa79fe5c92f42651385917322d5f 14-May-2005 Jon Smirl <jonsmirl@gmail.com> Add empty placeholder for eglCopyContextMESA
ain/eglapi.c
ain/eglcontext.c
ain/eglcontext.h
ain/egldriver.h
d0ddf190aa91b58c1791625075f04f29bc05bcd4 14-May-2005 Jon Smirl <jonsmirl@gmail.com> Fix compile error in demo egl driver
rivers/demo/demo.c
7012d01d888d482f2c6ad1180231a482026d213a 13-May-2005 Jon Smirl <jonsmirl@gmail.com> First attempt at getting egl support up on dumb framebuffer.
Seems to be mostly working. Not all of egl API is implemented.
rivers/demo/demo.c
ain/eglapi.c
ain/eglconfig.c
ain/eglconfig.h
ain/eglcontext.c
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
ain/eglmode.c
ain/eglmode.h
ain/eglscreen.c
ain/eglscreen.h
c22990c29a5cdff89e6e3914aa565acc88a6a407 04-May-2005 Brian Paul <brian.paul@tungstengraphics.com> sync with latest EGL_MESA_screen_surface spec (EGLScreenMESA handles)
rivers/demo/demo.c
ain/eglapi.c
ain/eglconfig.c
ain/eglconfig.h
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
ain/eglglobals.c
ain/eglglobals.h
ain/eglmode.c
ain/eglmode.h
ain/eglscreen.c
ain/eglscreen.h
28d0a9c9dd68320482f506e9a36848f70d3807a0 30-Apr-2005 Jon Smirl <jonsmirl@gmail.com> Fix include path to make build work
ain/egltypedefs.h
adbff7e977c7c768e752a24fb643d68bdf961bfe 22-Apr-2005 Brian Paul <brian.paul@tungstengraphics.com> initial EGL code
akefile
rivers/demo/Makefile
rivers/demo/demo.c
ain/Makefile
ain/eglapi.c
ain/eglconfig.c
ain/eglconfig.h
ain/eglcontext.c
ain/eglcontext.h
ain/egldisplay.c
ain/egldisplay.h
ain/egldriver.c
ain/egldriver.h
ain/eglglobals.c
ain/eglglobals.h
ain/eglhash.c
ain/eglhash.h
ain/eglmode.c
ain/eglmode.h
ain/eglscreen.c
ain/eglscreen.h
ain/eglsurface.c
ain/eglsurface.h
ain/egltypedefs.h