Commit 559aaca5 by Yuly Novikov Committed by Commit Bot

Fix texture and buffer data bugs in tests found by ASAN.

Bug: angleproject:3153 Change-Id: Iacb7b2b97b9fc5c68fbee03c66d71eb72a53b4d6 Reviewed-on: https://chromium-review.googlesource.com/c/1474342Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
parent 4b654982
...@@ -324,7 +324,7 @@ TEST_P(Texture3DCopy, CopyFromMipmap) ...@@ -324,7 +324,7 @@ TEST_P(Texture3DCopy, CopyFromMipmap)
{ {
ANGLE_SKIP_TEST_IF(!checkExtensions()); ANGLE_SKIP_TEST_IF(!checkExtensions());
std::vector<GLColor> texDataGreen(2u * 2u * 2u, GLColor::green); std::vector<GLColor> texDataGreen(4u * 4u * 4u, GLColor::green);
glBindTexture(GL_TEXTURE_3D, sourceTexture.get()); glBindTexture(GL_TEXTURE_3D, sourceTexture.get());
glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA, 4, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA, 4, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE,
......
...@@ -1220,8 +1220,10 @@ TEST_P(MipmapTestES3, BaseLevelTextureBug) ...@@ -1220,8 +1220,10 @@ TEST_P(MipmapTestES3, BaseLevelTextureBug)
// Probably not Intel. // Probably not Intel.
ANGLE_SKIP_TEST_IF(IsOSX() && (IsNVIDIA() || IsIntel())); ANGLE_SKIP_TEST_IF(IsOSX() && (IsNVIDIA() || IsIntel()));
std::vector<GLColor> texDataRed(2u * 2u, GLColor::red);
glBindTexture(GL_TEXTURE_2D, mTexture); glBindTexture(GL_TEXTURE_2D, mTexture);
glTexImage2D(GL_TEXTURE_2D, 2, GL_RGBA, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, &GLColor::red); glTexImage2D(GL_TEXTURE_2D, 2, GL_RGBA, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, texDataRed.data());
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 2); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 2);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
......
...@@ -3029,11 +3029,9 @@ void main() ...@@ -3029,11 +3029,9 @@ void main()
glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, transformFeedbackBuffer); glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, transformFeedbackBuffer);
// Set up uniform buffer. // Set up uniform buffer.
std::vector<GLColor32F> redData(1, kFloatGreen);
GLBuffer uniformBuffer; GLBuffer uniformBuffer;
glBindBuffer(GL_UNIFORM_BUFFER, uniformBuffer); glBindBuffer(GL_UNIFORM_BUFFER, uniformBuffer);
glBufferData(GL_UNIFORM_BUFFER, 128, &kFloatGreen.R, GL_STATIC_DRAW); glBufferData(GL_UNIFORM_BUFFER, sizeof(GLColor32F), &kFloatGreen.R, GL_STATIC_DRAW);
glBindBufferBase(GL_UNIFORM_BUFFER, 0, uniformBuffer); glBindBufferBase(GL_UNIFORM_BUFFER, 0, uniformBuffer);
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
......
...@@ -186,7 +186,7 @@ TEST_P(TimerQueriesTest, TimeElapsedTextureTest) ...@@ -186,7 +186,7 @@ TEST_P(TimerQueriesTest, TimeElapsedTextureTest)
// Skip test if the number of bits is 0 // Skip test if the number of bits is 0
ANGLE_SKIP_TEST_IF(!queryTimeElapsedBits); ANGLE_SKIP_TEST_IF(!queryTimeElapsedBits);
GLubyte pixels[] = {0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 0}; std::vector<GLColor> texData{GLColor::black, GLColor::white, GLColor::white, GLColor::black};
// Query and texture initialization // Query and texture initialization
GLuint texture; GLuint texture;
...@@ -198,7 +198,7 @@ TEST_P(TimerQueriesTest, TimeElapsedTextureTest) ...@@ -198,7 +198,7 @@ TEST_P(TimerQueriesTest, TimeElapsedTextureTest)
glBeginQueryEXT(GL_TIME_ELAPSED_EXT, query); glBeginQueryEXT(GL_TIME_ELAPSED_EXT, query);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
glBindTexture(GL_TEXTURE_2D, texture); glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 2, 2, 0, GL_RGB, GL_UNSIGNED_BYTE, pixels); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 2, 2, 0, GL_RGB, GL_UNSIGNED_BYTE, texData.data());
glGenerateMipmap(GL_TEXTURE_2D); glGenerateMipmap(GL_TEXTURE_2D);
glFinish(); glFinish();
glEndQueryEXT(GL_TIME_ELAPSED_EXT); glEndQueryEXT(GL_TIME_ELAPSED_EXT);
......
...@@ -4000,7 +4000,7 @@ TEST_P(WebGLCompatibilityTest, GenerateMipmapUnsizedFloatingPointTexture) ...@@ -4000,7 +4000,7 @@ TEST_P(WebGLCompatibilityTest, GenerateMipmapUnsizedFloatingPointTexture)
kFloatGreen, kFloatGreen,
kFloatBlue, kFloatBlue,
}; };
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_FLOAT, data); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0, GL_RGBA, GL_FLOAT, data);
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
glGenerateMipmap(GL_TEXTURE_2D); glGenerateMipmap(GL_TEXTURE_2D);
......
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