[Mesa-dev] WebGL WG interested in 1.0.1 conformance test results on real drivers

Benoit Jacob bjacob at mozilla.com
Tue Apr 17 12:09:50 PDT 2012



----- Original Message -----
> On Tue, 17 Apr 2012 05:51:23 -0700 (PDT), Benoit Jacob
> <bjacob at mozilla.com> wrote:
> > In the WebGL WG, we need to have WebGL 1.0.1 conformance tests
> > fully
> > passing on multiple, real drivers, before we can claim that WebGL
> > has
> > conformant implementations.
> > 
> > So we are trying to get people to run these conformance tests on
> > development versions of their favorite browsers, using recent
> > drivers:
> >   http://www.khronos.org/webgl/wiki/CrowdsourcingDriverTesting
> > 
> > It would be great to see some more results with Mesa 8.0.2 or
> > 8.1-git.
> > 
> > Note: if you are using Firefox for testing, please use today
> > (20120417)'s Nightly build, as some important fixes/workarounds
> > just
> > landed.
> 
> i965 driver:
> 
> Results: (8866 of 8879 passed)
> 
> > Failures:
> > conformance/context/context-attributes-alpha-depth-stencil-antialias.html:
> > 1 tests failed
> 
> > PASS webGL = getWebGL(2, 2, { depth: false, stencil: false, alpha:
> > false, antialias: true }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
> > PASS contextAttribs = webGL.getContextAttributes() is non-null.
> > FAIL pixel[0] != 255 && pixel[0] != 0 should be true. Was false.
> 
> Is this assuming that MSAA is available?

Ouch. Yes, this test is effectively requiring MSAA. It's a bug in the test: in WebGL, anti-aliasing is a hint, not a requirement. We'll fix this very soon in the WebGL conformance tests, but it's too late for the 1.0.1 version unfortunately. Very unfortunate that we didn't catch this earlier.

> > conformance/programs/program-test.html: 1 tests failed
> 
> > PASS linking should fail with in-use formerly good program, with
> > new bad shader attached
> > FAIL getError expected: NO_ERROR. Was INVALID_OPERATION : drawing
> > with a
> > valid program shouldn't generate a GL error
> 
> This sounded like it was going to be a Mesa bug, but this testcase
> passes:
> 
> {
> ...
> 	glClearColor(0.0, 1.0, 0.0, 0.0);
> 	glClear(GL_COLOR_BUFFER_BIT);
> 
> 	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vs_source);
> 	good_fs = piglit_compile_shader_text(GL_FRAGMENT_SHADER,
> 					     good_fs_source);
> 	prog = piglit_link_simple_program(vs, good_fs);
> 	if (!vs || !good_fs || !prog)
> 		piglit_report_result(PIGLIT_FAIL);
> 
> 	glUseProgram(prog);
> 
> 	piglit_draw_rect(-1, -1, 1, 2);
> 
> 	bad_fs = glCreateShader(GL_FRAGMENT_SHADER);
> 	glShaderSource(bad_fs, 1, (const GLchar **) &bad_fs_source, NULL);
> 	glCompileShader(bad_fs);
> 	glGetShaderiv(bad_fs, GL_COMPILE_STATUS, &ok);
> 	if (ok)
> 		piglit_report_result(PIGLIT_FAIL);
> 	glAttachShader(prog, bad_fs);
> 
> 	piglit_draw_rect(0, -1, 1, 2);
> 
> 	pass = piglit_probe_rect_rgba(0, 0,
> 				      piglit_width, piglit_height,
> 				      green);
> ...
> }
> 
> Is it possible to run just a subtest?

You can run each page individually using its URL, e.g.
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/conformance-suites/1.0.1/conformance/programs/program-test.html

But we don't have a simple way of running less than that without editing the pages. That's fairly easy though. Just svn checkout the test suite:

svn checkout https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl

The 1.0.1 tests are under conformance-suites/1.0.1

If you run this locally as a file:// URL, you'll need to tell your browser to be lax with the same-origin policy. In Firefox, go to about:config and set security.fileuri.strict_origin_policy=false. Alternatively, a better solution is to run your own HTTP server, which is very simple: in the directory you want to serve, run:

  $ python -m SimpleHTTPServer

This will serve the current directory on http://127.0.0.1:8000

>  It would be nice to apitrace
> what's going on in this testcase, but if I run the whole test I won't
> be
> able to find where the failure was in the trace.

