aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webgl2renderingcontext.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2018-03-20 10:11:46 +0100
committerAnthony Ramine <n.oxyde@gmail.com>2018-07-08 10:44:45 +0200
commit4e6eea221a19b3e5a4b70f5954b3347bb6db02d1 (patch)
treef0dbfec03665f8fd2ea9330bfe459ee3e6bf99d2 /components/script/dom/webgl2renderingcontext.rs
parent0aefffc5bfb45a1ebfe86597231d44e73b3f8e5d (diff)
downloadservo-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.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);
+ }
}