The default bug view has changed. See this FAQ.

When GL Layers enabled, restarting Fennec causes black screen

RESOLVED FIXED

Status

()

Core
Graphics
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: ajuma, Assigned: ajuma)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: review-needed)

Attachments

(1 attachment)

(Assignee)

Description

6 years ago
As noted in the comments of bug 660072, when GL Layers are enabled on Android, pressing 'back' to return to the home screen and then pressing the Fennec icon again leads to a completely black window. 

There seem to be two issues here (when testing on a Nexus S):
1) After a restart, the first call to GLContext::RenewSurface() almost always fails, but the return value isn't currently checked. 
2) After a restart, a GeckoSurfaceView::surfaceChanged event occurs, but no drawing is initiated.
(Assignee)

Comment 1

6 years ago
Created attachment 546837 [details] [diff] [review]
Check return value of GLContext::RenewSurface(), and re-draw after the first GeckoSurfaceView::surfaceChanged following a restart
Attachment #546837 - Flags: review?
(Assignee)

Updated

6 years ago
Attachment #546837 - Flags: review? → review?(mwu)

Updated

6 years ago
Whiteboard: review-needed
(Assignee)

Comment 2

6 years ago
Comment on attachment 546837 [details] [diff] [review]
Check return value of GLContext::RenewSurface(), and re-draw after the first GeckoSurfaceView::surfaceChanged following a restart

I'm working on trying to better understand why GLContext::RenewSurface() is failing following a restart. 

The failures are coming from fMakeCurrent, which is producing an EGL_BAD_ALLOC error.

Discussing with BenWa, it seems we might need to explicitly destroy the GLContext when the activity pauses (and reconstruct on resume).
Attachment #546837 - Flags: review?(mwu)
(Assignee)

Comment 3

6 years ago
> I'm working on trying to better understand why GLContext::RenewSurface() is
> failing following a restart. 

This turned out to have the same underlying cause as Bug 677290 (we weren't releasing the GL surface when the Android surface was destroyed), so the patches for that bug also fixed this one.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
(Assignee)

Comment 4

6 years ago
(In reply to Ali Juma [:ajuma] from comment #3)
 
> This turned out to have the same underlying cause as Bug 677290 

That should be Bug 677920.
You need to log in before you can comment on or make changes to this bug.