Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(797)

Unified Diff: gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc

Issue 2602933002: Unify texture and fbo creation for ES2 and ES3 in gl_tests (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc
diff --git a/gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc b/gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc
index 5d6ace6b587fa862c3261f10c529b59e7b7dd782..e8bed1b5f576c7e73b8757f9f996a23bfaf57953 100644
--- a/gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc
+++ b/gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc
@@ -210,15 +210,9 @@ class GLCopyTextureCHROMIUMTest
void SetUp() override {
gl_.Initialize(GLManager::Options());
-
- CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
}
- void TearDown() override {
- glDeleteTextures(2, textures_);
- glDeleteFramebuffers(1, &framebuffer_id_);
- gl_.Destroy();
- }
+ void TearDown() override { gl_.Destroy(); }
void CreateBackingForTexture(GLenum target, GLsizei width, GLsizei height) {
if (target == GL_TEXTURE_RECTANGLE_ARB) {
@@ -259,8 +253,6 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyTextureCHROMIUMTest {
gl_.Initialize(options);
}
- void TearDown() override { gl_.Destroy(); }
-
// If a driver isn't capable of supporting ES3 context, creating
// ContextGroup will fail. Just skip the test.
bool ShouldSkipTest() const {
@@ -310,6 +302,7 @@ TEST_P(GLCopyTextureCHROMIUMTest, Basic) {
CopyType copy_type = GetParam();
uint8_t pixels[1 * 4] = {255u, 0u, 0u, 255u};
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
pixels);
@@ -555,10 +548,7 @@ TEST_P(GLCopyTextureCHROMIUMTest, ImmutableTexture) {
for (auto src_internal_format : src_internal_formats) {
for (auto dest_internal_format : dest_internal_formats) {
- glDeleteTextures(2, textures_);
- glDeleteFramebuffers(1, &framebuffer_id_);
CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
-
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexStorage2DEXT(GL_TEXTURE_2D, 1, src_internal_format, 1, 1);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 1, 1,
@@ -594,6 +584,8 @@ TEST_P(GLCopyTextureCHROMIUMTest, ImmutableTexture) {
GLTestHelper::CheckPixels(0, 0, 1, 1, 0, pixels);
EXPECT_TRUE(GL_NO_ERROR == glGetError());
}
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
}
}
}
@@ -607,6 +599,7 @@ TEST_P(GLCopyTextureCHROMIUMTest, InternalFormat) {
for (size_t src_index = 0; src_index < arraysize(src_formats); src_index++) {
for (size_t dest_index = 0; dest_index < arraysize(dest_formats);
dest_index++) {
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, src_formats[src_index], 1, 1, 0,
src_formats[src_index], GL_UNSIGNED_BYTE, nullptr);
@@ -628,12 +621,15 @@ TEST_P(GLCopyTextureCHROMIUMTest, InternalFormat) {
EXPECT_TRUE(GL_NO_ERROR == glGetError()) << "src_index:" << src_index
<< " dest_index:" << dest_index;
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
}
}
}
TEST_P(GLCopyTextureCHROMIUMTest, InternalFormatNotSupported) {
CopyType copy_type = GetParam();
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
nullptr);
@@ -658,9 +654,12 @@ TEST_P(GLCopyTextureCHROMIUMTest, InternalFormatNotSupported) {
EXPECT_TRUE(GL_INVALID_OPERATION == glGetError())
<< "dest_index:" << dest_index;
}
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
}
TEST_F(GLCopyTextureCHROMIUMTest, InternalFormatTypeCombinationNotSupported) {
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
nullptr);
@@ -681,6 +680,8 @@ TEST_F(GLCopyTextureCHROMIUMTest, InternalFormatTypeCombinationNotSupported) {
EXPECT_TRUE(GL_INVALID_OPERATION == glGetError())
<< "dest_index:" << dest_index;
}
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
}
// Test to ensure that the destination texture is redefined if the properties
@@ -689,6 +690,7 @@ TEST_F(GLCopyTextureCHROMIUMTest, RedefineDestinationTexture) {
uint8_t pixels[4 * 4] = {255u, 0u, 0u, 255u, 255u, 0u, 0u, 255u,
255u, 0u, 0u, 255u, 255u, 0u, 0u, 255u};
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(
GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
@@ -738,6 +740,10 @@ TEST_F(GLCopyTextureCHROMIUMTest, RedefineDestinationTexture) {
glCheckFramebufferStatus(GL_FRAMEBUFFER));
GLTestHelper::CheckPixels(1, 1, 1, 1, 0, &pixels[12]);
+
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
+
EXPECT_TRUE(GL_NO_ERROR == glGetError());
}
@@ -758,6 +764,7 @@ TEST_P(GLCopyTextureCHROMIUMTest, BasicStatePreservation) {
CopyType copy_type = GetParam();
uint8_t pixels[1 * 4] = {255u, 0u, 0u, 255u};
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
@@ -814,6 +821,9 @@ TEST_P(GLCopyTextureCHROMIUMTest, BasicStatePreservation) {
EXPECT_EQ(GL_TEXTURE1 + x, active_texture);
}
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
+
EXPECT_TRUE(GL_NO_ERROR == glGetError());
};
@@ -823,6 +833,7 @@ TEST_P(GLCopyTextureCHROMIUMTest, TextureStatePreserved) {
CopyType copy_type = GetParam();
// Setup the texture used for the extension invocation.
uint8_t pixels[1 * 4] = {255u, 0u, 0u, 255u};
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
pixels);
@@ -867,6 +878,8 @@ TEST_P(GLCopyTextureCHROMIUMTest, TextureStatePreserved) {
glBindTexture(GL_TEXTURE_2D, 0);
glDeleteTextures(2, texture_ids);
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
EXPECT_TRUE(GL_NO_ERROR == glGetError());
}
@@ -877,6 +890,7 @@ TEST_P(GLCopyTextureCHROMIUMTest, FBOStatePreserved) {
CopyType copy_type = GetParam();
// Setup the texture used for the extension invocation.
uint8_t pixels[1 * 4] = {255u, 0u, 0u, 255u};
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
pixels);
@@ -964,13 +978,15 @@ TEST_P(GLCopyTextureCHROMIUMTest, FBOStatePreserved) {
glDeleteRenderbuffers(1, &renderbuffer_id);
glDeleteTextures(1, &texture_id);
glDeleteFramebuffers(1, &framebuffer_id);
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
EXPECT_TRUE(GL_NO_ERROR == glGetError());
}
TEST_P(GLCopyTextureCHROMIUMTest, ProgramStatePreservation) {
CopyType copy_type = GetParam();
- // unbind the one created in setup.
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
glBindTexture(GL_TEXTURE_2D, 0);
@@ -1044,6 +1060,9 @@ TEST_P(GLCopyTextureCHROMIUMTest, ProgramStatePreservation) {
glDrawArrays(GL_TRIANGLES, 0, 6);
EXPECT_TRUE(GLTestHelper::CheckPixels(0, 0, 1, 1, 0, expected));
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
+
EXPECT_TRUE(GL_NO_ERROR == glGetError());
gl2.MakeCurrent();
@@ -1055,6 +1074,7 @@ TEST_P(GLCopyTextureCHROMIUMTest, ProgramStatePreservation) {
TEST_P(GLCopyTextureCHROMIUMTest, UninitializedSource) {
CopyType copy_type = GetParam();
const GLsizei kWidth = 64, kHeight = 64;
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, kWidth, kHeight, 0, GL_RGBA,
GL_UNSIGNED_BYTE, nullptr);
@@ -1082,10 +1102,14 @@ TEST_P(GLCopyTextureCHROMIUMTest, UninitializedSource) {
}
}
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
+
EXPECT_TRUE(GL_NO_ERROR == glGetError());
}
TEST_F(GLCopyTextureCHROMIUMTest, CopySubTextureDimension) {
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE,
nullptr);
@@ -1117,9 +1141,13 @@ TEST_F(GLCopyTextureCHROMIUMTest, CopySubTextureDimension) {
glCopySubTextureCHROMIUM(textures_[0], textures_[1], 0, 0, 1,
1, 2, 2, false, false, false);
EXPECT_TRUE(glGetError() == GL_INVALID_VALUE);
+
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
}
TEST_F(GLCopyTextureCHROMIUMTest, CopyTextureInvalidTextureIds) {
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE,
nullptr);
@@ -1143,9 +1171,13 @@ TEST_F(GLCopyTextureCHROMIUMTest, CopyTextureInvalidTextureIds) {
glCopyTextureCHROMIUM(textures_[0], textures_[1], GL_RGBA,
GL_UNSIGNED_BYTE, false, false, false);
EXPECT_TRUE(GL_NO_ERROR == glGetError());
+
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
}
TEST_F(GLCopyTextureCHROMIUMTest, CopySubTextureInvalidTextureIds) {
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE,
nullptr);
@@ -1169,11 +1201,15 @@ TEST_F(GLCopyTextureCHROMIUMTest, CopySubTextureInvalidTextureIds) {
glCopySubTextureCHROMIUM(textures_[0], textures_[1], 1, 1, 0,
0, 1, 1, false, false, false);
EXPECT_TRUE(GL_NO_ERROR == glGetError());
+
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
}
TEST_F(GLCopyTextureCHROMIUMTest, CopySubTextureOffset) {
uint8_t rgba_pixels[4 * 4] = {255u, 0u, 0u, 255u, 0u, 255u, 0u, 255u,
0u, 0u, 255u, 255u, 0u, 0u, 0u, 255u};
+ CreateAndBindDestinationTextureAndFBO(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures_[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE,
rgba_pixels);
@@ -1213,6 +1249,9 @@ TEST_F(GLCopyTextureCHROMIUMTest, CopySubTextureOffset) {
GLTestHelper::CheckPixels(1, 0, 1, 1, 0, green);
GLTestHelper::CheckPixels(0, 1, 1, 1, 0, blue);
EXPECT_TRUE(GL_NO_ERROR == glGetError());
+
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
}
TEST_F(GLCopyTextureCHROMIUMTest, CopyTextureBetweenTexture2DAndRectangleArb) {
@@ -1244,11 +1283,6 @@ TEST_F(GLCopyTextureCHROMIUMTest, CopyTextureBetweenTexture2DAndRectangleArb) {
dest_index++) {
GLenum dest_target = dest_targets[dest_index];
- // SetUp() sets up textures with the wrong parameters for this test, and
- // TearDown() expects to successfully delete textures/framebuffers, so
- // this is the right place for the delete/create calls.
- glDeleteTextures(2, textures_);
- glDeleteFramebuffers(1, &framebuffer_id_);
CreateAndBindDestinationTextureAndFBO(dest_target);
// Allocate source and destination textures.
@@ -1305,6 +1339,9 @@ TEST_F(GLCopyTextureCHROMIUMTest, CopyTextureBetweenTexture2DAndRectangleArb) {
GLTestHelper::CheckPixels(x, y, 1, 1, 0, expected_color);
}
}
+
+ glDeleteTextures(2, textures_);
+ glDeleteFramebuffers(1, &framebuffer_id_);
}
}
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698