So you could edit the testcase by running it locally as explained above; in addition to triming it, you could insert dummy unusual GL calls as markers, e.g. using webgl.polygonOffset().

> 
> > conformance/renderbuffers/framebuffer-object-attachment.html: 3
> > tests failed
> 
> > Create and attach depthStencil renderbuffer
> > PASS depthStencilBuffer = gl.createRenderbuffer() is non-null.
> > PASS getError was expected value: NO_ERROR :
> > PASS gl.getRenderbufferParameter(gl.RENDERBUFFER,
> > gl.RENDERBUFFER_WIDTH) is width
> > PASS gl.getRenderbufferParameter(gl.RENDERBUFFER,
> > gl.RENDERBUFFER_HEIGHT) is height
> > FAIL gl.getRenderbufferParameter(gl.RENDERBUFFER,
> > gl.RENDERBUFFER_INTERNAL_FORMAT) should be 34041. Was 0.
> 
> [ and 2 others of this sort ]
> 
> I bet this will be our failure.  We don't have test coverage for
> GL_RENDERBUFFER_INTERNAL_FORMAT in piglit, which I'll try to fix.

Notice that Firefox implements WebGL DEPTH_STENCIL renderbuffer using OpenGL DEPTH24_STENCIL8 renderbuffers. This isn't 100% universally supported, as in theory there exist GL implementations that don't support DEPTH24_STENCIL8. If Mesa doesn't support it, that would explain issues here. If the issues are related to that, it may be worth trying this testcase in Chromium.

> 
> > conformance/textures/tex-image-and-sub-image-2d-with-image.html: 8
> > tests failed
> 
> I'm not sure what code path this is.

This is Firefox's bug almost certainly. We've seen this a lot on Windows. It's the first time I see this on Linux, interesting. Anyway, not your bug.

Cheers,
Benoit

