Disallow null pixel data for TexSubImage that have non-zero size.
BUG=angleproject:2055
Change-Id: I4c338691776c6d807333c169ed876d686188a97c
Reviewed-on: https://chromium-review.googlesource.com/735786
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/tests/gl_tests/TextureTest.cpp b/src/tests/gl_tests/TextureTest.cpp
index d6242d6..a218fbe 100644
--- a/src/tests/gl_tests/TextureTest.cpp
+++ b/src/tests/gl_tests/TextureTest.cpp
@@ -1727,15 +1727,6 @@
// ANGLE previously rejected this if GL_OES_texture_npot wasn't active, which is incorrect.
TEST_P(Texture2DTest, NPOTSubImageParameters)
{
- // TODO(geofflang): Allow the GL backend to accept SubImage calls with a null data ptr. (bug
- // 1278)
- if (getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE ||
- getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE)
- {
- std::cout << "Test disabled on OpenGL." << std::endl;
- return;
- }
-
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, mTexture2D);
@@ -1747,7 +1738,8 @@
// Supply a 3x3 (i.e. non-power-of-two) subimage to the texture.
// This should always work, even if GL_OES_texture_npot isn't active.
- glTexSubImage2D(GL_TEXTURE_2D, 1, 0, 0, 3, 3, GL_RGBA, GL_UNSIGNED_BYTE, nullptr);
+ std::array<GLColor, 3 * 3> data;
+ glTexSubImage2D(GL_TEXTURE_2D, 1, 0, 0, 3, 3, GL_RGBA, GL_UNSIGNED_BYTE, data.data());
EXPECT_GL_NO_ERROR();
}