OpenGL no longer working on linux

RESOLVED FIXED

Status

()

Core
Graphics
RESOLVED FIXED
8 years ago
7 years ago

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

Tracking

Trunk
x86
Linux
Points:
---

Firefox Tracking Flags

(blocking2.0 final+)

Details

Attachments

(1 attachment, 2 obsolete attachments)

(Assignee)

Description

8 years ago
Created attachment 458485 [details] [diff] [review]
GLX version check fixes

OpenGL no longer works on linux - Appears to be due to 575469 landing.

The attached patch makes WebGL and fullscreen video work again on my ATI hardware.
It does however crash on leaving fullscreen mode and quitting.

The crash is from FrameLayerBuilder::InternalDestroyItemData using the LayerManager (releasing it and calling LayerManagerOGL::FreeResources) after the X window has been freed (can't find exactly where the call for this happens).

The first time MakeCurrent() is called we hit our assertion, the second time it gets an X BadValue error.

Not sure what the best way to resolve this is. I thought context sharing meant we didn't need to release resources for individual contexts?

Requesting beta2 blocking status for this too.
(Assignee)

Updated

8 years ago
blocking1.9.2: --- → ?
(In reply to comment #0)
> Created attachment 458485 [details] [diff] [review]
> GLX version check fixes
> The attached patch makes WebGL and fullscreen video work again on my ATI
> hardware.

Just ftr, even with this patch, nvidia (and presumably Intel) systems are still broken.
(Assignee)

Updated

8 years ago
Attachment #458485 - Attachment is patch: true
Attachment #458485 - Attachment mime type: application/octet-stream → text/plain
Another option would be to back out bug 575469 and its followups until after the un-freeze.
Even with context sharing, we have to use the "live" context to release resources; we don't do that currently.

Do we know why nvidia/intel/etc. systems don't work?
Also the GL context changes didn't make any changes to the "DestroyWindow()" etc. functionality that the GLX backend already does... we could just "leak" things, which is what we were doing before (except they were getting deleted because the context was going away).
Given the choice between "GLX disabled" and "GLX enabled but crashes on exiting full screen video", I'd choose the former.
Vlad: beta3 blocker?
blocking2.0: --- → ?
(Assignee)

Comment 7

8 years ago
Created attachment 458547 [details] [diff] [review]
No crashes on ATI!
Attachment #458485 - Attachment is obsolete: true
Attachment #458547 - Flags: review?(vladimir)
(Assignee)

Comment 8

8 years ago
Created attachment 458548 [details] [diff] [review]
Actually compiles, tidied and eleases Textures through the shared context
Attachment #458547 - Attachment is obsolete: true
Attachment #458548 - Flags: review?(vladimir)
Attachment #458547 - Flags: review?(vladimir)
http://hg.mozilla.org/mozilla-central/rev/221776911e93
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
Er ... so fixing nvidia (and possible Intel) in a followup?
This doesn't affect 1.9.2.
blocking1.9.2: ? → ---

Updated

8 years ago
blocking2.0: ? → final+

Updated

7 years ago
Assignee: nobody → matt.woodrow+bugzilla
You need to log in before you can comment on or make changes to this bug.