summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
Diffstat (limited to 'cc')
-rw-r--r--cc/BUILD.gn1
-rw-r--r--cc/cc.gyp1
-rw-r--r--cc/layers/delegated_renderer_layer_impl_unittest.cc4
-rw-r--r--cc/layers/render_surface_impl.cc8
-rw-r--r--cc/layers/render_surface_impl.h2
-rw-r--r--cc/output/renderer_pixeltest.cc14
-rw-r--r--cc/quads/draw_quad_unittest.cc260
-rw-r--r--cc/quads/largest_draw_quad.h20
-rw-r--r--cc/quads/render_pass_draw_quad.cc14
-rw-r--r--cc/quads/render_pass_draw_quad.h6
-rw-r--r--cc/quads/render_pass_unittest.cc2
-rw-r--r--cc/surfaces/surface_aggregator_test_helpers.cc2
-rw-r--r--cc/test/render_pass_test_common.cc4
-rw-r--r--cc/test/render_pass_test_utils.cc4
-rw-r--r--cc/trees/layer_tree_host_impl_unittest.cc9
-rw-r--r--cc/trees/layer_tree_host_unittest_delegated.cc2
16 files changed, 167 insertions, 186 deletions
diff --git a/cc/BUILD.gn b/cc/BUILD.gn
index 6a6cd02..f71a2d8 100644
--- a/cc/BUILD.gn
+++ b/cc/BUILD.gn
@@ -289,6 +289,7 @@ component("cc") {
"quads/draw_quad.h",
"quads/io_surface_draw_quad.cc",
"quads/io_surface_draw_quad.h",
+ "quads/largest_draw_quad.h",
"quads/picture_draw_quad.cc",
"quads/picture_draw_quad.h",
"quads/render_pass.cc",
diff --git a/cc/cc.gyp b/cc/cc.gyp
index c70aee1..5bd14ec 100644
--- a/cc/cc.gyp
+++ b/cc/cc.gyp
@@ -318,6 +318,7 @@
'quads/draw_quad.h',
'quads/io_surface_draw_quad.cc',
'quads/io_surface_draw_quad.h',
+ 'quads/largest_draw_quad.h',
'quads/picture_draw_quad.cc',
'quads/picture_draw_quad.h',
'quads/render_pass.cc',
diff --git a/cc/layers/delegated_renderer_layer_impl_unittest.cc b/cc/layers/delegated_renderer_layer_impl_unittest.cc
index 94050ae..69f54f9 100644
--- a/cc/layers/delegated_renderer_layer_impl_unittest.cc
+++ b/cc/layers/delegated_renderer_layer_impl_unittest.cc
@@ -582,9 +582,7 @@ class DelegatedRendererLayerImplTestTransform
gfx::Rect(5, 5, 7, 7), // quad_rect
gfx::Rect(5, 5, 7, 7), // visible_rect
RenderPass::Id(10, 7), // render_pass_id
- false, // is_replica
0, // mask_resource_id
- child_pass_rect, // contents_changed_since_last_frame
gfx::RectF(), // mask_uv_rect
FilterOperations(), // filters
gfx::Vector2dF(), // filters_scale
@@ -1019,9 +1017,7 @@ class DelegatedRendererLayerImplTestClip
gfx::Rect(5, 5, 7, 7), // quad_rect
gfx::Rect(5, 5, 7, 7), // visible_quad_rect
RenderPass::Id(10, 7), // render_pass_id
- false, // is_replica
0, // mask_resource_id
- child_pass_rect, // contents_changed_since_last_frame
gfx::RectF(), // mask_uv_rect
FilterOperations(), // filters
gfx::Vector2dF(), // filters_scale
diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc
index 4ac76f4..2cc67af 100644
--- a/cc/layers/render_surface_impl.cc
+++ b/cc/layers/render_surface_impl.cc
@@ -66,10 +66,6 @@ void RenderSurfaceImpl::SetClipRect(const gfx::Rect& clip_rect) {
clip_rect_ = clip_rect;
}
-bool RenderSurfaceImpl::ContentsChanged() const {
- return !damage_tracker_->current_damage_rect().IsEmpty();
-}
-
void RenderSurfaceImpl::SetContentRect(const gfx::Rect& content_rect) {
if (content_rect_ == content_rect)
return;
@@ -221,8 +217,6 @@ void RenderSurfaceImpl::AppendQuads(
ResourceProvider::ResourceId mask_resource_id =
mask_layer ? mask_layer->ContentsResourceId() : 0;
- gfx::Rect contents_changed_since_last_frame =
- ContentsChanged() ? content_rect_ : gfx::Rect();
DCHECK(owning_layer_->draw_properties().target_space_transform.IsScale2d());
gfx::Vector2dF owning_layer_to_target_scale =
@@ -236,9 +230,7 @@ void RenderSurfaceImpl::AppendQuads(
content_rect_,
visible_content_rect,
render_pass_id,
- for_replica,
mask_resource_id,
- contents_changed_since_last_frame,
mask_uv_rect,
owning_layer_->filters(),
owning_layer_to_target_scale,
diff --git a/cc/layers/render_surface_impl.h b/cc/layers/render_surface_impl.h
index 6f7df69..27da840 100644
--- a/cc/layers/render_surface_impl.h
+++ b/cc/layers/render_surface_impl.h
@@ -116,8 +116,6 @@ class CC_EXPORT RenderSurfaceImpl {
contributes_to_drawn_surface_ = contributes_to_drawn_surface;
}
- bool ContentsChanged() const;
-
void SetContentRect(const gfx::Rect& content_rect);
gfx::Rect content_rect() const { return content_rect_; }
diff --git a/cc/output/renderer_pixeltest.cc b/cc/output/renderer_pixeltest.cc
index f172da7..cd1acde 100644
--- a/cc/output/renderer_pixeltest.cc
+++ b/cc/output/renderer_pixeltest.cc
@@ -104,9 +104,7 @@ void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state,
rect,
rect,
pass_id,
- false, // is_replica
0, // mask_resource_id
- rect, // contents_changed_since_last_frame
gfx::RectF(1.f, 1.f), // mask_uv_rect
FilterOperations(), // foreground filters
gfx::Vector2dF(), // filters scale
@@ -807,9 +805,7 @@ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlpha) {
pass_rect,
pass_rect,
child_pass_id,
- false,
0,
- pass_rect,
gfx::RectF(),
filters,
gfx::Vector2dF(),
@@ -880,9 +876,7 @@ TYPED_TEST(RendererPixelTest, FastPassSaturateFilter) {
pass_rect,
pass_rect,
child_pass_id,
- false,
0,
- pass_rect,
gfx::RectF(),
filters,
gfx::Vector2dF(),
@@ -952,9 +946,7 @@ TYPED_TEST(RendererPixelTest, FastPassFilterChain) {
pass_rect,
pass_rect,
child_pass_id,
- false,
0,
- pass_rect,
gfx::RectF(),
filters,
gfx::Vector2dF(),
@@ -1046,9 +1038,7 @@ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlphaTranslation) {
pass_rect,
pass_rect,
child_pass_id,
- false,
0,
- pass_rect,
gfx::RectF(),
filters,
gfx::Vector2dF(),
@@ -1255,9 +1245,7 @@ TYPED_TEST(RendererPixelTest, RenderPassAndMaskWithPartialQuad) {
sub_rect,
sub_rect,
child_pass_id,
- false, // is_replica
mask_resource_id,
- sub_rect, // contents_changed_since_last_frame
gfx::RectF(1.f, 1.f), // mask_uv_rect
FilterOperations(), // foreground filters
gfx::Vector2dF(), // filters scale
@@ -1330,9 +1318,7 @@ class RendererPixelTestWithBackgroundFilter
filter_pass_content_rect_,
filter_pass_content_rect_,
filter_pass_id,
- false, // is_replica
0, // mask_resource_id
- filter_pass_content_rect_, // contents_changed_since_last_frame
gfx::RectF(), // mask_uv_rect
FilterOperations(), // filters
gfx::Vector2dF(), // filters_scale
diff --git a/cc/quads/draw_quad_unittest.cc b/cc/quads/draw_quad_unittest.cc
index fdcf254..40dfe81 100644
--- a/cc/quads/draw_quad_unittest.cc
+++ b/cc/quads/draw_quad_unittest.cc
@@ -13,6 +13,7 @@
#include "cc/quads/checkerboard_draw_quad.h"
#include "cc/quads/debug_border_draw_quad.h"
#include "cc/quads/io_surface_draw_quad.h"
+#include "cc/quads/largest_draw_quad.h"
#include "cc/quads/picture_draw_quad.h"
#include "cc/quads/render_pass.h"
#include "cc/quads/render_pass_draw_quad.h"
@@ -226,27 +227,6 @@ void CompareDrawQuad(DrawQuad* quad,
} \
SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
-#define CREATE_QUAD_5_NEW_RP(Type, a, b, c, d, e, copy_a) \
- Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
- { QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e); } \
- SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
-
-#define CREATE_QUAD_5_ALL_RP(Type, a, b, c, d, e, copy_a) \
- Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
- { \
- QUAD_DATA quad_all->SetAll(shared_state, \
- quad_rect, \
- quad_opaque_rect, \
- quad_visible_rect, \
- needs_blending, \
- a, \
- b, \
- c, \
- d, \
- e); \
- } \
- SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
-
#define CREATE_QUAD_6_NEW(Type, a, b, c, d, e, f) \
Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
{ QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f); } \
@@ -294,31 +274,6 @@ void CompareDrawQuad(DrawQuad* quad,
} \
SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
-#define CREATE_QUAD_7_NEW_RP(Type, a, b, c, d, e, f, g, copy_a) \
- Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
- { \
- QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g); \
- } \
- SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
-
-#define CREATE_QUAD_7_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \
- Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
- { \
- QUAD_DATA quad_all->SetAll(shared_state, \
- quad_rect, \
- quad_opaque_rect, \
- quad_visible_rect, \
- needs_blending, \
- a, \
- b, \
- c, \
- d, \
- e, \
- f, \
- g); \
- } \
- SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
-
#define CREATE_QUAD_8_NEW(Type, a, b, c, d, e, f, g, h) \
Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
{ \
@@ -346,25 +301,6 @@ void CompareDrawQuad(DrawQuad* quad,
} \
SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
-#define CREATE_QUAD_8_ALL_RP(Type, a, b, c, d, e, f, g, h, copy_a) \
- Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
- { \
- QUAD_DATA quad_all->SetAll(shared_state, \
- quad_rect, \
- quad_opaque_rect, \
- quad_visible_rect, \
- needs_blending, \
- a, \
- b, \
- c, \
- d, \
- e, \
- f, \
- g, \
- h); \
- } \
- SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
-
#define CREATE_QUAD_9_NEW(Type, a, b, c, d, e, f, g, h, i) \
Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
{ \
@@ -373,14 +309,6 @@ void CompareDrawQuad(DrawQuad* quad,
} \
SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
-#define CREATE_QUAD_9_NEW_RP(Type, a, b, c, d, e, f, g, h, i, copy_a) \
- Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
- { \
- QUAD_DATA quad_new->SetNew( \
- shared_state, quad_rect, a, b, c, d, e, f, g, h, i); \
- } \
- SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
-
#define CREATE_QUAD_9_ALL(Type, a, b, c, d, e, f, g, h, i) \
{ \
QUAD_DATA quad_all->SetAll(shared_state, \
@@ -400,6 +328,30 @@ void CompareDrawQuad(DrawQuad* quad,
} \
SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
+#define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, copy_a) \
+ Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
+ { \
+ QUAD_DATA quad_all->SetAll(shared_state, \
+ quad_rect, \
+ quad_opaque_rect, \
+ quad_visible_rect, \
+ needs_blending, \
+ a, \
+ b, \
+ c, \
+ d, \
+ e, \
+ f); \
+ } \
+ SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
+
+#define CREATE_QUAD_NEW_RP(Type, a, b, c, d, e, f, g, copy_a) \
+ Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
+ { \
+ QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g); \
+ } \
+ SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
+
TEST(DrawQuadTest, CopyCheckerboardDrawQuad) {
gfx::Rect visible_rect(40, 50, 30, 20);
SkColor color = 0xfabb0011;
@@ -464,9 +416,7 @@ TEST(DrawQuadTest, CopyIOSurfaceDrawQuad) {
TEST(DrawQuadTest, CopyRenderPassDrawQuad) {
gfx::Rect visible_rect(40, 50, 30, 20);
RenderPass::Id render_pass_id(22, 64);
- bool is_replica = true;
ResourceProvider::ResourceId mask_resource_id = 78;
- gfx::Rect contents_changed_since_last_frame(42, 11, 74, 24);
gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f);
FilterOperations filters;
filters.Append(FilterOperation::CreateBlurFilter(1.f));
@@ -478,46 +428,38 @@ TEST(DrawQuadTest, CopyRenderPassDrawQuad) {
RenderPass::Id copied_render_pass_id(235, 11);
CREATE_SHARED_STATE();
- CREATE_QUAD_9_NEW_RP(RenderPassDrawQuad,
- visible_rect,
- render_pass_id,
- is_replica,
- mask_resource_id,
- contents_changed_since_last_frame,
- mask_u_v_rect,
- filters,
- filters_scale,
- background_filters,
- copied_render_pass_id);
+ CREATE_QUAD_NEW_RP(RenderPassDrawQuad,
+ visible_rect,
+ render_pass_id,
+ mask_resource_id,
+ mask_u_v_rect,
+ filters,
+ filters_scale,
+ background_filters,
+ copied_render_pass_id);
EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material);
EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect);
EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id);
- EXPECT_EQ(is_replica, copy_quad->is_replica);
EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id);
- EXPECT_RECT_EQ(contents_changed_since_last_frame,
- copy_quad->contents_changed_since_last_frame);
EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString());
EXPECT_EQ(filters, copy_quad->filters);
+ EXPECT_EQ(filters_scale, copy_quad->filters_scale);
EXPECT_EQ(background_filters, copy_quad->background_filters);
- CREATE_QUAD_8_ALL_RP(RenderPassDrawQuad,
- render_pass_id,
- is_replica,
- mask_resource_id,
- contents_changed_since_last_frame,
- mask_u_v_rect,
- filters,
- filters_scale,
- background_filters,
- copied_render_pass_id);
+ CREATE_QUAD_ALL_RP(RenderPassDrawQuad,
+ render_pass_id,
+ mask_resource_id,
+ mask_u_v_rect,
+ filters,
+ filters_scale,
+ background_filters,
+ copied_render_pass_id);
EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material);
EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id);
- EXPECT_EQ(is_replica, copy_quad->is_replica);
EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id);
- EXPECT_RECT_EQ(contents_changed_since_last_frame,
- copy_quad->contents_changed_since_last_frame);
EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString());
EXPECT_EQ(filters, copy_quad->filters);
+ EXPECT_EQ(filters_scale, copy_quad->filters_scale);
EXPECT_EQ(background_filters, copy_quad->background_filters);
}
@@ -813,12 +755,11 @@ TEST_F(DrawQuadIteratorTest, IOSurfaceDrawQuad) {
TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) {
gfx::Rect visible_rect(40, 50, 30, 20);
RenderPass::Id render_pass_id(22, 64);
- bool is_replica = true;
ResourceProvider::ResourceId mask_resource_id = 78;
- gfx::Rect contents_changed_since_last_frame(42, 11, 74, 24);
gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f);
FilterOperations filters;
filters.Append(FilterOperation::CreateBlurFilter(1.f));
+ gfx::Vector2dF filters_scale(2.f, 3.f);
FilterOperations background_filters;
background_filters.Append(
FilterOperation::CreateGrayscaleFilter(1.f));
@@ -826,17 +767,15 @@ TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) {
RenderPass::Id copied_render_pass_id(235, 11);
CREATE_SHARED_STATE();
- CREATE_QUAD_9_NEW_RP(RenderPassDrawQuad,
- visible_rect,
- render_pass_id,
- is_replica,
- mask_resource_id,
- contents_changed_since_last_frame,
- mask_u_v_rect,
- filters,
- gfx::Vector2dF(),
- background_filters,
- copied_render_pass_id);
+ CREATE_QUAD_NEW_RP(RenderPassDrawQuad,
+ visible_rect,
+ render_pass_id,
+ mask_resource_id,
+ mask_u_v_rect,
+ filters,
+ filters_scale,
+ background_filters,
+ copied_render_pass_id);
EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id);
EXPECT_EQ(1, IterateAndCount(quad_new));
EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id);
@@ -983,5 +922,96 @@ TEST_F(DrawQuadIteratorTest, DISABLED_PictureDrawQuad) {
EXPECT_EQ(0, IterateAndCount(quad_new));
}
+TEST(DrawQuadTest, LargestQuadType) {
+ size_t largest = 0;
+
+ for (int i = 0; i <= DrawQuad::MATERIAL_LAST; ++i) {
+ switch (static_cast<DrawQuad::Material>(i)) {
+ case DrawQuad::CHECKERBOARD:
+ largest = std::max(largest, sizeof(CheckerboardDrawQuad));
+ break;
+ case DrawQuad::DEBUG_BORDER:
+ largest = std::max(largest, sizeof(DebugBorderDrawQuad));
+ break;
+ case DrawQuad::IO_SURFACE_CONTENT:
+ largest = std::max(largest, sizeof(IOSurfaceDrawQuad));
+ break;
+ case DrawQuad::PICTURE_CONTENT:
+ largest = std::max(largest, sizeof(PictureDrawQuad));
+ break;
+ case DrawQuad::TEXTURE_CONTENT:
+ largest = std::max(largest, sizeof(TextureDrawQuad));
+ break;
+ case DrawQuad::RENDER_PASS:
+ largest = std::max(largest, sizeof(RenderPassDrawQuad));
+ break;
+ case DrawQuad::SOLID_COLOR:
+ largest = std::max(largest, sizeof(SolidColorDrawQuad));
+ break;
+ case DrawQuad::SURFACE_CONTENT:
+ largest = std::max(largest, sizeof(SurfaceDrawQuad));
+ break;
+ case DrawQuad::TILED_CONTENT:
+ largest = std::max(largest, sizeof(TileDrawQuad));
+ break;
+ case DrawQuad::STREAM_VIDEO_CONTENT:
+ largest = std::max(largest, sizeof(StreamVideoDrawQuad));
+ break;
+ case DrawQuad::YUV_VIDEO_CONTENT:
+ largest = std::max(largest, sizeof(YUVVideoDrawQuad));
+ break;
+ case DrawQuad::INVALID:
+ break;
+ }
+ }
+ EXPECT_EQ(sizeof(kLargestDrawQuad), largest);
+
+ if (!HasFailure())
+ return;
+
+ // On failure, output the size of all quads for debugging.
+ LOG(ERROR) << "largest " << largest;
+ LOG(ERROR) << "kLargestDrawQuad " << sizeof(kLargestDrawQuad);
+ for (int i = 0; i <= DrawQuad::MATERIAL_LAST; ++i) {
+ switch (static_cast<DrawQuad::Material>(i)) {
+ case DrawQuad::CHECKERBOARD:
+ LOG(ERROR) << "CheckerboardDrawQuad " << sizeof(CheckerboardDrawQuad);
+ break;
+ case DrawQuad::DEBUG_BORDER:
+ LOG(ERROR) << "DebugBorderDrawQuad " << sizeof(DebugBorderDrawQuad);
+ break;
+ case DrawQuad::IO_SURFACE_CONTENT:
+ LOG(ERROR) << "IOSurfaceDrawQuad " << sizeof(IOSurfaceDrawQuad);
+ break;
+ case DrawQuad::PICTURE_CONTENT:
+ LOG(ERROR) << "PictureDrawQuad " << sizeof(PictureDrawQuad);
+ break;
+ case DrawQuad::TEXTURE_CONTENT:
+ LOG(ERROR) << "TextureDrawQuad " << sizeof(TextureDrawQuad);
+ break;
+ case DrawQuad::RENDER_PASS:
+ LOG(ERROR) << "RenderPassDrawQuad " << sizeof(RenderPassDrawQuad);
+ break;
+ case DrawQuad::SOLID_COLOR:
+ LOG(ERROR) << "SolidColorDrawQuad " << sizeof(SolidColorDrawQuad);
+ break;
+ case DrawQuad::SURFACE_CONTENT:
+ LOG(ERROR) << "SurfaceDrawQuad " << sizeof(SurfaceDrawQuad);
+ break;
+ case DrawQuad::TILED_CONTENT:
+ LOG(ERROR) << "TileDrawQuad " << sizeof(TileDrawQuad);
+ break;
+ case DrawQuad::STREAM_VIDEO_CONTENT:
+ LOG(ERROR) << "StreamVideoDrawQuad " << sizeof(StreamVideoDrawQuad);
+ break;
+ case DrawQuad::YUV_VIDEO_CONTENT:
+ LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad);
+ break;
+ case DrawQuad::INVALID:
+ break;
+ }
+ }
+}
+
} // namespace
} // namespace cc
diff --git a/cc/quads/largest_draw_quad.h b/cc/quads/largest_draw_quad.h
new file mode 100644
index 0000000..d14906a
--- /dev/null
+++ b/cc/quads/largest_draw_quad.h
@@ -0,0 +1,20 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CC_QUADS_LARGEST_DRAW_QUAD_H_
+#define CC_QUADS_LARGEST_DRAW_QUAD_H_
+
+namespace cc {
+class StreamVideoDrawQuad;
+class RenderPassDrawQuad;
+
+#if defined(ARCH_CPU_64_BITS)
+typedef RenderPassDrawQuad kLargestDrawQuad;
+#else
+typedef StreamVideoDrawQuad kLargestDrawQuad;
+#endif
+
+} // namespace cc
+
+#endif // CC_QUADS_LARGEST_DRAW_QUAD_H_
diff --git a/cc/quads/render_pass_draw_quad.cc b/cc/quads/render_pass_draw_quad.cc
index bcafb03..aad279e 100644
--- a/cc/quads/render_pass_draw_quad.cc
+++ b/cc/quads/render_pass_draw_quad.cc
@@ -14,7 +14,6 @@ namespace cc {
RenderPassDrawQuad::RenderPassDrawQuad()
: render_pass_id(RenderPass::Id(-1, -1)),
- is_replica(false),
mask_resource_id(static_cast<ResourceProvider::ResourceId>(-1)) {
}
@@ -26,9 +25,7 @@ void RenderPassDrawQuad::SetNew(
const gfx::Rect& rect,
const gfx::Rect& visible_rect,
RenderPass::Id render_pass_id,
- bool is_replica,
ResourceProvider::ResourceId mask_resource_id,
- const gfx::Rect& contents_changed_since_last_frame,
const gfx::RectF& mask_uv_rect,
const FilterOperations& filters,
const gfx::Vector2dF& filters_scale,
@@ -44,9 +41,7 @@ void RenderPassDrawQuad::SetNew(
visible_rect,
needs_blending,
render_pass_id,
- is_replica,
mask_resource_id,
- contents_changed_since_last_frame,
mask_uv_rect,
filters,
filters_scale,
@@ -60,9 +55,7 @@ void RenderPassDrawQuad::SetAll(
const gfx::Rect& visible_rect,
bool needs_blending,
RenderPass::Id render_pass_id,
- bool is_replica,
ResourceProvider::ResourceId mask_resource_id,
- const gfx::Rect& contents_changed_since_last_frame,
const gfx::RectF& mask_uv_rect,
const FilterOperations& filters,
const gfx::Vector2dF& filters_scale,
@@ -73,9 +66,7 @@ void RenderPassDrawQuad::SetAll(
DrawQuad::SetAll(shared_quad_state, DrawQuad::RENDER_PASS, rect, opaque_rect,
visible_rect, needs_blending);
this->render_pass_id = render_pass_id;
- this->is_replica = is_replica;
this->mask_resource_id = mask_resource_id;
- this->contents_changed_since_last_frame = contents_changed_since_last_frame;
this->mask_uv_rect = mask_uv_rect;
this->filters = filters;
this->filters_scale = filters_scale;
@@ -96,13 +87,8 @@ const RenderPassDrawQuad* RenderPassDrawQuad::MaterialCast(
void RenderPassDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
TracedValue::SetIDRef(render_pass_id.AsTracingId(), value, "render_pass_id");
- value->SetBoolean("is_replica", is_replica);
value->SetInteger("mask_resource_id", mask_resource_id);
- value->BeginArray("contents_changed_since_last_frame");
- MathUtil::AddToTracedValue(contents_changed_since_last_frame, value);
- value->EndArray();
-
value->BeginArray("mask_uv_rect");
MathUtil::AddToTracedValue(mask_uv_rect, value);
value->EndArray();
diff --git a/cc/quads/render_pass_draw_quad.h b/cc/quads/render_pass_draw_quad.h
index aaf7cf28..9cc4ba3 100644
--- a/cc/quads/render_pass_draw_quad.h
+++ b/cc/quads/render_pass_draw_quad.h
@@ -24,9 +24,7 @@ class CC_EXPORT RenderPassDrawQuad : public DrawQuad {
const gfx::Rect& rect,
const gfx::Rect& visible_rect,
RenderPass::Id render_pass_id,
- bool is_replica,
ResourceProvider::ResourceId mask_resource_id,
- const gfx::Rect& contents_changed_since_last_frame,
const gfx::RectF& mask_uv_rect,
const FilterOperations& filters,
const gfx::Vector2dF& filters_scale,
@@ -38,18 +36,14 @@ class CC_EXPORT RenderPassDrawQuad : public DrawQuad {
const gfx::Rect& visible_rect,
bool needs_blending,
RenderPass::Id render_pass_id,
- bool is_replica,
ResourceProvider::ResourceId mask_resource_id,
- const gfx::Rect& contents_changed_since_last_frame,
const gfx::RectF& mask_uv_rect,
const FilterOperations& filters,
const gfx::Vector2dF& filters_scale,
const FilterOperations& background_filters);
RenderPass::Id render_pass_id;
- bool is_replica;
ResourceProvider::ResourceId mask_resource_id;
- gfx::Rect contents_changed_since_last_frame;
gfx::RectF mask_uv_rect;
// Post-processing filters, applied to the pixels in the render pass' texture.
diff --git a/cc/quads/render_pass_unittest.cc b/cc/quads/render_pass_unittest.cc
index 053271a..4e555b8 100644
--- a/cc/quads/render_pass_unittest.cc
+++ b/cc/quads/render_pass_unittest.cc
@@ -218,9 +218,7 @@ TEST(RenderPassTest, CopyAllShouldBeIdentical) {
contrib_output_rect,
contrib_output_rect,
contrib_id,
- false, // is_replica
0, // mask_resource_id
- contrib_damage_rect,
gfx::RectF(), // mask_uv_rect
FilterOperations(),
gfx::Vector2dF(), // filters_scale
diff --git a/cc/surfaces/surface_aggregator_test_helpers.cc b/cc/surfaces/surface_aggregator_test_helpers.cc
index 829bc75..f5b623b 100644
--- a/cc/surfaces/surface_aggregator_test_helpers.cc
+++ b/cc/surfaces/surface_aggregator_test_helpers.cc
@@ -69,9 +69,7 @@ void AddTestRenderPassQuad(TestRenderPass* pass,
output_rect,
output_rect,
render_pass_id,
- false,
0,
- output_rect,
gfx::RectF(),
FilterOperations(),
gfx::Vector2dF(),
diff --git a/cc/test/render_pass_test_common.cc b/cc/test/render_pass_test_common.cc
index ebab7c4a..8e81320 100644
--- a/cc/test/render_pass_test_common.cc
+++ b/cc/test/render_pass_test_common.cc
@@ -104,9 +104,7 @@ void TestRenderPass::AppendOneOfEveryQuadType(
rect,
visible_rect,
child_pass,
- false,
resource5,
- rect,
gfx::RectF(),
FilterOperations(),
gfx::Vector2dF(),
@@ -118,9 +116,7 @@ void TestRenderPass::AppendOneOfEveryQuadType(
rect,
visible_rect,
child_pass,
- true,
resource5,
- rect,
gfx::RectF(),
FilterOperations(),
gfx::Vector2dF(),
diff --git a/cc/test/render_pass_test_utils.cc b/cc/test/render_pass_test_utils.cc
index bbbb3d1..95eb4ba 100644
--- a/cc/test/render_pass_test_utils.cc
+++ b/cc/test/render_pass_test_utils.cc
@@ -99,9 +99,7 @@ void AddRenderPassQuad(TestRenderPass* to_pass,
output_rect,
output_rect,
contributing_pass->id,
- false,
0,
- output_rect,
gfx::RectF(),
FilterOperations(),
gfx::Vector2dF(),
@@ -129,9 +127,7 @@ void AddRenderPassQuad(TestRenderPass* to_pass,
output_rect,
output_rect,
contributing_pass->id,
- false,
mask_resource_id,
- output_rect,
gfx::RectF(),
filters,
gfx::Vector2dF(),
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc
index 92166b9..0f39680 100644
--- a/cc/trees/layer_tree_host_impl_unittest.cc
+++ b/cc/trees/layer_tree_host_impl_unittest.cc
@@ -5137,7 +5137,6 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerWithDifferentBounds) {
frame.render_passes[0]->quad_list[1]->material);
const RenderPassDrawQuad* replica_quad =
RenderPassDrawQuad::MaterialCast(frame.render_passes[0]->quad_list[1]);
- EXPECT_TRUE(replica_quad->is_replica);
EXPECT_EQ(gfx::Rect(0, 0, 50, 50).ToString(),
replica_quad->rect.ToString());
EXPECT_EQ(gfx::RectF(0.f, 0.f, 1.f, 1.f).ToString(),
@@ -5165,7 +5164,6 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerWithDifferentBounds) {
frame.render_passes[0]->quad_list[1]->material);
const RenderPassDrawQuad* replica_quad =
RenderPassDrawQuad::MaterialCast(frame.render_passes[0]->quad_list[1]);
- EXPECT_TRUE(replica_quad->is_replica);
EXPECT_EQ(gfx::Rect(0, 0, 100, 100).ToString(),
replica_quad->rect.ToString());
EXPECT_EQ(gfx::RectF(0.f, 0.f, 1.f, 1.f).ToString(),
@@ -5196,7 +5194,6 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerWithDifferentBounds) {
frame.render_passes[0]->quad_list[1]->material);
const RenderPassDrawQuad* replica_quad =
RenderPassDrawQuad::MaterialCast(frame.render_passes[0]->quad_list[1]);
- EXPECT_TRUE(replica_quad->is_replica);
EXPECT_EQ(gfx::Rect(0, 0, 100, 100).ToString(),
replica_quad->rect.ToString());
EXPECT_EQ(gfx::RectF(0.f, 0.f, 1.f, 1.f).ToString(),
@@ -5222,7 +5219,6 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerWithDifferentBounds) {
frame.render_passes[0]->quad_list[1]->material);
const RenderPassDrawQuad* replica_quad =
RenderPassDrawQuad::MaterialCast(frame.render_passes[0]->quad_list[1]);
- EXPECT_TRUE(replica_quad->is_replica);
EXPECT_EQ(gfx::Rect(0, 0, 100, 100).ToString(),
replica_quad->rect.ToString());
EXPECT_EQ(gfx::RectF(0.f, 0.f, 1.f, 1.f).ToString(),
@@ -5300,7 +5296,6 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerForSurfaceWithUnclippedChild) {
frame.render_passes[0]->quad_list[0]->material);
const RenderPassDrawQuad* render_pass_quad =
RenderPassDrawQuad::MaterialCast(frame.render_passes[0]->quad_list[0]);
- EXPECT_FALSE(render_pass_quad->is_replica);
EXPECT_EQ(gfx::Rect(0, 0, 100, 50).ToString(),
render_pass_quad->rect.ToString());
@@ -5309,7 +5304,6 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerForSurfaceWithUnclippedChild) {
frame.render_passes[0]->quad_list[1]->material);
const RenderPassDrawQuad* replica_quad =
RenderPassDrawQuad::MaterialCast(frame.render_passes[0]->quad_list[1]);
- EXPECT_TRUE(replica_quad->is_replica);
EXPECT_EQ(gfx::Rect(0, 0, 100, 50).ToString(),
replica_quad->rect.ToString());
EXPECT_EQ(gfx::RectF(0.f, 0.f, 2.f, 1.f).ToString(),
@@ -5334,7 +5328,6 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerForSurfaceWithUnclippedChild) {
frame.render_passes[0]->quad_list[0]->material);
const RenderPassDrawQuad* render_pass_quad =
RenderPassDrawQuad::MaterialCast(frame.render_passes[0]->quad_list[0]);
- EXPECT_FALSE(render_pass_quad->is_replica);
EXPECT_EQ(gfx::Rect(-50, 0, 100, 50).ToString(),
render_pass_quad->rect.ToString());
@@ -5343,7 +5336,6 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerForSurfaceWithUnclippedChild) {
frame.render_passes[0]->quad_list[1]->material);
const RenderPassDrawQuad* replica_quad =
RenderPassDrawQuad::MaterialCast(frame.render_passes[0]->quad_list[1]);
- EXPECT_TRUE(replica_quad->is_replica);
EXPECT_EQ(gfx::Rect(-50, 0, 100, 50).ToString(),
replica_quad->rect.ToString());
EXPECT_EQ(gfx::RectF(-1.f, 0.f, 2.f, 1.f).ToString(),
@@ -5428,7 +5420,6 @@ TEST_F(LayerTreeHostImplTest, MaskLayerForSurfaceWithClippedLayer) {
frame.render_passes[0]->quad_list[0]->material);
const RenderPassDrawQuad* render_pass_quad =
RenderPassDrawQuad::MaterialCast(frame.render_passes[0]->quad_list[0]);
- EXPECT_FALSE(render_pass_quad->is_replica);
EXPECT_EQ(gfx::Rect(20, 10, 10, 20).ToString(),
render_pass_quad->rect.ToString());
diff --git a/cc/trees/layer_tree_host_unittest_delegated.cc b/cc/trees/layer_tree_host_unittest_delegated.cc
index 32d11d7..1607b71 100644
--- a/cc/trees/layer_tree_host_unittest_delegated.cc
+++ b/cc/trees/layer_tree_host_unittest_delegated.cc
@@ -190,9 +190,7 @@ class LayerTreeHostDelegatedTest : public LayerTreeTest {
output_rect,
output_rect,
id,
- false, // is_replica
0, // mask_resource_id
- damage_rect,
gfx::Rect(0, 0, 1, 1), // mask_uv_rect
filters,
gfx::Vector2dF(),