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;
 }