Closed Bug 688112 Opened 13 years ago Closed 13 years ago

WebGL Conformance fails on drawingbuffer-*

Categories

(Core :: Graphics: CanvasWebGL, defect)

All
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 681791

People

(Reporter: jgilbert, Assigned: jgilbert)

References

Details

Attachments

(1 file, 2 obsolete files)

The drawingbuffer-* tests fail, as we don't properly handle too-large resizes, sometimes leading to crashes.
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.
Also, this should probably be fixed on other platforms, but I'm primarily working with windows at the moment.
On (my) windows7, this now passes on EGL and WGL paths.
Attachment #561409 - Attachment is obsolete: true
Blocks: 689822
Attachment #561536 - Attachment is obsolete: true
Blocks: 681791
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.
No longer blocks: 681791
Depends on: 681791
This is just an effect, though important, of 681791. Patch posted there.
What should we do with this bug and patch?
It's basically a dupe of bug 681791, so marking it as such.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: