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

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

Issue 2161363003: Overlay tests: make fullscreen quads actually fullscreen. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CreateFullscreenOpaqueQuad use pass->output_rect. Created 4 years, 5 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "cc/base/region.h" 10 #include "cc/base/region.h"
(...skipping 22 matching lines...) Expand all
33 #include "testing/gtest/include/gtest/gtest.h" 33 #include "testing/gtest/include/gtest/gtest.h"
34 #include "ui/gfx/geometry/rect_conversions.h" 34 #include "ui/gfx/geometry/rect_conversions.h"
35 35
36 using testing::_; 36 using testing::_;
37 using testing::Mock; 37 using testing::Mock;
38 38
39 namespace cc { 39 namespace cc {
40 namespace { 40 namespace {
41 41
42 const gfx::Size kDisplaySize(256, 256); 42 const gfx::Size kDisplaySize(256, 256);
43 const gfx::Rect kOverlayRect(0, 0, 128, 128); 43 const gfx::Rect kOverlayRect(0, 0, 256, 256);
44 const gfx::Rect kOverlayTopLeftRect(0, 0, 64, 64); 44 const gfx::Rect kOverlayTopLeftRect(0, 0, 128, 128);
45 const gfx::Rect kOverlayBottomRightRect(64, 64, 64, 64); 45 const gfx::Rect kOverlayBottomRightRect(128, 128, 128, 128);
46 const gfx::Rect kOverlayClipRect(0, 0, 128, 128); 46 const gfx::Rect kOverlayClipRect(0, 0, 128, 128);
47 const gfx::PointF kUVTopLeft(0.1f, 0.2f); 47 const gfx::PointF kUVTopLeft(0.1f, 0.2f);
48 const gfx::PointF kUVBottomRight(1.0f, 1.0f); 48 const gfx::PointF kUVBottomRight(1.0f, 1.0f);
49 const gfx::Transform kNormalTransform = 49 const gfx::Transform kNormalTransform =
50 gfx::Transform(0.9f, 0, 0, 0.8f, 0.1f, 0.2f); // x,y -> x,y. 50 gfx::Transform(0.9f, 0, 0, 0.8f, 0.1f, 0.2f); // x,y -> x,y.
51 const gfx::Transform kXMirrorTransform = 51 const gfx::Transform kXMirrorTransform =
52 gfx::Transform(-0.9f, 0, 0, 0.8f, 1.0f, 0.2f); // x,y -> 1-x,y. 52 gfx::Transform(-0.9f, 0, 0, 0.8f, 1.0f, 0.2f); // x,y -> 1-x,y.
53 const gfx::Transform kYMirrorTransform = 53 const gfx::Transform kYMirrorTransform =
54 gfx::Transform(0.9f, 0, 0, -0.8f, 0.1f, 1.0f); // x,y -> x,1-y. 54 gfx::Transform(0.9f, 0, 0, -0.8f, 0.1f, 1.0f); // x,y -> x,1-y.
55 const gfx::Transform kBothMirrorTransform = 55 const gfx::Transform kBothMirrorTransform =
(...skipping 14 matching lines...) Expand all
70 } 70 }
71 bool AllowCALayerOverlays() override { return false; } 71 bool AllowCALayerOverlays() override { return false; }
72 void CheckOverlaySupport(OverlayCandidateList* surfaces) override { 72 void CheckOverlaySupport(OverlayCandidateList* surfaces) override {
73 // We may have 1 or 2 surfaces depending on whether this ran through the 73 // We may have 1 or 2 surfaces depending on whether this ran through the
74 // full renderer and picked up the output surface, or not. 74 // full renderer and picked up the output surface, or not.
75 ASSERT_LE(1U, surfaces->size()); 75 ASSERT_LE(1U, surfaces->size());
76 ASSERT_GE(2U, surfaces->size()); 76 ASSERT_GE(2U, surfaces->size());
77 77
78 OverlayCandidate& candidate = surfaces->back(); 78 OverlayCandidate& candidate = surfaces->back();
79 EXPECT_TRUE(!candidate.use_output_surface_for_resource); 79 EXPECT_TRUE(!candidate.use_output_surface_for_resource);
80 if (candidate.display_rect.width() == 64) { 80 if (candidate.display_rect.width() == kOverlayBottomRightRect.width()) {
81 EXPECT_EQ(gfx::RectF(kOverlayBottomRightRect), candidate.display_rect); 81 EXPECT_EQ(gfx::RectF(kOverlayBottomRightRect), candidate.display_rect);
82 } else { 82 } else {
83 EXPECT_NEAR(kOverlayRect.x(), candidate.display_rect.x(), 0.01f); 83 EXPECT_NEAR(kOverlayRect.x(), candidate.display_rect.x(), 0.01f);
84 EXPECT_NEAR(kOverlayRect.y(), candidate.display_rect.y(), 0.01f); 84 EXPECT_NEAR(kOverlayRect.y(), candidate.display_rect.y(), 0.01f);
85 EXPECT_NEAR(kOverlayRect.width(), candidate.display_rect.width(), 0.01f); 85 EXPECT_NEAR(kOverlayRect.width(), candidate.display_rect.width(), 0.01f);
86 EXPECT_NEAR(kOverlayRect.height(), candidate.display_rect.height(), 86 EXPECT_NEAR(kOverlayRect.height(), candidate.display_rect.height(),
87 0.01f); 87 0.01f);
88 } 88 }
89 EXPECT_FLOAT_RECT_EQ(BoundingRect(kUVTopLeft, kUVBottomRight), 89 EXPECT_FLOAT_RECT_EQ(BoundingRect(kUVTopLeft, kUVBottomRight),
90 candidate.uv_rect); 90 candidate.uv_rect);
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 overlay_quad->SetNew(shared_quad_state, rect, rect, rect, resource_id, 263 overlay_quad->SetNew(shared_quad_state, rect, rect, rect, resource_id,
264 resource_size_in_pixels, transform); 264 resource_size_in_pixels, transform);
265 265
266 return overlay_quad; 266 return overlay_quad;
267 } 267 }
268 268
269 TextureDrawQuad* CreateFullscreenCandidateQuad( 269 TextureDrawQuad* CreateFullscreenCandidateQuad(
270 ResourceProvider* resource_provider, 270 ResourceProvider* resource_provider,
271 const SharedQuadState* shared_quad_state, 271 const SharedQuadState* shared_quad_state,
272 RenderPass* render_pass) { 272 RenderPass* render_pass) {
273 return CreateCandidateQuadAt( 273 return CreateCandidateQuadAt(resource_provider, shared_quad_state,
274 resource_provider, shared_quad_state, render_pass, kOverlayRect); 274 render_pass, render_pass->output_rect);
275 } 275 }
276 276
277 StreamVideoDrawQuad* CreateFullscreenCandidateVideoQuad( 277 StreamVideoDrawQuad* CreateFullscreenCandidateVideoQuad(
278 ResourceProvider* resource_provider, 278 ResourceProvider* resource_provider,
279 const SharedQuadState* shared_quad_state, 279 const SharedQuadState* shared_quad_state,
280 RenderPass* render_pass, 280 RenderPass* render_pass,
281 const gfx::Transform& transform) { 281 const gfx::Transform& transform) {
282 return CreateCandidateVideoQuadAt(resource_provider, shared_quad_state, 282 return CreateCandidateVideoQuadAt(resource_provider, shared_quad_state,
283 render_pass, kOverlayRect, transform); 283 render_pass, render_pass->output_rect,
284 transform);
284 } 285 }
285 286
286 void CreateOpaqueQuadAt(ResourceProvider* resource_provider, 287 void CreateOpaqueQuadAt(ResourceProvider* resource_provider,
287 const SharedQuadState* shared_quad_state, 288 const SharedQuadState* shared_quad_state,
288 RenderPass* render_pass, 289 RenderPass* render_pass,
289 const gfx::Rect& rect) { 290 const gfx::Rect& rect) {
290 SolidColorDrawQuad* color_quad = 291 SolidColorDrawQuad* color_quad =
291 render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 292 render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
292 color_quad->SetNew(shared_quad_state, rect, rect, SK_ColorBLACK, false); 293 color_quad->SetNew(shared_quad_state, rect, rect, SK_ColorBLACK, false);
293 } 294 }
294 295
295 void CreateFullscreenOpaqueQuad(ResourceProvider* resource_provider, 296 void CreateFullscreenOpaqueQuad(ResourceProvider* resource_provider,
296 const SharedQuadState* shared_quad_state, 297 const SharedQuadState* shared_quad_state,
297 RenderPass* render_pass) { 298 RenderPass* render_pass) {
298 CreateOpaqueQuadAt(resource_provider, shared_quad_state, render_pass, 299 CreateOpaqueQuadAt(resource_provider, shared_quad_state, render_pass,
299 kOverlayRect); 300 render_pass->output_rect);
300 } 301 }
301 302
302 static void CompareRenderPassLists(const RenderPassList& expected_list, 303 static void CompareRenderPassLists(const RenderPassList& expected_list,
303 const RenderPassList& actual_list) { 304 const RenderPassList& actual_list) {
304 EXPECT_EQ(expected_list.size(), actual_list.size()); 305 EXPECT_EQ(expected_list.size(), actual_list.size());
305 for (size_t i = 0; i < actual_list.size(); ++i) { 306 for (size_t i = 0; i < actual_list.size(); ++i) {
306 RenderPass* expected = expected_list[i].get(); 307 RenderPass* expected = expected_list[i].get();
307 RenderPass* actual = actual_list[i].get(); 308 RenderPass* actual = actual_list[i].get();
308 309
309 EXPECT_EQ(expected->id, actual->id); 310 EXPECT_EQ(expected->id, actual->id);
(...skipping 1324 matching lines...) Expand 10 before | Expand all | Expand 10 after
1634 1635
1635 ReturnResourceInUseQuery(resource2); 1636 ReturnResourceInUseQuery(resource2);
1636 ReturnResourceInUseQuery(resource3); 1637 ReturnResourceInUseQuery(resource3);
1637 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); 1638 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1));
1638 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource2)); 1639 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource2));
1639 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource3)); 1640 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource3));
1640 } 1641 }
1641 1642
1642 } // namespace 1643 } // namespace
1643 } // namespace cc 1644 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698