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

Side by Side Diff: gpu/command_buffer/service/texture_manager_unittest.cc

Issue 1299683002: gpu: If not cube complete, the texture isn't renderable, no matter mipmap complete. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 unified diff | Download patch
OLDNEW
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 <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 20 matching lines...) Expand all
31 31
32 namespace gpu { 32 namespace gpu {
33 namespace gles2 { 33 namespace gles2 {
34 34
35 class TextureTestHelper { 35 class TextureTestHelper {
36 public: 36 public:
37 static bool IsNPOT(const Texture* texture) { 37 static bool IsNPOT(const Texture* texture) {
38 return texture->npot(); 38 return texture->npot();
39 } 39 }
40 static bool IsTextureComplete(const Texture* texture) { 40 static bool IsTextureComplete(const Texture* texture) {
41 return texture->texture_complete(); 41 return texture->texture_2d_complete();
42 } 42 }
43 static bool IsCubeComplete(const Texture* texture) { 43 static bool IsCubeComplete(const Texture* texture) {
44 return texture->cube_complete(); 44 return texture->cube_complete();
45 } 45 }
46 }; 46 };
47 47
48 class TextureManagerTest : public GpuServiceTest { 48 class TextureManagerTest : public GpuServiceTest {
49 public: 49 public:
50 static const GLint kMaxTextureSize = 16; 50 static const GLint kMaxTextureSize = 16;
51 static const GLint kMaxCubeMapTextureSize = 8; 51 static const GLint kMaxCubeMapTextureSize = 8;
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 .Times(1).RetiresOnSaturation() 501 .Times(1).RetiresOnSaturation()
502 502
503 TEST_F(TextureTest, Basic) { 503 TEST_F(TextureTest, Basic) {
504 Texture* texture = texture_ref_->texture(); 504 Texture* texture = texture_ref_->texture();
505 EXPECT_EQ(0u, texture->target()); 505 EXPECT_EQ(0u, texture->target());
506 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 506 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
507 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); 507 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture));
508 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); 508 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get()));
509 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 509 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
510 EXPECT_EQ(0, texture->num_uncleared_mips()); 510 EXPECT_EQ(0, texture->num_uncleared_mips());
511 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 511 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
512 EXPECT_TRUE(texture->SafeToRenderFrom()); 512 EXPECT_TRUE(texture->SafeToRenderFrom());
513 EXPECT_FALSE(texture->IsImmutable()); 513 EXPECT_FALSE(texture->IsImmutable());
514 EXPECT_EQ(static_cast<GLenum>(GL_NEAREST_MIPMAP_LINEAR), 514 EXPECT_EQ(static_cast<GLenum>(GL_NEAREST_MIPMAP_LINEAR),
515 texture->min_filter()); 515 texture->min_filter());
516 EXPECT_EQ(static_cast<GLenum>(GL_LINEAR), texture->mag_filter()); 516 EXPECT_EQ(static_cast<GLenum>(GL_LINEAR), texture->mag_filter());
517 EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), texture->wrap_s()); 517 EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), texture->wrap_s());
518 EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), texture->wrap_t()); 518 EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), texture->wrap_t());
519 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 519 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
520 EXPECT_FALSE(manager_->HaveUnsafeTextures()); 520 EXPECT_FALSE(manager_->HaveUnsafeTextures());
521 EXPECT_EQ(0u, texture->estimated_size()); 521 EXPECT_EQ(0u, texture->estimated_size());
522 } 522 }
523 523
524 TEST_F(TextureTest, SetTargetTexture2D) { 524 TEST_F(TextureTest, SetTargetTexture2D) {
525 Texture* texture = texture_ref_->texture(); 525 Texture* texture = texture_ref_->texture();
526 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); 526 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
527 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 527 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
528 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); 528 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture));
529 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); 529 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get()));
530 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 530 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
531 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 531 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
532 EXPECT_TRUE(texture->SafeToRenderFrom()); 532 EXPECT_TRUE(texture->SafeToRenderFrom());
533 EXPECT_FALSE(texture->IsImmutable()); 533 EXPECT_FALSE(texture->IsImmutable());
534 } 534 }
535 535
536 TEST_F(TextureTest, SetTargetTextureExternalOES) { 536 TEST_F(TextureTest, SetTargetTextureExternalOES) {
537 Texture* texture = texture_ref_->texture(); 537 Texture* texture = texture_ref_->texture();
538 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES); 538 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES);
539 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 539 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
540 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); 540 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture));
541 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); 541 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get()));
542 EXPECT_TRUE(TextureTestHelper::IsNPOT(texture)); 542 EXPECT_TRUE(TextureTestHelper::IsNPOT(texture));
543 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 543 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
544 EXPECT_TRUE(texture->SafeToRenderFrom()); 544 EXPECT_TRUE(texture->SafeToRenderFrom());
545 EXPECT_TRUE(texture->IsImmutable()); 545 EXPECT_TRUE(texture->IsImmutable());
546 } 546 }
547 547
548 TEST_F(TextureTest, ZeroSizeCanNotRender) { 548 TEST_F(TextureTest, ZeroSizeCanNotRender) {
549 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); 549 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
550 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 550 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
551 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 551 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1,
552 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(1, 1)); 552 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(1, 1));
553 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 553 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
554 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, 1, 554 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, 1,
555 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); 555 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect());
556 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 556 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
557 } 557 }
558 558
559 TEST_F(TextureTest, EstimatedSize) { 559 TEST_F(TextureTest, EstimatedSize) {
560 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); 560 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
561 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 8, 4, 1, 561 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 8, 4, 1,
562 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 4)); 562 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 4));
563 EXPECT_EQ(8u * 4u * 4u, texture_ref_->texture()->estimated_size()); 563 EXPECT_EQ(8u * 4u * 4u, texture_ref_->texture()->estimated_size());
564 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 2, GL_RGBA, 8, 4, 1, 564 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 2, GL_RGBA, 8, 4, 1,
565 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 4)); 565 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 4));
566 EXPECT_EQ(8u * 4u * 4u * 2u, texture_ref_->texture()->estimated_size()); 566 EXPECT_EQ(8u * 4u * 4u * 2u, texture_ref_->texture()->estimated_size());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 599
600 TEST_F(TextureTest, POT2D) { 600 TEST_F(TextureTest, POT2D) {
601 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); 601 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
602 Texture* texture = texture_ref_->texture(); 602 Texture* texture = texture_ref_->texture();
603 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); 603 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target());
604 // Check Setting level 0 to POT 604 // Check Setting level 0 to POT
605 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 605 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1,
606 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); 606 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4));
607 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 607 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
608 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 608 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
609 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 609 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
610 EXPECT_TRUE(texture->SafeToRenderFrom()); 610 EXPECT_TRUE(texture->SafeToRenderFrom());
611 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 611 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
612 // Set filters to something that will work with a single mip. 612 // Set filters to something that will work with a single mip.
613 SetParameter( 613 SetParameter(
614 texture_ref_.get(), GL_TEXTURE_MIN_FILTER, GL_LINEAR, GL_NO_ERROR); 614 texture_ref_.get(), GL_TEXTURE_MIN_FILTER, GL_LINEAR, GL_NO_ERROR);
615 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 615 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
616 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 616 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
617 // Set them back. 617 // Set them back.
618 SetParameter(texture_ref_.get(), 618 SetParameter(texture_ref_.get(),
619 GL_TEXTURE_MIN_FILTER, 619 GL_TEXTURE_MIN_FILTER,
620 GL_LINEAR_MIPMAP_LINEAR, 620 GL_LINEAR_MIPMAP_LINEAR,
621 GL_NO_ERROR); 621 GL_NO_ERROR);
622 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 622 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
623 623
624 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); 624 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get()));
625 // Make mips. 625 // Make mips.
626 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); 626 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get()));
627 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); 627 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
628 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 628 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
629 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 629 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
630 // Change a mip. 630 // Change a mip.
631 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, 631 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1,
632 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); 632 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4));
633 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 633 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
634 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 634 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
635 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); 635 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get()));
636 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 636 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
637 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 637 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
638 // Set a level past the number of mips that would get generated. 638 // Set a level past the number of mips that would get generated.
639 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1, 639 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1,
640 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); 640 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4));
641 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); 641 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get()));
642 // Make mips. 642 // Make mips.
643 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); 643 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get()));
644 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 644 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
645 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); 645 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
646 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 646 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
647 } 647 }
648 648
649 TEST_F(TextureMemoryTrackerTest, MarkMipmapsGenerated) { 649 TEST_F(TextureMemoryTrackerTest, MarkMipmapsGenerated) {
650 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); 650 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
651 EXPECT_MEMORY_ALLOCATION_CHANGE(0, 64, MemoryTracker::kUnmanaged); 651 EXPECT_MEMORY_ALLOCATION_CHANGE(0, 64, MemoryTracker::kUnmanaged);
652 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 652 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1,
653 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); 653 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4));
654 EXPECT_MEMORY_ALLOCATION_CHANGE(64, 0, MemoryTracker::kUnmanaged); 654 EXPECT_MEMORY_ALLOCATION_CHANGE(64, 0, MemoryTracker::kUnmanaged);
655 EXPECT_MEMORY_ALLOCATION_CHANGE(0, 84, MemoryTracker::kUnmanaged); 655 EXPECT_MEMORY_ALLOCATION_CHANGE(0, 84, MemoryTracker::kUnmanaged);
656 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); 656 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get()));
657 EXPECT_MEMORY_ALLOCATION_CHANGE(84, 0, MemoryTracker::kUnmanaged); 657 EXPECT_MEMORY_ALLOCATION_CHANGE(84, 0, MemoryTracker::kUnmanaged);
658 EXPECT_MEMORY_ALLOCATION_CHANGE(0, 0, MemoryTracker::kUnmanaged); 658 EXPECT_MEMORY_ALLOCATION_CHANGE(0, 0, MemoryTracker::kUnmanaged);
659 } 659 }
660 660
661 TEST_F(TextureTest, UnusedMips) { 661 TEST_F(TextureTest, UnusedMips) {
662 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); 662 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
663 Texture* texture = texture_ref_->texture(); 663 Texture* texture = texture_ref_->texture();
664 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); 664 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target());
665 // Set level zero to large size. 665 // Set level zero to large size.
666 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 666 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1,
667 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); 667 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4));
668 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); 668 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get()));
669 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 669 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
670 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); 670 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
671 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 671 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
672 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 672 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
673 // Set level zero to large smaller (levels unused mips) 673 // Set level zero to large smaller (levels unused mips)
674 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 1, 674 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 1,
675 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2)); 675 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2));
676 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); 676 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get()));
677 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 677 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
678 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); 678 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
679 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 679 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
680 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 680 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
681 // Set an unused level to some size 681 // Set an unused level to some size
682 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 4, GL_RGBA, 16, 16, 682 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 4, GL_RGBA, 16, 16,
683 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(16, 16)); 683 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(16, 16));
684 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 684 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
685 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); 685 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
686 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 686 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
687 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 687 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
688 } 688 }
689 689
690 TEST_F(TextureTest, NPOT2D) { 690 TEST_F(TextureTest, NPOT2D) {
691 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); 691 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
692 Texture* texture = texture_ref_->texture(); 692 Texture* texture = texture_ref_->texture();
693 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); 693 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target());
694 // Check Setting level 0 to NPOT 694 // Check Setting level 0 to NPOT
695 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 695 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1,
696 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5)); 696 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5));
697 EXPECT_TRUE(TextureTestHelper::IsNPOT(texture)); 697 EXPECT_TRUE(TextureTestHelper::IsNPOT(texture));
698 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 698 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
699 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); 699 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get()));
700 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 700 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
701 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 701 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
702 SetParameter( 702 SetParameter(
703 texture_ref_.get(), GL_TEXTURE_MIN_FILTER, GL_LINEAR, GL_NO_ERROR); 703 texture_ref_.get(), GL_TEXTURE_MIN_FILTER, GL_LINEAR, GL_NO_ERROR);
704 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 704 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
705 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 705 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
706 SetParameter( 706 SetParameter(
707 texture_ref_.get(), GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE, GL_NO_ERROR); 707 texture_ref_.get(), GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE, GL_NO_ERROR);
708 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 708 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
709 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 709 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
710 SetParameter( 710 SetParameter(
711 texture_ref_.get(), GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE, GL_NO_ERROR); 711 texture_ref_.get(), GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE, GL_NO_ERROR);
712 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 712 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
713 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 713 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
714 // Change it to POT. 714 // Change it to POT.
715 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 715 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1,
716 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); 716 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4));
717 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 717 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
718 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 718 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
719 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); 719 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get()));
720 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 720 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
721 } 721 }
722 722
(...skipping 15 matching lines...) Expand all
738 Texture* texture = texture_ref->texture(); 738 Texture* texture = texture_ref->texture();
739 739
740 manager.SetTarget(texture_ref, GL_TEXTURE_2D); 740 manager.SetTarget(texture_ref, GL_TEXTURE_2D);
741 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); 741 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target());
742 // Check Setting level 0 to NPOT 742 // Check Setting level 0 to NPOT
743 manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, 743 manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0,
744 GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5)); 744 GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5));
745 EXPECT_TRUE(TextureTestHelper::IsNPOT(texture)); 745 EXPECT_TRUE(TextureTestHelper::IsNPOT(texture));
746 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 746 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
747 EXPECT_TRUE(manager.CanGenerateMipmaps(texture_ref)); 747 EXPECT_TRUE(manager.CanGenerateMipmaps(texture_ref));
748 EXPECT_FALSE(manager.CanRender(texture_ref)); 748 EXPECT_FALSE(manager.IsTextureComplete(texture_ref));
749 EXPECT_TRUE(manager.HaveUnrenderableTextures()); 749 EXPECT_TRUE(manager.HaveUnrenderableTextures());
750 EXPECT_TRUE(manager.MarkMipmapsGenerated(texture_ref)); 750 EXPECT_TRUE(manager.MarkMipmapsGenerated(texture_ref));
751 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); 751 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
752 EXPECT_TRUE(manager.CanRender(texture_ref)); 752 EXPECT_TRUE(manager.IsTextureComplete(texture_ref));
753 EXPECT_FALSE(manager.HaveUnrenderableTextures()); 753 EXPECT_FALSE(manager.HaveUnrenderableTextures());
754 manager.Destroy(false); 754 manager.Destroy(false);
755 } 755 }
756 756
757 TEST_F(TextureTest, POTCubeMap) { 757 TEST_F(TextureTest, POTCubeMap) {
758 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_CUBE_MAP); 758 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_CUBE_MAP);
759 Texture* texture = texture_ref_->texture(); 759 Texture* texture = texture_ref_->texture();
760 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), texture->target()); 760 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), texture->target());
761 // Check Setting level 0 each face to POT 761 // Check Setting level 0 each face to POT
762 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, 762 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0,
763 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 763 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
764 gfx::Rect(4, 4)); 764 gfx::Rect(4, 4));
765 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 765 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
766 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 766 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
767 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); 767 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture));
768 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); 768 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get()));
769 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 769 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
770 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 770 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
771 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, 771 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0,
772 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 772 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
773 gfx::Rect(4, 4)); 773 gfx::Rect(4, 4));
774 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 774 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
775 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 775 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
776 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); 776 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture));
777 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); 777 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get()));
778 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 778 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
779 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 779 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
780 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, 780 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0,
781 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 781 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
782 gfx::Rect(4, 4)); 782 gfx::Rect(4, 4));
783 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 783 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
784 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 784 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
785 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); 785 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture));
786 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); 786 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get()));
787 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 787 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
788 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 788 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
789 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, 789 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0,
790 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 790 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
791 gfx::Rect(4, 4)); 791 gfx::Rect(4, 4));
792 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 792 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
793 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 793 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
794 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); 794 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture));
795 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 795 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
796 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); 796 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get()));
797 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 797 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
798 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, 798 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0,
799 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 799 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
800 gfx::Rect(4, 4)); 800 gfx::Rect(4, 4));
801 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 801 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
802 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 802 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
803 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); 803 EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture));
804 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); 804 EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get()));
805 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 805 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
806 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 806 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
807 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, 807 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0,
808 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 808 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
809 gfx::Rect(4, 4)); 809 gfx::Rect(4, 4));
810 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 810 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
811 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 811 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
812 EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture)); 812 EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture));
813 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); 813 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get()));
814 EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); 814 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref_.get()));
815 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 815 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
816 816
817 // Make mips. 817 // Make mips.
818 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); 818 EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get()));
819 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); 819 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
820 EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture)); 820 EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture));
821 EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); 821 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref_.get()));
822 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 822 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
823 823
824 // Change a mip. 824 // Change a mip.
825 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 1, 825 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 1,
826 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 826 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
827 gfx::Rect(4, 4)); 827 gfx::Rect(4, 4));
828 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); 828 EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
829 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); 829 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
830 EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture)); 830 EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture));
831 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); 831 EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get()));
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
1268 // Make the default texture renderable 1268 // Make the default texture renderable
1269 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); 1269 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
1270 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 1270 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1,
1271 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); 1271 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect());
1272 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 1272 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
1273 // Make a new texture 1273 // Make a new texture
1274 manager_->CreateTexture(kClient2Id, kService2Id); 1274 manager_->CreateTexture(kClient2Id, kService2Id);
1275 scoped_refptr<TextureRef> texture_ref( 1275 scoped_refptr<TextureRef> texture_ref(
1276 manager_->GetTexture(kClient2Id)); 1276 manager_->GetTexture(kClient2Id));
1277 manager_->SetTarget(texture_ref.get(), GL_TEXTURE_2D); 1277 manager_->SetTarget(texture_ref.get(), GL_TEXTURE_2D);
1278 EXPECT_FALSE(manager_->CanRender(texture_ref.get())); 1278 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref.get()));
1279 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 1279 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
1280 // Remove it. 1280 // Remove it.
1281 manager_->RemoveTexture(kClient2Id); 1281 manager_->RemoveTexture(kClient2Id);
1282 EXPECT_FALSE(manager_->CanRender(texture_ref.get())); 1282 EXPECT_FALSE(manager_->IsTextureComplete(texture_ref.get()));
1283 EXPECT_TRUE(manager_->HaveUnrenderableTextures()); 1283 EXPECT_TRUE(manager_->HaveUnrenderableTextures());
1284 // Check that we can still manipulate it and it effects the manager. 1284 // Check that we can still manipulate it and it effects the manager.
1285 manager_->SetLevelInfo(texture_ref.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 1285 manager_->SetLevelInfo(texture_ref.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1,
1286 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); 1286 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect());
1287 EXPECT_TRUE(manager_->CanRender(texture_ref.get())); 1287 EXPECT_TRUE(manager_->IsTextureComplete(texture_ref.get()));
1288 EXPECT_FALSE(manager_->HaveUnrenderableTextures()); 1288 EXPECT_FALSE(manager_->HaveUnrenderableTextures());
1289 EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService2Id))) 1289 EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService2Id)))
1290 .Times(1) 1290 .Times(1)
1291 .RetiresOnSaturation(); 1291 .RetiresOnSaturation();
1292 texture_ref = NULL; 1292 texture_ref = NULL;
1293 } 1293 }
1294 1294
1295 TEST_F(TextureTest, GetLevelImage) { 1295 TEST_F(TextureTest, GetLevelImage) {
1296 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); 1296 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
1297 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, 1297 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1,
(...skipping 944 matching lines...) Expand 10 before | Expand all | Expand 10 after
2242 ExpectValid(GL_DEPTH_COMPONENT, GL_FLOAT, GL_DEPTH_COMPONENT32F); 2242 ExpectValid(GL_DEPTH_COMPONENT, GL_FLOAT, GL_DEPTH_COMPONENT32F);
2243 ExpectValid(GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH24_STENCIL8); 2243 ExpectValid(GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH24_STENCIL8);
2244 ExpectValid(GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, 2244 ExpectValid(GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
2245 GL_DEPTH32F_STENCIL8); 2245 GL_DEPTH32F_STENCIL8);
2246 2246
2247 ExpectInvalid(GL_RGB_INTEGER, GL_INT, GL_RGBA8); 2247 ExpectInvalid(GL_RGB_INTEGER, GL_INT, GL_RGBA8);
2248 } 2248 }
2249 2249
2250 } // namespace gles2 2250 } // namespace gles2
2251 } // namespace gpu 2251 } // namespace gpu
OLDNEW
« gpu/command_buffer/service/texture_manager.h ('K') | « gpu/command_buffer/service/texture_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698