WebGL Conformance fails on drawingbuffer-*

RESOLVED DUPLICATE of bug 681791

Status

()

defect
RESOLVED DUPLICATE of bug 681791
8 years ago
8 years ago

People

(Reporter: jgilbert, Assigned: jgilbert)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 2 obsolete attachments)

Assignee

Description

8 years ago
The drawingbuffer-* tests fail, as we don't properly handle too-large resizes, sometimes leading to crashes.
Assignee

Comment 1

8 years ago
This doesn't actually fix all the fails, because we're still resizing to sizes above the max viewport size, which is what the tests test against.
On WGL+FBO, this can be fixed by clamping based on the viewport size. I suppose this makes sense, but would we like to keep the option of the larger canvas sizes?

On EGL/ANGLE and WGL+PBuffers, I don't think we can request the max viewport size before creating the PBuffer surface, which gives us the GLContext. To clamp to viewport size, I think we will need to create a PBuffer surface (and associated GLContext) in order to query the max viewport size, then, if we're above this, destroy and recreate the surface at a valid size.
Assignee

Comment 2

8 years ago
Also, this should probably be fixed on other platforms, but I'm primarily working with windows at the moment.
Assignee

Comment 3

8 years ago
On (my) windows7, this now passes on EGL and WGL paths.
Attachment #561409 - Attachment is obsolete: true
Assignee

Updated

8 years ago
Blocks: 689822
Assignee

Updated

8 years ago
Blocks: 681791
Assignee

Comment 5

8 years ago
I put together a patch which should help with this. It fixes and guarantees that ResizeOffscreen will not change the GLContext on failure, and it changes the webgl context resize operation to soft-fail if resize fails. That is, we attempt a resize, but if it fails, we just leave it in its previous valid state.

Previously, if webgl context resize failed, we tried to create a new GLContext with the requested dimensions, which is why we are failing this pair of tests: The creation of a too-large context fails, leaving us with no valid context.

I'll upload and pass it by try later today.
Assignee

Updated

8 years ago
No longer blocks: 681791
Depends on: 681791
Assignee

Comment 6

8 years ago
This is just an effect, though important, of 681791. Patch posted there.
What should we do with this bug and patch?
Assignee

Comment 8

8 years ago
It's basically a dupe of bug 681791, so marking it as such.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 681791
You need to log in before you can comment on or make changes to this bug.