| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "cc/resources/resource_provider.h" | 5 #include "cc/resources/resource_provider.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 | 10 |
| (...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 528 resource_provider->DeleteResource(id); | 528 resource_provider->DeleteResource(id); |
| 529 EXPECT_EQ(0, static_cast<int>(resource_provider->num_resources())); | 529 EXPECT_EQ(0, static_cast<int>(resource_provider->num_resources())); |
| 530 if (expected_default_type == ResourceProvider::RESOURCE_TYPE_GL_TEXTURE) | 530 if (expected_default_type == ResourceProvider::RESOURCE_TYPE_GL_TEXTURE) |
| 531 EXPECT_EQ(0u, context->NumTextures()); | 531 EXPECT_EQ(0u, context->NumTextures()); |
| 532 } | 532 } |
| 533 | 533 |
| 534 TEST_P(ResourceProviderTest, Basic) { | 534 TEST_P(ResourceProviderTest, Basic) { |
| 535 CheckCreateResource(GetParam(), resource_provider_.get(), context()); | 535 CheckCreateResource(GetParam(), resource_provider_.get(), context()); |
| 536 } | 536 } |
| 537 | 537 |
| 538 TEST_P(ResourceProviderTest, Upload) { | |
| 539 gfx::Size size(2, 2); | |
| 540 ResourceFormat format = RGBA_8888; | |
| 541 size_t pixel_size = TextureSizeBytes(size, format); | |
| 542 ASSERT_EQ(16U, pixel_size); | |
| 543 | |
| 544 ResourceId id = resource_provider_->CreateResource( | |
| 545 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); | |
| 546 | |
| 547 uint8_t image[16] = { 0 }; | |
| 548 gfx::Rect image_rect(size); | |
| 549 resource_provider_->SetPixels( | |
| 550 id, image, image_rect, image_rect, gfx::Vector2d()); | |
| 551 | |
| 552 for (uint8_t i = 0; i < pixel_size; ++i) | |
| 553 image[i] = i; | |
| 554 | |
| 555 uint8_t result[16] = { 0 }; | |
| 556 { | |
| 557 gfx::Rect source_rect(0, 0, 1, 1); | |
| 558 gfx::Vector2d dest_offset(0, 0); | |
| 559 resource_provider_->SetPixels( | |
| 560 id, image, image_rect, source_rect, dest_offset); | |
| 561 | |
| 562 uint8_t expected[16] = { 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; | |
| 563 GetResourcePixels( | |
| 564 resource_provider_.get(), context(), id, size, format, result); | |
| 565 EXPECT_EQ(0, memcmp(expected, result, pixel_size)); | |
| 566 } | |
| 567 { | |
| 568 gfx::Rect source_rect(0, 0, 1, 1); | |
| 569 gfx::Vector2d dest_offset(1, 1); | |
| 570 resource_provider_->SetPixels( | |
| 571 id, image, image_rect, source_rect, dest_offset); | |
| 572 | |
| 573 uint8_t expected[16] = { 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3 }; | |
| 574 GetResourcePixels( | |
| 575 resource_provider_.get(), context(), id, size, format, result); | |
| 576 EXPECT_EQ(0, memcmp(expected, result, pixel_size)); | |
| 577 } | |
| 578 { | |
| 579 gfx::Rect source_rect(1, 0, 1, 1); | |
| 580 gfx::Vector2d dest_offset(0, 1); | |
| 581 resource_provider_->SetPixels( | |
| 582 id, image, image_rect, source_rect, dest_offset); | |
| 583 | |
| 584 uint8_t expected[16] = { 0, 1, 2, 3, 0, 0, 0, 0, 4, 5, 6, 7, 0, 1, 2, 3 }; | |
| 585 GetResourcePixels( | |
| 586 resource_provider_.get(), context(), id, size, format, result); | |
| 587 EXPECT_EQ(0, memcmp(expected, result, pixel_size)); | |
| 588 } | |
| 589 { | |
| 590 gfx::Rect offset_image_rect(gfx::Point(100, 100), size); | |
| 591 gfx::Rect source_rect(100, 100, 1, 1); | |
| 592 gfx::Vector2d dest_offset(1, 0); | |
| 593 resource_provider_->SetPixels( | |
| 594 id, image, offset_image_rect, source_rect, dest_offset); | |
| 595 | |
| 596 uint8_t expected[16] = { 0, 1, 2, 3, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3 }; | |
| 597 GetResourcePixels( | |
| 598 resource_provider_.get(), context(), id, size, format, result); | |
| 599 EXPECT_EQ(0, memcmp(expected, result, pixel_size)); | |
| 600 } | |
| 601 | |
| 602 resource_provider_->DeleteResource(id); | |
| 603 } | |
| 604 | |
| 605 TEST_P(ResourceProviderTest, SimpleUpload) { | 538 TEST_P(ResourceProviderTest, SimpleUpload) { |
| 606 gfx::Size size(2, 2); | 539 gfx::Size size(2, 2); |
| 607 ResourceFormat format = RGBA_8888; | 540 ResourceFormat format = RGBA_8888; |
| 608 size_t pixel_size = TextureSizeBytes(size, format); | 541 size_t pixel_size = TextureSizeBytes(size, format); |
| 609 ASSERT_EQ(16U, pixel_size); | 542 ASSERT_EQ(16U, pixel_size); |
| 610 | 543 |
| 611 ResourceId id = resource_provider_->CreateResource( | 544 ResourceId id = resource_provider_->CreateResource( |
| 612 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); | 545 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); |
| 613 | 546 |
| 614 uint8_t image[16] = {0}; | 547 uint8_t image[16] = {0}; |
| (...skipping 3203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3818 resource_provider->AllocateForTesting(id); | 3751 resource_provider->AllocateForTesting(id); |
| 3819 Mock::VerifyAndClearExpectations(context); | 3752 Mock::VerifyAndClearExpectations(context); |
| 3820 | 3753 |
| 3821 DCHECK_EQ(10u, context->PeekTextureId()); | 3754 DCHECK_EQ(10u, context->PeekTextureId()); |
| 3822 resource_provider->DeleteResource(id); | 3755 resource_provider->DeleteResource(id); |
| 3823 } | 3756 } |
| 3824 } | 3757 } |
| 3825 | 3758 |
| 3826 } // namespace | 3759 } // namespace |
| 3827 } // namespace cc | 3760 } // namespace cc |
| OLD | NEW |