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 "base/message_loop/message_loop.h" | 5 #include "base/message_loop/message_loop.h" |
6 #include "cc/layers/append_quads_data.h" | |
7 #include "cc/output/gl_renderer.h" | 6 #include "cc/output/gl_renderer.h" |
8 #include "cc/quads/draw_quad.h" | 7 #include "cc/quads/draw_quad.h" |
9 #include "cc/quads/picture_draw_quad.h" | 8 #include "cc/quads/picture_draw_quad.h" |
10 #include "cc/quads/texture_draw_quad.h" | 9 #include "cc/quads/texture_draw_quad.h" |
11 #include "cc/resources/video_resource_updater.h" | 10 #include "cc/resources/video_resource_updater.h" |
12 #include "cc/test/fake_picture_pile_impl.h" | 11 #include "cc/test/fake_picture_pile_impl.h" |
13 #include "cc/test/pixel_test.h" | 12 #include "cc/test/pixel_test.h" |
14 #include "gpu/command_buffer/client/gles2_interface.h" | 13 #include "gpu/command_buffer/client/gles2_interface.h" |
15 #include "third_party/skia/include/core/SkColorPriv.h" | 14 #include "third_party/skia/include/core/SkColorPriv.h" |
16 #include "third_party/skia/include/core/SkImageFilter.h" | 15 #include "third_party/skia/include/core/SkImageFilter.h" |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 } | 191 } |
193 | 192 |
194 void CreateTestYUVVideoDrawQuad_FromVideoFrame( | 193 void CreateTestYUVVideoDrawQuad_FromVideoFrame( |
195 const SharedQuadState* shared_state, | 194 const SharedQuadState* shared_state, |
196 scoped_refptr<media::VideoFrame> video_frame, | 195 scoped_refptr<media::VideoFrame> video_frame, |
197 uint8 alpha_value, | 196 uint8 alpha_value, |
198 const gfx::RectF& tex_coord_rect, | 197 const gfx::RectF& tex_coord_rect, |
199 RenderPass* render_pass, | 198 RenderPass* render_pass, |
200 VideoResourceUpdater* video_resource_updater, | 199 VideoResourceUpdater* video_resource_updater, |
201 const gfx::Rect& rect, | 200 const gfx::Rect& rect, |
| 201 const gfx::Rect& visible_rect, |
202 ResourceProvider* resource_provider) { | 202 ResourceProvider* resource_provider) { |
203 const bool with_alpha = (video_frame->format() == media::VideoFrame::YV12A); | 203 const bool with_alpha = (video_frame->format() == media::VideoFrame::YV12A); |
204 const YUVVideoDrawQuad::ColorSpace color_space = | 204 const YUVVideoDrawQuad::ColorSpace color_space = |
205 (video_frame->format() == media::VideoFrame::YV12J | 205 (video_frame->format() == media::VideoFrame::YV12J |
206 ? YUVVideoDrawQuad::JPEG | 206 ? YUVVideoDrawQuad::JPEG |
207 : YUVVideoDrawQuad::REC_601); | 207 : YUVVideoDrawQuad::REC_601); |
208 const gfx::Rect opaque_rect(0, 0, 0, 0); | 208 const gfx::Rect opaque_rect(0, 0, 0, 0); |
209 | 209 |
210 if (with_alpha) { | 210 if (with_alpha) { |
211 memset(video_frame->data(media::VideoFrame::kAPlane), alpha_value, | 211 memset(video_frame->data(media::VideoFrame::kAPlane), alpha_value, |
(...skipping 29 matching lines...) Expand all Loading... |
241 ResourceProvider::ResourceId a_resource = 0; | 241 ResourceProvider::ResourceId a_resource = 0; |
242 if (with_alpha) { | 242 if (with_alpha) { |
243 a_resource = resource_provider->CreateResourceFromTextureMailbox( | 243 a_resource = resource_provider->CreateResourceFromTextureMailbox( |
244 resources.mailboxes[media::VideoFrame::kAPlane], | 244 resources.mailboxes[media::VideoFrame::kAPlane], |
245 SingleReleaseCallbackImpl::Create( | 245 SingleReleaseCallbackImpl::Create( |
246 resources.release_callbacks[media::VideoFrame::kAPlane])); | 246 resources.release_callbacks[media::VideoFrame::kAPlane])); |
247 } | 247 } |
248 | 248 |
249 YUVVideoDrawQuad* yuv_quad = | 249 YUVVideoDrawQuad* yuv_quad = |
250 render_pass->CreateAndAppendDrawQuad<YUVVideoDrawQuad>(); | 250 render_pass->CreateAndAppendDrawQuad<YUVVideoDrawQuad>(); |
251 yuv_quad->SetNew(shared_state, rect, opaque_rect, rect, tex_coord_rect, | 251 yuv_quad->SetNew(shared_state, rect, opaque_rect, visible_rect, |
252 video_frame->coded_size(), y_resource, u_resource, | 252 tex_coord_rect, video_frame->coded_size(), y_resource, |
253 v_resource, a_resource, color_space); | 253 u_resource, v_resource, a_resource, color_space); |
254 } | 254 } |
255 | 255 |
256 void CreateTestYUVVideoDrawQuad_Striped( | 256 void CreateTestYUVVideoDrawQuad_Striped( |
257 const SharedQuadState* shared_state, | 257 const SharedQuadState* shared_state, |
258 media::VideoFrame::Format format, | 258 media::VideoFrame::Format format, |
259 bool is_transparent, | 259 bool is_transparent, |
260 const gfx::RectF& tex_coord_rect, | 260 const gfx::RectF& tex_coord_rect, |
261 RenderPass* render_pass, | 261 RenderPass* render_pass, |
262 VideoResourceUpdater* video_resource_updater, | 262 VideoResourceUpdater* video_resource_updater, |
263 const gfx::Rect& rect, | 263 const gfx::Rect& rect, |
| 264 const gfx::Rect& visible_rect, |
264 ResourceProvider* resource_provider) { | 265 ResourceProvider* resource_provider) { |
265 scoped_refptr<media::VideoFrame> video_frame = media::VideoFrame::CreateFrame( | 266 scoped_refptr<media::VideoFrame> video_frame = media::VideoFrame::CreateFrame( |
266 format, rect.size(), rect, rect.size(), base::TimeDelta()); | 267 format, rect.size(), rect, rect.size(), base::TimeDelta()); |
267 | 268 |
268 // YUV values representing a striped pattern, for validating texture | 269 // YUV values representing a striped pattern, for validating texture |
269 // coordinates for sampling. | 270 // coordinates for sampling. |
270 uint8_t y_value = 0; | 271 uint8_t y_value = 0; |
271 uint8_t u_value = 0; | 272 uint8_t u_value = 0; |
272 uint8_t v_value = 0; | 273 uint8_t v_value = 0; |
273 for (int i = 0; i < video_frame->rows(media::VideoFrame::kYPlane); ++i) { | 274 for (int i = 0; i < video_frame->rows(media::VideoFrame::kYPlane); ++i) { |
(...skipping 11 matching lines...) Expand all Loading... |
285 video_frame->stride(media::VideoFrame::kVPlane) * i; | 286 video_frame->stride(media::VideoFrame::kVPlane) * i; |
286 for (int j = 0; j < video_frame->row_bytes(media::VideoFrame::kUPlane); | 287 for (int j = 0; j < video_frame->row_bytes(media::VideoFrame::kUPlane); |
287 ++j) { | 288 ++j) { |
288 u_row[j] = (u_value += 3); | 289 u_row[j] = (u_value += 3); |
289 v_row[j] = (v_value += 5); | 290 v_row[j] = (v_value += 5); |
290 } | 291 } |
291 } | 292 } |
292 uint8 alpha_value = is_transparent ? 0 : 128; | 293 uint8 alpha_value = is_transparent ? 0 : 128; |
293 CreateTestYUVVideoDrawQuad_FromVideoFrame( | 294 CreateTestYUVVideoDrawQuad_FromVideoFrame( |
294 shared_state, video_frame, alpha_value, tex_coord_rect, render_pass, | 295 shared_state, video_frame, alpha_value, tex_coord_rect, render_pass, |
295 video_resource_updater, rect, resource_provider); | 296 video_resource_updater, rect, visible_rect, resource_provider); |
296 } | 297 } |
297 | 298 |
298 // Creates a video frame of size background_size filled with yuv_background, | 299 // Creates a video frame of size background_size filled with yuv_background, |
299 // and then draws a foreground rectangle in a different color on top of | 300 // and then draws a foreground rectangle in a different color on top of |
300 // that. The foreground rectangle must have coordinates that are divisible | 301 // that. The foreground rectangle must have coordinates that are divisible |
301 // by 2 because YUV is a block format. | 302 // by 2 because YUV is a block format. |
302 void CreateTestYUVVideoDrawQuad_TwoColor( | 303 void CreateTestYUVVideoDrawQuad_TwoColor( |
303 const SharedQuadState* shared_state, | 304 const SharedQuadState* shared_state, |
304 media::VideoFrame::Format format, | 305 media::VideoFrame::Format format, |
305 bool is_transparent, | 306 bool is_transparent, |
306 const gfx::RectF& tex_coord_rect, | 307 const gfx::RectF& tex_coord_rect, |
307 const gfx::Size& background_size, | 308 const gfx::Size& background_size, |
| 309 const gfx::Rect& visible_rect, |
308 uint8 y_background, | 310 uint8 y_background, |
309 uint8 u_background, | 311 uint8 u_background, |
310 uint8 v_background, | 312 uint8 v_background, |
311 const gfx::Rect& foreground_rect, | 313 const gfx::Rect& foreground_rect, |
312 uint8 y_foreground, | 314 uint8 y_foreground, |
313 uint8 u_foreground, | 315 uint8 u_foreground, |
314 uint8 v_foreground, | 316 uint8 v_foreground, |
315 RenderPass* render_pass, | 317 RenderPass* render_pass, |
316 VideoResourceUpdater* video_resource_updater, | 318 VideoResourceUpdater* video_resource_updater, |
317 ResourceProvider* resource_provider) { | 319 ResourceProvider* resource_provider) { |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
349 for (int x = sample_rect.x(); x < sample_rect.right(); ++x) { | 351 for (int x = sample_rect.x(); x < sample_rect.right(); ++x) { |
350 size_t offset = y * video_frame->stride(planes[i]) + x; | 352 size_t offset = y * video_frame->stride(planes[i]) + x; |
351 video_frame->data(planes[i])[offset] = yuv_foreground[i]; | 353 video_frame->data(planes[i])[offset] = yuv_foreground[i]; |
352 } | 354 } |
353 } | 355 } |
354 } | 356 } |
355 | 357 |
356 uint8 alpha_value = 255; | 358 uint8 alpha_value = 255; |
357 CreateTestYUVVideoDrawQuad_FromVideoFrame( | 359 CreateTestYUVVideoDrawQuad_FromVideoFrame( |
358 shared_state, video_frame, alpha_value, tex_coord_rect, render_pass, | 360 shared_state, video_frame, alpha_value, tex_coord_rect, render_pass, |
359 video_resource_updater, rect, resource_provider); | 361 video_resource_updater, rect, visible_rect, resource_provider); |
360 } | 362 } |
361 | 363 |
362 void CreateTestYUVVideoDrawQuad_Solid( | 364 void CreateTestYUVVideoDrawQuad_Solid( |
363 const SharedQuadState* shared_state, | 365 const SharedQuadState* shared_state, |
364 media::VideoFrame::Format format, | 366 media::VideoFrame::Format format, |
365 bool is_transparent, | 367 bool is_transparent, |
366 const gfx::RectF& tex_coord_rect, | 368 const gfx::RectF& tex_coord_rect, |
367 uint8 y, | 369 uint8 y, |
368 uint8 u, | 370 uint8 u, |
369 uint8 v, | 371 uint8 v, |
370 RenderPass* render_pass, | 372 RenderPass* render_pass, |
371 VideoResourceUpdater* video_resource_updater, | 373 VideoResourceUpdater* video_resource_updater, |
372 const gfx::Rect& rect, | 374 const gfx::Rect& rect, |
| 375 const gfx::Rect& visible_rect, |
373 ResourceProvider* resource_provider) { | 376 ResourceProvider* resource_provider) { |
374 scoped_refptr<media::VideoFrame> video_frame = media::VideoFrame::CreateFrame( | 377 scoped_refptr<media::VideoFrame> video_frame = media::VideoFrame::CreateFrame( |
375 format, rect.size(), rect, rect.size(), base::TimeDelta()); | 378 format, rect.size(), rect, rect.size(), base::TimeDelta()); |
376 | 379 |
377 // YUV values of a solid, constant, color. Useful for testing that color | 380 // YUV values of a solid, constant, color. Useful for testing that color |
378 // space/color range are being handled properly. | 381 // space/color range are being handled properly. |
379 memset(video_frame->data(media::VideoFrame::kYPlane), y, | 382 memset(video_frame->data(media::VideoFrame::kYPlane), y, |
380 video_frame->stride(media::VideoFrame::kYPlane) * | 383 video_frame->stride(media::VideoFrame::kYPlane) * |
381 video_frame->rows(media::VideoFrame::kYPlane)); | 384 video_frame->rows(media::VideoFrame::kYPlane)); |
382 memset(video_frame->data(media::VideoFrame::kUPlane), u, | 385 memset(video_frame->data(media::VideoFrame::kUPlane), u, |
383 video_frame->stride(media::VideoFrame::kUPlane) * | 386 video_frame->stride(media::VideoFrame::kUPlane) * |
384 video_frame->rows(media::VideoFrame::kUPlane)); | 387 video_frame->rows(media::VideoFrame::kUPlane)); |
385 memset(video_frame->data(media::VideoFrame::kVPlane), v, | 388 memset(video_frame->data(media::VideoFrame::kVPlane), v, |
386 video_frame->stride(media::VideoFrame::kVPlane) * | 389 video_frame->stride(media::VideoFrame::kVPlane) * |
387 video_frame->rows(media::VideoFrame::kVPlane)); | 390 video_frame->rows(media::VideoFrame::kVPlane)); |
388 | 391 |
389 uint8 alpha_value = is_transparent ? 0 : 128; | 392 uint8 alpha_value = is_transparent ? 0 : 128; |
390 CreateTestYUVVideoDrawQuad_FromVideoFrame( | 393 CreateTestYUVVideoDrawQuad_FromVideoFrame( |
391 shared_state, video_frame, alpha_value, tex_coord_rect, render_pass, | 394 shared_state, video_frame, alpha_value, tex_coord_rect, render_pass, |
392 video_resource_updater, rect, resource_provider); | 395 video_resource_updater, rect, visible_rect, resource_provider); |
393 } | 396 } |
394 | 397 |
395 typedef ::testing::Types<GLRenderer, | 398 typedef ::testing::Types<GLRenderer, |
396 SoftwareRenderer, | 399 SoftwareRenderer, |
397 GLRendererWithExpandedViewport, | 400 GLRendererWithExpandedViewport, |
398 SoftwareRendererWithExpandedViewport> RendererTypes; | 401 SoftwareRendererWithExpandedViewport> RendererTypes; |
399 TYPED_TEST_CASE(RendererPixelTest, RendererTypes); | 402 TYPED_TEST_CASE(RendererPixelTest, RendererTypes); |
400 | 403 |
401 template <typename RendererType> | 404 template <typename RendererType> |
402 class SoftwareRendererPixelTest : public RendererPixelTest<RendererType> {}; | 405 class SoftwareRendererPixelTest : public RendererPixelTest<RendererType> {}; |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
814 TYPED_TEST(IntersectingQuadGLPixelTest, YUVVideoQuads) { | 817 TYPED_TEST(IntersectingQuadGLPixelTest, YUVVideoQuads) { |
815 this->SetupQuadStateAndRenderPass(); | 818 this->SetupQuadStateAndRenderPass(); |
816 gfx::Rect inner_rect( | 819 gfx::Rect inner_rect( |
817 ((this->quad_rect_.x() + (this->quad_rect_.width() / 4)) & ~0xF), | 820 ((this->quad_rect_.x() + (this->quad_rect_.width() / 4)) & ~0xF), |
818 ((this->quad_rect_.y() + (this->quad_rect_.height() / 4)) & ~0xF), | 821 ((this->quad_rect_.y() + (this->quad_rect_.height() / 4)) & ~0xF), |
819 (this->quad_rect_.width() / 2) & ~0xF, | 822 (this->quad_rect_.width() / 2) & ~0xF, |
820 (this->quad_rect_.height() / 2) & ~0xF); | 823 (this->quad_rect_.height() / 2) & ~0xF); |
821 | 824 |
822 CreateTestYUVVideoDrawQuad_TwoColor( | 825 CreateTestYUVVideoDrawQuad_TwoColor( |
823 this->front_quad_state_, media::VideoFrame::YV12J, false, | 826 this->front_quad_state_, media::VideoFrame::YV12J, false, |
824 gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), this->quad_rect_.size(), 0, 128, 128, | 827 gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), this->quad_rect_.size(), |
825 inner_rect, 29, 255, 107, this->render_pass_.get(), | 828 this->quad_rect_, 0, 128, 128, inner_rect, 29, 255, 107, |
826 this->video_resource_updater_.get(), this->resource_provider_.get()); | 829 this->render_pass_.get(), this->video_resource_updater_.get(), |
| 830 this->resource_provider_.get()); |
827 | 831 |
828 CreateTestYUVVideoDrawQuad_TwoColor( | 832 CreateTestYUVVideoDrawQuad_TwoColor( |
829 this->back_quad_state_, media::VideoFrame::YV12J, false, | 833 this->back_quad_state_, media::VideoFrame::YV12J, false, |
830 gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), this->quad_rect_.size(), 149, 43, 21, | 834 gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), this->quad_rect_.size(), |
831 inner_rect, 0, 128, 128, this->render_pass_.get(), | 835 this->quad_rect_, 149, 43, 21, inner_rect, 0, 128, 128, |
832 this->video_resource_updater2_.get(), this->resource_provider_.get()); | 836 this->render_pass_.get(), this->video_resource_updater2_.get(), |
| 837 this->resource_provider_.get()); |
833 | 838 |
834 SCOPED_TRACE("IntersectingVideoQuads"); | 839 SCOPED_TRACE("IntersectingVideoQuads"); |
835 this->template AppendBackgroundAndRunTest<YUVVideoDrawQuad>( | 840 this->template AppendBackgroundAndRunTest<YUVVideoDrawQuad>( |
836 FuzzyPixelOffByOneComparator(false)); | 841 FuzzyPixelOffByOneComparator(false)); |
837 } | 842 } |
838 | 843 |
839 // TODO(skaslev): The software renderer does not support non-premultplied alpha. | 844 // TODO(skaslev): The software renderer does not support non-premultplied alpha. |
840 TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithoutBackground) { | 845 TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithoutBackground) { |
841 gfx::Rect rect(this->device_viewport_size_); | 846 gfx::Rect rect(this->device_viewport_size_); |
842 | 847 |
(...skipping 1227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2070 SkCanvas canvas(bitmap); | 2075 SkCanvas canvas(bitmap); |
2071 canvas.drawPoint(0, 0, SK_ColorGREEN); | 2076 canvas.drawPoint(0, 0, SK_ColorGREEN); |
2072 canvas.drawPoint(0, 1, SK_ColorBLUE); | 2077 canvas.drawPoint(0, 1, SK_ColorBLUE); |
2073 canvas.drawPoint(1, 0, SK_ColorBLUE); | 2078 canvas.drawPoint(1, 0, SK_ColorBLUE); |
2074 canvas.drawPoint(1, 1, SK_ColorGREEN); | 2079 canvas.drawPoint(1, 1, SK_ColorGREEN); |
2075 } | 2080 } |
2076 | 2081 |
2077 scoped_ptr<FakePicturePile> recording = | 2082 scoped_ptr<FakePicturePile> recording = |
2078 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); | 2083 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
2079 SkPaint paint; | 2084 SkPaint paint; |
2080 paint.setFilterLevel(SkPaint::kLow_FilterLevel); | 2085 paint.setFilterQuality(kLow_SkFilterQuality); |
2081 recording->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); | 2086 recording->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); |
2082 recording->RerecordPile(); | 2087 recording->RerecordPile(); |
2083 scoped_refptr<FakePicturePileImpl> pile = | 2088 scoped_refptr<FakePicturePileImpl> pile = |
2084 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); | 2089 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); |
2085 | 2090 |
2086 gfx::Transform content_to_target_transform; | 2091 gfx::Transform content_to_target_transform; |
2087 SharedQuadState* shared_state = CreateTestSharedQuadState( | 2092 SharedQuadState* shared_state = CreateTestSharedQuadState( |
2088 content_to_target_transform, viewport, pass.get()); | 2093 content_to_target_transform, viewport, pass.get()); |
2089 | 2094 |
2090 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2095 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2122 SkCanvas canvas(bitmap); | 2127 SkCanvas canvas(bitmap); |
2123 canvas.drawPoint(0, 0, SK_ColorGREEN); | 2128 canvas.drawPoint(0, 0, SK_ColorGREEN); |
2124 canvas.drawPoint(0, 1, SK_ColorBLUE); | 2129 canvas.drawPoint(0, 1, SK_ColorBLUE); |
2125 canvas.drawPoint(1, 0, SK_ColorBLUE); | 2130 canvas.drawPoint(1, 0, SK_ColorBLUE); |
2126 canvas.drawPoint(1, 1, SK_ColorGREEN); | 2131 canvas.drawPoint(1, 1, SK_ColorGREEN); |
2127 } | 2132 } |
2128 | 2133 |
2129 scoped_ptr<FakePicturePile> recording = | 2134 scoped_ptr<FakePicturePile> recording = |
2130 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); | 2135 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
2131 SkPaint paint; | 2136 SkPaint paint; |
2132 paint.setFilterLevel(SkPaint::kLow_FilterLevel); | 2137 paint.setFilterQuality(kLow_SkFilterQuality); |
2133 recording->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); | 2138 recording->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); |
2134 recording->RerecordPile(); | 2139 recording->RerecordPile(); |
2135 scoped_refptr<FakePicturePileImpl> pile = | 2140 scoped_refptr<FakePicturePileImpl> pile = |
2136 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); | 2141 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); |
2137 | 2142 |
2138 gfx::Transform content_to_target_transform; | 2143 gfx::Transform content_to_target_transform; |
2139 SharedQuadState* shared_state = CreateTestSharedQuadState( | 2144 SharedQuadState* shared_state = CreateTestSharedQuadState( |
2140 content_to_target_transform, viewport, pass.get()); | 2145 content_to_target_transform, viewport, pass.get()); |
2141 | 2146 |
2142 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2147 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2659 ? FILE_PATH_LITERAL("four_blue_green_checkers.png") | 2664 ? FILE_PATH_LITERAL("four_blue_green_checkers.png") |
2660 : FILE_PATH_LITERAL("checkers_big.png"); | 2665 : FILE_PATH_LITERAL("checkers_big.png"); |
2661 EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(path), | 2666 EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(path), |
2662 ExactPixelComparator(true))); | 2667 ExactPixelComparator(true))); |
2663 } | 2668 } |
2664 | 2669 |
2665 #endif // !defined(OS_ANDROID) | 2670 #endif // !defined(OS_ANDROID) |
2666 | 2671 |
2667 } // namespace | 2672 } // namespace |
2668 } // namespace cc | 2673 } // namespace cc |
OLD | NEW |