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

Side by Side Diff: cc/output/renderer_pixeltest.cc

Issue 1144523003: Rename cc::ResourceProvider::ResourceId to cc::ResourceId and move it to its own file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « cc/output/overlay_unittest.cc ('k') | cc/output/software_renderer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "base/message_loop/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "cc/output/gl_renderer.h" 6 #include "cc/output/gl_renderer.h"
7 #include "cc/quads/draw_quad.h" 7 #include "cc/quads/draw_quad.h"
8 #include "cc/quads/picture_draw_quad.h" 8 #include "cc/quads/picture_draw_quad.h"
9 #include "cc/quads/texture_draw_quad.h" 9 #include "cc/quads/texture_draw_quad.h"
10 #include "cc/resources/video_resource_updater.h" 10 #include "cc/resources/video_resource_updater.h"
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 : SkPackARGB32NoCheck(SkColorGetA(texel_stripe_color), 130 : SkPackARGB32NoCheck(SkColorGetA(texel_stripe_color),
131 SkColorGetR(texel_stripe_color), 131 SkColorGetR(texel_stripe_color),
132 SkColorGetG(texel_stripe_color), 132 SkColorGetG(texel_stripe_color),
133 SkColorGetB(texel_stripe_color)); 133 SkColorGetB(texel_stripe_color));
134 std::vector<uint32_t> pixels(rect.size().GetArea(), pixel_color); 134 std::vector<uint32_t> pixels(rect.size().GetArea(), pixel_color);
135 for (int i = rect.height() / 4; i < (rect.height() * 3 / 4); ++i) { 135 for (int i = rect.height() / 4; i < (rect.height() * 3 / 4); ++i) {
136 for (int k = rect.width() / 4; k < (rect.width() * 3 / 4); ++k) { 136 for (int k = rect.width() / 4; k < (rect.width() * 3 / 4); ++k) {
137 pixels[i * rect.width() + k] = pixel_stripe_color; 137 pixels[i * rect.width() + k] = pixel_stripe_color;
138 } 138 }
139 } 139 }
140 ResourceProvider::ResourceId resource = resource_provider->CreateResource( 140 ResourceId resource = resource_provider->CreateResource(
141 rect.size(), GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, 141 rect.size(), GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
142 RGBA_8888); 142 RGBA_8888);
143 resource_provider->SetPixels(resource, 143 resource_provider->SetPixels(resource,
144 reinterpret_cast<uint8_t*>(&pixels.front()), 144 reinterpret_cast<uint8_t*>(&pixels.front()),
145 rect, rect, gfx::Vector2d()); 145 rect, rect, gfx::Vector2d());
146 146
147 float vertex_opacity[4] = {1.0f, 1.0f, 1.0f, 1.0f}; 147 float vertex_opacity[4] = {1.0f, 1.0f, 1.0f, 1.0f};
148 const gfx::PointF uv_top_left(0.0f, 0.0f); 148 const gfx::PointF uv_top_left(0.0f, 0.0f);
149 const gfx::PointF uv_bottom_right(1.0f, 1.0f); 149 const gfx::PointF uv_bottom_right(1.0f, 1.0f);
150 const bool flipped = false; 150 const bool flipped = false;
(...skipping 14 matching lines...) Expand all
165 RenderPass* render_pass) { 165 RenderPass* render_pass) {
166 SkPMColor pixel_color = premultiplied_alpha ? 166 SkPMColor pixel_color = premultiplied_alpha ?
167 SkPreMultiplyColor(texel_color) : 167 SkPreMultiplyColor(texel_color) :
168 SkPackARGB32NoCheck(SkColorGetA(texel_color), 168 SkPackARGB32NoCheck(SkColorGetA(texel_color),
169 SkColorGetR(texel_color), 169 SkColorGetR(texel_color),
170 SkColorGetG(texel_color), 170 SkColorGetG(texel_color),
171 SkColorGetB(texel_color)); 171 SkColorGetB(texel_color));
172 size_t num_pixels = static_cast<size_t>(rect.width()) * rect.height(); 172 size_t num_pixels = static_cast<size_t>(rect.width()) * rect.height();
173 std::vector<uint32_t> pixels(num_pixels, pixel_color); 173 std::vector<uint32_t> pixels(num_pixels, pixel_color);
174 174
175 ResourceProvider::ResourceId resource = resource_provider->CreateResource( 175 ResourceId resource = resource_provider->CreateResource(
176 rect.size(), GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, 176 rect.size(), GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
177 RGBA_8888); 177 RGBA_8888);
178 resource_provider->CopyToResource( 178 resource_provider->CopyToResource(
179 resource, reinterpret_cast<uint8_t*>(&pixels.front()), rect.size()); 179 resource, reinterpret_cast<uint8_t*>(&pixels.front()), rect.size());
180 180
181 float vertex_opacity[4] = {1.0f, 1.0f, 1.0f, 1.0f}; 181 float vertex_opacity[4] = {1.0f, 1.0f, 1.0f, 1.0f};
182 182
183 const gfx::PointF uv_top_left(0.0f, 0.0f); 183 const gfx::PointF uv_top_left(0.0f, 0.0f);
184 const gfx::PointF uv_bottom_right(1.0f, 1.0f); 184 const gfx::PointF uv_bottom_right(1.0f, 1.0f);
185 const bool flipped = false; 185 const bool flipped = false;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 VideoFrameExternalResources resources = 217 VideoFrameExternalResources resources =
218 video_resource_updater->CreateExternalResourcesFromVideoFrame( 218 video_resource_updater->CreateExternalResourcesFromVideoFrame(
219 video_frame); 219 video_frame);
220 220
221 EXPECT_EQ(VideoFrameExternalResources::YUV_RESOURCE, resources.type); 221 EXPECT_EQ(VideoFrameExternalResources::YUV_RESOURCE, resources.type);
222 EXPECT_EQ(media::VideoFrame::NumPlanes(video_frame->format()), 222 EXPECT_EQ(media::VideoFrame::NumPlanes(video_frame->format()),
223 resources.mailboxes.size()); 223 resources.mailboxes.size());
224 EXPECT_EQ(media::VideoFrame::NumPlanes(video_frame->format()), 224 EXPECT_EQ(media::VideoFrame::NumPlanes(video_frame->format()),
225 resources.release_callbacks.size()); 225 resources.release_callbacks.size());
226 226
227 ResourceProvider::ResourceId y_resource = 227 ResourceId y_resource = resource_provider->CreateResourceFromTextureMailbox(
228 resource_provider->CreateResourceFromTextureMailbox( 228 resources.mailboxes[media::VideoFrame::kYPlane],
229 resources.mailboxes[media::VideoFrame::kYPlane], 229 SingleReleaseCallbackImpl::Create(
230 SingleReleaseCallbackImpl::Create( 230 resources.release_callbacks[media::VideoFrame::kYPlane]));
231 resources.release_callbacks[media::VideoFrame::kYPlane])); 231 ResourceId u_resource = resource_provider->CreateResourceFromTextureMailbox(
232 ResourceProvider::ResourceId u_resource = 232 resources.mailboxes[media::VideoFrame::kUPlane],
233 resource_provider->CreateResourceFromTextureMailbox( 233 SingleReleaseCallbackImpl::Create(
234 resources.mailboxes[media::VideoFrame::kUPlane], 234 resources.release_callbacks[media::VideoFrame::kUPlane]));
235 SingleReleaseCallbackImpl::Create( 235 ResourceId v_resource = resource_provider->CreateResourceFromTextureMailbox(
236 resources.release_callbacks[media::VideoFrame::kUPlane])); 236 resources.mailboxes[media::VideoFrame::kVPlane],
237 ResourceProvider::ResourceId v_resource = 237 SingleReleaseCallbackImpl::Create(
238 resource_provider->CreateResourceFromTextureMailbox( 238 resources.release_callbacks[media::VideoFrame::kVPlane]));
239 resources.mailboxes[media::VideoFrame::kVPlane], 239 ResourceId a_resource = 0;
240 SingleReleaseCallbackImpl::Create(
241 resources.release_callbacks[media::VideoFrame::kVPlane]));
242 ResourceProvider::ResourceId a_resource = 0;
243 if (with_alpha) { 240 if (with_alpha) {
244 a_resource = resource_provider->CreateResourceFromTextureMailbox( 241 a_resource = resource_provider->CreateResourceFromTextureMailbox(
245 resources.mailboxes[media::VideoFrame::kAPlane], 242 resources.mailboxes[media::VideoFrame::kAPlane],
246 SingleReleaseCallbackImpl::Create( 243 SingleReleaseCallbackImpl::Create(
247 resources.release_callbacks[media::VideoFrame::kAPlane])); 244 resources.release_callbacks[media::VideoFrame::kAPlane]));
248 } 245 }
249 246
250 const gfx::Size ya_tex_size = video_frame->coded_size(); 247 const gfx::Size ya_tex_size = video_frame->coded_size();
251 const gfx::Size uv_tex_size = media::VideoFrame::PlaneSize( 248 const gfx::Size uv_tex_size = media::VideoFrame::PlaneSize(
252 video_frame->format(), media::VideoFrame::kUPlane, 249 video_frame->format(), media::VideoFrame::kUPlane,
(...skipping 1419 matching lines...) Expand 10 before | Expand all | Expand 10 after
1672 canvas.clear(SK_ColorTRANSPARENT); 1669 canvas.clear(SK_ColorTRANSPARENT);
1673 gfx::Rect rect = mask_rect; 1670 gfx::Rect rect = mask_rect;
1674 while (!rect.IsEmpty()) { 1671 while (!rect.IsEmpty()) {
1675 rect.Inset(6, 6, 4, 4); 1672 rect.Inset(6, 6, 4, 4);
1676 canvas.drawRect( 1673 canvas.drawRect(
1677 SkRect::MakeXYWH(rect.x(), rect.y(), rect.width(), rect.height()), 1674 SkRect::MakeXYWH(rect.x(), rect.y(), rect.width(), rect.height()),
1678 paint); 1675 paint);
1679 rect.Inset(6, 6, 4, 4); 1676 rect.Inset(6, 6, 4, 4);
1680 } 1677 }
1681 1678
1682 ResourceProvider::ResourceId mask_resource_id = 1679 ResourceId mask_resource_id = this->resource_provider_->CreateResource(
1683 this->resource_provider_->CreateResource( 1680 mask_rect.size(), GL_CLAMP_TO_EDGE,
1684 mask_rect.size(), GL_CLAMP_TO_EDGE, 1681 ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888);
1685 ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888);
1686 { 1682 {
1687 SkAutoLockPixels lock(bitmap); 1683 SkAutoLockPixels lock(bitmap);
1688 this->resource_provider_->CopyToResource( 1684 this->resource_provider_->CopyToResource(
1689 mask_resource_id, reinterpret_cast<uint8_t*>(bitmap.getPixels()), 1685 mask_resource_id, reinterpret_cast<uint8_t*>(bitmap.getPixels()),
1690 mask_rect.size()); 1686 mask_rect.size());
1691 } 1687 }
1692 1688
1693 // This RenderPassDrawQuad does not include the full |viewport_rect| which is 1689 // This RenderPassDrawQuad does not include the full |viewport_rect| which is
1694 // the size of the child render pass. 1690 // the size of the child render pass.
1695 gfx::Rect sub_rect = gfx::Rect(50, 50, 200, 100); 1691 gfx::Rect sub_rect = gfx::Rect(50, 50, 200, 100);
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after
2457 { 2453 {
2458 SkAutoLockPixels lock(bitmap); 2454 SkAutoLockPixels lock(bitmap);
2459 SkCanvas canvas(bitmap); 2455 SkCanvas canvas(bitmap);
2460 canvas.drawPoint(0, 0, SK_ColorGREEN); 2456 canvas.drawPoint(0, 0, SK_ColorGREEN);
2461 canvas.drawPoint(0, 1, SK_ColorBLUE); 2457 canvas.drawPoint(0, 1, SK_ColorBLUE);
2462 canvas.drawPoint(1, 0, SK_ColorBLUE); 2458 canvas.drawPoint(1, 0, SK_ColorBLUE);
2463 canvas.drawPoint(1, 1, SK_ColorGREEN); 2459 canvas.drawPoint(1, 1, SK_ColorGREEN);
2464 } 2460 }
2465 2461
2466 gfx::Size tile_size(2, 2); 2462 gfx::Size tile_size(2, 2);
2467 ResourceProvider::ResourceId resource = 2463 ResourceId resource = this->resource_provider_->CreateResource(
2468 this->resource_provider_->CreateResource( 2464 tile_size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
2469 tile_size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, 2465 RGBA_8888);
2470 RGBA_8888);
2471 2466
2472 { 2467 {
2473 SkAutoLockPixels lock(bitmap); 2468 SkAutoLockPixels lock(bitmap);
2474 this->resource_provider_->CopyToResource( 2469 this->resource_provider_->CopyToResource(
2475 resource, static_cast<uint8_t*>(bitmap.getPixels()), tile_size); 2470 resource, static_cast<uint8_t*>(bitmap.getPixels()), tile_size);
2476 } 2471 }
2477 2472
2478 RenderPassId id(1, 1); 2473 RenderPassId id(1, 1);
2479 gfx::Transform transform_to_root; 2474 gfx::Transform transform_to_root;
2480 scoped_ptr<RenderPass> pass = 2475 scoped_ptr<RenderPass> pass =
(...skipping 28 matching lines...) Expand all
2509 { 2504 {
2510 SkAutoLockPixels lock(bitmap); 2505 SkAutoLockPixels lock(bitmap);
2511 SkCanvas canvas(bitmap); 2506 SkCanvas canvas(bitmap);
2512 canvas.drawPoint(0, 0, SK_ColorGREEN); 2507 canvas.drawPoint(0, 0, SK_ColorGREEN);
2513 canvas.drawPoint(0, 1, SK_ColorBLUE); 2508 canvas.drawPoint(0, 1, SK_ColorBLUE);
2514 canvas.drawPoint(1, 0, SK_ColorBLUE); 2509 canvas.drawPoint(1, 0, SK_ColorBLUE);
2515 canvas.drawPoint(1, 1, SK_ColorGREEN); 2510 canvas.drawPoint(1, 1, SK_ColorGREEN);
2516 } 2511 }
2517 2512
2518 gfx::Size tile_size(2, 2); 2513 gfx::Size tile_size(2, 2);
2519 ResourceProvider::ResourceId resource = 2514 ResourceId resource = this->resource_provider_->CreateResource(
2520 this->resource_provider_->CreateResource( 2515 tile_size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
2521 tile_size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, 2516 RGBA_8888);
2522 RGBA_8888);
2523 2517
2524 { 2518 {
2525 SkAutoLockPixels lock(bitmap); 2519 SkAutoLockPixels lock(bitmap);
2526 this->resource_provider_->CopyToResource( 2520 this->resource_provider_->CopyToResource(
2527 resource, static_cast<uint8_t*>(bitmap.getPixels()), tile_size); 2521 resource, static_cast<uint8_t*>(bitmap.getPixels()), tile_size);
2528 } 2522 }
2529 2523
2530 RenderPassId id(1, 1); 2524 RenderPassId id(1, 1);
2531 gfx::Transform transform_to_root; 2525 gfx::Transform transform_to_root;
2532 scoped_ptr<RenderPass> pass = 2526 scoped_ptr<RenderPass> pass =
(...skipping 29 matching lines...) Expand all
2562 { 2556 {
2563 SkAutoLockPixels lock(bitmap); 2557 SkAutoLockPixels lock(bitmap);
2564 SkCanvas canvas(bitmap); 2558 SkCanvas canvas(bitmap);
2565 canvas.drawPoint(0, 0, SK_ColorGREEN); 2559 canvas.drawPoint(0, 0, SK_ColorGREEN);
2566 canvas.drawPoint(0, 1, SK_ColorBLUE); 2560 canvas.drawPoint(0, 1, SK_ColorBLUE);
2567 canvas.drawPoint(1, 0, SK_ColorBLUE); 2561 canvas.drawPoint(1, 0, SK_ColorBLUE);
2568 canvas.drawPoint(1, 1, SK_ColorGREEN); 2562 canvas.drawPoint(1, 1, SK_ColorGREEN);
2569 } 2563 }
2570 2564
2571 gfx::Size tile_size(2, 2); 2565 gfx::Size tile_size(2, 2);
2572 ResourceProvider::ResourceId resource = 2566 ResourceId resource = this->resource_provider_->CreateResource(
2573 this->resource_provider_->CreateResource( 2567 tile_size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
2574 tile_size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, 2568 RGBA_8888);
2575 RGBA_8888);
2576 2569
2577 { 2570 {
2578 SkAutoLockPixels lock(bitmap); 2571 SkAutoLockPixels lock(bitmap);
2579 this->resource_provider_->CopyToResource( 2572 this->resource_provider_->CopyToResource(
2580 resource, static_cast<uint8_t*>(bitmap.getPixels()), tile_size); 2573 resource, static_cast<uint8_t*>(bitmap.getPixels()), tile_size);
2581 } 2574 }
2582 2575
2583 RenderPassId id(1, 1); 2576 RenderPassId id(1, 1);
2584 gfx::Transform transform_to_root; 2577 gfx::Transform transform_to_root;
2585 scoped_ptr<RenderPass> pass = 2578 scoped_ptr<RenderPass> pass =
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
2922 SkPreMultiplyColor(SkColorSetARGB(255, 0, 128, 0)), 2915 SkPreMultiplyColor(SkColorSetARGB(255, 0, 128, 0)),
2923 SkPreMultiplyColor(SkColorSetARGB(255, 0, 64, 0)), 2916 SkPreMultiplyColor(SkColorSetARGB(255, 0, 64, 0)),
2924 SkPreMultiplyColor(SkColorSetARGB(255, 0, 0, 0)), 2917 SkPreMultiplyColor(SkColorSetARGB(255, 0, 0, 0)),
2925 }; 2918 };
2926 uint32_t pixels[16] = { 2919 uint32_t pixels[16] = {
2927 colors[0], colors[0], colors[1], colors[1], 2920 colors[0], colors[0], colors[1], colors[1],
2928 colors[0], colors[0], colors[1], colors[1], 2921 colors[0], colors[0], colors[1], colors[1],
2929 colors[2], colors[2], colors[3], colors[3], 2922 colors[2], colors[2], colors[3], colors[3],
2930 colors[2], colors[2], colors[3], colors[3], 2923 colors[2], colors[2], colors[3], colors[3],
2931 }; 2924 };
2932 ResourceProvider::ResourceId resource = 2925 ResourceId resource = this->resource_provider_->CreateResource(
2933 this->resource_provider_->CreateResource( 2926 texture_size, GL_REPEAT, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
2934 texture_size, GL_REPEAT, ResourceProvider::TEXTURE_HINT_IMMUTABLE, 2927 RGBA_8888);
2935 RGBA_8888);
2936 this->resource_provider_->CopyToResource( 2928 this->resource_provider_->CopyToResource(
2937 resource, reinterpret_cast<uint8_t*>(pixels), texture_size); 2929 resource, reinterpret_cast<uint8_t*>(pixels), texture_size);
2938 2930
2939 float vertex_opacity[4] = {1.0f, 1.0f, 1.0f, 1.0f}; 2931 float vertex_opacity[4] = {1.0f, 1.0f, 1.0f, 1.0f};
2940 TextureDrawQuad* texture_quad = 2932 TextureDrawQuad* texture_quad =
2941 pass->CreateAndAppendDrawQuad<TextureDrawQuad>(); 2933 pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
2942 texture_quad->SetNew( 2934 texture_quad->SetNew(
2943 shared_state, gfx::Rect(this->device_viewport_size_), gfx::Rect(), 2935 shared_state, gfx::Rect(this->device_viewport_size_), gfx::Rect(),
2944 gfx::Rect(this->device_viewport_size_), resource, 2936 gfx::Rect(this->device_viewport_size_), resource,
2945 true, // premultiplied_alpha 2937 true, // premultiplied_alpha
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
3060 ? FILE_PATH_LITERAL("four_blue_green_checkers.png") 3052 ? FILE_PATH_LITERAL("four_blue_green_checkers.png")
3061 : FILE_PATH_LITERAL("checkers_big.png"); 3053 : FILE_PATH_LITERAL("checkers_big.png");
3062 EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(path), 3054 EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(path),
3063 ExactPixelComparator(true))); 3055 ExactPixelComparator(true)));
3064 } 3056 }
3065 3057
3066 #endif // !defined(OS_ANDROID) 3058 #endif // !defined(OS_ANDROID)
3067 3059
3068 } // namespace 3060 } // namespace
3069 } // namespace cc 3061 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/overlay_unittest.cc ('k') | cc/output/software_renderer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698