Add helper methods for FBO attachment validation.

Subsequent refactoring will eliminate duplicate code.

BUG=angle:571

Change-Id: I086320beb5c432c326d29d047931575e6f2a1d64
Reviewed-on: https://chromium-review.googlesource.com/205603
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index eca7d71..630330c 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -1877,14 +1877,7 @@
         gl::Context *context = gl::getNonLostContext();
         if (context)
         {
-            if (context->getClientVersion() < 3 &&
-                !ValidateES2FramebufferTextureParameters(context, target, attachment, textarget, texture, level))
-            {
-                return;
-            }
-
-            if (context->getClientVersion() >= 3 &&
-                !ValidateES3FramebufferTextureParameters(context, target, attachment, textarget, texture, level, 0, false))
+            if (!ValidateFramebufferTexture2D(context, target, attachment, textarget, texture, level))
             {
                 return;
             }
@@ -6736,12 +6729,8 @@
 
         if (context)
         {
-            if (context->getClientVersion() < 3)
-            {
-                return gl::error(GL_INVALID_OPERATION);
-            }
-
-            if (!ValidateES3FramebufferTextureParameters(context, target, attachment, GL_NONE, texture, level, layer, true))
+            if (!ValidateFramebufferTextureLayer(context, target, attachment, texture,
+                                                 level, layer))
             {
                 return;
             }
@@ -6761,9 +6750,9 @@
             {
                 switch (attachment)
                 {
-                case GL_DEPTH_ATTACHMENT:         framebuffer->setDepthbuffer(textarget, texture, level, layer);        break;
-                case GL_STENCIL_ATTACHMENT:       framebuffer->setStencilbuffer(textarget, texture, level, layer);      break;
-                case GL_DEPTH_STENCIL_ATTACHMENT: framebuffer->setDepthStencilBuffer(textarget, texture, level, layer); break;
+                  case GL_DEPTH_ATTACHMENT:         framebuffer->setDepthbuffer(textarget, texture, level, layer);        break;
+                  case GL_STENCIL_ATTACHMENT:       framebuffer->setStencilbuffer(textarget, texture, level, layer);      break;
+                  case GL_DEPTH_STENCIL_ATTACHMENT: framebuffer->setDepthStencilBuffer(textarget, texture, level, layer); break;
                 }
             }
         }