Fix FramebufferRenderbuffer validation.
We were not checking for an invalid renderbuffer when attaching
to a framebuffer.
Change-Id: Ie29dca1833cc8c2b974f746d51dbee848f52a741
Reviewed-on: https://chromium-review.googlesource.com/181558
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/validationES.cpp b/src/libGLESv2/validationES.cpp
index 9f62b95..ef759a5 100644
--- a/src/libGLESv2/validationES.cpp
+++ b/src/libGLESv2/validationES.cpp
@@ -227,6 +227,18 @@
}
}
+ // [OpenGL ES 2.0.25] Section 4.4.3 page 112
+ // [OpenGL ES 3.0.2] Section 4.4.2 page 201
+ // 'renderbuffer' must be either zero or the name of an existing renderbuffer object of
+ // type 'renderbuffertarget', otherwise an INVALID_OPERATION error is generated.
+ if (renderbuffer != 0)
+ {
+ if (!context->getRenderbuffer(renderbuffer))
+ {
+ return gl::error(GL_INVALID_OPERATION, false);
+ }
+ }
+
return true;
}