Closed Bug 927966 Opened 11 years ago Closed 10 years ago

WebGL conformance test error in conformance/context/context-attributes-alpha-depth-stencil-antialias.html

Categories

(Core :: Graphics: CanvasWebGL, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 982477

People

(Reporter: jujjyl, Assigned: bengol2005)

Details

(Whiteboard: webgl-conformance)

On my laptop with the specs

Windows 7 Home Premium 64-bit
Intel(R) Core(TM) i5-2557M CPU @ 1.70GHz (4 CPUs), ~1.7GHz
4096MB RAM
Intel(R) HD Graphics 3000
Intel(R) GPU driver version 9.17.10.2932
Intel(R) GPU driver date 12/14/2012 (up-to-date)

running https://www.khronos.org/registry/webgl/sdk/tests/conformance/context/context-attributes-alpha-depth-stencil-antialias.html 
with both Firefox 24 stable and Firefox 27.0a1 Nightly (2013-10-17) gives output:



Verify WebGLContextAttributes are working as specified, including alpha, depth, stencil, antialias, but not premultipliedAlpha

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Testing alpha = true
PASS getError was expected value: NO_ERROR : should be no errors
PASS gl = getWebGL(1, 1, { alpha: true, depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 0 ], 1, 0) is non-null.
PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
PASS gl.getParameter(gl.RED_BITS) >= 8 is true
PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
PASS contextAttribs = gl.getContextAttributes() is non-null.
PASS contextAttribs.alpha == true is true
PASS should be 0,0,0,0
PASS should be 127,127,127,127
Testing alpha = false
PASS getError was expected value: NO_ERROR : should be no errors
PASS gl = getWebGL(1, 1, { alpha: false, depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 0 ], 1, 0) is non-null.
PASS gl.getParameter(gl.ALPHA_BITS) == 0 is true
PASS gl.getParameter(gl.RED_BITS) >= 8 is true
PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
PASS contextAttribs = gl.getContextAttributes() is non-null.
PASS contextAttribs.alpha == false is true
PASS should be 0,0,0,255
PASS should be 127,127,127,127
Testing depth = true
PASS getError was expected value: NO_ERROR : should be no errors
PASS gl = getWebGL(1, 1, { stencil: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true
PASS gl.getParameter(gl.RED_BITS) >= 8 is true
PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
PASS contextAttribs = gl.getContextAttributes() is non-null.
PASS should be 0,0,0,255
PASS should be 0,0,0,255
Testing depth = false
PASS getError was expected value: NO_ERROR : should be no errors
PASS gl = getWebGL(1, 1, { depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
PASS gl.getParameter(gl.RED_BITS) >= 8 is true
PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
PASS contextAttribs = gl.getContextAttributes() is non-null.
PASS should be 255,0,0,255
PASS should be 0,0,0,255
Testing stencil = true, depth = false
PASS getError was expected value: NO_ERROR : should be no errors
PASS gl = getWebGL(1, 1, { depth: false, stencil: true, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
PASS gl.getParameter(gl.RED_BITS) >= 8 is true
PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
FAIL gl.getParameter(gl.DEPTH_BITS) == 0 should be true. Was false.
PASS gl.getParameter(gl.STENCIL_BITS) >= 8 is true
PASS contextAttribs = gl.getContextAttributes() is non-null.
FAIL WebGL implementation provided a depth buffer when it should not have
PASS should be 0,0,0,255
PASS should be 0,0,0,255
Testing stencil = false, depth = false
PASS getError was expected value: NO_ERROR : should be no errors
PASS gl = getWebGL(1, 1, { depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
PASS gl.getParameter(gl.RED_BITS) >= 8 is true
PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
PASS contextAttribs = gl.getContextAttributes() is non-null.
PASS should be 255,0,0,255
PASS should be 0,0,0,255
Testing stencil = true, depth = true
PASS getError was expected value: NO_ERROR : should be no errors
PASS gl = getWebGL(1, 1, { depth: true, stencil: true, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
PASS gl.getParameter(gl.RED_BITS) >= 8 is true
PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true
PASS gl.getParameter(gl.STENCIL_BITS) >= 8 is true
PASS contextAttribs = gl.getContextAttributes() is non-null.
PASS should be 0,0,0,255
PASS should be 0,0,0,255
Testing stencil = false, depth = true
PASS getError was expected value: NO_ERROR : should be no errors
PASS gl = getWebGL(1, 1, { depth: true, stencil: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
PASS gl.getParameter(gl.RED_BITS) >= 8 is true
PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true
PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
PASS contextAttribs = gl.getContextAttributes() is non-null.
FAIL should be 255,0,0,255
at (0, 0) expected: 255,0,0,255 was 0,0,0,255
PASS should be 0,0,0,255
Testing antialias = true
PASS getError was expected value: NO_ERROR : should be no errors
PASS gl = getWebGL(2, 2, { depth: false, stencil: false, alpha: false, antialias: true }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
PASS contextAttribs = gl.getContextAttributes() is non-null.
PASS pixel[0] != 255 && pixel[0] != 0 is contextAttribs.antialias
Testing antialias = false
PASS getError was expected value: NO_ERROR : should be no errors
PASS gl = getWebGL(2, 2, { depth: false, stencil: false, alpha: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
PASS contextAttribs = gl.getContextAttributes() is non-null.
PASS pixel[0] != 255 && pixel[0] != 0 is contextAttribs.antialias
PASS successfullyParsed is true

TEST COMPLETE
Whiteboard: webgl-conformance
Does this bug have been fixed ? if not, Please assign to me, thanks
Assignee: nobody → bengol2005
the first & second FAILs are due to code below:
"
    // enforce that if stencil is specified, we also give back depth
    newOpts.depth |= newOpts.stencil;
"
in WebGLContext::SetContextOptions() line 314 at file content\canvas\src\WebGLContext.cpp.

should we enforce the stencil here and revise the testcase or remove this enforce ?
Flags: needinfo?(bjacob)
Forwarding the needinfo to Jeff Gilbert. Please note that Jeff Gilbert and Dan Glastonbury are currently the two best default choices for WebGL-related questions.
Flags: needinfo?(bjacob) → needinfo?(jgilbert)
Duping forward.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(jgilbert)
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.