Merge all gl::Texture* classes.
The validation for sampler completeness had a lot of duplicated code.
The special cases have been merged into the base class by checking mTarget.
BUG=angle:681
Change-Id: I11d94c1432f8fc70a1edaaf8228bbc43c3c8fff3
Reviewed-on: https://chromium-review.googlesource.com/236932
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/ResourceManager.cpp b/src/libANGLE/ResourceManager.cpp
index 299958c..75fbc64 100644
--- a/src/libANGLE/ResourceManager.cpp
+++ b/src/libANGLE/ResourceManager.cpp
@@ -370,30 +370,7 @@
{
if (!getTexture(texture) && texture != 0)
{
- Texture *textureObject;
-
- if (type == GL_TEXTURE_2D)
- {
- textureObject = new Texture2D(mRenderer->createTexture(GL_TEXTURE_2D), texture);
- }
- else if (type == GL_TEXTURE_CUBE_MAP)
- {
- textureObject = new TextureCubeMap(mRenderer->createTexture(GL_TEXTURE_CUBE_MAP), texture);
- }
- else if (type == GL_TEXTURE_3D)
- {
- textureObject = new Texture3D(mRenderer->createTexture(GL_TEXTURE_3D), texture);
- }
- else if (type == GL_TEXTURE_2D_ARRAY)
- {
- textureObject = new Texture2DArray(mRenderer->createTexture(GL_TEXTURE_2D_ARRAY), texture);
- }
- else
- {
- UNREACHABLE();
- return;
- }
-
+ Texture *textureObject = new Texture(mRenderer->createTexture(type), texture, type);
mTextureMap[texture] = textureObject;
textureObject->addRef();
}