Commit d75382a0 authored by Weiliang Chen's avatar Weiliang Chen Committed by Commit Bot

viz: Add Overlay Damage Testing for Mac

There was a bug caused by overlay refactor that affected Mac overlay
damage calculation. Add unittest to make sure it doesn't happen again.

R=ccameron

Bug: 1022116
Change-Id: Iaa2f67640b80f94070e25c8ebc25db81ab83dcba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1972166Reviewed-by: default avatarccameron <ccameron@chromium.org>
Commit-Queue: weiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#726009}
parent d3995b6d
......@@ -48,6 +48,7 @@ namespace {
const gfx::Rect kOverlayRect(0, 0, 256, 256);
const gfx::PointF kUVTopLeft(0.1f, 0.2f);
const gfx::PointF kUVBottomRight(1.0f, 1.0f);
const gfx::Rect kRenderPassOutputRect(0, 0, 256, 256);
class OverlayOutputSurface : public OutputSurface {
public:
......@@ -101,10 +102,10 @@ class CATestOverlayProcessor : public OverlayProcessorMac {
std::unique_ptr<RenderPass> CreateRenderPass() {
int render_pass_id = 1;
gfx::Rect output_rect(0, 0, 256, 256);
std::unique_ptr<RenderPass> pass = RenderPass::Create();
pass->SetNew(render_pass_id, output_rect, output_rect, gfx::Transform());
pass->SetNew(render_pass_id, kRenderPassOutputRect, kRenderPassOutputRect,
gfx::Transform());
SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState();
shared_state->opacity = 1.f;
......@@ -276,6 +277,8 @@ TEST_F(CALayerOverlayTest, AllowNonAxisAlignedTransform) {
&ca_layer_list, &damage_rect_, &content_bounds_);
EXPECT_EQ(gfx::Rect(), damage_rect);
EXPECT_EQ(1U, ca_layer_list.size());
gfx::Rect overlay_damage = overlay_processor_->GetAndResetOverlayDamage();
EXPECT_EQ(kRenderPassOutputRect, overlay_damage);
EXPECT_EQ(0U, output_surface_->bind_framebuffer_count());
}
......@@ -297,6 +300,8 @@ TEST_F(CALayerOverlayTest, ThreeDTransform) {
render_pass_filters, render_pass_backdrop_filters, nullptr,
&ca_layer_list, &damage_rect_, &content_bounds_);
EXPECT_EQ(1U, ca_layer_list.size());
gfx::Rect overlay_damage = overlay_processor_->GetAndResetOverlayDamage();
EXPECT_EQ(kRenderPassOutputRect, overlay_damage);
gfx::Transform expected_transform;
expected_transform.RotateAboutXAxis(45.f);
gfx::Transform actual_transform(ca_layer_list.back().shared_state->transform);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment