aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webgl2renderingcontext.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2018-07-08 04:45:37 -0400
committerGitHub <noreply@github.com>2018-07-08 04:45:37 -0400
commit41e105733c594a5660efa018cbb61a5ed67cb82d (patch)
tree015a2bda96856c4104139592c926c3e1b17be8f9 /components/script/dom/webgl2renderingcontext.rs
parentbd0c001218fcb624953aa42805f4faec9b6d3212 (diff)
parent4e6eea221a19b3e5a4b70f5954b3347bb6db02d1 (diff)
downloadservo-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.rs28
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);
+ }
}