Closed Bug 623228 Opened 10 years ago Closed 10 years ago

WebGL context destruction hangs on Droid


(Core :: Graphics, defect)

Not set





(Reporter: jrmuizel, Assigned: jrmuizel)



(2 files)

No description provided.
Assignee: nobody → jmuizelaar
We hang on the call to glDeleteFramebuffers
Seems to be because we're calling glDeleteFramebuffers on framebuffers we never created.
exciting -- where do we do this call?  mOffscreenFBO (if that's the FBO we're talking about) is initialized to 0, and deleting it is supposed to be silently ignored.
calling glDeleteFramebuffers with 0 as the number seems to cause hangs on the Droid. I think the best thing to do is just check before we call glDeleteFramebuffers.
Ok, but please find a way to report this bug to Motorola or PowerVR -- this basically means we'll have to either protect every other delete function as well or we'll have to disable things like WebGL.  disabling WebGL on the Droid is no big loss though
This makes it easier to add code for ignoring certain calls etc.
Attachment #501448 - Flags: review?(vladimir)
Comment on attachment 501448 [details] [diff] [review]
Share the gl wrappers in release/debug versions

Looks fine, but:

>+#define TRACKING_CONTEXT(a) TrackingContext()->a

make this "do { } while (0)", otherwise we have dangling ; 's in the code.
Attachment #501448 - Flags: review?(vladimir) → review+
This only handles the case where n == 1, I'm not sure if that's ok or not.
Attachment #501503 - Flags: review?(vladimir)
Comment on attachment 501503 [details] [diff] [review]
Avoid glDeleteFramebuffers(1, &0);

it's probably ok for this particular case since we know how it's called
Attachment #501503 - Flags: review?(vladimir) → review+
Hmm we had similar problem on Maemo SGX... but that was fixed in maemo6 SDK.
You need to log in before you can comment on or make changes to this bug.