Commit eb06bc24 by Alexis Hetu Committed by Commit Bot

GL_EXT_float_blend support

DetermineFloatBlendSupport was added to be able to set floatBlend to true if requirements are met. Essentially GL_EXT_float_blend complements GL_EXT_color_buffer_float by making any non-blendable formats blendable. Bug: angleproject:4291 Change-Id: I40d6bb7a93b8847a63de2d25c6a8dc411d6d8fbb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2001479 Commit-Queue: Alexis Hétu <sugoi@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 41f6150e
...@@ -682,6 +682,18 @@ static bool DetermineColorBufferFloatSupport(const TextureCapsMap &textureCaps) ...@@ -682,6 +682,18 @@ static bool DetermineColorBufferFloatSupport(const TextureCapsMap &textureCaps)
GetFormatSupport(textureCaps, blendableFormats, true, false, true, true, true); GetFormatSupport(textureCaps, blendableFormats, true, false, true, true, true);
} }
// Check for GL_EXT_float_blend support
static bool DetermineFloatBlendSupport(const TextureCapsMap &textureCaps)
{
constexpr GLenum requiredFormats[] = {
GL_R32F,
GL_RG32F,
GL_RGBA32F,
};
return GetFormatSupport(textureCaps, requiredFormats, true, false, true, true, true);
}
// Check for GL_EXT_texture_norm16 support // Check for GL_EXT_texture_norm16 support
static bool DetermineTextureNorm16Support(const TextureCapsMap &textureCaps) static bool DetermineTextureNorm16Support(const TextureCapsMap &textureCaps)
{ {
...@@ -793,6 +805,7 @@ void Extensions::setTextureExtensionSupport(const TextureCapsMap &textureCaps) ...@@ -793,6 +805,7 @@ void Extensions::setTextureExtensionSupport(const TextureCapsMap &textureCaps)
colorBufferFloatRGB = DetermineColorBufferFloatRGBSupport(textureCaps); colorBufferFloatRGB = DetermineColorBufferFloatRGBSupport(textureCaps);
colorBufferFloatRGBA = DetermineColorBufferFloatRGBASupport(textureCaps); colorBufferFloatRGBA = DetermineColorBufferFloatRGBASupport(textureCaps);
colorBufferFloat = DetermineColorBufferFloatSupport(textureCaps); colorBufferFloat = DetermineColorBufferFloatSupport(textureCaps);
floatBlend = DetermineFloatBlendSupport(textureCaps);
textureNorm16 = DetermineTextureNorm16Support(textureCaps); textureNorm16 = DetermineTextureNorm16Support(textureCaps);
textureCompressionBPTC = DetermineBPTCTextureSupport(textureCaps); textureCompressionBPTC = DetermineBPTCTextureSupport(textureCaps);
compressedTexturePVRTC = DeterminePVRTCTextureSupport(textureCaps); compressedTexturePVRTC = DeterminePVRTCTextureSupport(textureCaps);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment