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

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

Issue 1013463003: Update from https://crrev.com/320931 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 9 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/renderer_pixeltest.cc ('k') | cc/output/software_renderer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 diff a/cc/output/renderer_pixeltest.cc b/cc/output/renderer_pixeltest.cc (rejected hunks)
2 @@ -902,243 +901,6 @@ TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithBac kground) {
3 FuzzyPixelOffByOneComparator(true)));
4 }
5
6 -class VideoGLRendererPixelTest : public GLRendererPixelTest {
7 - protected:
8 - void CreateEdgeBleedPass(media::VideoFrame::Format format,
9 - RenderPassList* pass_list) {
10 - gfx::Rect rect(200, 200);
11 -
12 - RenderPassId id(1, 1);
13 - scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
14 -
15 - // Scale the video up so that bilinear filtering kicks in to sample more
16 - // than just nearest neighbor would.
17 - gfx::Transform scale_by_2;
18 - scale_by_2.Scale(2.f, 2.f);
19 - gfx::Rect half_rect(100, 100);
20 - SharedQuadState* shared_state =
21 - CreateTestSharedQuadState(scale_by_2, half_rect, pass.get());
22 -
23 - gfx::Size background_size(200, 200);
24 - gfx::Rect green_rect(16, 20, 100, 100);
25 - gfx::RectF tex_coord_rect(
26 - static_cast<float>(green_rect.x()) / background_size.width(),
27 - static_cast<float>(green_rect.y()) / background_size.height(),
28 - static_cast<float>(green_rect.width()) / background_size.width(),
29 - static_cast<float>(green_rect.height()) / background_size.height());
30 -
31 - // YUV of (149,43,21) should be green (0,255,0) in RGB.
32 - // Create a video frame that has a non-green background rect, with a
33 - // green sub-rectangle that should be the only thing displayed in
34 - // the final image. Bleeding will appear on all four sides of the video
35 - // if the tex coords are not clamped.
36 - CreateTestYUVVideoDrawQuad_TwoColor(
37 - shared_state, format, false, tex_coord_rect, background_size, 0, 0, 0,
38 - green_rect, 149, 43, 21, pass.get(), video_resource_updater_.get(),
39 - resource_provider_.get());
40 - pass_list->push_back(pass.Pass());
41 - }
42 -
43 - void SetUp() override {
44 - GLRendererPixelTest::SetUp();
45 - video_resource_updater_.reset(new VideoResourceUpdater(
46 - output_surface_->context_provider(), resource_provider_.get()));
47 - }
48 -
49 - scoped_ptr<VideoResourceUpdater> video_resource_updater_;
50 -};
51 -
52 -TEST_F(VideoGLRendererPixelTest, SimpleYUVRect) {
53 - gfx::Rect rect(this->device_viewport_size_);
54 -
55 - RenderPassId id(1, 1);
56 - scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
57 -
58 - SharedQuadState* shared_state =
59 - CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
60 -
61 - CreateTestYUVVideoDrawQuad_Striped(shared_state, media::VideoFrame::YV12,
62 - false, gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
63 - pass.get(), video_resource_updater_.get(),
64 - rect, resource_provider_.get());
65 -
66 - RenderPassList pass_list;
67 - pass_list.push_back(pass.Pass());
68 -
69 - EXPECT_TRUE(
70 - this->RunPixelTest(&pass_list,
71 - base::FilePath(FILE_PATH_LITERAL("yuv_stripes.png")),
72 - FuzzyPixelOffByOneComparator(true)));
73 -}
74 -
75 -TEST_F(VideoGLRendererPixelTest, OffsetYUVRect) {
76 - gfx::Rect rect(this->device_viewport_size_);
77 -
78 - RenderPassId id(1, 1);
79 - scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
80 -
81 - SharedQuadState* shared_state =
82 - CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
83 -
84 - // Intentionally sets frame format to I420 for testing coverage.
85 - CreateTestYUVVideoDrawQuad_Striped(
86 - shared_state, media::VideoFrame::I420, false,
87 - gfx::RectF(0.125f, 0.25f, 0.75f, 0.5f), pass.get(),
88 - video_resource_updater_.get(), rect, resource_provider_.get());
89 -
90 - RenderPassList pass_list;
91 - pass_list.push_back(pass.Pass());
92 -
93 - EXPECT_TRUE(this->RunPixelTest(
94 - &pass_list,
95 - base::FilePath(FILE_PATH_LITERAL("yuv_stripes_offset.png")),
96 - FuzzyPixelOffByOneComparator(true)));
97 -}
98 -
99 -TEST_F(VideoGLRendererPixelTest, SimpleYUVRectBlack) {
100 - gfx::Rect rect(this->device_viewport_size_);
101 -
102 - RenderPassId id(1, 1);
103 - scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
104 -
105 - SharedQuadState* shared_state =
106 - CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
107 -
108 - // In MPEG color range YUV values of (15,128,128) should produce black.
109 - CreateTestYUVVideoDrawQuad_Solid(
110 - shared_state, media::VideoFrame::YV12, false,
111 - gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), 15, 128, 128, pass.get(),
112 - video_resource_updater_.get(), rect, resource_provider_.get());
113 -
114 - RenderPassList pass_list;
115 - pass_list.push_back(pass.Pass());
116 -
117 - // If we didn't get black out of the YUV values above, then we probably have a
118 - // color range issue.
119 - EXPECT_TRUE(this->RunPixelTest(&pass_list,
120 - base::FilePath(FILE_PATH_LITERAL("black.png")) ,
121 - FuzzyPixelOffByOneComparator(true)));
122 -}
123 -
124 -TEST_F(VideoGLRendererPixelTest, SimpleYUVJRect) {
125 - gfx::Rect rect(this->device_viewport_size_);
126 -
127 - RenderPassId id(1, 1);
128 - scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
129 -
130 - SharedQuadState* shared_state =
131 - CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
132 -
133 - // YUV of (149,43,21) should be green (0,255,0) in RGB.
134 - CreateTestYUVVideoDrawQuad_Solid(
135 - shared_state, media::VideoFrame::YV12J, false,
136 - gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), 149, 43, 21, pass.get(),
137 - video_resource_updater_.get(), rect, resource_provider_.get());
138 -
139 - RenderPassList pass_list;
140 - pass_list.push_back(pass.Pass());
141 -
142 - EXPECT_TRUE(this->RunPixelTest(&pass_list,
143 - base::FilePath(FILE_PATH_LITERAL("green.png")) ,
144 - FuzzyPixelOffByOneComparator(true)));
145 -}
146 -
147 -// Test that a YUV video doesn't bleed outside of its tex coords when the
148 -// tex coord rect is only a partial subrectangle of the coded contents.
149 -TEST_F(VideoGLRendererPixelTest, YUVEdgeBleed) {
150 - RenderPassList pass_list;
151 - CreateEdgeBleedPass(media::VideoFrame::YV12J, &pass_list);
152 - EXPECT_TRUE(this->RunPixelTest(&pass_list,
153 - base::FilePath(FILE_PATH_LITERAL("green.png")) ,
154 - FuzzyPixelOffByOneComparator(true)));
155 -}
156 -
157 -TEST_F(VideoGLRendererPixelTest, YUVAEdgeBleed) {
158 - RenderPassList pass_list;
159 - CreateEdgeBleedPass(media::VideoFrame::YV12A, &pass_list);
160 - EXPECT_TRUE(this->RunPixelTest(&pass_list,
161 - base::FilePath(FILE_PATH_LITERAL("green.png")) ,
162 - FuzzyPixelOffByOneComparator(true)));
163 -}
164 -
165 -TEST_F(VideoGLRendererPixelTest, SimpleYUVJRectGrey) {
166 - gfx::Rect rect(this->device_viewport_size_);
167 -
168 - RenderPassId id(1, 1);
169 - scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
170 -
171 - SharedQuadState* shared_state =
172 - CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
173 -
174 - // Dark grey in JPEG color range (in MPEG, this is black).
175 - CreateTestYUVVideoDrawQuad_Solid(
176 - shared_state, media::VideoFrame::YV12J, false,
177 - gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f), 15, 128, 128, pass.get(),
178 - video_resource_updater_.get(), rect, resource_provider_.get());
179 -
180 - RenderPassList pass_list;
181 - pass_list.push_back(pass.Pass());
182 -
183 - EXPECT_TRUE(
184 - this->RunPixelTest(&pass_list,
185 - base::FilePath(FILE_PATH_LITERAL("dark_grey.png")),
186 - FuzzyPixelOffByOneComparator(true)));
187 -}
188 -
189 -TEST_F(VideoGLRendererPixelTest, SimpleYUVARect) {
190 - gfx::Rect rect(this->device_viewport_size_);
191 -
192 - RenderPassId id(1, 1);
193 - scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
194 -
195 - SharedQuadState* shared_state =
196 - CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
197 -
198 - CreateTestYUVVideoDrawQuad_Striped(shared_state, media::VideoFrame::YV12A,
199 - false, gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
200 - pass.get(), video_resource_updater_.get(),
201 - rect, resource_provider_.get());
202 -
203 - SolidColorDrawQuad* color_quad =
204 - pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
205 - color_quad->SetNew(shared_state, rect, rect, SK_ColorWHITE, false);
206 -
207 - RenderPassList pass_list;
208 - pass_list.push_back(pass.Pass());
209 -
210 - EXPECT_TRUE(this->RunPixelTest(
211 - &pass_list,
212 - base::FilePath(FILE_PATH_LITERAL("yuv_stripes_alpha.png")),
213 - FuzzyPixelOffByOneComparator(true)));
214 -}
215 -
216 -TEST_F(VideoGLRendererPixelTest, FullyTransparentYUVARect) {
217 - gfx::Rect rect(this->device_viewport_size_);
218 -
219 - RenderPassId id(1, 1);
220 - scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
221 -
222 - SharedQuadState* shared_state =
223 - CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
224 -
225 - CreateTestYUVVideoDrawQuad_Striped(shared_state, media::VideoFrame::YV12A,
226 - true, gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
227 - pass.get(), video_resource_updater_.get(),
228 - rect, resource_provider_.get());
229 -
230 - SolidColorDrawQuad* color_quad =
231 - pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
232 - color_quad->SetNew(shared_state, rect, rect, SK_ColorBLACK, false);
233 -
234 - RenderPassList pass_list;
235 - pass_list.push_back(pass.Pass());
236 -
237 - EXPECT_TRUE(this->RunPixelTest(
238 - &pass_list,
239 - base::FilePath(FILE_PATH_LITERAL("black.png")),
240 - ExactPixelComparator(true)));
241 -}
242 -
243 TYPED_TEST(RendererPixelTest, FastPassColorFilterAlpha) {
244 gfx::Rect viewport_rect(this->device_viewport_size_);
245
OLDNEW
« no previous file with comments | « cc/output/renderer_pixeltest.cc ('k') | cc/output/software_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698