| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "gpu/command_buffer/service/texture_manager.h" | 5 #include "gpu/command_buffer/service/texture_manager.h" |
| 6 | 6 |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "gpu/command_buffer/service/error_state_mock.h" | 8 #include "gpu/command_buffer/service/error_state_mock.h" |
| 9 #include "gpu/command_buffer/service/feature_info.h" | 9 #include "gpu/command_buffer/service/feature_info.h" |
| 10 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" | 10 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" |
| (...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 EXPECT_FALSE(manager_->CanRender(texture_)); | 477 EXPECT_FALSE(manager_->CanRender(texture_)); |
| 478 EXPECT_TRUE(texture_->SafeToRenderFrom()); | 478 EXPECT_TRUE(texture_->SafeToRenderFrom()); |
| 479 EXPECT_FALSE(texture_->IsImmutable()); | 479 EXPECT_FALSE(texture_->IsImmutable()); |
| 480 } | 480 } |
| 481 | 481 |
| 482 TEST_F(TextureTest, SetTargetTextureExternalOES) { | 482 TEST_F(TextureTest, SetTargetTextureExternalOES) { |
| 483 manager_->SetTarget(texture_, GL_TEXTURE_EXTERNAL_OES); | 483 manager_->SetTarget(texture_, GL_TEXTURE_EXTERNAL_OES); |
| 484 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture_)); | 484 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture_)); |
| 485 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture_)); | 485 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture_)); |
| 486 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_)); | 486 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_)); |
| 487 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture_)); | 487 EXPECT_TRUE(TextureTestHelper::IsNPOT(texture_)); |
| 488 EXPECT_TRUE(manager_->CanRender(texture_)); | 488 EXPECT_FALSE(manager_->CanRender(texture_)); |
| 489 EXPECT_TRUE(texture_->SafeToRenderFrom()); | 489 EXPECT_TRUE(texture_->SafeToRenderFrom()); |
| 490 EXPECT_TRUE(texture_->IsImmutable()); | 490 EXPECT_TRUE(texture_->IsImmutable()); |
| 491 manager_->SetStreamTexture(texture_, true); |
| 492 EXPECT_TRUE(manager_->CanRender(texture_)); |
| 493 } |
| 494 |
| 495 TEST_F(TextureTest, ZeroSizeCanNotRender) { |
| 496 manager_->SetTarget(texture_, GL_TEXTURE_2D); |
| 497 EXPECT_FALSE(manager_->CanRender(texture_)); |
| 498 manager_->SetLevelInfo(texture_, |
| 499 GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
| 500 EXPECT_TRUE(manager_->CanRender(texture_)); |
| 501 manager_->SetLevelInfo(texture_, |
| 502 GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
| 503 EXPECT_FALSE(manager_->CanRender(texture_)); |
| 491 } | 504 } |
| 492 | 505 |
| 493 TEST_F(TextureTest, EstimatedSize) { | 506 TEST_F(TextureTest, EstimatedSize) { |
| 494 manager_->SetTarget(texture_, GL_TEXTURE_2D); | 507 manager_->SetTarget(texture_, GL_TEXTURE_2D); |
| 495 manager_->SetLevelInfo(texture_, | 508 manager_->SetLevelInfo(texture_, |
| 496 GL_TEXTURE_2D, 0, GL_RGBA, 8, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 509 GL_TEXTURE_2D, 0, GL_RGBA, 8, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
| 497 EXPECT_EQ(8u * 4u * 4u, texture_->estimated_size()); | 510 EXPECT_EQ(8u * 4u * 4u, texture_->estimated_size()); |
| 498 manager_->SetLevelInfo(texture_, | 511 manager_->SetLevelInfo(texture_, |
| 499 GL_TEXTURE_2D, 2, GL_RGBA, 8, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 512 GL_TEXTURE_2D, 2, GL_RGBA, 8, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
| 500 EXPECT_EQ(8u * 4u * 4u * 2u, texture_->estimated_size()); | 513 EXPECT_EQ(8u * 4u * 4u * 2u, texture_->estimated_size()); |
| (...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1478 EXPECT_EQ(level0, GetLevelInfo(texture2_.get(), GL_TEXTURE_RECTANGLE_ARB, 0)); | 1491 EXPECT_EQ(level0, GetLevelInfo(texture2_.get(), GL_TEXTURE_RECTANGLE_ARB, 0)); |
| 1479 EXPECT_CALL(*decoder_, ClearLevel(_, _, _, _, _, _, _, _, _)) | 1492 EXPECT_CALL(*decoder_, ClearLevel(_, _, _, _, _, _, _, _, _)) |
| 1480 .WillRepeatedly(Return(true)); | 1493 .WillRepeatedly(Return(true)); |
| 1481 EXPECT_TRUE(manager_->ClearTextureLevel( | 1494 EXPECT_TRUE(manager_->ClearTextureLevel( |
| 1482 decoder_.get(), texture2_, GL_TEXTURE_RECTANGLE_ARB, 0)); | 1495 decoder_.get(), texture2_, GL_TEXTURE_RECTANGLE_ARB, 0)); |
| 1483 } | 1496 } |
| 1484 | 1497 |
| 1485 TEST_F(SaveRestoreTextureTest, SaveRestoreStreamTexture) { | 1498 TEST_F(SaveRestoreTextureTest, SaveRestoreStreamTexture) { |
| 1486 manager_->SetTarget(texture_, GL_TEXTURE_EXTERNAL_OES); | 1499 manager_->SetTarget(texture_, GL_TEXTURE_EXTERNAL_OES); |
| 1487 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_EXTERNAL_OES), texture_->target()); | 1500 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_EXTERNAL_OES), texture_->target()); |
| 1488 texture_->SetStreamTexture(true); | 1501 manager_->SetStreamTexture(texture_, true); |
| 1489 GLuint service_id = texture_->service_id(); | 1502 GLuint service_id = texture_->service_id(); |
| 1490 scoped_ptr<TextureDefinition> definition(Save(texture_)); | 1503 scoped_ptr<TextureDefinition> definition(Save(texture_)); |
| 1491 EXPECT_FALSE(texture_->IsStreamTexture()); | 1504 EXPECT_FALSE(texture_->IsStreamTexture()); |
| 1492 manager_->SetTarget(texture2_, GL_TEXTURE_EXTERNAL_OES); | 1505 manager_->SetTarget(texture2_, GL_TEXTURE_EXTERNAL_OES); |
| 1493 Restore(texture2_, definition.release()); | 1506 Restore(texture2_, definition.release()); |
| 1494 EXPECT_TRUE(texture2_->IsStreamTexture()); | 1507 EXPECT_TRUE(texture2_->IsStreamTexture()); |
| 1495 EXPECT_TRUE(texture2_->IsImmutable()); | 1508 EXPECT_TRUE(texture2_->IsImmutable()); |
| 1496 EXPECT_EQ(service_id, texture2_->service_id()); | 1509 EXPECT_EQ(service_id, texture2_->service_id()); |
| 1497 } | 1510 } |
| 1498 | 1511 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 1527 EXPECT_EQ(face0, | 1540 EXPECT_EQ(face0, |
| 1528 GetLevelInfo(texture2_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0)); | 1541 GetLevelInfo(texture2_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0)); |
| 1529 EXPECT_EQ(face5, | 1542 EXPECT_EQ(face5, |
| 1530 GetLevelInfo(texture2_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0)); | 1543 GetLevelInfo(texture2_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0)); |
| 1531 } | 1544 } |
| 1532 | 1545 |
| 1533 } // namespace gles2 | 1546 } // namespace gles2 |
| 1534 } // namespace gpu | 1547 } // namespace gpu |
| 1535 | 1548 |
| 1536 | 1549 |
| OLD | NEW |