Commit 6bc32445 authored by akaba's avatar akaba Committed by Commit Bot

Cleanup surface_aggregator_unittest.cc and surface_synchronization_unittest.cc

The unit tests should start using SurfaceRanges instead of two SurfaceIds for
simplicity.

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: If6d41f07d9f4735399e990aca9c4a8e93449324a
Bug: 876731
Reviewed-on: https://chromium-review.googlesource.com/1184226
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: default avatarFady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585660}
parent b9741588
...@@ -53,12 +53,6 @@ constexpr bool kRootIsRoot = true; ...@@ -53,12 +53,6 @@ constexpr bool kRootIsRoot = true;
constexpr bool kChildIsRoot = false; constexpr bool kChildIsRoot = false;
constexpr bool kNeedsSyncPoints = false; constexpr bool kNeedsSyncPoints = false;
SurfaceId InvalidSurfaceId() {
static SurfaceId invalid(
FrameSinkId(), LocalSurfaceId(0xdeadbeef, 0xdeadbeef, kArbitraryToken));
return invalid;
}
gfx::Size SurfaceSize() { gfx::Size SurfaceSize() {
static gfx::Size size(100, 100); static gfx::Size size(100, 100);
return size; return size;
...@@ -139,23 +133,20 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource { ...@@ -139,23 +133,20 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource {
// If |fallback_surface_id| is a valid surface Id then this will generate // If |fallback_surface_id| is a valid surface Id then this will generate
// two SurfaceDrawQuads. // two SurfaceDrawQuads.
static Quad SurfaceQuad(const SurfaceId& primary_surface_id, static Quad SurfaceQuad(const SurfaceRange& surface_range,
const SurfaceId& fallback_surface_id,
SkColor default_background_color, SkColor default_background_color,
const gfx::Rect& primary_surface_rect, const gfx::Rect& primary_surface_rect,
bool stretch_content_to_fill_bounds) { bool stretch_content_to_fill_bounds) {
Quad quad; Quad quad;
quad.material = DrawQuad::SURFACE_CONTENT; quad.material = DrawQuad::SURFACE_CONTENT;
quad.primary_surface_rect = primary_surface_rect; quad.primary_surface_rect = primary_surface_rect;
quad.primary_surface_id = primary_surface_id; quad.surface_range = surface_range;
quad.fallback_surface_id = fallback_surface_id;
quad.default_background_color = default_background_color; quad.default_background_color = default_background_color;
quad.stretch_content_to_fill_bounds = stretch_content_to_fill_bounds; quad.stretch_content_to_fill_bounds = stretch_content_to_fill_bounds;
return quad; return quad;
} }
static Quad SurfaceQuad(const SurfaceId& primary_surface_id, static Quad SurfaceQuad(const SurfaceRange& surface_range,
const SurfaceId& fallback_surface_id,
SkColor default_background_color, SkColor default_background_color,
const gfx::Rect& primary_surface_rect, const gfx::Rect& primary_surface_rect,
float opacity, float opacity,
...@@ -166,8 +157,7 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource { ...@@ -166,8 +157,7 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource {
quad.primary_surface_rect = primary_surface_rect; quad.primary_surface_rect = primary_surface_rect;
quad.opacity = opacity; quad.opacity = opacity;
quad.to_target_transform = transform; quad.to_target_transform = transform;
quad.primary_surface_id = primary_surface_id; quad.surface_range = surface_range;
quad.fallback_surface_id = fallback_surface_id;
quad.default_background_color = default_background_color; quad.default_background_color = default_background_color;
quad.stretch_content_to_fill_bounds = stretch_content_to_fill_bounds; quad.stretch_content_to_fill_bounds = stretch_content_to_fill_bounds;
return quad; return quad;
...@@ -182,8 +172,7 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource { ...@@ -182,8 +172,7 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource {
DrawQuad::Material material; DrawQuad::Material material;
// Set when material==DrawQuad::SURFACE_CONTENT. // Set when material==DrawQuad::SURFACE_CONTENT.
SurfaceId primary_surface_id; SurfaceRange surface_range;
SurfaceId fallback_surface_id;
SkColor default_background_color; SkColor default_background_color;
bool stretch_content_to_fill_bounds; bool stretch_content_to_fill_bounds;
gfx::Rect primary_surface_rect; gfx::Rect primary_surface_rect;
...@@ -231,8 +220,8 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource { ...@@ -231,8 +220,8 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource {
break; break;
case DrawQuad::SURFACE_CONTENT: case DrawQuad::SURFACE_CONTENT:
AddSurfaceQuad(pass, desc.primary_surface_rect, desc.opacity, AddSurfaceQuad(pass, desc.primary_surface_rect, desc.opacity,
desc.to_target_transform, desc.primary_surface_id, desc.to_target_transform, desc.surface_range,
desc.fallback_surface_id, desc.default_background_color, desc.default_background_color,
desc.stretch_content_to_fill_bounds); desc.stretch_content_to_fill_bounds);
break; break;
case DrawQuad::RENDER_PASS: case DrawQuad::RENDER_PASS:
...@@ -312,8 +301,7 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource { ...@@ -312,8 +301,7 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource {
const gfx::Rect& primary_surface_rect, const gfx::Rect& primary_surface_rect,
float opacity, float opacity,
const gfx::Transform& transform, const gfx::Transform& transform,
const SurfaceId& primary_surface_id, const SurfaceRange& surface_range,
const SurfaceId& fallback_surface_id,
SkColor default_background_color, SkColor default_background_color,
bool stretch_content_to_fill_bounds) { bool stretch_content_to_fill_bounds) {
gfx::Transform layer_to_target_transform = transform; gfx::Transform layer_to_target_transform = transform;
...@@ -331,14 +319,10 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource { ...@@ -331,14 +319,10 @@ class SurfaceAggregatorTest : public testing::Test, public DisplayTimeSource {
SurfaceDrawQuad* surface_quad = SurfaceDrawQuad* surface_quad =
pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>();
surface_quad->SetNew( surface_quad->SetNew(pass->shared_quad_state_list.back(),
pass->shared_quad_state_list.back(), primary_surface_rect, primary_surface_rect, primary_surface_rect,
primary_surface_rect, surface_range, default_background_color,
SurfaceRange(fallback_surface_id.is_valid() stretch_content_to_fill_bounds);
? base::Optional<SurfaceId>(fallback_surface_id)
: base::nullopt,
primary_surface_id),
default_background_color, stretch_content_to_fill_bounds);
} }
static void AddRenderPassQuad(RenderPass* pass, RenderPassId render_pass_id) { static void AddRenderPassQuad(RenderPass* pass, RenderPassId render_pass_id) {
...@@ -537,9 +521,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, OpacityCopied) { ...@@ -537,9 +521,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, OpacityCopied) {
device_scale_factor); device_scale_factor);
SurfaceId root_surface_id(support_->frame_sink_id(), root_local_surface_id_); SurfaceId root_surface_id(support_->frame_sink_id(), root_local_surface_id_);
{ {
Quad quads[] = {Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), Quad quads[] = {Quad::SurfaceQuad(
SK_ColorWHITE, gfx::Rect(5, 5), .5f, SurfaceRange(base::nullopt, embedded_surface_id), SK_ColorWHITE,
gfx::Transform(), false)}; gfx::Rect(5, 5), .5f, gfx::Transform(), false)};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
SubmitCompositorFrame(support_.get(), passes, base::size(passes), SubmitCompositorFrame(support_.get(), passes, base::size(passes),
...@@ -559,9 +543,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, OpacityCopied) { ...@@ -559,9 +543,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, OpacityCopied) {
// For the case where opacity is close to 1.f, we treat it as opaque, and not // For the case where opacity is close to 1.f, we treat it as opaque, and not
// use a render surface. // use a render surface.
{ {
Quad quads[] = {Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), Quad quads[] = {Quad::SurfaceQuad(
SK_ColorWHITE, gfx::Rect(5, 5), .9999f, SurfaceRange(base::nullopt, embedded_surface_id), SK_ColorWHITE,
gfx::Transform(), false)}; gfx::Rect(5, 5), .9999f, gfx::Transform(), false)};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
SubmitCompositorFrame(support_.get(), passes, base::size(passes), SubmitCompositorFrame(support_.get(), passes, base::size(passes),
...@@ -596,9 +580,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, RotatedClip) { ...@@ -596,9 +580,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, RotatedClip) {
device_scale_factor); device_scale_factor);
gfx::Transform rotate; gfx::Transform rotate;
rotate.Rotate(30); rotate.Rotate(30);
Quad quads[] = {Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), Quad quads[] = {
SK_ColorWHITE, gfx::Rect(5, 5), 1.f, rotate, Quad::SurfaceQuad(SurfaceRange(base::nullopt, embedded_surface_id),
false)}; SK_ColorWHITE, gfx::Rect(5, 5), 1.f, rotate, false)};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
SubmitCompositorFrame(support_.get(), passes, base::size(passes), SubmitCompositorFrame(support_.get(), passes, base::size(passes),
...@@ -715,8 +699,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, SimpleSurfaceReference) { ...@@ -715,8 +699,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, SimpleSurfaceReference) {
Quad root_quads[] = { Quad root_quads[] = {
Quad::SolidColorQuad(SK_ColorWHITE, gfx::Rect(5, 5)), Quad::SolidColorQuad(SK_ColorWHITE, gfx::Rect(5, 5)),
Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, embedded_surface_id),
gfx::Rect(5, 5), false), SK_ColorWHITE, gfx::Rect(5, 5), false),
Quad::SolidColorQuad(SK_ColorBLACK, gfx::Rect(5, 5))}; Quad::SolidColorQuad(SK_ColorBLACK, gfx::Rect(5, 5))};
Pass root_passes[] = { Pass root_passes[] = {
Pass(root_quads, base::size(root_quads), SurfaceSize())}; Pass(root_quads, base::size(root_quads), SurfaceSize())};
...@@ -771,9 +755,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, FallbackSurfaceReference) { ...@@ -771,9 +755,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, FallbackSurfaceReference) {
// Try to embed |primary_child_surface_id| and if unavailable, embed // Try to embed |primary_child_surface_id| and if unavailable, embed
// |fallback_child_surface_id|. // |fallback_child_surface_id|.
constexpr gfx::Rect surface_quad_rect(12, 15); constexpr gfx::Rect surface_quad_rect(12, 15);
Quad root_quads[] = { Quad root_quads[] = {Quad::SurfaceQuad(
Quad::SurfaceQuad(primary_child_surface_id, fallback_child_surface_id, SurfaceRange(fallback_child_surface_id, primary_child_surface_id),
SK_ColorWHITE, surface_quad_rect, false)}; SK_ColorWHITE, surface_quad_rect, false)};
Pass root_passes[] = { Pass root_passes[] = {
Pass(root_quads, base::size(root_quads), SurfaceSize())}; Pass(root_quads, base::size(root_quads), SurfaceSize())};
...@@ -918,9 +902,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, StretchContentToFillBounds) { ...@@ -918,9 +902,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, StretchContentToFillBounds) {
} }
constexpr gfx::Rect surface_quad_rect(10, 5); constexpr gfx::Rect surface_quad_rect(10, 5);
Quad root_quads[] = { Quad root_quads[] = {Quad::SurfaceQuad(SurfaceRange(primary_child_surface_id),
Quad::SurfaceQuad(primary_child_surface_id, primary_child_surface_id, SK_ColorWHITE, surface_quad_rect,
SK_ColorWHITE, surface_quad_rect, true)}; true)};
Pass root_passes[] = { Pass root_passes[] = {
Pass(root_quads, base::size(root_quads), SurfaceSize())}; Pass(root_quads, base::size(root_quads), SurfaceSize())};
...@@ -987,9 +971,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, StretchContentToFillStretchedBounds) { ...@@ -987,9 +971,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, StretchContentToFillStretchedBounds) {
} }
constexpr gfx::Rect surface_quad_rect(10, 5); constexpr gfx::Rect surface_quad_rect(10, 5);
Quad root_quads[] = { Quad root_quads[] = {Quad::SurfaceQuad(SurfaceRange(primary_child_surface_id),
Quad::SurfaceQuad(primary_child_surface_id, primary_child_surface_id, SK_ColorWHITE, surface_quad_rect,
SK_ColorWHITE, surface_quad_rect, true)}; true)};
Pass root_passes[] = { Pass root_passes[] = {
Pass(root_quads, base::size(root_quads), SurfaceSize())}; Pass(root_quads, base::size(root_quads), SurfaceSize())};
...@@ -1057,9 +1041,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, StretchContentToFillSquashedBounds) { ...@@ -1057,9 +1041,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, StretchContentToFillSquashedBounds) {
} }
constexpr gfx::Rect surface_quad_rect(10, 5); constexpr gfx::Rect surface_quad_rect(10, 5);
Quad root_quads[] = { Quad root_quads[] = {Quad::SurfaceQuad(SurfaceRange(primary_child_surface_id),
Quad::SurfaceQuad(primary_child_surface_id, primary_child_surface_id, SK_ColorWHITE, surface_quad_rect,
SK_ColorWHITE, surface_quad_rect, true)}; true)};
Pass root_passes[] = { Pass root_passes[] = {
Pass(root_quads, base::size(root_quads), SurfaceSize())}; Pass(root_quads, base::size(root_quads), SurfaceSize())};
...@@ -1138,9 +1122,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, FallbackSurfaceReferenceWithPrimary) { ...@@ -1138,9 +1122,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, FallbackSurfaceReferenceWithPrimary) {
// Try to embed |primary_child_surface_id| and if unavailabe, embed // Try to embed |primary_child_surface_id| and if unavailabe, embed
// |fallback_child_surface_id|. // |fallback_child_surface_id|.
Quad root_quads[] = { Quad root_quads[] = {Quad::SurfaceQuad(
Quad::SurfaceQuad(primary_child_surface_id, fallback_child_surface_id, SurfaceRange(fallback_child_surface_id, primary_child_surface_id),
SK_ColorWHITE, gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
constexpr gfx::Size root_size(75, 75); constexpr gfx::Size root_size(75, 75);
Pass root_passes[] = { Pass root_passes[] = {
Pass(root_quads, base::size(root_quads), root_size, NoDamage())}; Pass(root_quads, base::size(root_quads), root_size, NoDamage())};
...@@ -1214,8 +1198,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, CopyRequest) { ...@@ -1214,8 +1198,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, CopyRequest) {
Quad root_quads[] = { Quad root_quads[] = {
Quad::SolidColorQuad(SK_ColorWHITE, gfx::Rect(5, 5)), Quad::SolidColorQuad(SK_ColorWHITE, gfx::Rect(5, 5)),
Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, embedded_surface_id),
gfx::Rect(5, 5), false), SK_ColorWHITE, gfx::Rect(5, 5), false),
Quad::SolidColorQuad(SK_ColorBLACK, gfx::Rect(5, 5))}; Quad::SolidColorQuad(SK_ColorBLACK, gfx::Rect(5, 5))};
Pass root_passes[] = { Pass root_passes[] = {
Pass(root_quads, base::size(root_quads), SurfaceSize())}; Pass(root_quads, base::size(root_quads), SurfaceSize())};
...@@ -1276,8 +1260,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, RootCopyRequest) { ...@@ -1276,8 +1260,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, RootCopyRequest) {
Quad root_quads[] = { Quad root_quads[] = {
Quad::SolidColorQuad(SK_ColorWHITE, gfx::Rect(5, 5)), Quad::SolidColorQuad(SK_ColorWHITE, gfx::Rect(5, 5)),
Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, embedded_surface_id),
gfx::Rect(5, 5), false), SK_ColorWHITE, gfx::Rect(5, 5), false),
Quad::SolidColorQuad(SK_ColorBLACK, gfx::Rect(5, 5))}; Quad::SolidColorQuad(SK_ColorBLACK, gfx::Rect(5, 5))};
Quad root_quads2[] = {Quad::SolidColorQuad(SK_ColorRED, gfx::Rect(5, 5))}; Quad root_quads2[] = {Quad::SolidColorQuad(SK_ColorRED, gfx::Rect(5, 5))};
Pass root_passes[] = { Pass root_passes[] = {
...@@ -1366,8 +1350,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, UnreferencedSurface) { ...@@ -1366,8 +1350,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, UnreferencedSurface) {
Quad parent_quads[] = { Quad parent_quads[] = {
Quad::SolidColorQuad(SK_ColorGRAY, gfx::Rect(5, 5)), Quad::SolidColorQuad(SK_ColorGRAY, gfx::Rect(5, 5)),
Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, embedded_surface_id),
gfx::Rect(5, 5), false), SK_ColorWHITE, gfx::Rect(5, 5), false),
Quad::SolidColorQuad(SK_ColorLTGRAY, gfx::Rect(5, 5))}; Quad::SolidColorQuad(SK_ColorLTGRAY, gfx::Rect(5, 5))};
Pass parent_passes[] = { Pass parent_passes[] = {
Pass(parent_quads, base::size(parent_quads), SurfaceSize())}; Pass(parent_quads, base::size(parent_quads), SurfaceSize())};
...@@ -1461,8 +1445,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, MultiPassSurfaceReference) { ...@@ -1461,8 +1445,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, MultiPassSurfaceReference) {
Quad root_quads[][2] = { Quad root_quads[][2] = {
{Quad::SolidColorQuad(5, gfx::Rect(5, 5)), {Quad::SolidColorQuad(5, gfx::Rect(5, 5)),
Quad::SolidColorQuad(6, gfx::Rect(5, 5))}, Quad::SolidColorQuad(6, gfx::Rect(5, 5))},
{Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), SK_ColorWHITE, {Quad::SurfaceQuad(SurfaceRange(base::nullopt, embedded_surface_id),
gfx::Rect(5, 5), false), SK_ColorWHITE, gfx::Rect(5, 5), false),
Quad::RenderPassQuad(pass_ids[0])}, Quad::RenderPassQuad(pass_ids[0])},
{Quad::SolidColorQuad(7, gfx::Rect(5, 5)), {Quad::SolidColorQuad(7, gfx::Rect(5, 5)),
Quad::RenderPassQuad(pass_ids[1])}}; Quad::RenderPassQuad(pass_ids[1])}};
...@@ -1583,8 +1567,11 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, MultiPassSurfaceReference) { ...@@ -1583,8 +1567,11 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, MultiPassSurfaceReference) {
// be dropped. // be dropped.
TEST_F(SurfaceAggregatorValidSurfaceTest, InvalidSurfaceReference) { TEST_F(SurfaceAggregatorValidSurfaceTest, InvalidSurfaceReference) {
Quad quads[] = {Quad::SolidColorQuad(SK_ColorGREEN, gfx::Rect(5, 5)), Quad quads[] = {Quad::SolidColorQuad(SK_ColorGREEN, gfx::Rect(5, 5)),
Quad::SurfaceQuad(InvalidSurfaceId(), InvalidSurfaceId(), Quad::SurfaceQuad(
SK_ColorWHITE, gfx::Rect(5, 5), false), SurfaceRange(SurfaceId(
FrameSinkId(), LocalSurfaceId(0xdeadbeef, 0xdeadbeef,
kArbitraryToken))),
SK_ColorWHITE, gfx::Rect(5, 5), false),
Quad::SolidColorQuad(SK_ColorBLUE, gfx::Rect(5, 5))}; Quad::SolidColorQuad(SK_ColorBLUE, gfx::Rect(5, 5))};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
...@@ -1611,7 +1598,7 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, ValidSurfaceReferenceWithNoFrame) { ...@@ -1611,7 +1598,7 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, ValidSurfaceReferenceWithNoFrame) {
Quad quads[] = { Quad quads[] = {
Quad::SolidColorQuad(SK_ColorGREEN, gfx::Rect(5, 5)), Quad::SolidColorQuad(SK_ColorGREEN, gfx::Rect(5, 5)),
Quad::SurfaceQuad(surface_with_no_frame_id, InvalidSurfaceId(), Quad::SurfaceQuad(SurfaceRange(base::nullopt, surface_with_no_frame_id),
SK_ColorYELLOW, gfx::Rect(5, 5), false), SK_ColorYELLOW, gfx::Rect(5, 5), false),
Quad::SolidColorQuad(SK_ColorBLUE, gfx::Rect(5, 5))}; Quad::SolidColorQuad(SK_ColorBLUE, gfx::Rect(5, 5))};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
...@@ -1640,9 +1627,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, ValidFallbackWithNoFrame) { ...@@ -1640,9 +1627,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, ValidFallbackWithNoFrame) {
const SurfaceId surface_with_no_frame_id(support_->frame_sink_id(), const SurfaceId surface_with_no_frame_id(support_->frame_sink_id(),
empty_local_surface_id); empty_local_surface_id);
Quad quads[] = {Quad::SurfaceQuad(surface_with_no_frame_id, Quad quads[] = {Quad::SurfaceQuad(SurfaceRange(surface_with_no_frame_id),
surface_with_no_frame_id, SK_ColorYELLOW, SK_ColorYELLOW, gfx::Rect(5, 5), false)};
gfx::Rect(5, 5), false)};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
constexpr float device_scale_factor = 1.0f; constexpr float device_scale_factor = 1.0f;
...@@ -1668,9 +1654,10 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, ValidFallbackWithNoFrame) { ...@@ -1668,9 +1654,10 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, ValidFallbackWithNoFrame) {
// The quad creating the cycle should be dropped from the final frame. // The quad creating the cycle should be dropped from the final frame.
TEST_F(SurfaceAggregatorValidSurfaceTest, SimpleCyclicalReference) { TEST_F(SurfaceAggregatorValidSurfaceTest, SimpleCyclicalReference) {
SurfaceId root_surface_id(support_->frame_sink_id(), root_local_surface_id_); SurfaceId root_surface_id(support_->frame_sink_id(), root_local_surface_id_);
Quad quads[] = {Quad::SurfaceQuad(root_surface_id, InvalidSurfaceId(), Quad quads[] = {
SK_ColorWHITE, gfx::Rect(5, 5), false), Quad::SurfaceQuad(SurfaceRange(base::nullopt, root_surface_id),
Quad::SolidColorQuad(SK_ColorYELLOW, gfx::Rect(5, 5))}; SK_ColorWHITE, gfx::Rect(5, 5), false),
Quad::SolidColorQuad(SK_ColorYELLOW, gfx::Rect(5, 5))};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
constexpr float device_scale_factor = 1.0f; constexpr float device_scale_factor = 1.0f;
...@@ -1694,8 +1681,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, TwoSurfaceCyclicalReference) { ...@@ -1694,8 +1681,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, TwoSurfaceCyclicalReference) {
Quad parent_quads[] = { Quad parent_quads[] = {
Quad::SolidColorQuad(SK_ColorBLUE, gfx::Rect(5, 5)), Quad::SolidColorQuad(SK_ColorBLUE, gfx::Rect(5, 5)),
Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false), SK_ColorWHITE, gfx::Rect(5, 5), false),
Quad::SolidColorQuad(SK_ColorCYAN, gfx::Rect(5, 5))}; Quad::SolidColorQuad(SK_ColorCYAN, gfx::Rect(5, 5))};
Pass parent_passes[] = { Pass parent_passes[] = {
Pass(parent_quads, base::size(parent_quads), SurfaceSize())}; Pass(parent_quads, base::size(parent_quads), SurfaceSize())};
...@@ -1708,8 +1695,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, TwoSurfaceCyclicalReference) { ...@@ -1708,8 +1695,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, TwoSurfaceCyclicalReference) {
SurfaceId root_surface_id(support_->frame_sink_id(), root_local_surface_id_); SurfaceId root_surface_id(support_->frame_sink_id(), root_local_surface_id_);
Quad child_quads[] = { Quad child_quads[] = {
Quad::SolidColorQuad(SK_ColorGREEN, gfx::Rect(5, 5)), Quad::SolidColorQuad(SK_ColorGREEN, gfx::Rect(5, 5)),
Quad::SurfaceQuad(root_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, root_surface_id),
gfx::Rect(5, 5), false), SK_ColorWHITE, gfx::Rect(5, 5), false),
Quad::SolidColorQuad(SK_ColorMAGENTA, gfx::Rect(5, 5))}; Quad::SolidColorQuad(SK_ColorMAGENTA, gfx::Rect(5, 5))};
Pass child_passes[] = { Pass child_passes[] = {
Pass(child_quads, base::size(child_quads), SurfaceSize())}; Pass(child_quads, base::size(child_quads), SurfaceSize())};
...@@ -1760,8 +1747,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, RenderPassIdMapping) { ...@@ -1760,8 +1747,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, RenderPassIdMapping) {
// Pass IDs from the parent surface may collide with ones from the child. // Pass IDs from the parent surface may collide with ones from the child.
RenderPassId parent_pass_id[] = {3u, 2u}; RenderPassId parent_pass_id[] = {3u, 2u};
Quad parent_quad[][1] = { Quad parent_quad[][1] = {
{Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, {Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}, SK_ColorWHITE, gfx::Rect(5, 5), false)},
{Quad::RenderPassQuad(parent_pass_id[0])}}; {Quad::RenderPassQuad(parent_pass_id[0])}};
Pass parent_passes[] = {Pass(parent_quad[0], base::size(parent_quad[0]), Pass parent_passes[] = {Pass(parent_quad[0], base::size(parent_quad[0]),
parent_pass_id[0], SurfaceSize()), parent_pass_id[0], SurfaceSize()),
...@@ -2030,9 +2017,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateMultiplePassWithTransform) { ...@@ -2030,9 +2017,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateMultiplePassWithTransform) {
SurfaceId middle_surface_id(middle_support->frame_sink_id(), SurfaceId middle_surface_id(middle_support->frame_sink_id(),
middle_local_surface_id); middle_local_surface_id);
{ {
Quad middle_quads[] = {Quad::SurfaceQuad(child_surface_id, Quad middle_quads[] = {
InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass middle_passes[] = { Pass middle_passes[] = {
Pass(middle_quads, base::size(middle_quads), SurfaceSize()), Pass(middle_quads, base::size(middle_quads), SurfaceSize()),
}; };
...@@ -2056,8 +2043,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateMultiplePassWithTransform) { ...@@ -2056,8 +2043,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateMultiplePassWithTransform) {
// Root surface. // Root surface.
Quad secondary_quads[] = { Quad secondary_quads[] = {
Quad::SolidColorQuad(1, gfx::Rect(5, 5)), Quad::SolidColorQuad(1, gfx::Rect(5, 5)),
Quad::SurfaceQuad(middle_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, middle_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Quad root_quads[] = {Quad::SolidColorQuad(1, gfx::Rect(5, 5))}; Quad root_quads[] = {Quad::SolidColorQuad(1, gfx::Rect(5, 5))};
Pass root_passes[] = { Pass root_passes[] = {
Pass(secondary_quads, base::size(secondary_quads), SurfaceSize()), Pass(secondary_quads, base::size(secondary_quads), SurfaceSize()),
...@@ -2183,8 +2170,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRect) { ...@@ -2183,8 +2170,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRect) {
std::move(child_frame)); std::move(child_frame));
Quad parent_surface_quads[] = { Quad parent_surface_quads[] = {
Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass parent_surface_passes[] = {Pass(parent_surface_quads, Pass parent_surface_passes[] = {Pass(parent_surface_quads,
base::size(parent_surface_quads), 1, base::size(parent_surface_quads), 1,
SurfaceSize())}; SurfaceSize())};
...@@ -2202,8 +2189,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRect) { ...@@ -2202,8 +2189,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRect) {
std::move(parent_surface_frame)); std::move(parent_surface_frame));
Quad root_surface_quads[] = { Quad root_surface_quads[] = {
Quad::SurfaceQuad(parent_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, parent_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Quad root_render_pass_quads[] = {Quad::RenderPassQuad(1)}; Quad root_render_pass_quads[] = {Quad::RenderPassQuad(1)};
Pass root_passes[] = { Pass root_passes[] = {
...@@ -2370,8 +2357,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRectWithSquashToFit) { ...@@ -2370,8 +2357,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRectWithSquashToFit) {
std::move(child_frame)); std::move(child_frame));
Quad parent_surface_quads[] = { Quad parent_surface_quads[] = {
Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass parent_surface_passes[] = {Pass(parent_surface_quads, Pass parent_surface_passes[] = {Pass(parent_surface_quads,
base::size(parent_surface_quads), 1, base::size(parent_surface_quads), 1,
SurfaceSize())}; SurfaceSize())};
...@@ -2389,8 +2376,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRectWithSquashToFit) { ...@@ -2389,8 +2376,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRectWithSquashToFit) {
std::move(parent_surface_frame)); std::move(parent_surface_frame));
Quad root_surface_quads[] = { Quad root_surface_quads[] = {
Quad::SurfaceQuad(parent_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, parent_surface_id),
gfx::Rect(50, 50), true)}; SK_ColorWHITE, gfx::Rect(50, 50), true)};
Quad root_render_pass_quads[] = {Quad::RenderPassQuad(1)}; Quad root_render_pass_quads[] = {Quad::RenderPassQuad(1)};
Pass root_passes[] = { Pass root_passes[] = {
...@@ -2476,8 +2463,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRectWithStretchToFit) { ...@@ -2476,8 +2463,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRectWithStretchToFit) {
std::move(child_frame)); std::move(child_frame));
Quad parent_surface_quads[] = { Quad parent_surface_quads[] = {
Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass parent_surface_passes[] = {Pass(parent_surface_quads, Pass parent_surface_passes[] = {Pass(parent_surface_quads,
base::size(parent_surface_quads), 1, base::size(parent_surface_quads), 1,
SurfaceSize())}; SurfaceSize())};
...@@ -2495,8 +2482,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRectWithStretchToFit) { ...@@ -2495,8 +2482,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRectWithStretchToFit) {
std::move(parent_surface_frame)); std::move(parent_surface_frame));
Quad root_surface_quads[] = { Quad root_surface_quads[] = {
Quad::SurfaceQuad(parent_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, parent_surface_id),
gfx::Rect(200, 200), true)}; SK_ColorWHITE, gfx::Rect(200, 200), true)};
Quad root_render_pass_quads[] = {Quad::RenderPassQuad(1)}; Quad root_render_pass_quads[] = {Quad::RenderPassQuad(1)};
Pass root_passes[] = { Pass root_passes[] = {
...@@ -2647,9 +2634,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, SurfaceDamageSameFrameSinkId) { ...@@ -2647,9 +2634,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, SurfaceDamageSameFrameSinkId) {
constexpr float device_scale_factor = 1.0f; constexpr float device_scale_factor = 1.0f;
SubmitCompositorFrame(embedded_support.get(), embedded_passes, SubmitCompositorFrame(embedded_support.get(), embedded_passes,
base::size(embedded_passes), id2, device_scale_factor); base::size(embedded_passes), id2, device_scale_factor);
Quad quads[] = {Quad::SurfaceQuad(primary_surface_id, fallback_surface_id, Quad quads[] = {Quad::SurfaceQuad(
SK_ColorWHITE, gfx::Rect(5, 5), 1.f, SurfaceRange(fallback_surface_id, primary_surface_id), SK_ColorWHITE,
gfx::Transform(), false)}; gfx::Rect(5, 5), 1.f, gfx::Transform(), false)};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
SubmitCompositorFrame(support_.get(), passes, base::size(passes), SubmitCompositorFrame(support_.get(), passes, base::size(passes),
...@@ -2705,9 +2692,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, SurfaceDamageDifferentFrameSinkId) { ...@@ -2705,9 +2692,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, SurfaceDamageDifferentFrameSinkId) {
constexpr float device_scale_factor = 1.0f; constexpr float device_scale_factor = 1.0f;
SubmitCompositorFrame(embedded_support.get(), embedded_passes, SubmitCompositorFrame(embedded_support.get(), embedded_passes,
base::size(embedded_passes), id2, device_scale_factor); base::size(embedded_passes), id2, device_scale_factor);
Quad quads[] = {Quad::SurfaceQuad(primary_surface_id, fallback_surface_id, Quad quads[] = {Quad::SurfaceQuad(
SK_ColorWHITE, gfx::Rect(5, 5), 1.f, SurfaceRange(fallback_surface_id, primary_surface_id), SK_ColorWHITE,
gfx::Transform(), false)}; gfx::Rect(5, 5), 1.f, gfx::Transform(), false)};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
SubmitCompositorFrame(support_.get(), passes, base::size(passes), SubmitCompositorFrame(support_.get(), passes, base::size(passes),
...@@ -2752,9 +2739,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, SurfaceDamagePrimarySurfaceOnly) { ...@@ -2752,9 +2739,9 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, SurfaceDamagePrimarySurfaceOnly) {
LocalSurfaceId id2 = allocator_.GenerateId(); LocalSurfaceId id2 = allocator_.GenerateId();
LocalSurfaceId id3 = allocator_.GenerateId(); LocalSurfaceId id3 = allocator_.GenerateId();
SurfaceId primary_surface_id(kArbitraryFrameSinkId1, id2); SurfaceId primary_surface_id(kArbitraryFrameSinkId1, id2);
Quad quads[] = {Quad::SurfaceQuad(primary_surface_id, InvalidSurfaceId(), Quad quads[] = {Quad::SurfaceQuad(
SK_ColorWHITE, gfx::Rect(5, 5), 1.f, SurfaceRange(base::nullopt, primary_surface_id), SK_ColorWHITE,
gfx::Transform(), false)}; gfx::Rect(5, 5), 1.f, gfx::Transform(), false)};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
constexpr float device_scale_factor = 1.0f; constexpr float device_scale_factor = 1.0f;
...@@ -2802,7 +2789,7 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, ...@@ -2802,7 +2789,7 @@ TEST_F(SurfaceAggregatorValidSurfaceTest,
SubmitCompositorFrame(embedded_support.get(), embedded_passes, SubmitCompositorFrame(embedded_support.get(), embedded_passes,
base::size(embedded_passes), id2, device_scale_factor); base::size(embedded_passes), id2, device_scale_factor);
Quad quads[] = {Quad::SurfaceQuad(surface_id, surface_id, SK_ColorWHITE, Quad quads[] = {Quad::SurfaceQuad(SurfaceRange(surface_id), SK_ColorWHITE,
gfx::Rect(5, 5), 1.f, gfx::Transform(), gfx::Rect(5, 5), 1.f, gfx::Transform(),
false)}; false)};
Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())}; Pass passes[] = {Pass(quads, base::size(quads), SurfaceSize())};
...@@ -2885,9 +2872,9 @@ TEST_F(SurfaceAggregatorPartialSwapTest, IgnoreOutside) { ...@@ -2885,9 +2872,9 @@ TEST_F(SurfaceAggregatorPartialSwapTest, IgnoreOutside) {
} }
{ {
Quad root_quads[] = {Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), Quad root_quads[] = {
SK_ColorWHITE, gfx::Rect(5, 5), Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass root_passes[] = { Pass root_passes[] = {
Pass(root_quads, base::size(root_quads), SurfaceSize())}; Pass(root_quads, base::size(root_quads), SurfaceSize())};
...@@ -2920,9 +2907,9 @@ TEST_F(SurfaceAggregatorPartialSwapTest, IgnoreOutside) { ...@@ -2920,9 +2907,9 @@ TEST_F(SurfaceAggregatorPartialSwapTest, IgnoreOutside) {
// Create a root surface with a smaller damage rect. // Create a root surface with a smaller damage rect.
{ {
Quad root_quads[] = {Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), Quad root_quads[] = {
SK_ColorWHITE, gfx::Rect(5, 5), Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass root_passes[] = { Pass root_passes[] = {
Pass(root_quads, base::size(root_quads), SurfaceSize())}; Pass(root_quads, base::size(root_quads), SurfaceSize())};
...@@ -3025,9 +3012,9 @@ TEST_F(SurfaceAggregatorPartialSwapTest, IgnoreOutside) { ...@@ -3025,9 +3012,9 @@ TEST_F(SurfaceAggregatorPartialSwapTest, IgnoreOutside) {
// of it and its descendant passes should be aggregated. // of it and its descendant passes should be aggregated.
{ {
int root_pass_ids[] = {1, 2, 3}; int root_pass_ids[] = {1, 2, 3};
Quad root_quads1[] = {Quad::SurfaceQuad(child_surface_id, Quad root_quads1[] = {
InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Quad root_quads2[] = {Quad::RenderPassQuad(root_pass_ids[0])}; Quad root_quads2[] = {Quad::RenderPassQuad(root_pass_ids[0])};
Quad root_quads3[] = {Quad::RenderPassQuad(root_pass_ids[1])}; Quad root_quads3[] = {Quad::RenderPassQuad(root_pass_ids[1])};
Pass root_passes[] = {Pass(root_quads1, base::size(root_quads1), Pass root_passes[] = {Pass(root_quads1, base::size(root_quads1),
...@@ -3079,8 +3066,8 @@ TEST_F(SurfaceAggregatorPartialSwapTest, IgnoreOutside) { ...@@ -3079,8 +3066,8 @@ TEST_F(SurfaceAggregatorPartialSwapTest, IgnoreOutside) {
}; };
Quad root_quads2[] = { Quad root_quads2[] = {
Quad::RenderPassQuad(root_pass_ids[0]), Quad::RenderPassQuad(root_pass_ids[0]),
Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass root_passes[] = {Pass(root_quads1, base::size(root_quads1), Pass root_passes[] = {Pass(root_quads1, base::size(root_quads1),
root_pass_ids[0], SurfaceSize()), root_pass_ids[0], SurfaceSize()),
Pass(root_quads2, base::size(root_quads2), Pass(root_quads2, base::size(root_quads2),
...@@ -3131,8 +3118,8 @@ TEST_F(SurfaceAggregatorPartialSwapTest, IgnoreOutside) { ...@@ -3131,8 +3118,8 @@ TEST_F(SurfaceAggregatorPartialSwapTest, IgnoreOutside) {
}; };
Quad root_quads2[] = { Quad root_quads2[] = {
Quad::RenderPassQuad(root_pass_ids[0]), Quad::RenderPassQuad(root_pass_ids[0]),
Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass root_passes[] = {Pass(root_quads1, base::size(root_quads1), Pass root_passes[] = {Pass(root_quads1, base::size(root_quads1),
root_pass_ids[0], SurfaceSize()), root_pass_ids[0], SurfaceSize()),
Pass(root_quads2, base::size(root_quads2), Pass(root_quads2, base::size(root_quads2),
...@@ -3571,8 +3558,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, HasDamageByChangingChildSurface) { ...@@ -3571,8 +3558,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, HasDamageByChangingChildSurface) {
std::move(child_surface_frame)); std::move(child_surface_frame));
Quad root_surface_quads[] = { Quad root_surface_quads[] = {
Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass root_passes[] = {Pass(root_surface_quads, base::size(root_surface_quads), Pass root_passes[] = {Pass(root_surface_quads, base::size(root_surface_quads),
1, SurfaceSize())}; 1, SurfaceSize())};
...@@ -3651,8 +3638,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, ...@@ -3651,8 +3638,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest,
std::move(child_surface_frame)); std::move(child_surface_frame));
Quad root_surface_quads[] = { Quad root_surface_quads[] = {
Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass root_passes[] = {Pass(root_surface_quads, base::size(root_surface_quads), Pass root_passes[] = {Pass(root_surface_quads, base::size(root_surface_quads),
1, SurfaceSize())}; 1, SurfaceSize())};
...@@ -3693,7 +3680,7 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, ...@@ -3693,7 +3680,7 @@ TEST_F(SurfaceAggregatorValidSurfaceTest,
Quad new_child_surface_quads[] = { Quad new_child_surface_quads[] = {
child_surface_quads[0], child_surface_quads[0],
Quad::SurfaceQuad(grand_child_surface_id, InvalidSurfaceId(), Quad::SurfaceQuad(SurfaceRange(base::nullopt, grand_child_surface_id),
SK_ColorWHITE, gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass new_child_surface_passes[] = {Pass(new_child_surface_quads, Pass new_child_surface_passes[] = {Pass(new_child_surface_quads,
base::size(new_child_surface_quads), base::size(new_child_surface_quads),
...@@ -3769,8 +3756,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, HasDamageFromRenderPassQuads) { ...@@ -3769,8 +3756,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, HasDamageFromRenderPassQuads) {
std::move(child_frame)); std::move(child_frame));
Quad root_surface_quads[] = { Quad root_surface_quads[] = {
Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Quad root_render_pass_quads[] = {Quad::RenderPassQuad(1)}; Quad root_render_pass_quads[] = {Quad::RenderPassQuad(1)};
Pass root_passes[] = { Pass root_passes[] = {
...@@ -3938,8 +3925,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest, ...@@ -3938,8 +3925,8 @@ TEST_F(SurfaceAggregatorValidSurfaceTest,
std::move(child_frame)); std::move(child_frame));
Quad root_surface_quads[] = { Quad root_surface_quads[] = {
Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}; SK_ColorWHITE, gfx::Rect(5, 5), false)};
Pass root_passes[] = {Pass(root_surface_quads, base::size(root_surface_quads), Pass root_passes[] = {Pass(root_surface_quads, base::size(root_surface_quads),
1, SurfaceSize())}; 1, SurfaceSize())};
...@@ -4063,8 +4050,8 @@ TEST_F(SurfaceAggregatorPartialSwapTest, NotIgnoreOutsideForCachedRenderPass) { ...@@ -4063,8 +4050,8 @@ TEST_F(SurfaceAggregatorPartialSwapTest, NotIgnoreOutsideForCachedRenderPass) {
{ {
int pass_id[] = {1, 2}; int pass_id[] = {1, 2};
Quad root_quads[][1] = { Quad root_quads[][1] = {
{Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, {Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}, SK_ColorWHITE, gfx::Rect(5, 5), false)},
{Quad::RenderPassQuad(pass_id[0])}, {Quad::RenderPassQuad(pass_id[0])},
}; };
Pass root_passes[] = {Pass(root_quads[0], base::size(root_quads[0]), Pass root_passes[] = {Pass(root_quads[0], base::size(root_quads[0]),
...@@ -4103,8 +4090,8 @@ TEST_F(SurfaceAggregatorPartialSwapTest, NotIgnoreOutsideForCachedRenderPass) { ...@@ -4103,8 +4090,8 @@ TEST_F(SurfaceAggregatorPartialSwapTest, NotIgnoreOutsideForCachedRenderPass) {
{ {
int pass_id[] = {1, 2}; int pass_id[] = {1, 2};
Quad root_quads[][1] = { Quad root_quads[][1] = {
{Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), SK_ColorWHITE, {Quad::SurfaceQuad(SurfaceRange(base::nullopt, child_surface_id),
gfx::Rect(5, 5), false)}, SK_ColorWHITE, gfx::Rect(5, 5), false)},
{Quad::RenderPassQuad(pass_id[0])}, {Quad::RenderPassQuad(pass_id[0])},
}; };
Pass root_passes[] = {Pass(root_quads[0], base::size(root_quads[0]), Pass root_passes[] = {Pass(root_quads[0], base::size(root_quads[0]),
......
...@@ -167,11 +167,9 @@ class SurfaceSynchronizationTest : public testing::Test { ...@@ -167,11 +167,9 @@ class SurfaceSynchronizationTest : public testing::Test {
surface_id); surface_id);
} }
Surface* GetLatestInFlightSurface( Surface* GetLatestInFlightSurface(const SurfaceRange& surface_range) {
const SurfaceId& primary_surface_id,
const base::Optional<SurfaceId>& fallback_surface_id) {
return frame_sink_manager().surface_manager()->GetLatestInFlightSurface( return frame_sink_manager().surface_manager()->GetLatestInFlightSurface(
SurfaceRange(fallback_surface_id, primary_surface_id)); surface_range);
} }
FakeExternalBeginFrameSource* begin_frame_source() { FakeExternalBeginFrameSource* begin_frame_source() {
...@@ -2120,7 +2118,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurface) { ...@@ -2120,7 +2118,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurface) {
EXPECT_TRUE(HasTemporaryReference(child_id1)); EXPECT_TRUE(HasTemporaryReference(child_id1));
EXPECT_THAT(GetChildReferences(parent_id), IsEmpty()); EXPECT_THAT(GetChildReferences(parent_id), IsEmpty());
EXPECT_EQ(GetSurfaceForId(child_id1), EXPECT_EQ(GetSurfaceForId(child_id1),
GetLatestInFlightSurface(child_id2, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id2)));
parent_support().SubmitCompositorFrame( parent_support().SubmitCompositorFrame(
parent_id.local_surface_id(), parent_id.local_surface_id(),
...@@ -2137,7 +2135,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurface) { ...@@ -2137,7 +2135,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurface) {
EXPECT_FALSE(HasTemporaryReference(child_id1)); EXPECT_FALSE(HasTemporaryReference(child_id1));
EXPECT_THAT(GetChildReferences(parent_id), UnorderedElementsAre(child_id1)); EXPECT_THAT(GetChildReferences(parent_id), UnorderedElementsAre(child_id1));
EXPECT_EQ(GetSurfaceForId(child_id1), EXPECT_EQ(GetSurfaceForId(child_id1),
GetLatestInFlightSurface(child_id2, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id2)));
// Don't assign owner for temporary reference to |child_id2|. // Don't assign owner for temporary reference to |child_id2|.
DisableAssignTemporaryReferences(); DisableAssignTemporaryReferences();
...@@ -2153,12 +2151,12 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurface) { ...@@ -2153,12 +2151,12 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurface) {
EXPECT_THAT(GetChildReferences(parent_id), UnorderedElementsAre(child_id1)); EXPECT_THAT(GetChildReferences(parent_id), UnorderedElementsAre(child_id1));
EXPECT_EQ(GetSurfaceForId(child_id2), EXPECT_EQ(GetSurfaceForId(child_id2),
GetLatestInFlightSurface(child_id3, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id3)));
// If the primary surface is old, then we shouldn't return an in-flight // If the primary surface is old, then we shouldn't return an in-flight
// surface that is newer than the primary. // surface that is newer than the primary.
EXPECT_EQ(GetSurfaceForId(child_id1), EXPECT_EQ(GetSurfaceForId(child_id1),
GetLatestInFlightSurface(child_id1, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1)));
// Submit a child CompositorFrame to a new SurfaceId and verify that // Submit a child CompositorFrame to a new SurfaceId and verify that
// GetLatestInFlightSurface returns the right surface. // GetLatestInFlightSurface returns the right surface.
...@@ -2169,12 +2167,12 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurface) { ...@@ -2169,12 +2167,12 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurface) {
EXPECT_TRUE(HasTemporaryReference(child_id3)); EXPECT_TRUE(HasTemporaryReference(child_id3));
EXPECT_EQ(GetSurfaceForId(child_id3), EXPECT_EQ(GetSurfaceForId(child_id3),
GetLatestInFlightSurface(child_id4, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id4)));
EXPECT_THAT(GetChildReferences(parent_id), UnorderedElementsAre(child_id1)); EXPECT_THAT(GetChildReferences(parent_id), UnorderedElementsAre(child_id1));
// If the primary surface is active, we return it. // If the primary surface is active, we return it.
EXPECT_EQ(GetSurfaceForId(child_id3), EXPECT_EQ(GetSurfaceForId(child_id3),
GetLatestInFlightSurface(child_id3, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id3)));
} }
// This test verifies that GetLatestInFlightSurface will return nullptr // This test verifies that GetLatestInFlightSurface will return nullptr
...@@ -2205,11 +2203,12 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceWithBogusFallback) { ...@@ -2205,11 +2203,12 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceWithBogusFallback) {
// If primary exists and active return it regardless of the fallback. // If primary exists and active return it regardless of the fallback.
EXPECT_EQ(GetSurfaceForId(child_id1), EXPECT_EQ(GetSurfaceForId(child_id1),
GetLatestInFlightSurface(child_id1, bogus_child_id)); GetLatestInFlightSurface(SurfaceRange(bogus_child_id, child_id1)));
// If primary is not active and fallback is doesn't exist, we always return // If primary is not active and fallback is doesn't exist, we always return
// nullptr. // nullptr.
EXPECT_EQ(nullptr, GetLatestInFlightSurface(child_id2, bogus_child_id)); EXPECT_EQ(nullptr,
GetLatestInFlightSurface(SurfaceRange(bogus_child_id, child_id2)));
} }
// This test verifies that GetLatestInFlightSurface will return the primary or // This test verifies that GetLatestInFlightSurface will return the primary or
...@@ -2241,11 +2240,11 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceWithoutFallback) { ...@@ -2241,11 +2240,11 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceWithoutFallback) {
// Verify that |child_id1| is the latest active surface. // Verify that |child_id1| is the latest active surface.
EXPECT_EQ(GetSurfaceForId(child_id1), EXPECT_EQ(GetSurfaceForId(child_id1),
GetLatestInFlightSurface(child_id2, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id2)));
// Fallback is not specified and |child_id1| is the latest. // Fallback is not specified and |child_id1| is the latest.
EXPECT_EQ(GetSurfaceForId(child_id1), EXPECT_EQ(GetSurfaceForId(child_id1),
GetLatestInFlightSurface(child_id2, base::nullopt)); GetLatestInFlightSurface(SurfaceRange(base::nullopt, child_id2)));
// Activate |child_id2| // Activate |child_id2|
child_support1().SubmitCompositorFrame(child_id2.local_surface_id(), child_support1().SubmitCompositorFrame(child_id2.local_surface_id(),
...@@ -2257,11 +2256,11 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceWithoutFallback) { ...@@ -2257,11 +2256,11 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceWithoutFallback) {
// Verify that |child_id2| is the latest active surface. // Verify that |child_id2| is the latest active surface.
EXPECT_EQ(GetSurfaceForId(child_id2), EXPECT_EQ(GetSurfaceForId(child_id2),
GetLatestInFlightSurface(child_id2, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id2)));
// Fallback is not specified but primary exists so we return it. // Fallback is not specified but primary exists so we return it.
EXPECT_EQ(GetSurfaceForId(child_id2), EXPECT_EQ(GetSurfaceForId(child_id2),
GetLatestInFlightSurface(child_id2, base::nullopt)); GetLatestInFlightSurface(SurfaceRange(base::nullopt, child_id2)));
} }
// This test verifies that GetLatestInFlightSurface will not return null if the // This test verifies that GetLatestInFlightSurface will not return null if the
...@@ -2343,7 +2342,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceWithGarbageFallback) { ...@@ -2343,7 +2342,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceWithGarbageFallback) {
nullptr); nullptr);
EXPECT_EQ(GetSurfaceForId(child_id3), EXPECT_EQ(GetSurfaceForId(child_id3),
GetLatestInFlightSurface(child_id4, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id4)));
} }
// This test verifies that in the case of different frame sinks // This test verifies that in the case of different frame sinks
...@@ -2375,7 +2374,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceDifferentFrameSinkIds) { ...@@ -2375,7 +2374,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceDifferentFrameSinkIds) {
// Primary's frame sink id empty and |child_id2| is the latest in fallback's // Primary's frame sink id empty and |child_id2| is the latest in fallback's
// frame sink. // frame sink.
EXPECT_EQ(GetSurfaceForId(child_id2), EXPECT_EQ(GetSurfaceForId(child_id2),
GetLatestInFlightSurface(child_id4, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id4)));
// Activate |child_id3| which is in different frame sink. // Activate |child_id3| which is in different frame sink.
child_support2().SubmitCompositorFrame(child_id3.local_surface_id(), child_support2().SubmitCompositorFrame(child_id3.local_surface_id(),
...@@ -2383,7 +2382,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceDifferentFrameSinkIds) { ...@@ -2383,7 +2382,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceDifferentFrameSinkIds) {
// |child_id3| is the latest in primary's frame sink. // |child_id3| is the latest in primary's frame sink.
EXPECT_EQ(GetSurfaceForId(child_id3), EXPECT_EQ(GetSurfaceForId(child_id3),
GetLatestInFlightSurface(child_id4, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id4)));
} }
// This test verifies that GetLatestInFlightSurface will return the // This test verifies that GetLatestInFlightSurface will return the
...@@ -2410,7 +2409,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceReturnPrimary) { ...@@ -2410,7 +2409,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceReturnPrimary) {
MakeDefaultCompositorFrame()); MakeDefaultCompositorFrame());
EXPECT_EQ(GetSurfaceForId(child_id2), EXPECT_EQ(GetSurfaceForId(child_id2),
GetLatestInFlightSurface(child_id3, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id3)));
child_support1().SubmitCompositorFrame(child_id3.local_surface_id(), child_support1().SubmitCompositorFrame(child_id3.local_surface_id(),
MakeDefaultCompositorFrame()); MakeDefaultCompositorFrame());
...@@ -2418,7 +2417,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceReturnPrimary) { ...@@ -2418,7 +2417,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceReturnPrimary) {
// GetLatestInFlightSurface will return the primary surface ID if it's // GetLatestInFlightSurface will return the primary surface ID if it's
// available. // available.
EXPECT_EQ(GetSurfaceForId(child_id3), EXPECT_EQ(GetSurfaceForId(child_id3),
GetLatestInFlightSurface(child_id3, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id3)));
} }
// This test verifies that GetLatestInFlightSurface can use persistent // This test verifies that GetLatestInFlightSurface can use persistent
...@@ -2463,7 +2462,7 @@ TEST_F(SurfaceSynchronizationTest, ...@@ -2463,7 +2462,7 @@ TEST_F(SurfaceSynchronizationTest,
// Verify that GetLatestInFlightSurface returns |child_id2|. // Verify that GetLatestInFlightSurface returns |child_id2|.
EXPECT_EQ(GetSurfaceForId(child_id2), EXPECT_EQ(GetSurfaceForId(child_id2),
GetLatestInFlightSurface(child_id3, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id3)));
} }
// This test verifies that GetLatestInFlightSurface will skip a surface if // This test verifies that GetLatestInFlightSurface will skip a surface if
...@@ -2503,7 +2502,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceSkipDifferentNonce) { ...@@ -2503,7 +2502,7 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceSkipDifferentNonce) {
MakeDefaultCompositorFrame()); MakeDefaultCompositorFrame());
EXPECT_EQ(GetSurfaceForId(child_id2), EXPECT_EQ(GetSurfaceForId(child_id2),
GetLatestInFlightSurface(child_id4, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id4)));
child_support1().SubmitCompositorFrame(child_id3.local_surface_id(), child_support1().SubmitCompositorFrame(child_id3.local_surface_id(),
MakeDefaultCompositorFrame()); MakeDefaultCompositorFrame());
...@@ -2511,12 +2510,12 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceSkipDifferentNonce) { ...@@ -2511,12 +2510,12 @@ TEST_F(SurfaceSynchronizationTest, LatestInFlightSurfaceSkipDifferentNonce) {
// GetLatestInFlightSurface will return child_id3 because the nonce // GetLatestInFlightSurface will return child_id3 because the nonce
// matches that of child_id4. // matches that of child_id4.
EXPECT_EQ(GetSurfaceForId(child_id3), EXPECT_EQ(GetSurfaceForId(child_id3),
GetLatestInFlightSurface(child_id4, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id4)));
// GetLatestInFlightSurface will return child_id2 because the nonce // GetLatestInFlightSurface will return child_id2 because the nonce
// doesn't match |child_id1| or |child_id5|. // doesn't match |child_id1| or |child_id5|.
EXPECT_EQ(GetSurfaceForId(child_id2), EXPECT_EQ(GetSurfaceForId(child_id2),
GetLatestInFlightSurface(child_id5, child_id1)); GetLatestInFlightSurface(SurfaceRange(child_id1, child_id5)));
} }
// This test verifies that if a child submits a LocalSurfaceId newer that the // This test verifies that if a child submits a LocalSurfaceId newer that the
......
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