P44 If the OpenGL or OpenGL ES server context state for share context exists in an address space that cannot be shared with the newly created context, if share - context was created on a different display than the one referenced by config, or if the contexts are otherwise incompatible (for example, one context being associated with a hardware device driver and the other with a software renderer), then an EGL_BAD_MATCH error is generated. If the server does not have enough resources to allocate the new context, then an EGL_BAD_ALLOC error is generated.
On Friday, August 3, 2012 5:52:56 PM UTC+1, Latimerius wrote: > > Hm, where did you get that from? I don't see anything optional about > the share_context param of the eglCreateContext() call in EGL spec. > > Certainly I don't see anything in the spec that allowed for > eglCreateContext() with share_context!=EGL_NO_CONTEXT to return a new > context with no error, but subsequent eglMakeCurrent() on that context > to fail with BAD_MATCH. > > The resources argument does not make much sense either - at least not > in my case if you take into account that a procedure that is identical > except that it does *NOT* attempt to share resources runs just fine, > with no errors (but is slow obviously as it has to re-upload all the > resources that should have been shared). > > On Fri, Aug 3, 2012 at 3:41 PM, RichardC <[email protected]> > wrote: > > Just a comment on "buggy" drivers. The EGL spec does not REQUIRE a > driver > > to support any form of context sharing. It does ALLOW a driver to > support > > context sharing if it has the resources (both hardware and software) to > do > > so. The driver is REQUIRED to return specific error codes if fails to > do > > what was requested. > > > > The implications of this are: > > > > that a driver may choose not to allow context sharing at all. If the > > correct errors are returned, the driver is a conforming implementation. > > on a particular device, calls to share contexts may succeed or fail > > depending on the resources that have already been consumed by other > > programs. > > > > > > > > On Friday, August 3, 2012 1:49:52 PM UTC+1, Latimerius wrote: > >> > >> On Fri, Aug 3, 2012 at 12:38 AM, Romain Guy <[email protected]> > wrote: > >> >> Well, keep in mind that you can't issue GL calls from a thread > >> >> different than the rendering thread (well unless you play games with > >> >> multiple EGL contexts sharing resources which doesn't even seem to > >> >> work on the incomplete/buggy EGL implementation on Android). > >> > > >> > It works, WebView is (or used to) rely on this feature. You might be > >> > running into a driver specific bug though. > >> > >> That's definitely good to hear, although very few people seem to know > >> how to achieve it. I asked about it a few weeks ago, with no reply: > >> > >> > >> > https://groups.google.com/forum/?fromgroups#!searchin/android-developers/egl/android-developers/BHH08ak8MRA/mXaHFPNKMl8J > > >> > >> It came up again a couple of days ago on android-ndk in this thread: > >> > >> > >> > https://groups.google.com/forum/?fromgroups#!searchin/android-ndk/egl/android-ndk/V3VpH65tpqA/blOrbldg7j0J > > >> > >> The consensus seems to be it doesn't work. Note also a link there to > >> a Mozilla dev blog post, he also comes to the conclusion context > >> sharing doesn't work on Android. > >> > >> As far as a buggy driver goes - could be. One thing I know is that > >> the failing behaviour was consistent across a bunch of Adreno > >> 200/SGX540 devices with Android 2.1 or 2.2. I'm not sure anymore if I > >> specifically tested it on Xoom/Honeycomb but if I did, it did not work > >> there either. > >> > >> Is there a specific incantation to make it work? From my reading of > >> the EGL spec, it should be as simple as passing the existing context > >> to eglMakeContext() as the shared context argument... > >> > >> Thanks! > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

