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

Unified Diff: gpu/command_buffer/service/texture_manager_unittest.cc

Issue 2208733002: Command buffer: clear rect for a specific layer/level of the uncleared texture for CopyTexSubImage3D (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Do not assign a default value 0 to layer, UpdateMipCleared for all layers for 3D texture Created 4 years, 4 months 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 | « gpu/command_buffer/service/texture_manager.cc ('k') | gpu/ipc/service/stream_texture_android.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/service/texture_manager_unittest.cc
diff --git a/gpu/command_buffer/service/texture_manager_unittest.cc b/gpu/command_buffer/service/texture_manager_unittest.cc
index 857db18bb57709a68607fcfef8046cb2c06f4255..3245fa071864256d053576a6820c686efa935b4d 100644
--- a/gpu/command_buffer/service/texture_manager_unittest.cc
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc
@@ -178,6 +178,8 @@ class GLStreamTextureImageStub : public GLStreamTextureImage {
~GLStreamTextureImageStub() override {}
};
+// TODO(yunchao) add test cases for 3D texture and 2D_ARRAY texture
+
TEST_F(TextureManagerTest, Basic) {
const GLuint kClient1Id = 1;
const GLuint kService1Id = 11;
@@ -1280,38 +1282,38 @@ TEST_F(TextureTest, GetLevelType) {
TEST_F(TextureTest, ValidForTexture) {
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
- manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 6,
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 1,
0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5));
// Check bad face.
Texture* texture = texture_ref_->texture();
EXPECT_FALSE(texture->ValidForTexture(
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 1, 0, 0, 0, 4, 5, 6));
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 1, 0, 0, 0, 4, 5, 1));
// Check bad level.
- EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 0, 0, 0, 0, 4, 5, 6));
+ EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 0, 0, 0, 0, 4, 5, 1));
// Check bad xoffset.
- EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, -1, 0, 0, 4, 5, 6));
+ EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, -1, 0, 0, 4, 5, 1));
// Check bad xoffset + width > width.
- EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 1, 0, 0, 4, 5, 6));
+ EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 1, 0, 0, 4, 5, 1));
// Check bad yoffset.
- EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, -1, 0, 4, 5, 6));
+ EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, -1, 0, 4, 5, 1));
// Check bad yoffset + height > height.
- EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 1, 0, 4, 5, 6));
+ EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 1, 0, 4, 5, 1));
// Check bad zoffset.
- EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, -1, 4, 5, 6));
+ EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, -1, 4, 5, 1));
// Check bad zoffset + depth > depth.
- EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 1, 4, 5, 6));
+ EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 1, 4, 5, 1));
// Check bad width.
- EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 0, 5, 5, 6));
+ EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 0, 5, 5, 1));
// Check bad height.
- EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 0, 4, 6, 6));
+ EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 0, 4, 6, 1));
// Check bad depth.
- EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 0, 4, 5, 7));
+ EXPECT_FALSE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 0, 4, 5, 2));
// Check valid full size
- EXPECT_TRUE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 0, 4, 5, 6));
+ EXPECT_TRUE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 0, 4, 5, 1));
// Check valid particial size.
- EXPECT_TRUE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 1, 1, 1, 2, 3, 4));
+ EXPECT_TRUE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 1, 1, 0, 2, 3, 1));
manager_->RemoveTexture(kClient1Id);
- EXPECT_TRUE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 0, 4, 5, 6));
+ EXPECT_TRUE(texture->ValidForTexture(GL_TEXTURE_2D, 1, 0, 0, 0, 4, 5, 1));
}
TEST_F(TextureTest, FloatNotLinear) {
@@ -1491,7 +1493,7 @@ TEST_F(TextureTest, SafeUnsafe) {
EXPECT_TRUE(manager_->HaveUnsafeTextures());
EXPECT_TRUE(manager_->HaveUnclearedMips());
EXPECT_EQ(1, texture->num_uncleared_mips());
- manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 0, true);
+ manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 0, 0, true);
EXPECT_TRUE(texture->SafeToRenderFrom());
EXPECT_FALSE(manager_->HaveUnsafeTextures());
EXPECT_FALSE(manager_->HaveUnclearedMips());
@@ -1502,7 +1504,7 @@ TEST_F(TextureTest, SafeUnsafe) {
EXPECT_TRUE(manager_->HaveUnsafeTextures());
EXPECT_TRUE(manager_->HaveUnclearedMips());
EXPECT_EQ(1, texture->num_uncleared_mips());
- manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 1, true);
+ manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 1, 0, true);
EXPECT_TRUE(texture->SafeToRenderFrom());
EXPECT_FALSE(manager_->HaveUnsafeTextures());
EXPECT_FALSE(manager_->HaveUnclearedMips());
@@ -1515,12 +1517,12 @@ TEST_F(TextureTest, SafeUnsafe) {
EXPECT_TRUE(manager_->HaveUnsafeTextures());
EXPECT_TRUE(manager_->HaveUnclearedMips());
EXPECT_EQ(2, texture->num_uncleared_mips());
- manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 0, true);
+ manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 0, 0, true);
EXPECT_FALSE(texture->SafeToRenderFrom());
EXPECT_TRUE(manager_->HaveUnsafeTextures());
EXPECT_TRUE(manager_->HaveUnclearedMips());
EXPECT_EQ(1, texture->num_uncleared_mips());
- manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 1, true);
+ manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 1, 0, true);
EXPECT_TRUE(texture->SafeToRenderFrom());
EXPECT_FALSE(manager_->HaveUnsafeTextures());
EXPECT_FALSE(manager_->HaveUnclearedMips());
@@ -1569,11 +1571,11 @@ TEST_F(TextureTest, SafeUnsafe) {
EXPECT_TRUE(manager_->HaveUnclearedMips());
Texture* texture3 = texture_ref3->texture();
EXPECT_EQ(1, texture3->num_uncleared_mips());
- manager_->SetLevelCleared(texture_ref2.get(), GL_TEXTURE_2D, 0, true);
+ manager_->SetLevelCleared(texture_ref2.get(), GL_TEXTURE_2D, 0, 0, true);
EXPECT_TRUE(manager_->HaveUnsafeTextures());
EXPECT_TRUE(manager_->HaveUnclearedMips());
EXPECT_EQ(0, texture2->num_uncleared_mips());
- manager_->SetLevelCleared(texture_ref3.get(), GL_TEXTURE_2D, 0, true);
+ manager_->SetLevelCleared(texture_ref3.get(), GL_TEXTURE_2D, 0, 0, true);
EXPECT_FALSE(manager_->HaveUnsafeTextures());
EXPECT_FALSE(manager_->HaveUnclearedMips());
EXPECT_EQ(0, texture3->num_uncleared_mips());
@@ -1681,24 +1683,24 @@ TEST_F(TextureTest, GetLevelImage) {
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1,
0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2));
Texture* texture = texture_ref_->texture();
- EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_2D, 1) == NULL);
+ EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_2D, 1, 0) == NULL);
// Set image.
scoped_refptr<gl::GLImage> image(new gl::GLImageStub);
- manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_2D, 1, image.get(),
+ manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_2D, 1, 0, image.get(),
Texture::BOUND);
- EXPECT_FALSE(texture->GetLevelImage(GL_TEXTURE_2D, 1) == NULL);
- EXPECT_TRUE(texture->GetLevelStreamTextureImage(GL_TEXTURE_2D, 1) == NULL);
+ EXPECT_FALSE(texture->GetLevelImage(GL_TEXTURE_2D, 1, 0) == NULL);
+ EXPECT_TRUE(texture->GetLevelStreamTextureImage(GL_TEXTURE_2D, 1, 0) == NULL);
// Remove it.
- manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_2D, 1, nullptr,
+ manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_2D, 1, 0, nullptr,
Texture::UNBOUND);
- EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_2D, 1) == NULL);
- manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_2D, 1, image.get(),
+ EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_2D, 1, 0) == NULL);
+ manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_2D, 1, 0, image.get(),
Texture::UNBOUND);
// Image should be reset when SetLevelInfo is called.
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1,
0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2));
- EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_2D, 1) == NULL);
- EXPECT_TRUE(texture->GetLevelStreamTextureImage(GL_TEXTURE_2D, 1) == NULL);
+ EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_2D, 1, 0) == NULL);
+ EXPECT_TRUE(texture->GetLevelStreamTextureImage(GL_TEXTURE_2D, 1, 0) == NULL);
}
TEST_F(TextureTest, GetLevelStreamTextureImage) {
@@ -1711,30 +1713,31 @@ TEST_F(TextureTest, GetLevelStreamTextureImage) {
// Set image.
scoped_refptr<GLStreamTextureImage> image(new GLStreamTextureImageStub);
manager_->SetLevelStreamTextureImage(texture_ref_.get(),
- GL_TEXTURE_EXTERNAL_OES, 0, image.get(),
- Texture::BOUND, 0);
- EXPECT_FALSE(texture->GetLevelImage(GL_TEXTURE_EXTERNAL_OES, 0) == NULL);
+ GL_TEXTURE_EXTERNAL_OES, 0, 0,
+ image.get(), Texture::BOUND, 0);
+ EXPECT_FALSE(texture->GetLevelImage(GL_TEXTURE_EXTERNAL_OES, 0, 0) == NULL);
EXPECT_FALSE(
- texture->GetLevelStreamTextureImage(GL_TEXTURE_EXTERNAL_OES, 0) == NULL);
+ texture->GetLevelStreamTextureImage(GL_TEXTURE_EXTERNAL_OES, 0, 0) ==
+ NULL);
// Replace it as a normal image.
scoped_refptr<gl::GLImage> image2(new gl::GLImageStub);
- manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES, 0,
+ manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES, 0, 0,
image2.get(), Texture::BOUND);
- EXPECT_FALSE(texture->GetLevelImage(GL_TEXTURE_EXTERNAL_OES, 0) == NULL);
- EXPECT_TRUE(texture->GetLevelStreamTextureImage(GL_TEXTURE_EXTERNAL_OES, 0) ==
- NULL);
+ EXPECT_FALSE(texture->GetLevelImage(GL_TEXTURE_EXTERNAL_OES, 0, 0) == NULL);
+ EXPECT_TRUE(texture->GetLevelStreamTextureImage(GL_TEXTURE_EXTERNAL_OES, 0, 0)
+ == NULL);
// Image should be reset when SetLevelInfo is called.
manager_->SetLevelStreamTextureImage(texture_ref_.get(),
- GL_TEXTURE_EXTERNAL_OES, 0, image.get(),
- Texture::UNBOUND, 0);
+ GL_TEXTURE_EXTERNAL_OES, 0, 0,
+ image.get(), Texture::UNBOUND, 0);
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES, 0,
GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
gfx::Rect(2, 2));
- EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_EXTERNAL_OES, 0) == NULL);
- EXPECT_TRUE(texture->GetLevelStreamTextureImage(GL_TEXTURE_EXTERNAL_OES, 0) ==
- NULL);
+ EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_EXTERNAL_OES, 0, 0) == NULL);
+ EXPECT_TRUE(texture->GetLevelStreamTextureImage(GL_TEXTURE_EXTERNAL_OES, 0, 0)
+ == NULL);
}
TEST_F(TextureTest, SetLevelImageState) {
@@ -1744,14 +1747,14 @@ TEST_F(TextureTest, SetLevelImageState) {
Texture* texture = texture_ref_->texture();
// Set image, initially BOUND.
scoped_refptr<gl::GLImage> image(new gl::GLImageStub);
- manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_2D, 0, image.get(),
+ manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_2D, 0, 0, image.get(),
Texture::BOUND);
Texture::ImageState state;
- texture->GetLevelImage(GL_TEXTURE_2D, 0, &state);
+ texture->GetLevelImage(GL_TEXTURE_2D, 0, 0, &state);
EXPECT_EQ(state, Texture::BOUND);
// Change the state.
- texture->SetLevelImageState(GL_TEXTURE_2D, 0, Texture::COPIED);
- texture->GetLevelImage(GL_TEXTURE_2D, 0, &state);
+ texture->SetLevelImageState(GL_TEXTURE_2D, 0, 0, Texture::COPIED);
+ texture->GetLevelImage(GL_TEXTURE_2D, 0, 0, &state);
EXPECT_EQ(state, Texture::COPIED);
}
@@ -1771,7 +1774,7 @@ TEST_F(TextureTest, SetStreamTextureImageServiceID) {
GLuint stream_texture_service_id = service_id + 1;
scoped_refptr<GLStreamTextureImage> image(new GLStreamTextureImageStub);
manager_->SetLevelStreamTextureImage(
- texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES, 0, image.get(),
+ texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES, 0, 0, image.get(),
Texture::BOUND, stream_texture_service_id);
// Make sure that service_id() changed but owned_service_id() didn't.
@@ -1780,8 +1783,8 @@ TEST_F(TextureTest, SetStreamTextureImageServiceID) {
// Undo the override.
manager_->SetLevelStreamTextureImage(texture_ref_.get(),
- GL_TEXTURE_EXTERNAL_OES, 0, image.get(),
- Texture::BOUND, 0);
+ GL_TEXTURE_EXTERNAL_OES, 0, 0,
+ image.get(), Texture::BOUND, 0);
// The service IDs should be back as they were.
EXPECT_EQ(service_id, texture->service_id());
@@ -1789,7 +1792,7 @@ TEST_F(TextureTest, SetStreamTextureImageServiceID) {
// Override again, so that we can check delete behavior.
manager_->SetLevelStreamTextureImage(
- texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES, 0, image.get(),
+ texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES, 0, 0, image.get(),
Texture::BOUND, stream_texture_service_id);
// Remove the Texture. It should delete the texture id that it owns, even
@@ -1817,7 +1820,8 @@ TEST_F(TextureTest, AddToSignature) {
0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2));
std::string signature1;
std::string signature2;
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature1);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature1);
std::set<std::string> string_set;
EXPECT_FALSE(InSet(&string_set, signature1));
@@ -1825,66 +1829,69 @@ TEST_F(TextureTest, AddToSignature) {
// check changing 1 thing makes a different signature.
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 2, 1,
0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 2));
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_FALSE(InSet(&string_set, signature2));
// check putting it back makes the same signature.
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1,
0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2));
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_EQ(signature1, signature2);
// Check setting cleared status does not change signature.
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1,
0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect());
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_EQ(signature1, signature2);
// Check changing other settings changes signature.
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 4, 1,
0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect());
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
- EXPECT_FALSE(InSet(&string_set, signature2));
-
- manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 2,
- 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect());
- signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_FALSE(InSet(&string_set, signature2));
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1,
1, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect());
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_FALSE(InSet(&string_set, signature2));
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1,
0, GL_RGB, GL_UNSIGNED_BYTE, gfx::Rect());
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_FALSE(InSet(&string_set, signature2));
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1,
0, GL_RGBA, GL_FLOAT, gfx::Rect());
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_FALSE(InSet(&string_set, signature2));
// put it back
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1,
0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect());
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_EQ(signature1, signature2);
// check changing parameters changes signature.
SetParameter(
texture_ref_.get(), GL_TEXTURE_MIN_FILTER, GL_NEAREST, GL_NO_ERROR);
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_FALSE(InSet(&string_set, signature2));
SetParameter(texture_ref_.get(),
@@ -1894,7 +1901,8 @@ TEST_F(TextureTest, AddToSignature) {
SetParameter(
texture_ref_.get(), GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR);
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_FALSE(InSet(&string_set, signature2));
SetParameter(
@@ -1902,24 +1910,27 @@ TEST_F(TextureTest, AddToSignature) {
SetParameter(
texture_ref_.get(), GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE, GL_NO_ERROR);
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_FALSE(InSet(&string_set, signature2));
SetParameter(texture_ref_.get(), GL_TEXTURE_WRAP_S, GL_REPEAT, GL_NO_ERROR);
SetParameter(
texture_ref_.get(), GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE, GL_NO_ERROR);
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_FALSE(InSet(&string_set, signature2));
// Check putting it back genenerates the same signature
SetParameter(texture_ref_.get(), GL_TEXTURE_WRAP_T, GL_REPEAT, GL_NO_ERROR);
signature2.clear();
- manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2);
+ manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D,
+ 1, 0, &signature2);
EXPECT_EQ(signature1, signature2);
// Check the set was acutally getting different signatures.
- EXPECT_EQ(11u, string_set.size());
+ EXPECT_EQ(10u, string_set.size());
}
class ProduceConsumeTextureTest : public TextureTest,
@@ -2013,7 +2024,7 @@ class ProduceConsumeTextureTest : public TextureTest,
&info.height, &info.depth));
EXPECT_TRUE(texture->GetLevelType(target, level, &info.type,
&info.format));
- info.cleared_rect = texture->GetLevelClearedRect(target, level);
+ info.cleared_rect = texture->GetLevelClearedRect(target, level, 0);
return info;
}
@@ -2141,7 +2152,7 @@ TEST_P(ProduceConsumeTextureTest, ProduceConsumeTextureWithImage) {
scoped_refptr<gl::GLImage> image(new gl::GLImageStub);
manager_->SetLevelInfo(texture_ref_.get(), target, 0, GL_RGBA, 0, 0, 1, 0,
GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect());
- manager_->SetLevelImage(texture_ref_.get(), target, 0, image.get(),
+ manager_->SetLevelImage(texture_ref_.get(), target, 0, 0, image.get(),
Texture::BOUND);
GLuint service_id = texture->service_id();
Texture* produced_texture = Produce(texture_ref_.get());
@@ -2152,7 +2163,8 @@ TEST_P(ProduceConsumeTextureTest, ProduceConsumeTextureWithImage) {
scoped_refptr<TextureRef> restored_texture = manager_->GetTexture(client_id);
EXPECT_EQ(produced_texture, restored_texture->texture());
EXPECT_EQ(service_id, restored_texture->service_id());
- EXPECT_EQ(image.get(), restored_texture->texture()->GetLevelImage(target, 0));
+ EXPECT_EQ(image.get(),
+ restored_texture->texture()->GetLevelImage(target, 0, 0));
}
static const GLenum kTextureTargets[] = {GL_TEXTURE_2D, GL_TEXTURE_EXTERNAL_OES,
@@ -2325,7 +2337,7 @@ TEST_F(SharedTextureTest, TextureSafetyAccounting) {
EXPECT_TRUE(texture_manager2_->HaveUnclearedMips());
// Make texture cleared on one texture manager, should affect other one.
- texture_manager1_->SetLevelCleared(ref1.get(), GL_TEXTURE_2D, 0, true);
+ texture_manager1_->SetLevelCleared(ref1.get(), GL_TEXTURE_2D, 0, 0, true);
EXPECT_FALSE(texture_manager1_->HaveUnsafeTextures());
EXPECT_FALSE(texture_manager1_->HaveUnclearedMips());
EXPECT_FALSE(texture_manager2_->HaveUnsafeTextures());
@@ -2461,15 +2473,15 @@ TEST_F(SharedTextureTest, Images) {
EXPECT_FALSE(texture_manager1_->HaveImages());
EXPECT_FALSE(texture_manager2_->HaveImages());
scoped_refptr<gl::GLImage> image1(new gl::GLImageStub);
- texture_manager1_->SetLevelImage(ref1.get(), GL_TEXTURE_2D, 1, image1.get(),
- Texture::BOUND);
+ texture_manager1_->SetLevelImage(ref1.get(), GL_TEXTURE_2D, 1, 0,
+ image1.get(), Texture::BOUND);
EXPECT_TRUE(ref1->texture()->HasImages());
EXPECT_TRUE(ref2->texture()->HasImages());
EXPECT_TRUE(texture_manager1_->HaveImages());
EXPECT_TRUE(texture_manager2_->HaveImages());
scoped_refptr<gl::GLImage> image2(new gl::GLImageStub);
- texture_manager1_->SetLevelImage(ref1.get(), GL_TEXTURE_2D, 1, image2.get(),
- Texture::BOUND);
+ texture_manager1_->SetLevelImage(ref1.get(), GL_TEXTURE_2D, 1, 0,
+ image2.get(), Texture::BOUND);
EXPECT_TRUE(ref1->texture()->HasImages());
EXPECT_TRUE(ref2->texture()->HasImages());
EXPECT_TRUE(texture_manager1_->HaveImages());
« no previous file with comments | « gpu/command_buffer/service/texture_manager.cc ('k') | gpu/ipc/service/stream_texture_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698