aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/webglrenderbuffer.rs2
-rw-r--r--components/script/dom/webglrenderingcontext.rs21
2 files changed, 4 insertions, 19 deletions
diff --git a/components/script/dom/webglrenderbuffer.rs b/components/script/dom/webglrenderbuffer.rs
index a672f9faa72..9e21d78fe5a 100644
--- a/components/script/dom/webglrenderbuffer.rs
+++ b/components/script/dom/webglrenderbuffer.rs
@@ -106,8 +106,6 @@ impl WebGLRenderbuffer {
_ => return Err(WebGLError::InvalidEnum),
};
- // FIXME: Check that w/h are < MAX_RENDERBUFFER_SIZE
-
// FIXME: Invalidate completeness after the call
let msg = WebGLCommand::RenderbufferStorage(constants::RENDERBUFFER, internal_format, width, height);
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index 3988c93646f..34d085d7f6b 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -3863,27 +3863,14 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.7
- fn RenderbufferStorage(&self, target: u32, internal_format: u32,
- width: i32, height: i32) {
- // From the GLES 2.0.25 spec:
- //
- // "target must be RENDERBUFFER."
+ fn RenderbufferStorage(&self, target: u32, internal_format: u32, width: i32, height: i32) {
if target != constants::RENDERBUFFER {
return self.webgl_error(InvalidEnum);
}
- // From the GLES 2.0.25 spec:
- //
- // "If either width or height is greater than the value of
- // MAX_RENDERBUFFER_SIZE , the error INVALID_VALUE is
- // generated."
- //
- // and we have to throw out negative-size values as well just
- // like for TexImage.
- //
- // FIXME: Handle max_renderbuffer_size, which doesn't seem to
- // be in limits.
- if width < 0 || height < 0 {
+ let max = self.limits.max_renderbuffer_size;
+
+ if width < 0 || width as u32 > max || height < 0 || height as u32 > max {
return self.webgl_error(InvalidValue);
}