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 |