Combine SizedFloatRGBA[Renderbuffer,TextureAttachment]Support.

Bug: angleproject:3332
Change-Id: Ia937727062d3296af9691a95d296c89b8e9476ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544779
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
diff --git a/src/libANGLE/formatutils.cpp b/src/libANGLE/formatutils.cpp
index adb4034..fac0f47 100644
--- a/src/libANGLE/formatutils.cpp
+++ b/src/libANGLE/formatutils.cpp
@@ -280,13 +280,6 @@
            (extensions.colorBufferFloat || extensions.colorBufferHalfFloat);
 }
 
-static bool SizedFloatRGBARenderbufferSupport(const Version &clientVersion,
-                                              const Extensions &extensions)
-{
-    return (clientVersion >= Version(3, 0) || extensions.textureFloat) &&
-           (extensions.colorBufferFloat || extensions.colorBufferFloatRGBA);
-}
-
 // R32F, RG32F
 static bool SizedFloatRGSupport(const Version &clientVersion, const Extensions &extensions)
 {
@@ -309,10 +302,12 @@
            extensions.colorBufferFloatRGBA;
 }
 
-static bool SizedFloatRGBATextureAttachmentSupport(const Version &clientVersion,
-                                                   const Extensions &extensions)
+static bool SizedFloatRGBARenderableSupport(const Version &clientVersion,
+                                            const Extensions &extensions)
 {
-    return (extensions.colorBufferFloat || extensions.colorBufferFloatRGBA);
+    // This logic is the same for both Renderbuffers and TextureAttachment.
+    return extensions.colorBufferFloatRGBA ||  // ES2
+           extensions.colorBufferFloat;        // ES3
 }
 
 InternalFormat::InternalFormat()
@@ -790,7 +785,7 @@
     AddRGBAFormat(&map, GL_R32F,          true, 32,  0,  0,  0, 0, GL_RED,  GL_FLOAT,          GL_FLOAT,        false, SizedFloatRGSupport,        RequireExt<&Extensions::textureFloatLinear>, RequireExt<&Extensions::colorBufferFloat>,    RequireExt<&Extensions::colorBufferFloat>);
     AddRGBAFormat(&map, GL_RG32F,         true, 32, 32,  0,  0, 0, GL_RG,   GL_FLOAT,          GL_FLOAT,        false, SizedFloatRGSupport,        RequireExt<&Extensions::textureFloatLinear>, RequireExt<&Extensions::colorBufferFloat>,    RequireExt<&Extensions::colorBufferFloat>);
     AddRGBAFormat(&map, GL_RGB32F,        true, 32, 32, 32,  0, 0, GL_RGB,  GL_FLOAT,          GL_FLOAT,        false, SizedFloatRGBSupport,       RequireExt<&Extensions::textureFloatLinear>, RequireExt<&Extensions::colorBufferFloatRGB>, NeverSupported                           );
-    AddRGBAFormat(&map, GL_RGBA32F,       true, 32, 32, 32, 32, 0, GL_RGBA, GL_FLOAT,          GL_FLOAT,        false, SizedFloatRGBASupport,      RequireExt<&Extensions::textureFloatLinear>, SizedFloatRGBATextureAttachmentSupport,       SizedFloatRGBARenderbufferSupport);
+    AddRGBAFormat(&map, GL_RGBA32F,       true, 32, 32, 32, 32, 0, GL_RGBA, GL_FLOAT,          GL_FLOAT,        false, SizedFloatRGBASupport,      RequireExt<&Extensions::textureFloatLinear>, SizedFloatRGBARenderableSupport,              SizedFloatRGBARenderableSupport          );
 
     // Depth stencil formats
     //                         | Internal format         |sized| D |S | X | Format            | Type                             | Component type        | Texture supported                                                | Filterable                                      | Texture attachment                                                                   | Renderbuffer                                                                         |