Fix some more WebGL methods

This commit is contained in:
Anthony Ramine 2018-03-23 01:23:39 +01:00
parent eaf59ca9b9
commit 8061d8c3d2
4 changed files with 14 additions and 151 deletions

View file

@ -185,18 +185,17 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
} }
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9 /// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9
fn AttachShader(&self, program: Option<&WebGLProgram>, shader: Option<&WebGLShader>) { fn AttachShader(&self, program: &WebGLProgram, shader: &WebGLShader) {
self.base.AttachShader(program, shader) self.base.AttachShader(program, shader)
} }
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9 /// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9
fn DetachShader(&self, program: Option<&WebGLProgram>, shader: Option<&WebGLShader>) { fn DetachShader(&self, program: &WebGLProgram, shader: &WebGLShader) {
self.base.DetachShader(program, shader) self.base.DetachShader(program, shader)
} }
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9 /// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9
fn BindAttribLocation(&self, program: Option<&WebGLProgram>, fn BindAttribLocation(&self, program: &WebGLProgram, index: u32, name: DOMString) {
index: u32, name: DOMString) {
self.base.BindAttribLocation(program, index, name) self.base.BindAttribLocation(program, index, name)
} }

View file

@ -1514,30 +1514,19 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
} }
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9 // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9
fn AttachShader(&self, program: Option<&WebGLProgram>, shader: Option<&WebGLShader>) { fn AttachShader(&self, program: &WebGLProgram, shader: &WebGLShader) {
if let Some(program) = program {
if let Some(shader) = shader {
handle_potential_webgl_error!(self, program.attach_shader(shader)); handle_potential_webgl_error!(self, program.attach_shader(shader));
} }
}
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9 // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9
fn DetachShader(&self, program: Option<&WebGLProgram>, shader: Option<&WebGLShader>) { fn DetachShader(&self, program: &WebGLProgram, shader: &WebGLShader) {
if let Some(program) = program {
if let Some(shader) = shader {
handle_potential_webgl_error!(self, program.detach_shader(shader)); handle_potential_webgl_error!(self, program.detach_shader(shader));
} }
}
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9 // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9
fn BindAttribLocation(&self, program: Option<&WebGLProgram>, fn BindAttribLocation(&self, program: &WebGLProgram, index: u32, name: DOMString) {
index: u32, name: DOMString) {
if let Some(program) = program {
handle_potential_webgl_error!(self, program.bind_attrib_location(index, name)); handle_potential_webgl_error!(self, program.bind_attrib_location(index, name));
} }
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5 // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5
fn BindBuffer(&self, target: u32, buffer: Option<&WebGLBuffer>) { fn BindBuffer(&self, target: u32, buffer: Option<&WebGLBuffer>) {

View file

@ -475,8 +475,8 @@ interface WebGLRenderingContextBase
object? getExtension(DOMString name); object? getExtension(DOMString name);
void activeTexture(GLenum texture); void activeTexture(GLenum texture);
void attachShader(WebGLProgram? program, WebGLShader? shader); void attachShader(WebGLProgram program, WebGLShader shader);
void bindAttribLocation(WebGLProgram? program, GLuint index, DOMString name); void bindAttribLocation(WebGLProgram program, GLuint index, DOMString name);
void bindBuffer(GLenum target, WebGLBuffer? buffer); void bindBuffer(GLenum target, WebGLBuffer? buffer);
void bindFramebuffer(GLenum target, WebGLFramebuffer? framebuffer); void bindFramebuffer(GLenum target, WebGLFramebuffer? framebuffer);
void bindRenderbuffer(GLenum target, WebGLRenderbuffer? renderbuffer); void bindRenderbuffer(GLenum target, WebGLRenderbuffer? renderbuffer);
@ -559,7 +559,7 @@ interface WebGLRenderingContextBase
void depthFunc(GLenum func); void depthFunc(GLenum func);
void depthMask(GLboolean flag); void depthMask(GLboolean flag);
void depthRange(GLclampf zNear, GLclampf zFar); void depthRange(GLclampf zNear, GLclampf zFar);
void detachShader(WebGLProgram? program, WebGLShader? shader); void detachShader(WebGLProgram program, WebGLShader shader);
void disable(GLenum cap); void disable(GLenum cap);
void disableVertexAttribArray(GLuint index); void disableVertexAttribArray(GLuint index);
void drawArrays(GLenum mode, GLint first, GLsizei count); void drawArrays(GLenum mode, GLint first, GLsizei count);

View file

@ -1,133 +1,8 @@
[element-index-uint.html] [element-index-uint.html]
expected: ERROR
[WebGL test #1: Draw 0 failed pixel test] [WebGL test #1: Draw 0 failed pixel test]
expected: FAIL expected: FAIL
[WebGL test #2: Error in program linking:One or more shaders failed to compile] [WebGL test #2: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
expected: FAIL
[WebGL test #4: getError expected: NO_ERROR. Was INVALID_OPERATION : ]
expected: FAIL
[WebGL test #6: getError expected: NO_ERROR. Was INVALID_ENUM : ]
expected: FAIL
[WebGL test #7: getError expected: NO_ERROR. Was INVALID_VALUE : ]
expected: FAIL
[WebGL test #9: getError expected: NO_ERROR. Was INVALID_ENUM : ]
expected: FAIL
[WebGL test #10: getError expected: NO_ERROR. Was INVALID_VALUE : ]
expected: FAIL
[WebGL test #12: getError expected: INVALID_OPERATION. Was INVALID_ENUM : ]
expected: FAIL
[WebGL test #13: getError expected: NO_ERROR. Was INVALID_VALUE : ]
expected: FAIL
[WebGL test #15: getError expected: INVALID_OPERATION. Was INVALID_ENUM : ]
expected: FAIL
[WebGL test #18: getError expected: INVALID_VALUE. Was INVALID_ENUM : ]
expected: FAIL
[WebGL test #20: Error in program linking:One or more shaders failed to compile]
expected: FAIL
[WebGL test #21: getError expected: NO_ERROR. Was INVALID_OPERATION : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4)]
expected: FAIL
[WebGL test #22: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0)]
expected: FAIL
[WebGL test #23: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8)]
expected: FAIL
[WebGL test #24: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4)]
expected: FAIL
[WebGL test #25: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0)]
expected: FAIL
[WebGL test #26: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8)]
expected: FAIL
[WebGL test #33: getError expected: NO_ERROR. Was INVALID_ENUM : after drawing]
expected: FAIL
[WebGL test #34: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4)]
expected: FAIL
[WebGL test #35: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0)]
expected: FAIL
[WebGL test #36: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8)]
expected: FAIL
[WebGL test #41: Draw 0 failed pixel test]
expected: FAIL
[WebGL test #42: Error in program linking:One or more shaders failed to compile]
expected: FAIL
[WebGL test #44: getError expected: NO_ERROR. Was INVALID_OPERATION : ]
expected: FAIL
[WebGL test #46: getError expected: NO_ERROR. Was INVALID_ENUM : ]
expected: FAIL
[WebGL test #47: getError expected: NO_ERROR. Was INVALID_VALUE : ]
expected: FAIL
[WebGL test #49: getError expected: NO_ERROR. Was INVALID_ENUM : ]
expected: FAIL
[WebGL test #50: getError expected: NO_ERROR. Was INVALID_VALUE : ]
expected: FAIL
[WebGL test #52: getError expected: INVALID_OPERATION. Was INVALID_ENUM : ]
expected: FAIL
[WebGL test #53: getError expected: NO_ERROR. Was INVALID_VALUE : ]
expected: FAIL
[WebGL test #55: getError expected: INVALID_OPERATION. Was INVALID_ENUM : ]
expected: FAIL
[WebGL test #58: getError expected: INVALID_VALUE. Was INVALID_ENUM : ]
expected: FAIL
[WebGL test #60: Error in program linking:One or more shaders failed to compile]
expected: FAIL
[WebGL test #61: getError expected: NO_ERROR. Was INVALID_OPERATION : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4)]
expected: FAIL
[WebGL test #62: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0)]
expected: FAIL
[WebGL test #63: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8)]
expected: FAIL
[WebGL test #64: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4)]
expected: FAIL
[WebGL test #65: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0)]
expected: FAIL
[WebGL test #66: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8)]
expected: FAIL
[WebGL test #73: getError expected: NO_ERROR. Was INVALID_ENUM : after drawing]
expected: FAIL
[WebGL test #74: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4)]
expected: FAIL
[WebGL test #75: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0)]
expected: FAIL
[WebGL test #76: getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8)]
expected: FAIL expected: FAIL