aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2018-04-25 04:18:38 -0400
committerGitHub <noreply@github.com>2018-04-25 04:18:38 -0400
commitf1a06e0d0c121a2712faf67bc65bd9b297bbf29a (patch)
tree194c24f83175115a22fea694a58ea827b417c30c
parent9c6d9f612eab36e1c3a88f7ef72f2d9b699b563d (diff)
parenta30674ab7e20c0ea146ec0ad4bea98c603a7d997 (diff)
downloadservo-f1a06e0d0c121a2712faf67bc65bd9b297bbf29a.tar.gz
servo-f1a06e0d0c121a2712faf67bc65bd9b297bbf29a.zip
Auto merge of #20631 - brainlessdeveloper:add-webgl-get-renderbuffer-parameter, r=emilio
Implement WebGL GetRenderbufferParameter This needed a bump of gleam to version 0.4.33 for this https://github.com/servo/gleam/pull/162 <!-- Please describe your changes on the following line: --> I think my changes in test expectations are pretty naive and I have to wait for the PR to run on CI to see what the actual impact is. I'd like some guidance on this, too. --- <!-- 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 build-geckolib` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #20514 (github issue number if applicable). <!-- Either: --> - [x] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- 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/20631) <!-- Reviewable:end -->
-rw-r--r--components/canvas/webgl_thread.rs13
-rw-r--r--components/canvas_traits/webgl.rs2
-rw-r--r--components/script/dom/webgl2renderingcontext.rs11
-rw-r--r--components/script/dom/webglrenderingcontext.rs39
-rw-r--r--components/script/dom/webidls/WebGLRenderingContext.webidl3
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/methods.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/state/gl-object-get-calls.html.ini43
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/context/methods-2.html.ini183
8 files changed, 191 insertions, 110 deletions
diff --git a/components/canvas/webgl_thread.rs b/components/canvas/webgl_thread.rs
index 247a5a5e52c..7e44f2c0d42 100644
--- a/components/canvas/webgl_thread.rs
+++ b/components/canvas/webgl_thread.rs
@@ -754,6 +754,8 @@ impl WebGLImpl {
Self::active_uniform(ctx.gl(), program_id, index, chan),
WebGLCommand::GetAttribLocation(program_id, name, chan) =>
Self::attrib_location(ctx.gl(), program_id, name, chan),
+ WebGLCommand::GetRenderbufferParameter(target, pname, chan) =>
+ Self::get_renderbuffer_parameter(ctx.gl(), target, pname, chan),
WebGLCommand::GetFramebufferAttachmentParameter(target, attachment, pname, chan) =>
Self::get_framebuffer_attachment_parameter(ctx.gl(), target, attachment, pname, chan),
WebGLCommand::GetVertexAttrib(index, pname, chan) =>
@@ -1188,6 +1190,17 @@ impl WebGLImpl {
chan.send(parameter).unwrap();
}
+ // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.7
+ fn get_renderbuffer_parameter(
+ gl: &gl::Gl,
+ target: u32,
+ pname: u32,
+ chan: WebGLSender<i32>
+ ) {
+ let parameter = gl.get_renderbuffer_parameter_iv(target, pname);
+ chan.send(parameter).unwrap();
+ }
+
fn uniform_location(gl: &gl::Gl,
program_id: WebGLProgramId,
name: String,
diff --git a/components/canvas_traits/webgl.rs b/components/canvas_traits/webgl.rs
index 5334d5c0def..df527178ad1 100644
--- a/components/canvas_traits/webgl.rs
+++ b/components/canvas_traits/webgl.rs
@@ -220,6 +220,7 @@ pub enum WebGLCommand {
GetShaderInfoLog(WebGLShaderId, WebGLSender<String>),
GetProgramInfoLog(WebGLProgramId, WebGLSender<String>),
GetFramebufferAttachmentParameter(u32, u32, u32, WebGLSender<i32>),
+ GetRenderbufferParameter(u32, u32, WebGLSender<i32>),
PolygonOffset(f32, f32),
RenderbufferStorage(u32, u32, i32, i32),
ReadPixels(i32, i32, i32, i32, u32, u32, WebGLSender<ByteBuf>),
@@ -494,6 +495,7 @@ impl fmt::Debug for WebGLCommand {
GetVertexAttrib(..) => "GetVertexAttrib",
GetVertexAttribOffset(..) => "GetVertexAttribOffset",
GetFramebufferAttachmentParameter(..) => "GetFramebufferAttachmentParameter",
+ GetRenderbufferParameter(..) => "GetRenderbufferParameter",
PolygonOffset(..) => "PolygonOffset",
ReadPixels(..) => "ReadPixels",
RenderbufferStorage(..) => "RenderbufferStorage",
diff --git a/components/script/dom/webgl2renderingcontext.rs b/components/script/dom/webgl2renderingcontext.rs
index 81a1688c68b..cb5e17dfe26 100644
--- a/components/script/dom/webgl2renderingcontext.rs
+++ b/components/script/dom/webgl2renderingcontext.rs
@@ -159,6 +159,17 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
self.base.GetFramebufferAttachmentParameter(cx, target, attachment, pname)
}
+ #[allow(unsafe_code)]
+ /// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.7
+ unsafe fn GetRenderbufferParameter(
+ &self,
+ cx: *mut JSContext,
+ target: u32,
+ pname: u32
+ ) -> JSVal {
+ self.base.GetRenderbufferParameter(cx, target, pname)
+ }
+
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.3
fn ActiveTexture(&self, texture: u32) {
self.base.ActiveTexture(texture)
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index 8e4757a5841..d68f817dcd6 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -2348,6 +2348,45 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
Int32Value(receiver.recv().unwrap())
}
+ #[allow(unsafe_code)]
+ // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.7
+ unsafe fn GetRenderbufferParameter(
+ &self,
+ _cx: *mut JSContext,
+ target: u32,
+ pname: u32
+ ) -> JSVal {
+ let target_matches = target == constants::RENDERBUFFER;
+
+ let pname_matches = match pname {
+ constants::RENDERBUFFER_WIDTH |
+ constants::RENDERBUFFER_HEIGHT |
+ constants::RENDERBUFFER_INTERNAL_FORMAT |
+ constants::RENDERBUFFER_RED_SIZE |
+ constants::RENDERBUFFER_GREEN_SIZE |
+ constants::RENDERBUFFER_BLUE_SIZE |
+ constants::RENDERBUFFER_ALPHA_SIZE |
+ constants::RENDERBUFFER_DEPTH_SIZE |
+ constants::RENDERBUFFER_STENCIL_SIZE => true,
+ _ => false,
+ };
+
+ if !target_matches || !pname_matches {
+ self.webgl_error(InvalidEnum);
+ return NullValue();
+ }
+
+ if self.bound_renderbuffer.get().is_none() {
+ self.webgl_error(InvalidOperation);
+ return NullValue();
+ }
+
+ let (sender, receiver) = webgl_channel().unwrap();
+ self.send_command(WebGLCommand::GetRenderbufferParameter(target, pname, sender));
+
+ Int32Value(receiver.recv().unwrap())
+ }
+
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9
fn GetProgramInfoLog(&self, program: &WebGLProgram) -> Option<DOMString> {
match program.get_info_log() {
diff --git a/components/script/dom/webidls/WebGLRenderingContext.webidl b/components/script/dom/webidls/WebGLRenderingContext.webidl
index cd714b4c787..8ec02ce95ea 100644
--- a/components/script/dom/webidls/WebGLRenderingContext.webidl
+++ b/components/script/dom/webidls/WebGLRenderingContext.webidl
@@ -571,8 +571,7 @@ interface WebGLRenderingContextBase
GLenum pname);
any getProgramParameter(WebGLProgram program, GLenum pname);
DOMString? getProgramInfoLog(WebGLProgram program);
- // FIXME: https://github.com/servo/servo/issues/20514
- // any getRenderbufferParameter(GLenum target, GLenum pname);
+ any getRenderbufferParameter(GLenum target, GLenum pname);
any getShaderParameter(WebGLShader shader, GLenum pname);
WebGLShaderPrecisionFormat? getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype);
DOMString? getShaderInfoLog(WebGLShader shader);
diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/methods.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/methods.html.ini
index 39826c520c3..9afaa0848b6 100644
--- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/methods.html.ini
+++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/methods.html.ini
@@ -1,10 +1,7 @@
[methods.html]
- [WebGL test #0: Property either does not exist or is not a function: getRenderbufferParameter]
+ [WebGL test #0: Property either does not exist or is not a function: getUniform]
expected: FAIL
- [WebGL test #1: Property either does not exist or is not a function: getUniform]
- expected: FAIL
-
- [WebGL test #2: Property either does not exist or is not a function: isContextLost]
+ [WebGL test #1: Property either does not exist or is not a function: isContextLost]
expected: FAIL
diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/state/gl-object-get-calls.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/state/gl-object-get-calls.html.ini
index e71391de813..6f9b9bcd5d6 100644
--- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/state/gl-object-get-calls.html.ini
+++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/state/gl-object-get-calls.html.ini
@@ -1,29 +1,52 @@
[gl-object-get-calls.html]
- expected: ERROR
- [WebGL test #33: gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH) should be 2. Threw exception TypeError: gl.getRenderbufferParameter is not a function]
+ [WebGL test #57: gl.getUniform(boolProgram, bvalLoc) should be true. Threw exception TypeError: gl.getUniform is not a function]
expected: FAIL
- [WebGL test #34: gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT) should be 2. Threw exception TypeError: gl.getRenderbufferParameter is not a function]
+ [WebGL test #58: gl.getUniform(boolProgram, bval2Loc) should be true,false. Threw exception TypeError: gl.getUniform is not a function]
expected: FAIL
- [WebGL test #35: gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT) should be non-zero. Threw exception TypeError: gl.getRenderbufferParameter is not a function]
+ [WebGL test #59: gl.getUniform(boolProgram, bval3Loc) should be true,false,true. Threw exception TypeError: gl.getUniform is not a function]
expected: FAIL
- [WebGL test #36: gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_DEPTH_SIZE) should be non-zero. Threw exception TypeError: gl.getRenderbufferParameter is not a function]
+ [WebGL test #60: gl.getUniform(boolProgram, bval4Loc) should be true,false,true,false. Threw exception TypeError: gl.getUniform is not a function]
expected: FAIL
- [WebGL test #39: gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE) should be non-zero. Threw exception TypeError: gl.getRenderbufferParameter is not a function]
+ [WebGL test #63: gl.getUniform(intProgram, ivalLoc) should be 1. Threw exception TypeError: gl.getUniform is not a function]
expected: FAIL
- [WebGL test #40: gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE) should be non-zero. Threw exception TypeError: gl.getRenderbufferParameter is not a function]
+ [WebGL test #64: gl.getUniform(intProgram, ival2Loc) should be 2,3. Threw exception TypeError: gl.getUniform is not a function]
expected: FAIL
- [WebGL test #41: gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE) should be non-zero. Threw exception TypeError: gl.getRenderbufferParameter is not a function]
+ [WebGL test #65: gl.getUniform(intProgram, ival3Loc) should be 4,5,6. Threw exception TypeError: gl.getUniform is not a function]
expected: FAIL
- [WebGL test #42: gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE) should be non-zero. Threw exception TypeError: gl.getRenderbufferParameter is not a function]
+ [WebGL test #66: gl.getUniform(intProgram, ival4Loc) should be 7,8,9,10. Threw exception TypeError: gl.getUniform is not a function]
expected: FAIL
- [WebGL test #43: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
+ [WebGL test #69: gl.getUniform(floatProgram, fvalLoc) should be 11. Threw exception TypeError: gl.getUniform is not a function]
+ expected: FAIL
+
+ [WebGL test #70: gl.getUniform(floatProgram, fval2Loc) should be 12,13. Threw exception TypeError: gl.getUniform is not a function]
+ expected: FAIL
+
+ [WebGL test #71: gl.getUniform(floatProgram, fval3Loc) should be 14,15,16. Threw exception TypeError: gl.getUniform is not a function]
+ expected: FAIL
+
+ [WebGL test #72: gl.getUniform(floatProgram, fval4Loc) should be 17,18,19,20. Threw exception TypeError: gl.getUniform is not a function]
+ expected: FAIL
+
+ [WebGL test #75: gl.getUniform(samplerProgram, s2DValLoc) should be 0. Threw exception TypeError: gl.getUniform is not a function]
+ expected: FAIL
+
+ [WebGL test #76: gl.getUniform(samplerProgram, sCubeValLoc) should be 1. Threw exception TypeError: gl.getUniform is not a function]
+ expected: FAIL
+
+ [WebGL test #79: gl.getUniform(matProgram, mval2Loc) should be 1,2,3,4. Threw exception TypeError: gl.getUniform is not a function]
+ expected: FAIL
+
+ [WebGL test #80: gl.getUniform(matProgram, mval3Loc) should be 5,6,7,8,9,10,11,12,13. Threw exception TypeError: gl.getUniform is not a function]
+ expected: FAIL
+
+ [WebGL test #81: gl.getUniform(matProgram, mval4Loc) should be 14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29. Threw exception TypeError: gl.getUniform is not a function]
expected: FAIL
diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/context/methods-2.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/context/methods-2.html.ini
index c45573d2192..7ab92b0f2e8 100644
--- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/context/methods-2.html.ini
+++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/context/methods-2.html.ini
@@ -1,274 +1,271 @@
[methods-2.html]
- [WebGL test #0: Property either does not exist or is not a function: getRenderbufferParameter]
+ [WebGL test #0: Property either does not exist or is not a function: getUniform]
expected: FAIL
- [WebGL test #1: Property either does not exist or is not a function: getUniform]
+ [WebGL test #1: Property either does not exist or is not a function: isContextLost]
expected: FAIL
- [WebGL test #2: Property either does not exist or is not a function: isContextLost]
+ [WebGL test #2: Property either does not exist or is not a function: getBufferSubData]
expected: FAIL
- [WebGL test #3: Property either does not exist or is not a function: getBufferSubData]
+ [WebGL test #3: Property either does not exist or is not a function: copyBufferSubData]
expected: FAIL
- [WebGL test #4: Property either does not exist or is not a function: copyBufferSubData]
+ [WebGL test #4: Property either does not exist or is not a function: blitFramebuffer]
expected: FAIL
- [WebGL test #5: Property either does not exist or is not a function: blitFramebuffer]
+ [WebGL test #5: Property either does not exist or is not a function: framebufferTextureLayer]
expected: FAIL
- [WebGL test #6: Property either does not exist or is not a function: framebufferTextureLayer]
+ [WebGL test #6: Property either does not exist or is not a function: getInternalformatParameter]
expected: FAIL
- [WebGL test #7: Property either does not exist or is not a function: getInternalformatParameter]
+ [WebGL test #7: Property either does not exist or is not a function: invalidateFramebuffer]
expected: FAIL
- [WebGL test #8: Property either does not exist or is not a function: invalidateFramebuffer]
+ [WebGL test #8: Property either does not exist or is not a function: invalidateSubFramebuffer]
expected: FAIL
- [WebGL test #9: Property either does not exist or is not a function: invalidateSubFramebuffer]
+ [WebGL test #9: Property either does not exist or is not a function: readBuffer]
expected: FAIL
- [WebGL test #10: Property either does not exist or is not a function: readBuffer]
+ [WebGL test #10: Property either does not exist or is not a function: renderbufferStorageMultisample]
expected: FAIL
- [WebGL test #11: Property either does not exist or is not a function: renderbufferStorageMultisample]
+ [WebGL test #11: Property either does not exist or is not a function: texImage3D]
expected: FAIL
- [WebGL test #12: Property either does not exist or is not a function: texImage3D]
+ [WebGL test #12: Property either does not exist or is not a function: texStorage2D]
expected: FAIL
- [WebGL test #13: Property either does not exist or is not a function: texStorage2D]
+ [WebGL test #13: Property either does not exist or is not a function: texStorage3D]
expected: FAIL
- [WebGL test #14: Property either does not exist or is not a function: texStorage3D]
+ [WebGL test #14: Property either does not exist or is not a function: texSubImage3D]
expected: FAIL
- [WebGL test #15: Property either does not exist or is not a function: texSubImage3D]
+ [WebGL test #15: Property either does not exist or is not a function: copyTexSubImage3D]
expected: FAIL
- [WebGL test #16: Property either does not exist or is not a function: copyTexSubImage3D]
+ [WebGL test #16: Property either does not exist or is not a function: compressedTexImage3D]
expected: FAIL
- [WebGL test #17: Property either does not exist or is not a function: compressedTexImage3D]
+ [WebGL test #17: Property either does not exist or is not a function: compressedTexSubImage3D]
expected: FAIL
- [WebGL test #18: Property either does not exist or is not a function: compressedTexSubImage3D]
+ [WebGL test #18: Property either does not exist or is not a function: getFragDataLocation]
expected: FAIL
- [WebGL test #19: Property either does not exist or is not a function: getFragDataLocation]
+ [WebGL test #19: Property either does not exist or is not a function: uniform1ui]
expected: FAIL
- [WebGL test #20: Property either does not exist or is not a function: uniform1ui]
+ [WebGL test #20: Property either does not exist or is not a function: uniform2ui]
expected: FAIL
- [WebGL test #21: Property either does not exist or is not a function: uniform2ui]
+ [WebGL test #21: Property either does not exist or is not a function: uniform3ui]
expected: FAIL
- [WebGL test #22: Property either does not exist or is not a function: uniform3ui]
+ [WebGL test #22: Property either does not exist or is not a function: uniform4ui]
expected: FAIL
- [WebGL test #23: Property either does not exist or is not a function: uniform4ui]
+ [WebGL test #23: Property either does not exist or is not a function: uniform1uiv]
expected: FAIL
- [WebGL test #24: Property either does not exist or is not a function: uniform1uiv]
+ [WebGL test #24: Property either does not exist or is not a function: uniform2uiv]
expected: FAIL
- [WebGL test #25: Property either does not exist or is not a function: uniform2uiv]
+ [WebGL test #25: Property either does not exist or is not a function: uniform3uiv]
expected: FAIL
- [WebGL test #26: Property either does not exist or is not a function: uniform3uiv]
+ [WebGL test #26: Property either does not exist or is not a function: uniform4uiv]
expected: FAIL
- [WebGL test #27: Property either does not exist or is not a function: uniform4uiv]
+ [WebGL test #27: Property either does not exist or is not a function: uniformMatrix2x3fv]
expected: FAIL
- [WebGL test #28: Property either does not exist or is not a function: uniformMatrix2x3fv]
+ [WebGL test #28: Property either does not exist or is not a function: uniformMatrix3x2fv]
expected: FAIL
- [WebGL test #29: Property either does not exist or is not a function: uniformMatrix3x2fv]
+ [WebGL test #29: Property either does not exist or is not a function: uniformMatrix2x4fv]
expected: FAIL
- [WebGL test #30: Property either does not exist or is not a function: uniformMatrix2x4fv]
+ [WebGL test #30: Property either does not exist or is not a function: uniformMatrix4x2fv]
expected: FAIL
- [WebGL test #31: Property either does not exist or is not a function: uniformMatrix4x2fv]
+ [WebGL test #31: Property either does not exist or is not a function: uniformMatrix3x4fv]
expected: FAIL
- [WebGL test #32: Property either does not exist or is not a function: uniformMatrix3x4fv]
+ [WebGL test #32: Property either does not exist or is not a function: uniformMatrix4x3fv]
expected: FAIL
- [WebGL test #33: Property either does not exist or is not a function: uniformMatrix4x3fv]
+ [WebGL test #33: Property either does not exist or is not a function: vertexAttribI4i]
expected: FAIL
- [WebGL test #34: Property either does not exist or is not a function: vertexAttribI4i]
+ [WebGL test #34: Property either does not exist or is not a function: vertexAttribI4iv]
expected: FAIL
- [WebGL test #35: Property either does not exist or is not a function: vertexAttribI4iv]
+ [WebGL test #35: Property either does not exist or is not a function: vertexAttribI4ui]
expected: FAIL
- [WebGL test #36: Property either does not exist or is not a function: vertexAttribI4ui]
+ [WebGL test #36: Property either does not exist or is not a function: vertexAttribI4uiv]
expected: FAIL
- [WebGL test #37: Property either does not exist or is not a function: vertexAttribI4uiv]
+ [WebGL test #37: Property either does not exist or is not a function: vertexAttribIPointer]
expected: FAIL
- [WebGL test #38: Property either does not exist or is not a function: vertexAttribIPointer]
+ [WebGL test #38: Property either does not exist or is not a function: vertexAttribDivisor]
expected: FAIL
- [WebGL test #39: Property either does not exist or is not a function: vertexAttribDivisor]
+ [WebGL test #39: Property either does not exist or is not a function: drawArraysInstanced]
expected: FAIL
- [WebGL test #40: Property either does not exist or is not a function: drawArraysInstanced]
+ [WebGL test #40: Property either does not exist or is not a function: drawElementsInstanced]
expected: FAIL
- [WebGL test #41: Property either does not exist or is not a function: drawElementsInstanced]
+ [WebGL test #41: Property either does not exist or is not a function: drawRangeElements]
expected: FAIL
- [WebGL test #42: Property either does not exist or is not a function: drawRangeElements]
+ [WebGL test #42: Property either does not exist or is not a function: drawBuffers]
expected: FAIL
- [WebGL test #43: Property either does not exist or is not a function: drawBuffers]
+ [WebGL test #43: Property either does not exist or is not a function: clearBufferiv]
expected: FAIL
- [WebGL test #44: Property either does not exist or is not a function: clearBufferiv]
+ [WebGL test #44: Property either does not exist or is not a function: clearBufferuiv]
expected: FAIL
- [WebGL test #45: Property either does not exist or is not a function: clearBufferuiv]
+ [WebGL test #45: Property either does not exist or is not a function: clearBufferfv]
expected: FAIL
- [WebGL test #46: Property either does not exist or is not a function: clearBufferfv]
+ [WebGL test #46: Property either does not exist or is not a function: clearBufferfi]
expected: FAIL
- [WebGL test #47: Property either does not exist or is not a function: clearBufferfi]
+ [WebGL test #47: Property either does not exist or is not a function: createQuery]
expected: FAIL
- [WebGL test #48: Property either does not exist or is not a function: createQuery]
+ [WebGL test #48: Property either does not exist or is not a function: deleteQuery]
expected: FAIL
- [WebGL test #49: Property either does not exist or is not a function: deleteQuery]
+ [WebGL test #49: Property either does not exist or is not a function: isQuery]
expected: FAIL
- [WebGL test #50: Property either does not exist or is not a function: isQuery]
+ [WebGL test #50: Property either does not exist or is not a function: beginQuery]
expected: FAIL
- [WebGL test #51: Property either does not exist or is not a function: beginQuery]
+ [WebGL test #51: Property either does not exist or is not a function: endQuery]
expected: FAIL
- [WebGL test #52: Property either does not exist or is not a function: endQuery]
+ [WebGL test #52: Property either does not exist or is not a function: getQuery]
expected: FAIL
- [WebGL test #53: Property either does not exist or is not a function: getQuery]
+ [WebGL test #53: Property either does not exist or is not a function: getQueryParameter]
expected: FAIL
- [WebGL test #54: Property either does not exist or is not a function: getQueryParameter]
+ [WebGL test #54: Property either does not exist or is not a function: createSampler]
expected: FAIL
- [WebGL test #55: Property either does not exist or is not a function: createSampler]
+ [WebGL test #55: Property either does not exist or is not a function: deleteSampler]
expected: FAIL
- [WebGL test #56: Property either does not exist or is not a function: deleteSampler]
+ [WebGL test #56: Property either does not exist or is not a function: isSampler]
expected: FAIL
- [WebGL test #57: Property either does not exist or is not a function: isSampler]
+ [WebGL test #57: Property either does not exist or is not a function: bindSampler]
expected: FAIL
- [WebGL test #58: Property either does not exist or is not a function: bindSampler]
+ [WebGL test #58: Property either does not exist or is not a function: samplerParameteri]
expected: FAIL
- [WebGL test #59: Property either does not exist or is not a function: samplerParameteri]
+ [WebGL test #59: Property either does not exist or is not a function: samplerParameterf]
expected: FAIL
- [WebGL test #60: Property either does not exist or is not a function: samplerParameterf]
+ [WebGL test #60: Property either does not exist or is not a function: getSamplerParameter]
expected: FAIL
- [WebGL test #61: Property either does not exist or is not a function: getSamplerParameter]
+ [WebGL test #61: Property either does not exist or is not a function: fenceSync]
expected: FAIL
- [WebGL test #62: Property either does not exist or is not a function: fenceSync]
+ [WebGL test #62: Property either does not exist or is not a function: isSync]
expected: FAIL
- [WebGL test #63: Property either does not exist or is not a function: isSync]
+ [WebGL test #63: Property either does not exist or is not a function: deleteSync]
expected: FAIL
- [WebGL test #64: Property either does not exist or is not a function: deleteSync]
+ [WebGL test #64: Property either does not exist or is not a function: clientWaitSync]
expected: FAIL
- [WebGL test #65: Property either does not exist or is not a function: clientWaitSync]
+ [WebGL test #65: Property either does not exist or is not a function: waitSync]
expected: FAIL
- [WebGL test #66: Property either does not exist or is not a function: waitSync]
+ [WebGL test #66: Property either does not exist or is not a function: getSyncParameter]
expected: FAIL
- [WebGL test #67: Property either does not exist or is not a function: getSyncParameter]
+ [WebGL test #67: Property either does not exist or is not a function: createTransformFeedback]
expected: FAIL
- [WebGL test #68: Property either does not exist or is not a function: createTransformFeedback]
+ [WebGL test #68: Property either does not exist or is not a function: deleteTransformFeedback]
expected: FAIL
- [WebGL test #69: Property either does not exist or is not a function: deleteTransformFeedback]
+ [WebGL test #69: Property either does not exist or is not a function: isTransformFeedback]
expected: FAIL
- [WebGL test #70: Property either does not exist or is not a function: isTransformFeedback]
+ [WebGL test #70: Property either does not exist or is not a function: bindTransformFeedback]
expected: FAIL
- [WebGL test #71: Property either does not exist or is not a function: bindTransformFeedback]
+ [WebGL test #71: Property either does not exist or is not a function: beginTransformFeedback]
expected: FAIL
- [WebGL test #72: Property either does not exist or is not a function: beginTransformFeedback]
+ [WebGL test #72: Property either does not exist or is not a function: endTransformFeedback]
expected: FAIL
- [WebGL test #73: Property either does not exist or is not a function: endTransformFeedback]
+ [WebGL test #73: Property either does not exist or is not a function: transformFeedbackVaryings]
expected: FAIL
- [WebGL test #74: Property either does not exist or is not a function: transformFeedbackVaryings]
+ [WebGL test #74: Property either does not exist or is not a function: getTransformFeedbackVarying]
expected: FAIL
- [WebGL test #75: Property either does not exist or is not a function: getTransformFeedbackVarying]
+ [WebGL test #75: Property either does not exist or is not a function: pauseTransformFeedback]
expected: FAIL
- [WebGL test #76: Property either does not exist or is not a function: pauseTransformFeedback]
+ [WebGL test #76: Property either does not exist or is not a function: resumeTransformFeedback]
expected: FAIL
- [WebGL test #77: Property either does not exist or is not a function: resumeTransformFeedback]
+ [WebGL test #77: Property either does not exist or is not a function: bindBufferBase]
expected: FAIL
- [WebGL test #78: Property either does not exist or is not a function: bindBufferBase]
+ [WebGL test #78: Property either does not exist or is not a function: bindBufferRange]
expected: FAIL
- [WebGL test #79: Property either does not exist or is not a function: bindBufferRange]
+ [WebGL test #79: Property either does not exist or is not a function: getIndexedParameter]
expected: FAIL
- [WebGL test #80: Property either does not exist or is not a function: getIndexedParameter]
+ [WebGL test #80: Property either does not exist or is not a function: getUniformIndices]
expected: FAIL
- [WebGL test #81: Property either does not exist or is not a function: getUniformIndices]
+ [WebGL test #81: Property either does not exist or is not a function: getActiveUniforms]
expected: FAIL
- [WebGL test #82: Property either does not exist or is not a function: getActiveUniforms]
+ [WebGL test #82: Property either does not exist or is not a function: getUniformBlockIndex]
expected: FAIL
- [WebGL test #83: Property either does not exist or is not a function: getUniformBlockIndex]
+ [WebGL test #83: Property either does not exist or is not a function: getActiveUniformBlockParameter]
expected: FAIL
- [WebGL test #84: Property either does not exist or is not a function: getActiveUniformBlockParameter]
+ [WebGL test #84: Property either does not exist or is not a function: getActiveUniformBlockName]
expected: FAIL
- [WebGL test #85: Property either does not exist or is not a function: getActiveUniformBlockName]
+ [WebGL test #85: Property either does not exist or is not a function: uniformBlockBinding]
expected: FAIL
- [WebGL test #86: Property either does not exist or is not a function: uniformBlockBinding]
+ [WebGL test #86: Property either does not exist or is not a function: createVertexArray]
expected: FAIL
- [WebGL test #87: Property either does not exist or is not a function: createVertexArray]
+ [WebGL test #87: Property either does not exist or is not a function: deleteVertexArray]
expected: FAIL
- [WebGL test #88: Property either does not exist or is not a function: deleteVertexArray]
+ [WebGL test #88: Property either does not exist or is not a function: isVertexArray]
expected: FAIL
- [WebGL test #89: Property either does not exist or is not a function: isVertexArray]
- expected: FAIL
-
- [WebGL test #90: Property either does not exist or is not a function: bindVertexArray]
+ [WebGL test #89: Property either does not exist or is not a function: bindVertexArray]
expected: FAIL