diff options
author | Mátyás Mustoha <matyas.mustoha@h-lab.eu> | 2019-10-28 13:12:41 +0100 |
---|---|---|
committer | Mátyás Mustoha <matyas.mustoha@h-lab.eu> | 2019-11-26 16:09:13 +0100 |
commit | 8fefa230197452347a97554307f2629b07780916 (patch) | |
tree | 5e8ad1a2850f5656b69c4044845a61276dc3c4b0 /components/script/dom/webglrenderingcontext.rs | |
parent | ea3249550467bd9f5a1de8271ed4fcaa70a7cdda (diff) | |
download | servo-8fefa230197452347a97554307f2629b07780916.tar.gz servo-8fefa230197452347a97554307f2629b07780916.zip |
Add support for WebGL2 ReadPixels functions
Adds support for the new ReadPixels functions introduced with WebGL2
and the relevant PixelStorei parameters.
Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.10
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 74fd8068a72..85930cd3529 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -380,7 +380,7 @@ impl WebGLRenderingContext { // // The WebGL spec mentions a couple more operations that trigger // this: clear() and getParameter(IMPLEMENTATION_COLOR_READ_*). - fn validate_framebuffer(&self) -> WebGLResult<()> { + pub fn validate_framebuffer(&self) -> WebGLResult<()> { match self.bound_framebuffer.get() { Some(fb) => match fb.check_status_for_rendering() { CompleteForRendering::Complete => Ok(()), @@ -481,7 +481,7 @@ impl WebGLRenderingContext { self.send_command(WebGLCommand::VertexAttrib(indx, x, y, z, w)); } - fn get_current_framebuffer_size(&self) -> Option<(i32, i32)> { + pub fn get_current_framebuffer_size(&self) -> Option<(i32, i32)> { match self.bound_framebuffer.get() { Some(fb) => return fb.size(), @@ -490,6 +490,10 @@ impl WebGLRenderingContext { } } + pub fn get_texture_packing_alignment(&self) -> u8 { + self.texture_packing_alignment.get() + } + // LINEAR filtering may be forbidden when using WebGL extensions. // https://www.khronos.org/registry/webgl/extensions/OES_texture_float_linear/ fn validate_filterable_texture( |