> 
> ---
> text results summary:
> 
> WebGL Conformance Test Results
> Version 1.0.1
> 
> -------------------
> 
> User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120417
> Firefox/14.0a1
> WebGL VENDOR: Mozilla
> WebGL VERSION: WebGL 1.0
> WebGL RENDERER: Mozilla
> Unmasked VENDOR: undefined
> Unmasked RENDERER: undefined
> WebGL R/G/B/A/Depth/Stencil bits (default config): 8/8/8/8/24/0
> 
> -------------------
> 
> Test Summary (8879 total tests):
> Tests PASSED: 8866
> Tests FAILED: 13
> Tests TIMED OUT: 0
> 
> -------------------
> 
> Failures:
> 
> conformance/context/context-attributes-alpha-depth-stencil-antialias.html:
> 1 tests failed
> conformance/programs/program-test.html: 1 tests failed
> conformance/renderbuffers/framebuffer-object-attachment.html: 3 tests
> failed
> conformance/textures/tex-image-and-sub-image-2d-with-image.html: 8
> tests failed
> 
> -------------------
> 
> Complete Test Results (total / pass / fail / timeout):
> 
> conformance/attribs/gl-enable-vertex-attrib.html: 3 / 3 / 0 / 0
> conformance/attribs/gl-vertex-attrib-zero-issues.html: 14 / 14 / 0 /
> 0
> conformance/attribs/gl-vertex-attrib.html: 515 / 515 / 0 / 0
> conformance/attribs/gl-vertexattribpointer-offsets.html: 451 / 451 /
> 0 / 0
> conformance/attribs/gl-vertexattribpointer.html: 782 / 782 / 0 / 0
> conformance/buffers/buffer-bind-test.html: 8 / 8 / 0 / 0
> conformance/buffers/buffer-data-array-buffer.html: 12 / 12 / 0 / 0
> conformance/buffers/index-validation-copies-indices.html: 7 / 7 / 0 /
> 0
> conformance/buffers/index-validation-crash-with-buffer-sub-data.html:
> 2 / 2 / 0 / 0
> conformance/buffers/index-validation-verifies-too-many-indices.html:
> 4 / 4 / 0 / 0
> conformance/buffers/index-validation-with-resized-buffer.html: 8 / 8
> / 0 / 0
> conformance/buffers/index-validation.html: 18 / 18 / 0 / 0
> conformance/canvas/buffer-offscreen-test.html: 9 / 9 / 0 / 0
> conformance/canvas/buffer-preserve-test.html: 5 / 5 / 0 / 0
> conformance/canvas/canvas-test.html: 16 / 16 / 0 / 0
> conformance/canvas/canvas-zero-size.html: 3 / 3 / 0 / 0
> conformance/canvas/drawingbuffer-static-canvas-test.html: 17 / 17 / 0
> / 0
> conformance/canvas/drawingbuffer-test.html: 17 / 17 / 0 / 0
> conformance/canvas/viewport-unchanged-upon-resize.html: 4 / 4 / 0 / 0
> conformance/context/constants.html: 2 / 2 / 0 / 0
> conformance/context/context-attributes-alpha-depth-stencil-antialias.html:
> 27 / 26 / 1 / 0
> conformance/context/context-lost-restored.html: 41 / 41 / 0 / 0
> conformance/context/context-lost.html: 172 / 172 / 0 / 0
> conformance/context/context-type-test.html: 5 / 5 / 0 / 0
> conformance/context/incorrect-context-object-behaviour.html: 23 / 23
> / 0 / 0
> conformance/context/methods.html: 2 / 2 / 0 / 0
> conformance/context/premultiplyalpha-test.html: 43 / 43 / 0 / 0
> conformance/context/resource-sharing-test.html: 3 / 3 / 0 / 0
> conformance/extensions/oes-standard-derivatives.html: 22 / 22 / 0 / 0
> conformance/extensions/oes-texture-float.html: 21 / 21 / 0 / 0
> conformance/extensions/oes-vertex-array-object.html: 5 / 5 / 0 / 0
> conformance/extensions/webgl-debug-renderer-info.html: 6 / 6 / 0 / 0
> conformance/extensions/webgl-debug-shaders.html: 4 / 4 / 0 / 0
> conformance/glsl/functions/glsl-function.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-abs.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-acos.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-asin.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-atan.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-atan-xy.html: 25 / 25 / 0 /
> 0
> conformance/glsl/functions/glsl-function-ceil.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-clamp-float.html: 25 / 25 /
> 0 / 0
> conformance/glsl/functions/glsl-function-clamp-gentype.html: 25 / 25
> / 0 / 0
> conformance/glsl/functions/glsl-function-cos.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-cross.html: 7 / 7 / 0 / 0
> conformance/glsl/functions/glsl-function-distance.html: 25 / 25 / 0 /
> 0
> conformance/glsl/functions/glsl-function-dot.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-faceforward.html: 25 / 25 /
> 0 / 0
> conformance/glsl/functions/glsl-function-floor.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-fract.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-length.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-max-float.html: 25 / 25 / 0
> / 0
> conformance/glsl/functions/glsl-function-max-gentype.html: 25 / 25 /
> 0 / 0
> conformance/glsl/functions/glsl-function-min-float.html: 25 / 25 / 0
> / 0
> conformance/glsl/functions/glsl-function-min-gentype.html: 25 / 25 /
> 0 / 0
> conformance/glsl/functions/glsl-function-mix-float.html: 25 / 25 / 0
> / 0
> conformance/glsl/functions/glsl-function-mix-gentype.html: 25 / 25 /
> 0 / 0
> conformance/glsl/functions/glsl-function-mod-float.html: 25 / 25 / 0
> / 0
> conformance/glsl/functions/glsl-function-mod-gentype.html: 25 / 25 /
> 0 / 0
> conformance/glsl/functions/glsl-function-normalize.html: 25 / 25 / 0
> / 0
> conformance/glsl/functions/glsl-function-reflect.html: 25 / 25 / 0 /
> 0
> conformance/glsl/functions/glsl-function-sign.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-sin.html: 25 / 25 / 0 / 0
> conformance/glsl/functions/glsl-function-step-float.html: 25 / 25 / 0
> / 0
> conformance/glsl/functions/glsl-function-step-gentype.html: 25 / 25 /
> 0 / 0
> conformance/glsl/functions/glsl-function-smoothstep-float.html: 25 /
> 25 / 0 / 0
> conformance/glsl/functions/glsl-function-smoothstep-gentype.html: 25
> / 25 / 0 / 0
> conformance/glsl/implicit/add_int_float.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/add_int_mat2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/add_int_mat3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/add_int_mat4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/add_int_vec2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/add_int_vec3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/add_int_vec4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/add_ivec2_vec2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/add_ivec3_vec3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/add_ivec4_vec4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/assign_int_to_float.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/assign_ivec2_to_vec2.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/assign_ivec3_to_vec3.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/assign_ivec4_to_vec4.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/construct_struct.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/divide_int_float.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/divide_int_mat2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/divide_int_mat3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/divide_int_mat4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/divide_int_vec2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/divide_int_vec3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/divide_int_vec4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/divide_ivec2_vec2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/divide_ivec3_vec3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/divide_ivec4_vec4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/equal_int_float.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/equal_ivec2_vec2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/equal_ivec3_vec3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/equal_ivec4_vec4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/function_int_float.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/function_ivec2_vec2.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/function_ivec3_vec3.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/function_ivec4_vec4.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/greater_than.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/greater_than_equal.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/less_than.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/less_than_equal.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/multiply_int_float.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/multiply_int_mat2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/multiply_int_mat3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/multiply_int_mat4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/multiply_int_vec2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/multiply_int_vec3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/multiply_int_vec4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/multiply_ivec2_vec2.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/multiply_ivec3_vec3.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/multiply_ivec4_vec4.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/not_equal_int_float.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/not_equal_ivec2_vec2.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/not_equal_ivec3_vec3.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/not_equal_ivec4_vec4.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/subtract_int_float.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/subtract_int_mat2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/subtract_int_mat3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/subtract_int_mat4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/subtract_int_vec2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/subtract_int_vec3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/subtract_int_vec4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/subtract_ivec2_vec2.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/subtract_ivec3_vec3.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/subtract_ivec4_vec4.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/implicit/ternary_int_float.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/ternary_ivec2_vec2.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/ternary_ivec3_vec3.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/implicit/ternary_ivec4_vec4.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/attrib-location-length-limits.html: 9 / 9 / 0 /
> 0
> conformance/glsl/misc/embedded-struct-definitions-forbidden.html: 2 /
> 2 / 0 / 0
> conformance/glsl/misc/glsl-function-nodes.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/glsl-long-variable-names.html: 44 / 44 / 0 / 0
> conformance/glsl/misc/non-ascii-comments.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/non-ascii.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-256-character-identifier.frag.html:
> 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-257-character-identifier.frag.html:
> 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-_webgl-identifier.vert.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-arbitrary-indexing.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-arbitrary-indexing.vert.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-attrib-array.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/misc/shader-with-attrib-struct.vert.html: 2 / 2 / 0
> / 0
> conformance/glsl/misc/shader-with-clipvertex.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-default-precision.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-default-precision.vert.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-define-line-continuation.frag.html:
> 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-dfdx-no-ext.frag.html: 2 / 2 / 0 /
> 0
> conformance/glsl/misc/shader-with-dfdx.frag.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-error-directive.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-explicit-int-cast.vert.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-float-return-value.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-frag-depth.frag.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-function-recursion.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-glcolor.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-gles-1.frag.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-gles-symbol.frag.html: 2 / 2 / 0 /
> 0
> conformance/glsl/misc/shader-with-glprojectionmatrix.vert.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-implicit-vec3-to-vec4-cast.vert.html:
> 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-include.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-int-return-value.frag.html: 2 / 2 /
> 0 / 0
> conformance/glsl/misc/shader-with-invalid-identifier.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-ivec2-return-value.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-ivec3-return-value.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-ivec4-return-value.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-limited-indexing.frag.html: 2 / 2 /
> 0 / 0
> conformance/glsl/misc/shader-with-long-line.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-non-ascii-error.frag.html: 2 / 2 /
> 0 / 0
> conformance/glsl/misc/shader-with-precision.frag.html: 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-quoted-error.frag.html: 2 / 2 / 0 /
> 0
> conformance/glsl/misc/shader-with-undefined-preprocessor-symbol.frag.html:
> 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-uniform-in-loop-condition.vert.html:
> 2 / 2 / 0 / 0
> conformance/glsl/misc/shader-with-vec2-return-value.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-vec3-return-value.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-vec4-return-value.frag.html: 2 / 2
> / 0 / 0
> conformance/glsl/misc/shader-with-version-100.frag.html: 2 / 2 / 0 /
> 0
> conformance/glsl/misc/shader-with-version-100.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/misc/shader-with-version-120.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/misc/shader-with-version-130.vert.html: 2 / 2 / 0 /
> 0
> conformance/glsl/misc/shader-with-webgl-identifier.vert.html: 2 / 2 /
> 0 / 0
> conformance/glsl/misc/shader-without-precision.frag.html: 2 / 2 / 0 /
> 0
> conformance/glsl/misc/shared.html: 3 / 3 / 0 / 0
> conformance/glsl/misc/struct-nesting-exceeds-maximum.html: 2 / 2 / 0
> / 0
> conformance/glsl/misc/struct-nesting-under-maximum.html: 2 / 2 / 0 /
> 0
> conformance/glsl/misc/uniform-location-length-limits.html: 8 / 8 / 0
> / 0
> conformance/glsl/reserved/_webgl_field.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/reserved/_webgl_function.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/reserved/_webgl_struct.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/reserved/_webgl_variable.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/reserved/webgl_field.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/reserved/webgl_function.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/reserved/webgl_struct.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/reserved/webgl_variable.vert.html: 2 / 2 / 0 / 0
> conformance/glsl/variables/gl-fragcoord.html: 66 / 66 / 0 / 0
> conformance/glsl/variables/gl-frontfacing.html: 34 / 34 / 0 / 0
> conformance/glsl/variables/gl-pointcoord.html: 71 / 71 / 0 / 0
> conformance/limits/gl-min-attribs.html: 3 / 3 / 0 / 0
> conformance/limits/gl-max-texture-dimensions.html: 4 / 4 / 0 / 0
> conformance/limits/gl-min-textures.html: 3 / 3 / 0 / 0
> conformance/limits/gl-min-uniforms.html: 6 / 6 / 0 / 0
> conformance/misc/bad-arguments-test.html: 108 / 108 / 0 / 0
> conformance/misc/error-reporting.html: 22 / 22 / 0 / 0
> conformance/misc/instanceof-test.html: 21 / 21 / 0 / 0
> conformance/misc/invalid-passed-params.html: 74 / 74 / 0 / 0
> conformance/misc/is-object.html: 25 / 25 / 0 / 0
> conformance/misc/null-object-behaviour.html: 44 / 44 / 0 / 0
> conformance/misc/functions-returning-strings.html: 16 / 16 / 0 / 0
> conformance/misc/object-deletion-behaviour.html: 295 / 295 / 0 / 0
> conformance/misc/shader-precision-format.html: 20 / 20 / 0 / 0
> conformance/misc/type-conversion-test.html: 808 / 808 / 0 / 0
> conformance/misc/uninitialized-test.html: 19 / 19 / 0 / 0
> conformance/misc/webgl-specific.html: 45 / 45 / 0 / 0
> conformance/programs/get-active-test.html: 42 / 42 / 0 / 0
> conformance/programs/gl-bind-attrib-location-test.html: 13 / 13 / 0 /
> 0
> conformance/programs/gl-get-active-attribute.html: 22 / 22 / 0 / 0
> conformance/programs/gl-get-active-uniform.html: 61 / 61 / 0 / 0
> conformance/programs/gl-getshadersource.html: 3 / 3 / 0 / 0
> conformance/programs/gl-shader-test.html: 3 / 3 / 0 / 0
> conformance/programs/invalid-UTF-16.html: 2 / 2 / 0 / 0
> conformance/programs/program-test.html: 61 / 60 / 1 / 0
> conformance/reading/read-pixels-pack-alignment.html: 82 / 82 / 0 / 0
> conformance/reading/read-pixels-test.html: 125 / 125 / 0 / 0
> conformance/renderbuffers/framebuffer-object-attachment.html: 501 /
> 498 / 3 / 0
> conformance/renderbuffers/framebuffer-test.html: 26 / 26 / 0 / 0
> conformance/renderbuffers/renderbuffer-initialization.html: 15 / 15 /
> 0 / 0
> conformance/rendering/draw-arrays-out-of-bounds.html: 33 / 33 / 0 / 0
> conformance/rendering/draw-elements-out-of-bounds.html: 50 / 50 / 0 /
> 0
> conformance/rendering/gl-clear.html: 8 / 8 / 0 / 0
> conformance/rendering/gl-drawelements.html: 7 / 7 / 0 / 0
> conformance/rendering/gl-scissor-test.html: 6 / 6 / 0 / 0
> conformance/rendering/more-than-65536-indices.html: 7 / 7 / 0 / 0
> conformance/rendering/point-size.html: 30 / 30 / 0 / 0
> conformance/rendering/triangle.html: 2 / 2 / 0 / 0
> conformance/rendering/line-loop-tri-fan.html: 10 / 10 / 0 / 0
> conformance/state/gl-enable-enum-test.html: 68 / 68 / 0 / 0
> conformance/state/gl-enum-tests.html: 22 / 22 / 0 / 0
> conformance/state/gl-get-calls.html: 75 / 75 / 0 / 0
> conformance/state/gl-geterror.html: 5 / 5 / 0 / 0
> conformance/state/gl-getstring.html: 7 / 7 / 0 / 0
> conformance/state/gl-object-get-calls.html: 85 / 85 / 0 / 0
> conformance/textures/compressed-tex-image.html: 11 / 11 / 0 / 0
> conformance/textures/copy-tex-image-and-sub-image-2d.html: 503 / 503
> / 0 / 0
> conformance/textures/gl-pixelstorei.html: 13 / 13 / 0 / 0
> conformance/textures/gl-teximage.html: 97 / 97 / 0 / 0
> conformance/textures/origin-clean-conformance.html: 12 / 12 / 0 / 0
> conformance/textures/tex-image-and-sub-image-2d-with-array-buffer-view.html:
> 194 / 194 / 0 / 0
> conformance/textures/tex-image-and-sub-image-2d-with-canvas.html: 10
> / 10 / 0 / 0
> conformance/textures/tex-image-and-sub-image-2d-with-image-data.html:
> 18 / 18 / 0 / 0
> conformance/textures/tex-image-and-sub-image-2d-with-image.html: 26 /
> 18 / 8 / 0
> conformance/textures/tex-image-and-sub-image-2d-with-video.html: 10 /
> 10 / 0 / 0
> conformance/textures/tex-image-and-uniform-binding-bugs.html: 6 / 6 /
> 0 / 0
> conformance/textures/tex-image-with-format-and-type.html: 73 / 73 / 0
> / 0
> conformance/textures/tex-image-with-invalid-data.html: 8 / 8 / 0 / 0
> conformance/textures/tex-input-validation.html: 63 / 63 / 0 / 0
> conformance/textures/tex-sub-image-2d-bad-args.html: 19 / 19 / 0 / 0
> conformance/textures/tex-sub-image-2d.html: 2 / 2 / 0 / 0
> conformance/textures/texparameter-test.html: 2 / 2 / 0 / 0
> conformance/textures/texture-active-bind-2.html: 5 / 5 / 0 / 0
> conformance/textures/texture-active-bind.html: 10 / 10 / 0 / 0
> conformance/textures/texture-complete.html: 2 / 2 / 0 / 0
> conformance/textures/texture-formats-test.html: 84 / 84 / 0 / 0
> conformance/textures/texture-mips.html: 19 / 19 / 0 / 0
> conformance/textures/texture-npot-video.html: 19 / 19 / 0 / 0
> conformance/textures/texture-npot.html: 26 / 26 / 0 / 0
> conformance/textures/texture-size.html: 104 / 104 / 0 / 0
> conformance/textures/texture-size-cube-maps.html: 362 / 362 / 0 / 0
> conformance/textures/texture-transparent-pixels-initialized.html: 3 /
> 3 / 0 / 0
> conformance/typedarrays/array-buffer-crash.html: 2 / 2 / 0 / 0
> conformance/typedarrays/array-buffer-view-crash.html: 2 / 2 / 0 / 0
> conformance/typedarrays/array-unit-tests.html: 453 / 453 / 0 / 0
> conformance/uniforms/gl-uniform-arrays.html: 79 / 79 / 0 / 0
> conformance/uniforms/gl-uniform-bool.html: 2 / 2 / 0 / 0
> conformance/uniforms/gl-uniformmatrix4fv.html: 16 / 16 / 0 / 0
> conformance/uniforms/gl-unknown-uniform.html: 5 / 5 / 0 / 0
> conformance/uniforms/null-uniform-location.html: 41 / 41 / 0 / 0
> conformance/uniforms/uniform-location.html: 27 / 27 / 0 / 0
> conformance/uniforms/uniform-samplers-test.html: 5 / 5 / 0 / 0
> conformance/more/conformance/constants.html: 1 / 1 / 0 / 0
> conformance/more/conformance/getContext.html: 2 / 2 / 0 / 0
> conformance/more/conformance/methods.html: 1 / 1 / 0 / 0
> conformance/more/conformance/quickCheckAPI-A.html: 1 / 1 / 0 / 0
> conformance/more/conformance/quickCheckAPI-B1.html: 1 / 1 / 0 / 0
> conformance/more/conformance/quickCheckAPI-B2.html: 1 / 1 / 0 / 0
> conformance/more/conformance/quickCheckAPI-B3.html: 1 / 1 / 0 / 0
> conformance/more/conformance/quickCheckAPI-B4.html: 1 / 1 / 0 / 0
> conformance/more/conformance/quickCheckAPI-C.html: 1 / 1 / 0 / 0
> conformance/more/conformance/quickCheckAPI-D_G.html: 1 / 1 / 0 / 0
> conformance/more/conformance/quickCheckAPI-G_I.html: 1 / 1 / 0 / 0
> conformance/more/conformance/quickCheckAPI-L_S.html: 1 / 1 / 0 / 0
> conformance/more/conformance/quickCheckAPI-S_V.html: 1 / 1 / 0 / 0
> conformance/more/conformance/webGLArrays.html: 4 / 4 / 0 / 0
> conformance/more/functions/bindBuffer.html: 2 / 2 / 0 / 0
> conformance/more/functions/bindBufferBadArgs.html: 3 / 3 / 0 / 0
> conformance/more/functions/bindFramebufferLeaveNonZero.html: 1 / 1 /
> 0 / 0
> conformance/more/functions/bufferData.html: 2 / 2 / 0 / 0
> conformance/more/functions/bufferDataBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/bufferSubData.html: 2 / 2 / 0 / 0
> conformance/more/functions/bufferSubDataBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/copyTexImage2D.html: 2 / 2 / 0 / 0
> conformance/more/functions/copyTexImage2DBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/copyTexSubImage2D.html: 2 / 2 / 0 / 0
> conformance/more/functions/copyTexSubImage2DBadArgs.html: 1 / 1 / 0 /
> 0
> conformance/more/functions/deleteBufferBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/drawArrays.html: 2 / 2 / 0 / 0
> conformance/more/functions/drawArraysOutOfBounds.html: 7 / 7 / 0 / 0
> conformance/more/functions/drawElements.html: 2 / 2 / 0 / 0
> conformance/more/functions/drawElementsBadArgs.html: 5 / 5 / 0 / 0
> conformance/more/functions/isTests.html: 1 / 1 / 0 / 0
> conformance/more/functions/readPixels.html: 2 / 2 / 0 / 0
> conformance/more/functions/readPixelsBadArgs.html: 3 / 3 / 0 / 0
> conformance/more/functions/texImage2D.html: 2 / 2 / 0 / 0
> conformance/more/functions/texImage2DBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/texImage2DHTML.html: 2 / 2 / 0 / 0
> conformance/more/functions/texImage2DHTMLBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/texSubImage2D.html: 1 / 1 / 0 / 0
> conformance/more/functions/texSubImage2DBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/texSubImage2DHTML.html: 2 / 2 / 0 / 0
> conformance/more/functions/texSubImage2DHTMLBadArgs.html: 1 / 1 / 0 /
> 0
> conformance/more/functions/uniformf.html: 1 / 1 / 0 / 0
> conformance/more/functions/uniformfBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/uniformfArrayLen1.html: 1 / 1 / 0 / 0
> conformance/more/functions/uniformi.html: 1 / 1 / 0 / 0
> conformance/more/functions/uniformiBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/uniformMatrix.html: 1 / 1 / 0 / 0
> conformance/more/functions/uniformMatrixBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/vertexAttrib.html: 2 / 2 / 0 / 0
> conformance/more/functions/vertexAttribBadArgs.html: 1 / 1 / 0 / 0
> conformance/more/functions/vertexAttribPointer.html: 1 / 1 / 0 / 0
> conformance/more/functions/vertexAttribPointerBadArgs.html: 1 / 1 / 0
> / 0
> conformance/more/glsl/arrayOutOfBounds.html: 9 / 9 / 0 / 0
> conformance/more/glsl/uniformOutOfBounds.html: 10 / 10 / 0 / 0
> 
> -------------------
> 
> Generated on: Tue Apr 17 2012 10:34:45 GMT-0700 (PDT)
> 


More information about the mesa-dev mailing list