Closed Bug 1461293 Opened 2 years ago Closed 2 years ago

WebGL 2 TexStorage2D regression: texSubImage2D: The specified TexImage has not yet been specified.

Categories

(Core :: Canvas: WebGL, defect)

61 Branch
defect
Not set

Tracking

()

VERIFIED FIXED
mozilla62
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- unaffected
firefox60 --- unaffected
firefox61 + verified
firefox62 + verified

People

(Reporter: marcot, Assigned: jgilbert)

References

()

Details

(Keywords: regression, testcase)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36

Steps to reproduce:

- rendered a quad with webgl2.0 via Unity-emscripten
- open https://files.unity3d.com/marcot/TexStorage2D-firefox-repro/ to repro


Actual results:

- open url in Firefox Nightly
- a black box will be rendered

note that this warning is printed in the log:
Error: WebGL warning: TexStorage2D: Too many levels requested for the given dimensions. (levels: 10, width: 512, height: 128, depth: 1) 1c98a29e-58bb-324b-a17e-4bbd9a48226b:14532:2
Error: WebGL warning: texSubImage2D: The specified TexImage has not yet been specified.


Expected results:

- open url in stable Firefox
- a white box will be rendered

alternatively, disable Webgl2.0 in Nightly, and the box will render correctly.
Also note that this works fine in Chrome-webgl2.0
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=0f848f74c9477f37a8f0035ffe7e5c93bfddf0ae&tochange=eecf912671f3dd166525e72b7dc52858fc7f46c0
Blocks: 1449264
Status: UNCONFIRMED → NEW
Has Regression Range: --- → yes
Has STR: --- → yes
Component: Untriaged → Canvas: WebGL
Ever confirmed: true
Flags: needinfo?(jgilbert)
Keywords: regression, testcase
OS: Unspecified → All
Product: Firefox → Core
Hardware: Unspecified → All
[Tracking Requested - why for this release]:

This WebGL bug appears to be a regression from Jeff's fix for fuzzing bug 1449264 in Firefox 61.
Summary: WebGL 2 TexStorage2D regression → WebGL 2 TexStorage2D regression: texSubImage2D: The specified TexImage has not yet been specified.
Yep, that's definitely incorrect.
Assignee: nobody → jgilbert
Flags: needinfo?(jgilbert)
Comment on attachment 8976018 [details]
Bug 1461293 - TexStorage needs only one of w,h,d>>(levels-1) to be non-zero. -

https://reviewboard.mozilla.org/r/244218/#review250282

looks good
Attachment #8976018 - Flags: review?(kvark) → review+
Breaking Unity3D seems like something we should have an automated test to catch?
Flags: needinfo?(jgilbert)
Flags: in-testsuite?
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6c4c47c19d58
TexStorage needs only one of w,h,d>>(levels-1) to be non-zero. - r=kvark
Confirmed testcase renders white (correct) on patched Firefox.

(In reply to Ryan VanderMeulen [:RyanVM] from comment #7)
> Breaking Unity3D seems like something we should have an automated test to
> catch?

Unity3D is large an multifaceted, so it's hard to have a mochitest for it.

I submitted a test upstream in the webgl conformance suite, so we'll pull that in when we do the next update. (Every few weeks/as needed)
Flags: needinfo?(jgilbert)
(In reply to Jeff Gilbert [:jgilbert] from comment #9)
> Unity3D is large an multifaceted, so it's hard to have a mochitest for it.

Yeah, I meant for this specific regression.

> I submitted a test upstream in the webgl conformance suite, so we'll pull
> that in when we do the next update. (Every few weeks/as needed)

Thanks. It would be nice if we could do the update after your test is accepted.
https://hg.mozilla.org/mozilla-central/rev/6c4c47c19d58
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Please request Beta approval on this when you get a chance.
Flags: qe-verify+
Flags: needinfo?(jgilbert)
Comment on attachment 8976018 [details]
Bug 1461293 - TexStorage needs only one of w,h,d>>(levels-1) to be non-zero. -

Approval Request Comment
[Feature/Bug causing the regression]: bug 1449264
[User impact if declined]: WebGL 2 content will break.
[Is this code covered by automated tests?]: When we update our conformance suite checkout soon, yes.
[Has the fix been verified in Nightly?]: Yes.
[Needs manual test from QE? If yes, steps to reproduce]: no
[List of other uplifts needed for the feature/fix]: none
[Is the change risky?]: No
[Why is the change risky/not risky?]: We tested it this time. :)
[String changes made/needed]: none
Flags: needinfo?(jgilbert)
Attachment #8976018 - Flags: approval-mozilla-beta?
Comment on attachment 8976018 [details]
Bug 1461293 - TexStorage needs only one of w,h,d>>(levels-1) to be non-zero. -

Fix for a WebGL regression caught by the Unity3D folks. Approved for 61.0b8.
Attachment #8976018 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Verified in newest Nightly 62.0a1 (2018-5-23) on Windows 10 x64, Mac OS X 10.11, and Ubuntu 18.10 x64.
Verified in Beta 61.0b10 on Windows 10 x64, Mac OS X 10.11, and Ubuntu 18.10 x64.
Build ID: 20180530184300
Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.