Implement GL_ANGLE_texture_multisample API part
Support GL_ANGLE_texture_multisample extension.
This patch adds enums of multisampled texture and texStorage2DMultisampleANGLE
API.
TEST=angle_end2end_tests.exe --gtest_filter=TextureMultisampleTest*
TEST=angle_end2end_tests.exe --gtest_filter=NegativeTextureMultisampleTest.Negtive*
BUG=angleproject:2275
Change-Id: I2cab997edc33aa2d0be6082381545335423f64e0
Reviewed-on: https://chromium-review.googlesource.com/c/804613
Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/State.cpp b/src/libANGLE/State.cpp
index 241aceb..7b332d0 100644
--- a/src/libANGLE/State.cpp
+++ b/src/libANGLE/State.cpp
@@ -314,10 +314,12 @@
mSamplerTextures[TextureType::_2DArray].resize(caps.maxCombinedTextureImageUnits);
mSamplerTextures[TextureType::_3D].resize(caps.maxCombinedTextureImageUnits);
}
+ if (clientVersion >= Version(3, 1) || nativeExtensions.textureMultisample)
+ {
+ mSamplerTextures[TextureType::_2DMultisample].resize(caps.maxCombinedTextureImageUnits);
+ }
if (clientVersion >= Version(3, 1))
{
- // TODO(http://anglebug.com/2775): These could also be enabled via extension
- mSamplerTextures[TextureType::_2DMultisample].resize(caps.maxCombinedTextureImageUnits);
mSamplerTextures[TextureType::_2DMultisampleArray].resize(
caps.maxCombinedTextureImageUnits);
@@ -334,7 +336,7 @@
mSamplerTextures[TextureType::External].resize(caps.maxCombinedTextureImageUnits);
}
mCompleteTextureBindings.reserve(caps.maxCombinedTextureImageUnits);
- mCachedTexturesInitState = InitState::MayNeedInit;
+ mCachedTexturesInitState = InitState::MayNeedInit;
mCachedImageTexturesInitState = InitState::MayNeedInit;
for (uint32_t textureIndex = 0; textureIndex < caps.maxCombinedTextureImageUnits;
++textureIndex)
@@ -2838,7 +2840,7 @@
// Initialize to the 'Initialized' state and set to 'MayNeedInit' if any texture is not
// initialized.
- mCachedTexturesInitState = InitState::Initialized;
+ mCachedTexturesInitState = InitState::Initialized;
mCachedImageTexturesInitState = InitState::Initialized;
const ActiveTextureMask &activeTextures = mProgram->getActiveSamplersMask();