Closed Bug 1030408 Opened 11 years ago Closed 11 years ago

WebGLFramebuffer.cpp DetachTexture and DetachRenderbuffer not using loop index

Categories

(Core :: Graphics: CanvasWebGL, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla33
blocking-b2g -
Tracking Status
firefox30 --- wontfix
firefox31 + fixed
firefox32 + fixed
firefox33 + fixed
firefox-esr24 - wontfix
b2g18 --- unaffected
b2g-v1.3 ? affected
b2g-v1.3T --- affected
b2g-v1.4 --- affected
b2g-v2.0 --- fixed
b2g-v2.1 --- fixed

People

(Reporter: wlitwinczyk, Assigned: wlitwinczyk)

References

Details

(Whiteboard: [qa-])

Attachments

(1 file)

In the function WebGLFramebuffer::DetachTexture() the loop index is not being added to the LOCAL_GL_COLOR_ATTACHMENT0 enum when detaching from the framebuffer: http://dxr.mozilla.org/mozilla-central/source/content/canvas/src/WebGLFramebuffer.cpp#545 Similarly in WebGLFramebuffer::DetachRenderbuffer() the loop index is not being used on mColorAttachments, and not being used with LOCAL_GL_COLOR_ATTACHMENT0 http://dxr.mozilla.org/mozilla-central/source/content/canvas/src/WebGLFramebuffer.cpp#563 http://dxr.mozilla.org/mozilla-central/source/content/canvas/src/WebGLFramebuffer.cpp#564
Attachment #8446191 - Flags: review?(jgilbert)
Attachment #8446191 - Flags: review?(jgilbert) → review+
Depends on: 843667
This'll need backports to everything 24+.
I'm pretty sure you'd only have issues with this if the machine supports MRTs.
This also affects WebGL2 stuff, naturally.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
ESR is for security issues. Walter, could you fill an uplift request for beta? Thanks
Comment on attachment 8446191 [details] [diff] [review] webgl_framebuffer_fix_missing_loop_index Approval Request Comment [Feature/regressing bug #]: 843667 [User impact if declined]: Multiple render targets won't work correctly in WebGL. [Describe test coverage new/current, TBPL]: All tests pass https://tbpl.mozilla.org/?tree=Try&rev=6f7c804e65d1 [Risks and why]: The loop does not detach the proper texture object from the framebuffer, leading to other bugs in the future. [String/UUID change made/needed]: None
Attachment #8446191 - Flags: approval-mozilla-beta?
Flags: needinfo?(wlitwinczyk)
Comment on attachment 8446191 [details] [diff] [review] webgl_framebuffer_fix_missing_loop_index Also approving the patch for aurora.
Attachment #8446191 - Flags: approval-mozilla-beta?
Attachment #8446191 - Flags: approval-mozilla-beta+
Attachment #8446191 - Flags: approval-mozilla-aurora+
Comment on attachment 8446191 [details] [diff] [review] webgl_framebuffer_fix_missing_loop_index Actually, I am not sure to see the impact of this. Jeff, could you explain why you think we should have this fixed in 31 & 32 ? Thanks
Attachment #8446191 - Flags: approval-mozilla-beta?
Attachment #8446191 - Flags: approval-mozilla-beta+
Attachment #8446191 - Flags: approval-mozilla-aurora?
Attachment #8446191 - Flags: approval-mozilla-aurora+
Flags: needinfo?(jgilbert)
(In reply to Sylvestre Ledru [:sylvestre] from comment #11) > Comment on attachment 8446191 [details] [diff] [review] > webgl_framebuffer_fix_missing_loop_index > > Actually, I am not sure to see the impact of this. Jeff, could you explain > why you think we should have this fixed in 31 & 32 ? Thanks It's a bug where it's probably more risky *not* to take the fix than it is to take the fix. It's low-risk all around, but I think we should take this on at the very least Aurora.
Flags: needinfo?(jgilbert)
Attachment #8446191 - Flags: approval-mozilla-beta?
Attachment #8446191 - Flags: approval-mozilla-beta+
Attachment #8446191 - Flags: approval-mozilla-aurora?
Attachment #8446191 - Flags: approval-mozilla-aurora+
https://hg.mozilla.org/releases/mozilla-aurora/rev/42b898f4f7aa https://hg.mozilla.org/releases/mozilla-beta/rev/ae4eb0a59cc5 If you think this is bad enough to warrant landing on the B2G release branches, you should request blocking status with an explanation (including impact) for why.
(In reply to Ryan VanderMeulen [:RyanVM UTC-4] from comment #13) > https://hg.mozilla.org/releases/mozilla-aurora/rev/42b898f4f7aa > https://hg.mozilla.org/releases/mozilla-beta/rev/ae4eb0a59cc5 > > If you think this is bad enough to warrant landing on the B2G release > branches, you should request blocking status with an explanation (including > impact) for why. I don't think it's blocking, but it's worth trying to put anywhere that's low enough friction. We shouldn't respin a release for it. (maybe B2G release branches have criteria different from moz-release?) The reason to take this patch is that it fixes an obvious bug. The reason not to take it would be if the branch in question values stability more than minor functionality failures. (moz-release, at least) Not taking this bug means we might get incorrect behavior. If stability is more important to a branch than correct behavior, this shouldn't land there.
Flags: needinfo?(jgilbert)
Lawrence, is this something you'd want to see on v1.4 still based on comments 9, 12, and 14?
Flags: needinfo?(lmandel)
Marking this [qa-] since this appears to be low risk. If you have some ideas how QA might test this, particularly sites which use multiple WebGL targets, please let us know.
Whiteboard: [qa-]
(In reply to Ryan VanderMeulen [:RyanVM UTC-4] from comment #15) > Lawrence, is this something you'd want to see on v1.4 still based on > comments 9, 12, and 14? 1.4 decisions are being driven by Ivan and Steven. I have nomed this for 1.4? for their input. Triage - Please see the comments that Ryan referenced above for a description of the issue. To be clear, I am not advocating for this bug, which afaik has not been requested by our partner for 1.4, but wanted to bring this to the attention of triage.
blocking-b2g: --- → 1.4?
Flags: needinfo?(lmandel)
Hi Walter, Mind if you can provide more information on user impact if we don't take this in v1.4
Flags: needinfo?(wlitwinczyk)
(In reply to Ivan Tsay (:ITsay) from comment #18) > Hi Walter, > > Mind if you can provide more information on user impact if we don't take > this in v1.4 If a user visits a page/uses an app which uses WebGL MRT support, it might not behave properly. MRT support is pretty important for sophisticated WebGL, but it's not available everywhere. I don't know how many existing B2G devices even support it. If a device doesn't support MRTs, there would be no change from taking this cset.
Flags: needinfo?(wlitwinczyk)
Given above comment we will not take on 1.4 given the target market for dolphin. Kicking it over to 2.0? Thanks
blocking-b2g: 1.4? → 2.0?
(In reply to Wayne Chang [:wchang] from comment #20) > Given above comment we will not take on 1.4 given the target market for > dolphin. Kicking it over to 2.0? > > Thanks This could ride the trains for B2g given comment #14.
blocking-b2g: 2.0? → -
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: