diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2018-03-20 10:11:46 +0100 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2018-07-08 10:44:45 +0200 |
commit | 4e6eea221a19b3e5a4b70f5954b3347bb6db02d1 (patch) | |
tree | f0dbfec03665f8fd2ea9330bfe459ee3e6bf99d2 /components/script/dom/webgl2renderingcontext.rs | |
parent | 0aefffc5bfb45a1ebfe86597231d44e73b3f8e5d (diff) | |
download | servo-4e6eea221a19b3e5a4b70f5954b3347bb6db02d1.tar.gz servo-4e6eea221a19b3e5a4b70f5954b3347bb6db02d1.zip |
Implement instanced WebGL drawing calls (part of #20791)
Diffstat (limited to 'components/script/dom/webgl2renderingcontext.rs')
-rw-r--r-- | components/script/dom/webgl2renderingcontext.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/components/script/dom/webgl2renderingcontext.rs b/components/script/dom/webgl2renderingcontext.rs index c06a07a9e3e..deb82e9ced2 100644 --- a/components/script/dom/webgl2renderingcontext.rs +++ b/components/script/dom/webgl2renderingcontext.rs @@ -937,6 +937,34 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext { ) -> Option<Vec<DomRoot<WebGLShader>>> { self.base.GetAttachedShaders(program) } + + /// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.9 + fn DrawArraysInstanced( + &self, + mode: u32, + first: i32, + count: i32, + primcount: i32, + ) { + self.base.draw_arrays_instanced(mode, first, count, primcount); + } + + /// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.9 + fn DrawElementsInstanced( + &self, + mode: u32, + count: i32, + type_: u32, + offset: i64, + primcount: i32, + ) { + self.base.draw_elements_instanced(mode, count, type_, offset, primcount); + } + + /// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.9 + fn VertexAttribDivisor(&self, index: u32, divisor: u32) { + self.base.vertex_attrib_divisor(index, divisor); + } } |