Closed
Bug 1150310
Opened 9 years ago
Closed 9 years ago
MOZ_Assert: Assertion failure: false (Bad cached value.), at ../../../dom/canvas/WebGLContextUtils.cpp:1004
Categories
(Core :: Graphics: CanvasWebGL, defect)
Tracking
()
VERIFIED
FIXED
mozilla41
Tracking | Status | |
---|---|---|
firefox41 | --- | fixed |
People
(Reporter: gwagner, Assigned: jerry)
References
Details
(Whiteboard: gfx-noted)
Attachments
(3 files, 2 obsolete files)
5.74 KB,
text/plain
|
Details | |
2.03 KB,
patch
|
jgilbert
:
review+
|
Details | Diff | Splinter Review |
1.61 KB,
patch
|
jgilbert
:
review+
|
Details | Diff | Splinter Review |
On B2G, current trunk when trying to run https://videos.cdn.mozilla.net/uploads/mozhacks/flight-of-the-navigator/ with debug gecko
Reporter | ||
Comment 1•9 years ago
|
||
Reporter | ||
Comment 2•9 years ago
|
||
04-01 18:01:24.371 3862 3862 I Gecko : Failed 0x0b98 shadow: Cached 0xffffffff/4294967295, should be 0xff/255.
Reporter | ||
Updated•9 years ago
|
OS: Mac OS X → Gonk (Firefox OS)
Hardware: x86 → ARM
Updated•9 years ago
|
Whiteboard: gfx-noted
Reporter | ||
Comment 3•9 years ago
|
||
Any updates here? Thats still happening on B2G.
It may take a bit to get to this - Jeff, should we disable this assert until this bug gets closed? What are the next steps, I should be able to get somebody to help if you can lay them out.
Flags: needinfo?(jgilbert)
Assignee | ||
Updated•9 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 6•9 years ago
|
||
Currently, the maximum bit of stencil buffer is 8. We might set a big mask value. If we don't clamp it, we will get assert at WebGLContext::AssertCachedState(). I just hard code the maximum value. If we get it dynamically from gl context, we might have performance issue. e.g. context->StencilMask(0xffffffff); <== mStencilWriteMaskFront becomes 0xffffffff.
Attachment #8616657 -
Flags: review?(jgilbert)
Assignee | ||
Updated•9 years ago
|
Flags: needinfo?(jgilbert)
Assignee | ||
Comment 8•9 years ago
|
||
Jeff, do you think we will have 8bit more stencil buffer? I'm worried about Bug 1129213.
Flags: needinfo?(jgilbert)
Comment 9•9 years ago
|
||
Comment on attachment 8616657 [details] [diff] [review] clamp stencil mask value. v1 Review of attachment 8616657 [details] [diff] [review]: ----------------------------------------------------------------- This change doesn't match the spec. I believe the code we have is accurate (perhaps with exception of the initial state), but that there are relatively benign driver bugs which we ought not to assert on if we handle them transparently for WebGL content. ::: dom/canvas/WebGLContextFramebufferOperations.cpp @@ +216,5 @@ > +{ > + // GLES 3.0.4, $4.1.4, p177: > + // [...] the front and back stencil mask are both set to the value `2^s - 1`, where > + // `s` is greater than or equal to the number of bits in the deepest stencil buffer > + // supported by the GL implementation. Good use of a reference, but this is only for the initial value set at context creation time. (also `s` can be greater, so there's really no reason to clamp) IIRC, the only restrictions we have are for `ref`, not `mask`: GLES 3.0.4, p177: Stencil comparison operations and queries of `ref` clamp its value to the range `[0,2^s]`, where `s` is the number of bits in the stencil buffer attached to the draw framebuffer.
Attachment #8616657 -
Flags: review?(jgilbert) → review-
Assignee | ||
Comment 10•9 years ago
|
||
Attachment #8617183 -
Flags: review?(jgilbert)
Assignee | ||
Comment 11•9 years ago
|
||
from irc: jgilbert> if we change the assert for STENCIL_WRITEMASK, then we also need to change GetParameter's handling of STENCIL_WRITEMASK, since we ask the driver, and the driver might be wrong
Attachment #8616657 -
Attachment is obsolete: true
Attachment #8617184 -
Flags: review?(jgilbert)
Assignee | ||
Updated•9 years ago
|
Flags: needinfo?(jgilbert)
Assignee | ||
Comment 12•9 years ago
|
||
Attachment #8617183 -
Attachment is obsolete: true
Attachment #8617183 -
Flags: review?(jgilbert)
Attachment #8617187 -
Flags: review?(jgilbert)
Assignee | ||
Comment 13•9 years ago
|
||
Comment on attachment 8617187 [details] [diff] [review] only check stencil LSB 8bit value. v2 Review of attachment 8617187 [details] [diff] [review]: ----------------------------------------------------------------- We have assert at [1] and [2]. This patch update the assert at [1]. We don't need to handle the case at [2], since we get the initial value from context as [3]. [1] https://hg.mozilla.org/mozilla-central/annotate/e10e2e8d8bf2/dom/canvas/WebGLContextUtils.cpp#l1205 [2] https://hg.mozilla.org/mozilla-central/annotate/e10e2e8d8bf2/dom/canvas/WebGLContextValidate.cpp#l1740 [3] https://hg.mozilla.org/mozilla-central/annotate/e10e2e8d8bf2/dom/canvas/WebGLContextValidate.cpp#l1735
Updated•9 years ago
|
Attachment #8617184 -
Flags: review?(jgilbert) → review+
Comment 14•9 years ago
|
||
Comment on attachment 8617187 [details] [diff] [review] only check stencil LSB 8bit value. v2 Review of attachment 8617187 [details] [diff] [review]: ----------------------------------------------------------------- WFM
Attachment #8617187 -
Flags: review?(jgilbert) → review+
Assignee | ||
Comment 15•9 years ago
|
||
try link: https://treeherder.mozilla.org/#/jobs?repo=try&revision=e1f86cf4222e
Assignee | ||
Comment 16•9 years ago
|
||
Please land attachment 8617187 [details] [diff] [review] and attachment 8617184 [details] [diff] [review] to m-c.
Keywords: checkin-needed
Comment 17•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/3bdea0412f27 https://hg.mozilla.org/integration/mozilla-inbound/rev/ee6ae1bacd8d
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/3bdea0412f27 https://hg.mozilla.org/mozilla-central/rev/ee6ae1bacd8d
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox41:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
Assignee | ||
Comment 19•9 years ago
|
||
Hi Gregor, Do you still hit the assert as comment 0?
Flags: needinfo?(anygregor)
Comment 20•9 years ago
|
||
I tested on the latest debug build of gecko, and did not see the failure in the gecko log. Version Tested: Build ID 20150610223012 Gaia Revision ea88dde7648d2c6c0de354682e17590fca50e4e2 Gaia Date 2015-06-11 14:52:10 Gecko Revision https://hg.mozilla.org/mozilla-central/rev/bfd82015df48 Gecko Version 41.0a1 Device Name flame Firmware(Release) 4.4.2 Firmware(Incremental) eng.cltbld.20150611.015455 Firmware Date Thu Jun 11 01:55:06 EDT 2015 Bootloader L1TC000118D0
Reporter | ||
Comment 21•9 years ago
|
||
(In reply to Jerry Shih[:jerry] (UTC+8) from comment #19) > Hi Gregor, > Do you still hit the assert as comment 0? Works fine now. Thanks Jerry!
Status: RESOLVED → VERIFIED
Flags: needinfo?(anygregor)
You need to log in
before you can comment on or make changes to this bug.
Description
•