diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2018-07-08 04:45:37 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-08 04:45:37 -0400 |
commit | 41e105733c594a5660efa018cbb61a5ed67cb82d (patch) | |
tree | 015a2bda96856c4104139592c926c3e1b17be8f9 /components/script/dom/webgl2renderingcontext.rs | |
parent | bd0c001218fcb624953aa42805f4faec9b6d3212 (diff) | |
parent | 4e6eea221a19b3e5a4b70f5954b3347bb6db02d1 (diff) | |
download | servo-41e105733c594a5660efa018cbb61a5ed67cb82d.tar.gz servo-41e105733c594a5660efa018cbb61a5ed67cb82d.zip |
Auto merge of #21129 - servo:webgl, r=emilio
Implement instanced WebGL drawing calls (part of #20791)
This is half of #20599. The check for drawElements is a bit more complex to implement.
<!-- 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/21129)
<!-- Reviewable:end -->
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); + } } |