Index: cc/output/renderer_pixeltest.cc.rej |
diff --git a/cc/output/renderer_pixeltest.cc.rej b/cc/output/renderer_pixeltest.cc.rej |
new file mode 100644 |
index 0000000000000000000000000000000000000000..13d6779a1cfa56c805b76e43522ceeea2e89d19d |
--- /dev/null |
+++ b/cc/output/renderer_pixeltest.cc.rej |
@@ -0,0 +1,245 @@ |
+diff a/cc/output/renderer_pixeltest.cc b/cc/output/renderer_pixeltest.cc (rejected hunks) |
+@@ -902,243 +901,6 @@ TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithBackground) { |
+ FuzzyPixelOffByOneComparator(true))); |
+ } |
+ |
+-class VideoGLRendererPixelTest : public GLRendererPixelTest { |
+- protected: |
+- void CreateEdgeBleedPass(media::VideoFrame::Format format, |
+- RenderPassList* pass_list) { |
+- gfx::Rect rect(200, 200); |
+- |
+- RenderPassId id(1, 1); |
+- scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); |
+- |
+- // Scale the video up so that bilinear filtering kicks in to sample more |
+- // than just nearest neighbor would. |
+- gfx::Transform scale_by_2; |
+- scale_by_2.Scale(2.f, 2.f); |
+- gfx::Rect half_rect(100, 100); |
+- SharedQuadState* shared_state = |
+- CreateTestSharedQuadState(scale_by_2, half_rect, pass.get()); |
+- |
+- gfx::Size background_size(200, 200); |
+- gfx::Rect green_rect(16, 20, 100, 100); |
+- gfx::RectF tex_coord_rect( |
+- static_cast<float>(green_rect.x()) / background_size.width(), |
+- static_cast<float>(green_rect.y()) / background_size.height(), |
+- static_cast<float>(green_rect.width()) / background_size.width(), |
+- static_cast<float>(green_rect.height()) / background_size.height()); |
+- |
+- // YUV of (149,43,21) should be green (0,255,0) in RGB. |
+- // Create a video frame that has a non-green background rect, with a |
+- // green sub-rectangle that should be the only thing displayed in |
+- // the final image. Bleeding will appear on all four sides of the video |
+- // if the tex coords are not clamped. |
+- CreateTestYUVVideoDrawQuad_TwoColor( |
+- shared_state, format, false, tex_coord_rect, background_size, 0, 0, 0, |
+- green_rect, 149, 43, 21, pass.get(), video_resource_updater_.get(), |
+- resource_provider_.get()); |
+- pass_list->push_back(pass.Pass()); |
+- } |
+- |
+- void SetUp() override { |
+- GLRendererPixelTest::SetUp(); |
+- video_resource_updater_.reset(new VideoResourceUpdater( |
+- output_surface_->context_provider(), resource_provider_.get())); |
+- } |
+- |
+- scoped_ptr<VideoResourceUpdater> video_resource_updater_; |
+-}; |
+- |
+-TEST_F(VideoGLRendererPixelTest, SimpleYUVRect) { |
+- gfx::Rect rect(this->device_viewport_size_); |
+- |
+- RenderPassId id(1, 1); |
+- scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); |
+- |
+- SharedQuadState* shared_state = |
+- CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); |
+- |
+- CreateTestYUVVideoDrawQuad_Striped(shared_state, media::VideoFrame::YV12, |
+- false, gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), |
+- pass.get(), video_resource_updater_.get(), |
+- rect, resource_provider_.get()); |
+- |
+- RenderPassList pass_list; |
+- pass_list.push_back(pass.Pass()); |
+- |
+- EXPECT_TRUE( |
+- this->RunPixelTest(&pass_list, |
+- base::FilePath(FILE_PATH_LITERAL("yuv_stripes.png")), |
+- FuzzyPixelOffByOneComparator(true))); |
+-} |
+- |
+-TEST_F(VideoGLRendererPixelTest, OffsetYUVRect) { |
+- gfx::Rect rect(this->device_viewport_size_); |
+- |
+- RenderPassId id(1, 1); |
+- scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); |
+- |
+- SharedQuadState* shared_state = |
+- CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); |
+- |
+- // Intentionally sets frame format to I420 for testing coverage. |
+- CreateTestYUVVideoDrawQuad_Striped( |
+- shared_state, media::VideoFrame::I420, false, |
+- gfx::RectF(0.125f, 0.25f, 0.75f, 0.5f), pass.get(), |
+- video_resource_updater_.get(), rect, resource_provider_.get()); |
+- |
+- RenderPassList pass_list; |
+- pass_list.push_back(pass.Pass()); |
+- |
+- EXPECT_TRUE(this->RunPixelTest( |
+- &pass_list, |
+- base::FilePath(FILE_PATH_LITERAL("yuv_stripes_offset.png")), |
+- FuzzyPixelOffByOneComparator(true))); |
+-} |
+- |
+-TEST_F(VideoGLRendererPixelTest, SimpleYUVRectBlack) { |
+- gfx::Rect rect(this->device_viewport_size_); |
+- |
+- RenderPassId id(1, 1); |
+- scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); |
+- |
+- SharedQuadState* shared_state = |
+- CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); |
+- |
+- // In MPEG color range YUV values of (15,128,128) should produce black. |
+- CreateTestYUVVideoDrawQuad_Solid( |
+- shared_state, media::VideoFrame::YV12, false, |
+- gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), 15, 128, 128, pass.get(), |
+- video_resource_updater_.get(), rect, resource_provider_.get()); |
+- |
+- RenderPassList pass_list; |
+- pass_list.push_back(pass.Pass()); |
+- |
+- // If we didn't get black out of the YUV values above, then we probably have a |
+- // color range issue. |
+- EXPECT_TRUE(this->RunPixelTest(&pass_list, |
+- base::FilePath(FILE_PATH_LITERAL("black.png")), |
+- FuzzyPixelOffByOneComparator(true))); |
+-} |
+- |
+-TEST_F(VideoGLRendererPixelTest, SimpleYUVJRect) { |
+- gfx::Rect rect(this->device_viewport_size_); |
+- |
+- RenderPassId id(1, 1); |
+- scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); |
+- |
+- SharedQuadState* shared_state = |
+- CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); |
+- |
+- // YUV of (149,43,21) should be green (0,255,0) in RGB. |
+- CreateTestYUVVideoDrawQuad_Solid( |
+- shared_state, media::VideoFrame::YV12J, false, |
+- gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), 149, 43, 21, pass.get(), |
+- video_resource_updater_.get(), rect, resource_provider_.get()); |
+- |
+- RenderPassList pass_list; |
+- pass_list.push_back(pass.Pass()); |
+- |
+- EXPECT_TRUE(this->RunPixelTest(&pass_list, |
+- base::FilePath(FILE_PATH_LITERAL("green.png")), |
+- FuzzyPixelOffByOneComparator(true))); |
+-} |
+- |
+-// Test that a YUV video doesn't bleed outside of its tex coords when the |
+-// tex coord rect is only a partial subrectangle of the coded contents. |
+-TEST_F(VideoGLRendererPixelTest, YUVEdgeBleed) { |
+- RenderPassList pass_list; |
+- CreateEdgeBleedPass(media::VideoFrame::YV12J, &pass_list); |
+- EXPECT_TRUE(this->RunPixelTest(&pass_list, |
+- base::FilePath(FILE_PATH_LITERAL("green.png")), |
+- FuzzyPixelOffByOneComparator(true))); |
+-} |
+- |
+-TEST_F(VideoGLRendererPixelTest, YUVAEdgeBleed) { |
+- RenderPassList pass_list; |
+- CreateEdgeBleedPass(media::VideoFrame::YV12A, &pass_list); |
+- EXPECT_TRUE(this->RunPixelTest(&pass_list, |
+- base::FilePath(FILE_PATH_LITERAL("green.png")), |
+- FuzzyPixelOffByOneComparator(true))); |
+-} |
+- |
+-TEST_F(VideoGLRendererPixelTest, SimpleYUVJRectGrey) { |
+- gfx::Rect rect(this->device_viewport_size_); |
+- |
+- RenderPassId id(1, 1); |
+- scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); |
+- |
+- SharedQuadState* shared_state = |
+- CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); |
+- |
+- // Dark grey in JPEG color range (in MPEG, this is black). |
+- CreateTestYUVVideoDrawQuad_Solid( |
+- shared_state, media::VideoFrame::YV12J, false, |
+- gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), 15, 128, 128, pass.get(), |
+- video_resource_updater_.get(), rect, resource_provider_.get()); |
+- |
+- RenderPassList pass_list; |
+- pass_list.push_back(pass.Pass()); |
+- |
+- EXPECT_TRUE( |
+- this->RunPixelTest(&pass_list, |
+- base::FilePath(FILE_PATH_LITERAL("dark_grey.png")), |
+- FuzzyPixelOffByOneComparator(true))); |
+-} |
+- |
+-TEST_F(VideoGLRendererPixelTest, SimpleYUVARect) { |
+- gfx::Rect rect(this->device_viewport_size_); |
+- |
+- RenderPassId id(1, 1); |
+- scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); |
+- |
+- SharedQuadState* shared_state = |
+- CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); |
+- |
+- CreateTestYUVVideoDrawQuad_Striped(shared_state, media::VideoFrame::YV12A, |
+- false, gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), |
+- pass.get(), video_resource_updater_.get(), |
+- rect, resource_provider_.get()); |
+- |
+- SolidColorDrawQuad* color_quad = |
+- pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
+- color_quad->SetNew(shared_state, rect, rect, SK_ColorWHITE, false); |
+- |
+- RenderPassList pass_list; |
+- pass_list.push_back(pass.Pass()); |
+- |
+- EXPECT_TRUE(this->RunPixelTest( |
+- &pass_list, |
+- base::FilePath(FILE_PATH_LITERAL("yuv_stripes_alpha.png")), |
+- FuzzyPixelOffByOneComparator(true))); |
+-} |
+- |
+-TEST_F(VideoGLRendererPixelTest, FullyTransparentYUVARect) { |
+- gfx::Rect rect(this->device_viewport_size_); |
+- |
+- RenderPassId id(1, 1); |
+- scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); |
+- |
+- SharedQuadState* shared_state = |
+- CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); |
+- |
+- CreateTestYUVVideoDrawQuad_Striped(shared_state, media::VideoFrame::YV12A, |
+- true, gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), |
+- pass.get(), video_resource_updater_.get(), |
+- rect, resource_provider_.get()); |
+- |
+- SolidColorDrawQuad* color_quad = |
+- pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
+- color_quad->SetNew(shared_state, rect, rect, SK_ColorBLACK, false); |
+- |
+- RenderPassList pass_list; |
+- pass_list.push_back(pass.Pass()); |
+- |
+- EXPECT_TRUE(this->RunPixelTest( |
+- &pass_list, |
+- base::FilePath(FILE_PATH_LITERAL("black.png")), |
+- ExactPixelComparator(true))); |
+-} |
+- |
+ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlpha) { |
+ gfx::Rect viewport_rect(this->device_viewport_size_); |
+ |