mirror of
https://github.com/servo/servo.git
synced 2025-08-10 07:55:33 +01:00
Auto merge of #13872 - anholt:webgl-fbo, r=emilio
webgl: Add basic support for framebuffer attachments This is by no means a complete implementation, but I've slowed down on working on it, so I think we should look at what it takes to merge the current code. There are some major features missing, like initializing renderbuffers to 0 (uninitialized memory leak), tracking the attachments' attributes (width/height/format) for parameter requests, and lots of missing glCheckFramebufferStatus() validation. On the other hand, this is enough to run some demos using FBOs. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #13639 (github issue number if applicable). <!-- Either: --> - [X] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13872) <!-- Reviewable:end -->
This commit is contained in:
commit
fbec79e920
23 changed files with 625 additions and 112 deletions
|
@ -1,8 +1,5 @@
|
|||
[index-validation.html]
|
||||
type: testharness
|
||||
[WebGL test #0: gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be 36053. Threw exception TypeError: gl.checkFramebufferStatus is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #9: getError expected: INVALID_OPERATION. Was NO_ERROR : ]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -32,12 +32,6 @@
|
|||
[WebGL test #12: getError expected: INVALID_OPERATION. Was NO_ERROR : after evaluating: contextA.bindTexture(contextA.TEXTURE_2D, textureB)]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #13: contextA.framebufferRenderbuffer(contextA.FRAMEBUFFER, contextA.DEPTH_ATTACHMENT, contextA.RENDERBUFFER, renderBufferB) threw exception TypeError: contextA.framebufferRenderbuffer is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #14: contextA.framebufferTexture2D(contextA.FRAMEBUFFER, contextA.COLOR_ATTACHMENT0, contextA.TEXTURE_2D, textureB, 0) threw exception TypeError: contextA.framebufferTexture2D is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #15: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: contextA.getProgramParameter(programB, 0)]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
type: testharness
|
||||
expected:
|
||||
if os == "mac": CRASH
|
||||
[WebGL test #0: Property either does not exist or is not a function: checkFramebufferStatus]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #1: Property either does not exist or is not a function: copyTexImage2D]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -23,12 +20,6 @@
|
|||
[WebGL test #6: Property either does not exist or is not a function: flush]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #7: Property either does not exist or is not a function: framebufferRenderbuffer]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #8: Property either does not exist or is not a function: framebufferTexture2D]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #9: Property either does not exist or is not a function: generateMipmap]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -89,9 +80,6 @@
|
|||
[WebGL test #29: Property either does not exist or is not a function: readPixels]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #30: Property either does not exist or is not a function: renderbufferStorage]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #31: Property either does not exist or is not a function: sampleCoverage]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -167,12 +155,6 @@
|
|||
[WebGL test #3: Property either does not exist or is not a function: disableVertexAttribArray]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #4: Property either does not exist or is not a function: framebufferRenderbuffer]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #5: Property either does not exist or is not a function: framebufferTexture2D]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #6: Property either does not exist or is not a function: getActiveAttrib]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -230,9 +212,6 @@
|
|||
[WebGL test #25: Property either does not exist or is not a function: readPixels]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #26: Property either does not exist or is not a function: renderbufferStorage]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #27: Property either does not exist or is not a function: sampleCoverage]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -6,12 +6,6 @@
|
|||
[WebGL test #60: context.detachShader(argument, shader) should be undefined. Threw exception TypeError: context.detachShader is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #68: context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument) should be undefined. Threw exception TypeError: context.framebufferRenderbuffer is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #69: context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0) should be undefined. Threw exception TypeError: context.framebufferTexture2D is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #70: context.uniform2fv(argument, new Float32Array([0.0, 0.0\])) should be undefined. Threw exception TypeError: context.uniform2fv is not a function]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -36,12 +30,6 @@
|
|||
[WebGL test #86: context.detachShader(argument, shader) should be undefined. Threw exception TypeError: context.detachShader is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #94: context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument) should be undefined. Threw exception TypeError: context.framebufferRenderbuffer is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #95: context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0) should be undefined. Threw exception TypeError: context.framebufferTexture2D is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #96: context.uniform2fv(argument, new Float32Array([0.0, 0.0\])) should be undefined. Threw exception TypeError: context.uniform2fv is not a function]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -24,15 +24,9 @@
|
|||
[WebGL test #11: getError expected: INVALID_VALUE. Was NO_ERROR : ]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #15: context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, null) should be undefined. Threw exception TypeError: context.framebufferRenderbuffer is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #16: getError expected: INVALID_OPERATION. Was NO_ERROR : ]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #18: context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, null, 0) should be undefined. Threw exception TypeError: context.framebufferTexture2D is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #19: getError expected: INVALID_OPERATION. Was NO_ERROR : ]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -45,12 +45,6 @@
|
|||
[WebGL test #23: getError expected: NO_ERROR. Was INVALID_VALUE : after evaluating: context.texSubImage2D(context.TEXTURE_2D, 0, 0, 0, 2, 2, context.RGBA, context.UNSIGNED_BYTE, pixels)]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #30: context.renderbufferStorage(context.RENDERBUFFER, context.RGBA4, -2, -2) threw exception TypeError: context.renderbufferStorage is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #31: context.renderbufferStorage(context.RENDERBUFFER, context.RGBA4, 16, 16) threw exception TypeError: context.renderbufferStorage is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #44: context.getError() should be 1281. Was 0.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[object-deletion-behaviour.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
[WebGL test #9: gl.isShader(vertexShader) should be true. Threw exception TypeError: gl.isShader is not a function]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -19,9 +18,6 @@
|
|||
[WebGL test #21: gl.isShader(fragmentShader) should be false. Threw exception TypeError: gl.isShader is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #29: gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0) threw exception TypeError: gl.framebufferTexture2D is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #30: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) should be [object WebGLTexture\]. Threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -46,9 +42,6 @@
|
|||
[WebGL test #45: getError expected: NO_ERROR. Was INVALID_OPERATION : after evaluating: gl.bindTexture(gl.TEXTURE_CUBE_MAP, texCubeMap)]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #69: gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo) threw exception TypeError: gl.framebufferRenderbuffer is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #70: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) should be [object WebGLRenderbuffer\]. Threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -61,15 +54,192 @@
|
|||
[WebGL test #74: gl.isRenderbuffer(rbo) should be false. Threw exception TypeError: gl.isRenderbuffer is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #83: gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16) threw exception TypeError: gl.renderbufferStorage is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #85: gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo) threw exception TypeError: gl.framebufferRenderbuffer is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #86: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #51: getError expected: NO_ERROR. Was INVALID_OPERATION : after evaluating: gl.bindTexture(gl.TEXTURE_2D, t)]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #113: gl.getParameter(gl.ARRAY_BUFFER_BINDING) should be null. Was [object WebGLBuffer\].]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #122: gl.getParameter(gl.ARRAY_BUFFER_BINDING) should be null. Was [object WebGLBuffer\].]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #130: gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING) should be null. Was [object WebGLBuffer\].]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #133: gl.bufferData(gl.ARRAY_BUFFER, 1, gl.STATIC_DRAW) threw exception TypeError: Value is not an object.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #136: gl.bufferData(gl.ARRAY_BUFFER, 1, gl.STATIC_DRAW) threw exception TypeError: Value is not an object.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #147: gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #148: gl.getVertexAttrib(2, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #149: gl.getVertexAttrib(3, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #150: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.deleteBuffer(b2);]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #151: gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #154: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.deleteBuffer(b1);]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #156: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #161: getError expected: NO_ERROR. Was INVALID_OPERATION : after evaluating: gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #114: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) should be [object WebGLRenderbuffer\]. Threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #115: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) should be [object WebGLRenderbuffer\]. Threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #118: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) should be 0. Threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #119: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) should be 0. Threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #120: gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be 36053. Was 36061.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #121: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) should be [object WebGLRenderbuffer\]. Threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #145: gl.getParameter(gl.ARRAY_BUFFER_BINDING) should be null. Was [object WebGLBuffer\].]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #154: gl.getParameter(gl.ARRAY_BUFFER_BINDING) should be null. Was [object WebGLBuffer\].]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #162: gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING) should be null. Was [object WebGLBuffer\].]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #165: gl.bufferData(gl.ARRAY_BUFFER, 1, gl.STATIC_DRAW) threw exception TypeError: Value is not an object.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #168: gl.bufferData(gl.ARRAY_BUFFER, 1, gl.STATIC_DRAW) threw exception TypeError: Value is not an object.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #179: gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #180: gl.getVertexAttrib(2, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #181: gl.getVertexAttrib(3, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #182: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.deleteBuffer(b2);]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #183: gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #186: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.deleteBuffer(b1);]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #188: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #193: getError expected: NO_ERROR. Was INVALID_OPERATION : after evaluating: gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #216: at (0, 0) expected: 255,0,0,255 was 0,0,0,0]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #224: at (16, 0) expected: 0,255,0,255 was 0,0,0,0]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #227: at (0, 0) expected: 0,255,0,255 was 255,0,0,255]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #168: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) should be [object WebGLRenderbuffer\]. Threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #170: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #171: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #187: gl.checkFramebufferStatus(gl.FRAMEBUFFER) should not be 36053.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #196: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) should be [object WebGLTexture\]. Threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #198: gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) threw exception TypeError: gl.getFramebufferAttachmentParameter is not a function]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #199: gl.checkFramebufferStatus(gl.FRAMEBUFFER) should not be 36053.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #210: gl.getParameter(gl.ARRAY_BUFFER_BINDING) should be null. Was [object WebGLBuffer\].]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #219: gl.getParameter(gl.ARRAY_BUFFER_BINDING) should be null. Was [object WebGLBuffer\].]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #227: gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING) should be null. Was [object WebGLBuffer\].]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #230: gl.bufferData(gl.ARRAY_BUFFER, 1, gl.STATIC_DRAW) threw exception TypeError: Value is not an object.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #233: gl.bufferData(gl.ARRAY_BUFFER, 1, gl.STATIC_DRAW) threw exception TypeError: Value is not an object.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #244: gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #245: gl.getVertexAttrib(2, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #246: gl.getVertexAttrib(3, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #247: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.deleteBuffer(b2);]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #248: gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) should be [object WebGLBuffer\]. Was null.]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #251: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.deleteBuffer(b1);]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #253: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #281: at (0, 0) expected: 255,0,0,255 was 0,0,0,0]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #289: at (16, 0) expected: 0,255,0,255 was 0,0,0,0]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #292: at (0, 0) expected: 0,255,0,255 was 255,0,0,255]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #258: getError expected: NO_ERROR. Was INVALID_OPERATION : after evaluating: gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #278: at (16, 16) expected: 0,0,0,0 was 9,0,0,0]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #281: at (0, 0) expected: 255,0,0,255 was 0,0,0,255]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #289: at (16, 0) expected: 0,255,0,255 was 0,0,0,14]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[uninitialized-test.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
disabled: https://github.com/servo/servo/issues/13710
|
||||
|
||||
[WebGL test #1: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[quickCheckAPI-C.html]
|
||||
type: testharness
|
||||
[WebGL test #0: testValidArgs]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[isTests.html]
|
||||
type: testharness
|
||||
[WebGL test #0: testIs]
|
||||
expected: FAIL
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
[feedback-loop.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
[WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #1: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #3: getError expected: INVALID_OPERATION. Was NO_ERROR : after draw with invalid feedback loop]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[framebuffer-object-attachment.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
expected: CRASH
|
||||
[WebGL test #1: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
[renderbuffer-initialization.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
disabled: https://github.com/servo/servo/issues/13710
|
||||
|
||||
[WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #1: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #2: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[gl-scissor-fbo-test.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
[WebGL test #1: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,32 @@
|
|||
[copy-tex-image-2d-formats.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
[WebGL test #16: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #16: Creating framebuffer from ALPHA texture succeeded even though it is not a renderable format]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #17: Creating framebuffer from LUMINANCE texture succeeded even though it is not a renderable format]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #18: Creating framebuffer from LUMINANCE_ALPHA texture succeeded even though it is not a renderable format]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #19: getError expected: INVALID_OPERATION. Was NO_ERROR : should not be able to copyTexImage2D ALPHA from RGB]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #23: getError expected: INVALID_OPERATION. Was NO_ERROR : should not be able to copyTexImage2D LUMINANCE_ALPHA from RGB]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #27: getError expected: INVALID_OPERATION. Was NO_ERROR : should not be able to copyTexImage2D RGBA from RGB]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #44: getError expected: INVALID_OPERATION. Was NO_ERROR : should not be able to copyTexImage2D ALPHA from RGB]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #48: getError expected: INVALID_OPERATION. Was NO_ERROR : should not be able to copyTexImage2D LUMINANCE_ALPHA from RGB]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #52: getError expected: INVALID_OPERATION. Was NO_ERROR : should not be able to copyTexImage2D RGBA from RGB]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[mipmap-fbo.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
[WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[texture-attachment-formats.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
[WebGL test #1: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -10,3 +9,9 @@
|
|||
[WebGL test #1: context does not exist]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #14: at (0, 0) expected: 63,63,63,255 was 64,0,0,255]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #16: at (0, 0) expected: 63,63,63,63 was 64,0,0,64]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
[texture-copying-feedback-loops.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
[WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #3: getError expected: INVALID_OPERATION. Was NO_ERROR : after copyTexImage2D to same texture same level, invalid feedback loop]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #6: getError expected: INVALID_OPERATION. Was NO_ERROR : after copyTexSubImage2D to same texture same level, invalid feedback loop]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
[texture-fakeblack.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
[WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #1: at (0, 0) expected: 0,0,0,255 was 255,0,0,255]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #3: at (0, 0) expected: 0,0,0,255 was 255,0,0,255]
|
||||
expected: FAIL
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue