Closed
Bug 833779
Opened 13 years ago
Closed 12 years ago
WebGL Conformance context/context-attributes-alpha-depth-stencil-antialias.html has errors
Categories
(Core :: Graphics: CanvasWebGL, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 982477
People
(Reporter: pyalot, Unassigned)
References
Details
(Whiteboard: webgl-conformance)
Attachments
(1 file)
|
1.39 KB,
patch
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0
Build ID: 20130104151925
Steps to reproduce:
Run: https://www.khronos.org/registry/webgl/sdk/tests/conformance/context/context-attributes-alpha-depth-stencil-antialias.html
Actual results:
These errors are on all platforms
failed: gl.getParameter(gl.DEPTH_BITS) == 0 should be true. Was false.
failed: WebGL implementation provided a depth buffer when it should not have
Two errors are additionally appearing only on windows.
failed: pixel should be 0,0,0,255. Was 255,0,0,255.
failed: pixel should be 0,0,0,255. Was 255,0,0,255.
Expected results:
The conformance test should pass
| Reporter | ||
Comment 1•13 years ago
|
||
Test performed on all platforms with the same browsers (Chrome: 24.0.1312.52, Firefox: 18.0)
Ubuntu 12.10, Driver Nvidia 304.64, GPU GTX-460):
- FF: fails, 2 common errors
- Chrome: fails, unrelated error
OSX 10.7.4, Driver ATI 7.18.18, GPU ATI Radeon HD 6750M
- FF: fails, 2 common errors
- Chrome: passes
Windows 7, Driver AMD 9.2.0.0, GPU AMD Radeon HD 6900
- FF: fails, 2 common errors and 2 windows specific
- Chrome: passes
Comment 2•13 years ago
|
||
We are enabling the depth buffer whenever the stencil buffer is enabled, even if the depth buffer is explicitly disabled:
http://dxr.mozilla.org/mozilla-central/content/canvas/src/WebGLContext.cpp.html#l329
Removing that line causes the conformance test to pass.
I'm not sure why we need to activate the depth buffer when the stencil buffer is active. Perhaps Jeff of Vlad can shed some light on it.
Flags: needinfo?(vladimir)
Comment 3•13 years ago
|
||
That line appears to be ancient. I don't remember anything from a recent spec which requires this, so I think we should remove that line.
Flags: needinfo?(vladimir)
Updated•13 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 4•13 years ago
|
||
This patch fails Mochitest 1 on Try for OSX 10.6, 10.7, linux.
" FAIL: webGL = getWebGL(1, 1, { depth: false, stencil: true, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) should be non-null. Threw exception Unable to fetch WebGL rendering context for Canvas "
( https://tbpl.mozilla.org/?tree=Try&rev=7cc11d0e79dc )
However, if I download the 10.7 build from the build slave and run it locally (on OSX10.7.5) against content/canvas/test/webgl/conformance/context/context-attributes-alpha-depth-stencil-antialias.html , it passes without errors.
I'm not sure how to approach debugging the failures on Try. If you have any suggestions, I'd appreciate it.
Thanks!
Attachment #711044 -
Flags: feedback?(jgilbert)
Comment 5•13 years ago
|
||
It sounds like we're doing something wrong when trying to build a backbuffer with only color and stencil components. I'll try to take a look later today.
Comment 6•13 years ago
|
||
I've downloaded and run the Try build on two other linux machines.
One of them passes the conformance test with no errors.
The other one displays the same errors as the machines on Try.
It looks like it might be a driver or OpenGL implementation dependent bug. Maybe some OpenGLimplementations disallow having a stencil buffer without a depth buffer.
Comment 7•13 years ago
|
||
Indeed, there are some very weird things drivers do in regards to depth and stencil. We should probably just catch all this at the WebGL layer and give back reasonable results instead of relying on the driver to.
Comment 8•13 years ago
|
||
Also, `depth:true` and `stencil:true` are requests, like `antialias:true`. Like antialiasing, we should fall back to disabling them if context creation is failing.
(Note that `depth:false` and `stencil:false` (stencil's default!) are requirements, not requests)
Comment 9•12 years ago
|
||
Duping this forward, since we're most likely to finish this work there.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
Comment 10•12 years ago
|
||
Comment on attachment 711044 [details] [diff] [review]
Proposed patch
Thanks for the patch submission, though!
Attachment #711044 -
Flags: feedback?(jgilbert)
Comment 11•11 years ago
|
||
Jeff,
Was the proposed patch committed?
https://www.khronos.org/registry/webgl/sdk/tests/conformance/context/context-attributes-alpha-depth-stencil-antialias.html
Only fails for the ANGLE backend. All the tests pass now with the OpenGL backend.
You need to log in
before you can comment on or make changes to this bug.
Description
•