Re-land "Fix glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, ...)"
BUG=angleproject:1332
Change-Id: Ie970466c4528cb80b2363d0c0683da2d9c23c4f4
Reviewed-on: https://chromium-review.googlesource.com/392267
Commit-Queue: John Bauman <jbauman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/tests/gl_tests/TextureTest.cpp b/src/tests/gl_tests/TextureTest.cpp
index 9d38ad7..50aed08 100644
--- a/src/tests/gl_tests/TextureTest.cpp
+++ b/src/tests/gl_tests/TextureTest.cpp
@@ -1196,6 +1196,30 @@
EXPECT_GL_ERROR(GL_INVALID_VALUE);
}
+// Test that querying GL_TEXTURE_BINDING* doesn't cause an unexpected error.
+TEST_P(Texture2DTest, QueryBinding)
+{
+ glBindTexture(GL_TEXTURE_2D, 0);
+ EXPECT_GL_ERROR(GL_NO_ERROR);
+
+ GLint textureBinding;
+ glGetIntegerv(GL_TEXTURE_BINDING_2D, &textureBinding);
+ EXPECT_GL_NO_ERROR();
+ EXPECT_EQ(0, textureBinding);
+
+ glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, &textureBinding);
+ if (extensionEnabled("GL_OES_EGL_image_external") ||
+ extensionEnabled("GL_NV_EGL_stream_consumer_external"))
+ {
+ EXPECT_GL_NO_ERROR();
+ EXPECT_EQ(0, textureBinding);
+ }
+ else
+ {
+ EXPECT_GL_ERROR(GL_INVALID_ENUM);
+ }
+}
+
TEST_P(Texture2DTest, ZeroSizedUploads)
{
glBindTexture(GL_TEXTURE_2D, mTexture2D);