History log of /external/mesa3d/src/egl/main/eglcontext.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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)
/external/mesa3d/src/egl/main/eglcontext.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>
/external/mesa3d/src/egl/main/eglcontext.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>
/external/mesa3d/src/egl/main/eglcontext.c
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>
/external/mesa3d/src/egl/main/eglcontext.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>
/external/mesa3d/src/egl/main/eglcontext.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>
/external/mesa3d/src/egl/main/eglcontext.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>
/external/mesa3d/src/egl/main/eglcontext.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.
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/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.
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/eglcontext.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.
/external/mesa3d/src/egl/main/eglcontext.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);
/external/mesa3d/src/egl/main/eglcontext.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).
/external/mesa3d/src/egl/main/eglcontext.c
2c343af09873f35cbc7b265d5606a228fe304bb9 29-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> egl: Fix deref before NULL-check
/external/mesa3d/src/egl/main/eglcontext.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.
/external/mesa3d/src/egl/main/eglcontext.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".
/external/mesa3d/src/egl/main/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.
/external/mesa3d/src/egl/main/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.
/external/mesa3d/src/egl/main/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.
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/eglcontext.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.
/external/mesa3d/src/egl/main/eglcontext.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.
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/eglcontext.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.
/external/mesa3d/src/egl/main/eglcontext.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.
/external/mesa3d/src/egl/main/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.
/external/mesa3d/src/egl/main/eglcontext.c
7c09296d4ce977f711f36c3393fd1a2718a6a6ce 26-Jan-2010 Chia-I Wu <olvaffe@gmail.com> egl: Refactor _eglMakeCurrent.

Refactor _eglMakeCurrent into _eglCheckMakeCurrent,
_eglBindContextToSurface, and _eglBindContextToThread.
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/eglcontext.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>
/external/mesa3d/src/egl/main/eglcontext.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>
/external/mesa3d/src/egl/main/eglcontext.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>
/external/mesa3d/src/egl/main/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>
/external/mesa3d/src/egl/main/eglcontext.c
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>
/external/mesa3d/src/egl/main/eglcontext.c
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>
/external/mesa3d/src/egl/main/eglcontext.c
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>
/external/mesa3d/src/egl/main/eglcontext.c
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>
/external/mesa3d/src/egl/main/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>
/external/mesa3d/src/egl/main/eglcontext.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.
/external/mesa3d/src/egl/main/eglcontext.c
a8533d54930f8fa989036c197ad20b0778ec0cac 20-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: clean up prototype code, new _eglFindAPIs() function.
/external/mesa3d/src/egl/main/eglcontext.c
d5078b94323241a6482f54797756116b1c864327 30-May-2008 Brian Paul <brian.paul@tungstengraphics.com> egl: clean-up re-org of the client API state
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/eglcontext.c
1ed1027e886980b9b0f48fa6bfcf3d6e209c7787 27-May-2008 Brian Paul <brian.paul@tungstengraphics.com> assorted changes to compile with new EGL 1.4 headers (untested)
/external/mesa3d/src/egl/main/eglcontext.c
b2006a40eb22899d38cd31691640555228e36975 30-Jan-2006 Brian Paul <brian.paul@tungstengraphics.com> some initial EGL 1.2 work
/external/mesa3d/src/egl/main/eglcontext.c
48822796339cb4a55714dc3f1abbe379562ec538 10-Dec-2005 Brian Paul <brian.paul@tungstengraphics.com> Some initial per-thread support.
Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
/external/mesa3d/src/egl/main/eglcontext.c
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.
/external/mesa3d/src/egl/main/eglcontext.c
daf585d0f00df1d4d2e8dc5b465dad60a4bf0122 24-Nov-2005 Brian Paul <brian.paul@tungstengraphics.com> Move all the EGL API function pointers into a new _egl_api struct.
/external/mesa3d/src/egl/main/eglcontext.c
f9bad3dfea43d792876c3a7221b9cfcd107085eb 16-May-2005 Brian Paul <brian.paul@tungstengraphics.com> use EGLint instead of unsigned long for eglCopyContextMESA, added comments
/external/mesa3d/src/egl/main/eglcontext.c
1c606a9aa1d1fa79fe5c92f42651385917322d5f 14-May-2005 Jon Smirl <jonsmirl@gmail.com> Add empty placeholder for eglCopyContextMESA
/external/mesa3d/src/egl/main/eglcontext.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.
/external/mesa3d/src/egl/main/eglcontext.c
adbff7e977c7c768e752a24fb643d68bdf961bfe 22-Apr-2005 Brian Paul <brian.paul@tungstengraphics.com> initial EGL code
/external/mesa3d/src/egl/main/eglcontext.c